Introducción

Anuncio
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
1
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
2
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
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
Cedula*
Relacionada con
Nombre
Pedido
Cliente
Teléfono
Dirección
Código _Artículo*
Nombre
Material
Precio
Pedido
Articulo
Descripción
Numero_Pedido*
Fecha_Pedido
Cliente
Pedido
Fecha_Entrega
Artículo
Descripción
Dirección
4
Código _Material*
Nombre
Proveedor
Precio
Artículo
Material
Descripción
Código_ Proveedor*
Descuento
Nombre
Formas de pago
Proveedor
Dirección
Material
Teléfono
Código _Descuento*
Proveedor
Descuento
Cantidad
Código _Forma*
Forma de pago
Tiempo
Proveedor
Interés
* = 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
cedula
nombre
primer_apellido
segundo_apellido
telefono
direccion
Tipo de dato
numeric(9, 0)
varchar(10)
varchar(10)
varchar(10)
numeric(8, 0)
varchar(20)
Nulos
NOT NULL
NOT NULL
NOT NULL
NULL
NOT NULL
NULL
PK
Y
N
N
N
N
N
Tipo de dato
numeric(7, 0)
Date
Date
varchar(10
varchar(20)
Nulos
NOT NULL
NOT NULL
NOT NULL
NULL
NULL
PK
Y
N
N
N
N
Relación Pedido
Nombre Campo
numero_pedido
fecha_pedido
fecha_entrega
descripcion
direccion
5
Relación Artículo
Nombre Campo
codigo_articulo
nombre
precio
descripcion
Tipo de dato
numeric(5, 0)
varchar(10)
numeric(6, 2)
varchar(10
Nulos
NOT NULL
NOT NULL
NOT NULL
NULL
PK
Y
N
N
N
Tipo de dato
numeric(5, 0)
varchar(10)
numeric(6, 2)
varchar(10
Nulos
NOT NULL
NOT NULL
NOT NULL
NULL
PK
Y
N
N
N
Tipo de dato
numeric(5, 0)
varchar(3)
numeric(5, 0)
Nulos
NOT NULL
NOT NULL
NOT NULL
PK
Y
N
N
Tipo de dato
numeric(5, 0)
varchar(10)
varchar(20)
numeric(8, 0)
Nulos
NOT NULL
NOT NULL
NULL
NOT NULL
PK
Y
N
N
N
Tipo de dato
numeric(5, 0)
numeric(3, 2)
Nulos
NOT NULL
NOT NULL
PK
Y
N
Tipo de dato
numeric(5, 0)
numeric(3, 0)
numeric(3, 2)
Nulos
NOT NULL
NOT NULL
NULL
PK
Y
N
N
Tipo de dato
Nulos
PK
Relación Material
Nombre Campo
codigo_material
nombre
precio
descripcion
Relación Suministra
Nombre Campo
codigo_proveedor
cantidad
codigo_material
Relación Proveedor
Nombre Campo
codigo_proveedor
nombre
direccion
telefono
Relación Descuento
Nombre Campo
codigo_descuento
cantidad
Relación Forma de pago
Nombre Campo
codigo_forma
tiempo
interes
Relación Ofrece
Nombre Campo
6
codigo_proveedor
codigo_descuento
numeric(5, 0)
numeric(5, 0)
NOT NULL
NOT NULL
Y
Y
Tipo de dato
numeric(5, 0)
numeric(5, 0)
Nulos
NOT NULL
NOT NULL
PK
Y
Y
Tipo de dato
numeric(5, 0)
numeric(5, 0)
numeric(3, 0)
Nulos
NOT NULL
NOT NULL
NULL
PK
Y
Y
N
Tipo de dato
numeric(9, 0)
numeric(7, 0)
Nulos
NOT NULL
NOT NULL
PK
Y
Y
Tipo de dato
numeric(7, 0)
numeric(5, 0)
Nulos
NOT NULL
NOT NULL
PK
Y
Y
Relación Permite
Nombre Campo
codigo_proveedor
codigo_forma
Relación Necesita
Nombre Campo
codigo_articulo
codigo_material
cantidad
Relación Realiza_ Pedido
Nombre Campo
cedula
numero_pedido
Relación Detalla_ Pedido
Nombre Campo
numero_pedido
codigo_articulo
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
%
%
7
% 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
8
%
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,
9
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,
10
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)
);
%
11
% 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)
);
12
%
% 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)
);
13
Anexos
8
14
Descargar