jueves, 5 de febrero de 2009

Lista de Entidades en el Sistema

 

Persona: La entidad persona es una entidad de la cual se va a especializar el cliente y el empleado, creamos esta entidad con el fin de no tener dos entidades con muchos de sus atributos similares, esto en el caso de cliente y empleado que de ellos debemos almacenar muchos atributos similares, por eso los especializamos.

Empleado: especialización de persona, para definir a los empleados por medio de sus puestos esta entidad es importante, debido a que necesitamos saber quién es el que hace los pedidos, las facturas o quien ingresa productos al inventario.

Cliente: esta entidad que es una especialización de persona, nos sirve para almacenar información de los clientes, para llevar un control de nuestro clientes, acerca de las facturas que le hacemos y los pedidos pendientes que tenemos con ellos.

Usuario: esta entidad nos sirve para manejar el control de personas que ingresan al sistema, para poder limitar cierta información que solo debe puede acceder por ciertos usuarios.

Modulo: en esta entidad registramos los módulos que puede tener este sistema, ósea que tipos de usuarios acceden a estos y que restricciones o privilegios tienen estos con respecto a la información.

Pedido: es la entidad donde almacenamos los productos que los clientes nos piden, para luego revisarlo en el inventario si está disponible para facturarlo al cliente.

Factura: esta entidad sirve para almacenar las facturas que se hacen a los clientes, donde especificamos los productos que se le facturan, importante y fundamental en el desarrollo del sistema.

Producto: entidad maestra donde almacenamos los detalles del producto, esta entidad es importante porque, nos sirve para definir cada producto que será almacenado en el inventario, y del cual se va a facturar.

Inventario: esta entidad debe ser la principal aunque sea débil, debido a que el sistema se basa en el control de un inventario de productos para facturación, es débil con respecto a producto debido a que no tiene suficientes atributos como para poder formar una clave propia. En esta entidad se almacena una descripción de los productos que ingresan y salen, así como la cantidad de productos disponible en el momento.

Lista de Atributos por Entidad

Persona: IdPersona, Nombre, Apellido, Sexo, Dirección, FechaNac, Email, Teléfonos.

Empleado: IdPersona, Puesto.

Cliente: IdPersona, TipoClient.

Usuario: IdUsuario, Contraseña.

Modulo: IdModulo, Descripción.

Pedido: IdPedido, FechaPed.

Factura: IdFactura, FechaFact.

Producto: IdProducto, Nombre, Precio, UnidadMedida, PrecioCosto.

Inventario: Fecha, Bodega, CantInicial, CantIngresos, CantSalidas, CantidadFinal.

 

Relaciones o Vínculos

Inventario-Producto: esta relación es necesaria debido a que el inventario es débil con respecto a producto, además todo inventario tiene productos, que indican lo que esta disponible.

Empleado-Inventario: esta relación esta creada con el fin de que como un empleado ingresa productos al inventario estos se registren de manera de que sepamos que empleado ingreso dichos productos, y además en que fecha.

Pedido-Inventario: esta relación sirve para revisar si los productos que están en el pedido están disponibles en el inventario, en caso de estar disponibles, estos generarían una factura.

Pedido-Producto: esta relación es el detalle del pedido, para especificar la cantidad de todos los productos que están en el pedido.

Cliente-Pedido: esta relación nos sirve para almacenar información de los clientes con respecto a los pedidos, debido a que el cliente es el que hace los pedidos a un empleado.

Empleado-Pedido: como un pedido debe ser creado por un empleado, con esta relación se registraría el empleado que creó el pedido tomado del cliente.

Factura-Pedido: toda factura se crea o depende de un pedido ya que las facturas no se pueden crear si no existe un pedido para este.

Factura-Producto: este es el detalle de la factura donde almacenamos los detalles de la factura, como la cantidad de cierto producto que facturamos.

Empleado-Factura: toda factura debe ser creada por un empleado que este se registra en la factura, para mantener un control de facturación.

