Bases de datos relacionales

Modelo lógico. Control de inventario y datos. Almacenamiento de información. Identificador de campos. Diccionario de datos. Scripts

  • Enviado por: Fabian Escalante
  • Idioma: castellano
  • País: Costa Rica Costa Rica
  • 25 páginas

publicidad
cursos destacados
Crea tu Tienda Online con PrestaShop
Crea tu Tienda Online con PrestaShop
Crea tu tienda Online con la versión más actual del líder en eCommerce, Prestashop 1.5.4.

La nueva función...
Ver más información

Aprende jQuery Mobile sin dolor
Aprende jQuery Mobile sin dolor
jQuery mobile se ha convertido rápidamente en una herramienta muy demandada por aquello que desean construir...
Ver más información

publicidad

Introducción

La era de la tecnología y la información, en la cual nos encontramos inmersos, obliga a las empresas a sacar el mayor provecho de sus recursos tecnológicos.

En este sentido, el diseño y modelaje de Bases de Datos cumple un papel muy importante en la tarea del manejo de información, brindándole a los usuarios y dueños de la información la capacidad de tener buena información en el momento preciso para la toma de decisiones.

Este trabajo, tiene como objetivo, tal y como se verá durante su desarrollo, recabar la información necesaria para elaborar un modelo de base de datos relacional que le permita a la fábrica de muebles DeCar manejar los datos relacionados con clientes, compras, materiales y artículos de manera confiable.

Para ello, se realizará un análisis de requerimientos de información, el cual servirá como base para el desarrollo de un modelo conceptual.

Este modelo será llevado al proceso de Normalización para pasar luego a un modelo lógico que servirá como materia prima para la posterior implementación del modelo físico de datos, todo esto apegado a las necesidades de la empresa en cuanto a manejo de información y los datos.

Objetivo General

  • Crear un modelo de una base de datos relacional para la mueblería DeCar con el fin de aportar una solución viable los problemas de control sobre el inventario, proveedores y clientes que tienen en la actualidad

Objetivos Específicos

  • Aplicar los conocimientos adquiridos en el curso de bases de datos uno con el fin crear un modelo de bases de datos relacional eficiente y acorde con la necesidades de la mueblería DeCar.

  • Proporcionar a la mueblería DeCar una solución viable al problema de control de datos que tienen actualmente.

  • Identificar los requerimientos para el manejo de la información (entidades) de la fábrica de muebles DeCar.

  • Cumplir con los requerimientos establecidos por el profesor para la elaboración competente de este trabajo

Metodología aplicada:

Para el desarrollo de este trabajo se implementarán tres técnicas de análisis de información las cuales nos permitirán establecer cuales son los requerimientos, las mismas se detallan a continuación:

  • Entrevista (anexo Nº 1)

  • Observación directa sobre los procesos objetos de estudio.

  • Análisis de documentación de la empresa (anexo Nº 2)

  • Análisis de la información y elaboración del modelo de datos.

Descripción de la empresa

La compañía DeCar está dedica a la fabricación de muebles de oficina, comedor, cocina, entre otros. Esta fabrica se encuentra localizada en Heredia, específicamente en el sector de San Rafael, actualmente cuenta con 14 colaboradores; esta es una empresa pequeña que tiene escasamente 2 años de hacer sido fundada, sin embargo durante ese tiempo a logrado incrementar sus ventas y hacerse de una basta cantidad de clientes como por ejemplo el Banco de Costa Rica.

En la actualidad la fábrica DeCar desea abrir nuevos talleres que le permitan cumplir de mejor manera la demanda de muebles que realizan los clientes…

Misión de la compañía

La misión de la compañía es el crear muebles de gran calidad y únicos de una manera lucrativa y segura para la ecología.

Filosofía al Cliente

La satisfacción del cliente es crítico para nuestro éxito, así que vamos a ofrecer una garantía incondicional de regreso de dinero a cualquiera que no este satisfecho con sus muebles. Esta garantía de retorno va a demostrar nuestro compromiso de ofrecer una calidad excelente y al mismo tiempo asegurar la satisfacción del cliente.

