Ingeniería Informática Ingeniería de Software I
© 2012 – Análisis y Diseño Estructurado 11
MODELO
ENTIDAD - RELACIÓN
3
3
Objetivos
Comprender qué datos existen y cómo se relacionan entre ellos, independientemente de cómo son o serán almacenados físicamente.
Comprender qué información necesita la organización y la operación para que pueda soportar los procesos del negocio.
Servir de punto de partida para el diseño de almacenamientos que terminarán siendo:
Ingeniería Informática Ingeniería de Software I
© 2012 – Análisis y Diseño Estructurado 33
Modelos de datos
Modelo Entidad – Relación.
Una representación “no poblada” de entidades y relaciones
Modelo Conceptual de Datos.
Un modelo de entidad - relación extendido y “poblado”.
Entidades
Una entidad es un objeto de importancia para el negocio sobre el que se guardan datos.
Los almacenamientos contienen la información necesaria para describir estas entidades: Elementos de datos, algunos de los cuales son claves de acceso.
“... En este negocio necesitamos saber sobre nuestros clientes, contratos, pedidos ...”
Ingeniería Informática Ingeniería de Software I
© 2012 – Análisis y Diseño Estructurado 55
Generalmente no lo hacen, pero no existe ninguna razón por la cual no lo puedan
hacer. Depende del cliente. Muy bien, los clientes hacen pedidos, pero ¿pueden hacer más de un pedido por vez?
Relaciones
Una relación es una asociación entre dos entidades que expresa una conexión para el negocio.
Las relaciones representan las asociaciones que existen entre ocurrencias de entidades.
Ejemplo: Los clientes realizan pedidos. Un proveedor recibe una orden de compra.
Elementos de datos
Los elementos de datos son los datos que necesitamos guardar sobre cada ocurrencia de las entidades.
No lo vamos a determinar en
“ ... Por supuesto necesitamos conocer sobre nuestros clientes, adónde enviarle la mercadería, adónde enviarle la factura, cuál es su límite de crédito...”
Ingeniería Informática Ingeniería de Software I
© 2012 – Análisis y Diseño Estructurado 77
... Voy a querer saber con cuántos clientes trabajo y cuántos pedidos realizan. Además, voy a necesitar identificar al cliente e identificar un pedido y revisarlo...
Ocurrencias de una entidad
Una ocurrencia de una entidad es un valor específico (o instancia) de dicha entidad.
Ejemplo: El pedido N° 43401. El cliente Juan Pérez.
Maestro Detalle Entidad Relación Denominación De la entidad Pedido Cliente Denominación de la relación
Notación del ERM
Ingeniería Informática Ingeniería de Software I
© 2012 – Análisis y Diseño Estructurado 99
A
B
Empleado Gerente
Relación uno a uno:
Para una ocurrencia de la entidad A pueden existir 0 o 1 ocurrencias relacionadas de la entidad B.
Para una ocurrencia de la entidad B pueden existir 1 y solo 1 ocurrencia relacionadas de la entidad A.
Ejemplo:
Cardinalidad y Opcionalidad
A
B
Relación uno a muchos:
Para una ocurrencia de la entidad A pueden existir 0, 1 o muchas ocurrencias relacionadas de la entidad B.
Para una ocurrencia de la entidad B pueden existir 1 y solo 1 ocurrencia relacionadas de la entidad A.
Ingeniería Informática Ingeniería de Software I
© 2012 – Análisis y Diseño Estructurado 1111
A
B
Relación muchos a muchos:
Para una ocurrencia de la entidad A pueden existir 1 o muchas ocurrencias relacionadas de la entidad B.
Para una ocurrencia de la entidad B pueden existir 0, 1 o muchas ocurrencias relacionadas de la entidad A. Orden de Compra Producto Ejemplo:
Cardinalidad y Opcionalidad
A
B
Orden de Compra Proveedor Relación múltiple:Las ocurrencias de las entidades A y B están relacionadas por más de una condición de negocio. Ejemplo: Pendiente de entrega Asignada
Cardinalidad y Opcionalidad
Ingeniería Informática Ingeniería de Software I
© 2012 – Análisis y Diseño Estructurado 1313
A
Relación recursiva:
Para una ocurrencia de la entidad A existen 0, 1 o muchas ocurrencias de la misma entidad.
Partes
Ejemplo:Cardinalidad y Opcionalidad
Ejercicio rápido de cardinalidad y opcionalidad
Dibujar los siguientes ejemplos de relaciones entre entidades y asignar la cardinalidad y opcionalidad que corresponda.
1. Cada pedido da lugar a una sola factura. En una factura se incluye un solo pedido. Un pedido puede existir aún si no ha sido facturado.
2. Un empleado puede ser o no un vendedor. Un vendedor es un empleado.
3. Un cliente puede hacer un pedido por vez. Quien no tenga pedidos pendientes no es cliente (o sea, un cliente debe tener siempre un pedido hecho).
4. Un cliente es independiente del número de pedidos que tenga pendientes (de hecho puede tener varios) y no deja de ser cliente por no tener pedidos hechos. Cada pedido se aplica a un solo cliente.
5. Cada vendedor puede tener uno o más clientes. Cualquier cliente es visitado sólo por un vendedor.
6. Cada producto consiste en una o más partes. Cada parte es sólo utilizada por un producto y no por otros. Todas las partes son utilizadas en algún producto.
Ingeniería Informática Ingeniería de Software I
© 2012 – Análisis y Diseño Estructurado 1515
3
2
1
Dibujar el modelo de entidad relación.
Identificar la relaciones directas entre entidades.
Identificar posibles entidades.
Construyendo el modelo de entidad – relación
Ejemplo: Revendedora San Martín
San Martín es una empresa que vende productos alimenticios a almacenes. Su proceso de pedidos tiene las siguientes características:
San Martín vende aproximadamente 150 productos diferentes.
Algunos productos se venden en más de un tamaño (en promedio, tres tamaños por producto).
San Martín cuenta con 1600 clientes actualmente.
Los clientes obtienen su mercadería a través de pedidos, donde solicitan los productos en sus distintos tamaños. Un pedido tipo tiene 40 ítems
Los productos se almacenan en sus distintos tamaños en alguno de los tres almacenes de San Martín.
Ingeniería Informática Ingeniería de Software I
© 2012 – Análisis y Diseño Estructurado 1717
Cliente Producto
Tamaño - Producto
Pedido Almacén
Para relaciones recursivas
Las relaciones indirectas son aquellas en donde la relación se expresa por medio de otra entidad de la matriz.
Por ejemplo: El cliente PIDE un producto. Lo hace a través de un pedido.
Estas relaciones no se marcan en la matriz.
Habrá que controlar si existen relaciones múltiples entre entidades.
Cómo completar la matriz:
Para cada par de entidades preguntar: qué relación de negocio directa existe entre cada una de ellas. Las relaciones directas consisten en verbos o frases verbales que conectan sustantivos.
Por ejemplo: Cliente REALIZA pedidos.