Usuario-Empleado: todo empleado es un usuario del sistema, ósea que un usuario es usado por un empleado para acceder al sistema.

Usuario-Modulo: esta relación sirve para registrar los módulos de los usuarios, con esta relación sabemos que usuarios pueden acceder a ciertos módulos.

 

Restricciones de llave primaria para las entidades

Persona: para esta entidad la clave primaria que le asignamos es el idpersona, debido a que este es único.

Empleado: como esta entidad es una especialización de persona la clave primaria es idpersona.

Cliente: esta entidad tiene como llave primaria a idpersona, debido a que es una especialización de persona.

Usuario: como llave primaria en esta entidad tenemos a idusuario, que es el nombre con el que las personas entrarían al sistema.

Modulo: para cada modulo tenemos un idmodulo que especifica el tipo de modulo.

Pedido: el idpedido es la llave primaria para esta entidad debido a que necesitamos un código o numeración para identificar los pedidos.

Factura: como llave primaria de esta entidad tenemos el idfactura, donde esta sirve para registrar todas las facturas de los clientes, incluso si este compra el mismo día y el mismo producto.

Producto: el atributo clave de esta entidad es el código de producto, idProducto.

Inventario: al ser una entidad débil la clave es la combinación de la clave de producto, debido a que inventario es débil con respecto a este, además la clave la conformaría la fecha del inventario estos juntos para formar la superclave, ósea IdProducto y Fecha.

 

Relaciones de cardinalidad de las relaciones identificadas

Inventario-Producto: la relación de cardinalidad en esta relación es de 1 a N, 1 en el lado de productos y N en el lado de inventario, esto porque la entidad inventario es débil con respecto a producto, además tiene participación total inventario con respecto a producto, esto porque inventario es débil con producto.

Empleado-Inventario: la cardinalidad en esta relación es de N a N, esto porque queremos que esta relación se convierta en tabla para poder registrar los ingresos de productos al inventario que hacen los empleados.

Pedido-Inventario: la cardinalidad en esta relación es de N a N, porque queremos que se convierta en una tabla donde revisemos si los producto que están en el pedido, estén en el inventario disponible, y necesitamos esta tabla para poder acceder al inventario.

Pedido-Producto: una cardinalidad de N a N, porque esta se convierte en una tabla donde almacenamos los detalles del pedido.

Cliente-Pedido: la cardinalidad en esta relación es de 1 a N, donde 1 está en el lado de cliente y N en el lado de pedido, esto porque queremos que en el pedido se almacene el código del cliente que hace el pedido, esta relación tiene una participación total en el lado de pedido, debido a que el pedido no puede existir si un cliente no lo hace.

Empleado-Pedido: esta relación contiene una cardinalidad de 1 a N, 1 en el lado de empleado y N en el lado de pedido, para que en el pedido se almacene el código del empleado que hace el pedido.

Factura-Pedido: la cardinalidad en esta relación es de 1 a 1, con participación total en el lado de factura, esto para que en factura guardemos el idpedido para llevar un control de que las facturas se hagan con respecto a los pedidos previamente hechos.

Factura-Producto: en esta relación la cardinalidad es de N a N, porque esto se convierte en una tabla donde almacenamos el detalle de la factura.

Empleado-Factura: la cardinalidad en esta relación es de 1 a N, con participación total en el lado de factura, que esta tiene el N, y empleado tiene 1, esto para que en la factura se almacene el código del empleado.

Usuario-Empleado: relación con cardinalidad de 1 a 1, con participación total en el lado de usuario, para que en usuario se almacene el código del empleado que tiene ese usuario.

Usuario-Modulo: relación con cardinalidad de N a N, para registrar que usuarios pueden acceder a ciertos módulos, esto es para limitar el acceso a la información por parte de los usuarios.

martes, 3 de febrero de 2009

Diagrama Entidad Relacion

Este es el diagrama E-R , que hemos hecho. existen algunas modificaciones con respecto al primero, pequenos cambios que hemos considerado.