Metas a largo Plazo

En tres años DeCar espera tener 36 empleados y ventas anuales de 100 millones de colones. Planes van a estar en marcha para hacer la fabricación en nuestras instalaciones y para agregar un departamento de ventas por catalogo.

Nosotros pensamos seguir fabricando San Rafael de Heredia pero talvez agreguemos instalaciones satélites de fabricación y ventas si es necesario.

Descripción del problema

Por ser una compañía pequeña y recientemente fundada su dueño se permitía llevar los datos de la empresa en cuadernos y hojas de cálculo de Excel, sin embargo al ver el aumento en las ventas (sobre todo desde que logró hacerse contratista del Banco de Costa Rica), estos recursos no le han sido suficientes y últimamente han propiciado una serie de desordenes que han dado al traste con la entrega oportuna de muebles.

La mueblería necesita implantar un sistema que le permita ejercer un mayor control sobre clientes, materia prima en bodega para la elaboración de los muebles, compras, proveedores y artículos que les son comprados. Es por este motivo que se hace viable la creación de un sistema de información que permitiría ejercer el control que el dueño requiere.

Fundamentalmente se debe mantener actualizada la información de la cual hoy se carece control en la mueblería, y permitiere al dueño comparar las compras con la materia prima existente en la bodega y la fecha de entrega del producto para asegurarse de que es posible cumplir con el plazo establecido previamente con el cliente.

Solución propuesta

Creación de un modelo de base de datos relacional que gestione los aspectos de los cuales se carece control en la empresa. Este sistema debe proporcionar los medios para el manejo de la información de la fábrica de manera se almacena de manera correcta y ordenada.

Descripción de requerimientos

La fábrica de muebles DeCar necesita implantar un sistema que le permita ejercer un mayor control sobre clientes, materia prima en bodega para la elaboración de los muebles, compras y artículos que se ofrecen; todo lo anterior orientado al área de producción de la misma.

Con el análisis de los datos suministrado por los instrumentos de recopilación utilizados para el estudio de los procesos realizados en el área de producción de la compañía fue posible establecer cuales son las fuentes de información necesarias que deben ser cubiertas por este modelo.

La mueblería realiza negocios con varios clientes los cuales pueden ser particulares o empresas el proceso de contratación y pago de los muebles (contabilidad) es realizado en forma independiente por el dueño de la empresa por medio de un sistema que tiene un rendimiento aceptable en este momento y son ajenos a este modelo de datos. Los clientes de la mueblería realizan la cantidad de pedidos que deseen, los límites de tiempo con respecto a la entrega son impuestos por el tipo de pedido y la cantidad de trabajo existente en el taller.

DeCar maneja las compras de muebles por medio de pedidos, ya que por el tipo de clientes que maneja estos comúnmente compran mas de un mueble a la vez, cada pedido cuenta con un detalle de los artículos que lo conforman. Los pedidos hechos a la empresa pueden contar con muebles de diferentes tipos y en diferente cantidad.

La información de los pedidos cuenta con la siguiente información

  • Numero de pedido.

  • Fecha en la que fue concretado el contrato.

  • Fecha en que deben estar confeccionados y entregados los muebles del pedido.

  • Detalle del pedido, aquí se establece cuales son los muebles que deben ser confeccionados.

Los materiales necesarios para realizar los muebles se compran a proveedores específicos, sin embargo en caso de que el proveedor no cuente con el artículo deseado se procede a la compra de un producto similar con alguno de los demás proveedores con los que la empresa trabaja. Con los proveedores se tienen previos arreglos de pago por ejemplo 30 días de plazo; también le son ofrecidos a la compañía descuentos según los volúmenes de compra.

Supuestos

Supuesto #1

La fábrica de muebles DeCar maneja viarios clientes los cuales pueden comprar el número de artículos que deseen realizando el pedido respectivo. Para el control de clientes la compañía almacena la cédula, el nombre, la dirección y el teléfono donde se pueda localizar al cliente en caso de ser necesario.

Supuesto #2

El proceso de compra se establece el numero de pedido, la fecha en la que fue realizado el contrato y la fecha en que el mismo debe ser entregado

Supuesto #3

Los pedidos cuentan con un detalle de cuales son los artículos que lo conforman, la empresa cataloga los artículos con un código, nombre, precio y descripción de los mismos.

Supuesto #4

DeCar se abastece de materiales según la demanda de muebles que tenga. Para esto es necesario establecer la cantidad de X material utilizado por cada artículo.

Supuesto #5

Para confeccionar los artículos (muebles) se necesitan ciertos materiales los cuales son suministrados por proveedores específicos, en caso de ser solicitado un material que el proveedor no tiene en ese momento se procede a la compra de otro material de similares características a otro proveedor. Para los materiales se almacena el código del material, el nombre, el precio y la descripción del mismo.

Supuesto #6

Para registrar a los proveedores la compañía almacena el código del proveedor, el nombre, la dirección y el teléfono

Supuesto #7

Con cada proveedor se tienen previos arreglos de pago los cuales pueden poner cierto enteres al total de la compra y descuentos los cuales son cuantificados según la cantidad de mercadería comprada por la fábrica.

Detalle de entidades, atributos y relaciones

Entidad

Atributos

Relacionada con

Cliente

Cedula*

Nombre

Teléfono

Dirección

Pedido

Articulo

Código _Artículo*

Nombre

Precio

Descripción

Material

Pedido

Pedido

Numero_Pedido*

Fecha_Pedido

Fecha_Entrega

Descripción

Dirección

Cliente

Artículo

Material

Código _Material*

Nombre

Precio

Descripción

Proveedor

Artículo

Proveedor

Código_ Proveedor*

Nombre

Dirección

Teléfono

Descuento

Formas de pago

Material

Descuento

Código _Descuento*

Cantidad

Proveedor

Forma de pago

Código _Forma*

Tiempo

Interés

Proveedor

* = Atributo Indentificador Principal

Modelo lógico

El modelo lógico contempla el siguiente diccionario de datos:

Diccionario de Datos Modelo Lógico

Relación Cliente

Nombre Campo

Tipo de dato

Nulos

PK

cedula

numeric(9, 0)

NOT NULL

Y

nombre

varchar(10)

NOT NULL

N

primer_apellido

varchar(10)

NOT NULL

N

segundo_apellido

varchar(10)

NULL

N

telefono

numeric(8, 0)

NOT NULL

N

direccion

varchar(20)

NULL

N

Relación Pedido

Nombre Campo

Tipo de dato

Nulos

PK

numero_pedido

numeric(7, 0)

NOT NULL

Y

fecha_pedido

Date

NOT NULL

N

fecha_entrega

Date

NOT NULL

N

descripcion

varchar(10

NULL

N

direccion

varchar(20)

NULL

N

Relación Artículo

Nombre Campo

Tipo de dato

Nulos

PK

codigo_articulo

numeric(5, 0)

NOT NULL

Y

nombre

varchar(10)

NOT NULL

N

precio

numeric(6, 2)

NOT NULL

N

descripcion

varchar(10

NULL

N

Relación Material

Nombre Campo

Tipo de dato

Nulos

PK

codigo_material

numeric(5, 0)

NOT NULL

Y

nombre

varchar(10)

NOT NULL

N

precio

numeric(6, 2)

NOT NULL

N

descripcion

varchar(10

NULL

N

Relación Suministra

Nombre Campo

Tipo de dato

Nulos

PK

codigo_proveedor

numeric(5, 0)

NOT NULL

Y

cantidad

varchar(3)

NOT NULL

N

codigo_material

numeric(5, 0)

NOT NULL

N

Relación Proveedor

Nombre Campo

Tipo de dato

Nulos

PK

codigo_proveedor

numeric(5, 0)

NOT NULL

Y

nombre

varchar(10)

NOT NULL

N

direccion

varchar(20)

NULL

N

telefono

numeric(8, 0)

NOT NULL

N

Relación Descuento

Nombre Campo

Tipo de dato

Nulos

PK

codigo_descuento

numeric(5, 0)

NOT NULL

Y

cantidad

numeric(3, 2)

NOT NULL

N

Relación Forma de pago

Nombre Campo

Tipo de dato

Nulos

PK

codigo_forma

numeric(5, 0)

NOT NULL

Y

tiempo

numeric(3, 0)

NOT NULL

N

interes

numeric(3, 2)

NULL

N

Relación Ofrece

Nombre Campo

Tipo de dato

Nulos

PK

codigo_proveedor

numeric(5, 0)

NOT NULL

Y

codigo_descuento

numeric(5, 0)

NOT NULL

Y

Relación Permite

Nombre Campo

Tipo de dato

Nulos

PK

codigo_proveedor

numeric(5, 0)

NOT NULL

Y

codigo_forma

numeric(5, 0)

NOT NULL

Y

Relación Necesita

Nombre Campo

Tipo de dato

Nulos

PK

codigo_articulo

numeric(5, 0)

NOT NULL

Y

codigo_material

numeric(5, 0)

NOT NULL

Y

cantidad

numeric(3, 0)

NULL

N

Relación Realiza_ Pedido

Nombre Campo

Tipo de dato

Nulos

PK

cedula

numeric(9, 0)

NOT NULL

Y

numero_pedido

numeric(7, 0)

NOT NULL

Y

Relación Detalla_ Pedido

Nombre Campo

Tipo de dato

Nulos

PK

numero_pedido

numeric(7, 0)

NOT NULL

Y

codigo_articulo

numeric(5, 0)

NOT NULL

Y

Modelo Físico de Datos

A continuación se presenta el código “scripts” que dará origen al modelo físico en el Sistema de Gestión de Base de Datos:

%

% ER/1 1.14 SQL Code Generation

%

%

% Date Created: Friday, August 23 2002 at 07:50 PM

% Target DBMS : Sybase SQL Anywhere

%

%

% TABLE: CLIENTE

%

DROP TABLE CLIENTE;

CREATE TABLE CLIENTE(

cedula numeric(9, 0) NOT NULL,

nombre varchar(10) NOT NULL,

primer_apellido varchar(10) NOT NULL,

segundo_apellido varchar(10) ,

telefono numeric(8, 0) NOT NULL,

direccion varchar(20) ,

PRIMARY KEY (cedula)

);

%

% TABLE: PEDIDO

%

DROP TABLE PEDIDO;

CREATE TABLE PEDIDO(

numero_pedido numeric(7, 0) NOT NULL,

fecha_pedido date NOT NULL,

fecha_entrega date NOT NULL,

descripcion varchar(20) ,

direccion varchar(10) ,

PRIMARY KEY (numero_pedido)

);

%

% TABLE: ARTICULO

%

DROP TABLE ARTICULO;

CREATE TABLE ARTICULO(

codigo_articulo numeric(5, 0) NOT NULL,

nombre varchar(10) NOT NULL,

precio numeric(6, 2) NOT NULL,

descripcion varchar(10) ,

PRIMARY KEY (codigo_articulo)

);

%

% TABLE: MATERIAL

%

DROP TABLE MATERIAL;

CREATE TABLE MATERIAL(

codigo_material numeric(5, 0) NOT NULL,

nombre varchar(10) NOT NULL,

precio numeric(6, 2) NOT NULL,

descripcion varchar(10) ,

PRIMARY KEY (codigo_material)

);

%

% TABLE: SUMINISTRA

%

DROP TABLE SUMINISTRA;

CREATE TABLE SUMINISTRA(

codigo_proveedor numeric(5, 0) NOT NULL,

cantidad varchar(3) NOT NULL,

codigo_material numeric(5, 0) NOT NULL,

PRIMARY KEY (codigo_proveedor),

FOREIGN KEY(codigo_proveedor)

REFERENCES PROVEEDOR(codigo_proveedor),

FOREIGN KEY(codigo_material)

REFERENCES MATERIAL(codigo_material)

);

%

% TABLE: PROVEEDOR

%

DROP TABLE PROVEEDOR;

CREATE TABLE PROVEEDOR(

codigo_proveedor numeric(5, 0) NOT NULL,

nombre varchar(10) NOT NULL,

direccion varchar(20) ,

telefono numeric(8, 0) NOT NULL,

PRIMARY KEY (codigo_proveedor)

);

%

% TABLE: DESCUENTO

%

DROP TABLE DESCUENTO;

CREATE TABLE DESCUENTO(

codigo_descuento numeric(5, 0) NOT NULL,

cantidad numeric(3, 2) NOT NULL,

PRIMARY KEY (codigo_descuento)

);

%

% TABLE: FORMA_DE_PAGO

%

DROP TABLE FORMA_DE_PAGO;

CREATE TABLE FORMA_DE_PAGO(

codigo_forma numeric(5, 0) NOT NULL,

tiempo numeric(3, 0) NOT NULL,

interes numeric(3, 2) ,

PRIMARY KEY (codigo_forma)

);

%

% TABLE: OFRECE

%

DROP TABLE OFRECE;

CREATE TABLE OFRECE(

codigo_proveedor numeric(5, 0) NOT NULL,

codigo_descuento numeric(5, 0) NOT NULL,

PRIMARY KEY (codigo_proveedor,codigo_descuento),

FOREIGN KEY(codigo_proveedor)

REFERENCES PROVEEDOR(codigo_proveedor),

FOREIGN KEY(codigo_descuento)

REFERENCES DESCUENTO(codigo_descuento)

);

%

% TABLE: PERMITE

%

DROP TABLE PERMITE;

CREATE TABLE PERMITE(

codigo_proveedor numeric(5, 0) NOT NULL,

codigo_forma numeric(5, 0) NOT NULL,

PRIMARY KEY (codigo_proveedor,codigo_forma),

FOREIGN KEY(codigo_proveedor)

REFERENCES PROVEEDOR(codigo_proveedor),

FOREIGN KEY(codigo_forma)

REFERENCES FORMA_DE_PAGO(codigo_forma)

);

%

% TABLE: NECESITA

%

DROP TABLE NECESITA;

CREATE TABLE NECESITA(

codigo_articulo numeric(5, 0) NOT NULL,

codigo_material numeric(5, 0) NOT NULL,

cantidad numeric(3, 0) ,

PRIMARY KEY (codigo_articulo,codigo_material),

FOREIGN KEY(codigo_articulo)

REFERENCES ARTICULO(codigo_articulo),

FOREIGN KEY(codigo_material)

REFERENCES MATERIAL(codigo_material)

);

%

% TABLE: REALIZA_PEDIDO

%

DROP TABLE REALIZA_PEDIDO;

CREATE TABLE REALIZA_PEDIDO(

cedula numeric(9, 0) NOT NULL,

numero_pedido numeric(7, 0) NOT NULL,

PRIMARY KEY (cedula,numero_pedido),

FOREIGN KEY(cedula)

REFERENCES CLIENTE(cedula),

FOREIGN KEY(numero_pedido)

REFERENCES PEDIDO(numero_pedido)

);

%

% TABLE: DETALLA_PEDIDO

%

DROP TABLE DETALLA_PEDIDO;

CREATE TABLE DETALLA_PEDIDO(

numero_pedido numeric(7, 0) NOT NULL,

codigo_articulo numeric(5, 0) NOT NULL,

PRIMARY KEY (numero_pedido,codigo_articulo),

FOREIGN KEY(numero_pedido)

REFERENCES PEDIDO(numero_pedido),

FOREIGN KEY(codigo_articulo)

REFERENCES ARTICULO(codigo_articulo)

);

Anexos

8