MODELO ENTIDAD - RELACIÓN Objetivos

Anuncio
3
MODELO
ENTIDAD - RELACIÓN
Ingeniería Informática
© 2012 – Análisis y Diseño Estructurado Ingeniería de Software I
1
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:
Completos.
Consistentes.
No redundantes.
Flexibles.
Ingeniería Informática
© 2012 – Análisis y Diseño Estructurado Ingeniería de Software I
2
1
Modelos de datos
Modelo Conceptual de Datos.
Un modelo de entidad - relación
extendido y “poblado”.
Modelo Entidad – Relación.
Una representación “no poblada” de
entidades y relaciones
Ingeniería Informática
© 2012 – Análisis y Diseño Estructurado Ingeniería de Software I
3
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
© 2012 – Análisis y Diseño Estructurado Ingeniería de Software I
4
2
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.
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?
Ingeniería Informática
© 2012 – Análisis y Diseño Estructurado Ingeniería de Software I
5
Elementos de datos
“ ... 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...”
Los elementos de datos son
los datos que necesitamos
guardar sobre cada ocurrencia
de las entidades.
No lo vamos a determinar en
un modelo de entidad –
relación. Se definirán en un
momento más avanzado del
análisis.
Ingeniería Informática
© 2012 – Análisis y Diseño Estructurado Ingeniería de Software I
6
3
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.
... 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...
Ingeniería Informática
© 2012 – Análisis y Diseño Estructurado Ingeniería de Software I
7
Notación del ERM
Maestro
Entidad
Cliente
Denominación
de la relación
Relación
Denominación
De la entidad
Detalle
Pedido
Ingeniería Informática
© 2012 – Análisis y Diseño Estructurado Ingeniería de Software I
8
4
Cardinalidad y Opcionalidad
A
Relación uno a uno:
Para una ocurrencia de la entidad A
pueden existir 0 o 1 ocurrencias
relacionadas de la entidad B.
B
Ejemplo:
Para una ocurrencia de la entidad B
pueden existir 1 y solo 1 ocurrencia
relacionadas de la entidad A.
Empleado
Gerente
Ingeniería Informática
© 2012 – Análisis y Diseño Estructurado Ingeniería de Software I
9
Cardinalidad y Opcionalidad
A
Relación uno a muchos:
Para una ocurrencia de la entidad A
pueden existir 0, 1 o muchas ocurrencias
relacionadas de la entidad B.
B
Ejemplo:
Para una ocurrencia de la entidad B
pueden existir 1 y solo 1 ocurrencia
relacionadas de la entidad A.
Proveedor
Ingeniería Informática
© 2012 – Análisis y Diseño Estructurado Ingeniería de Software I
Orden de
Compra
10
5
Cardinalidad y Opcionalidad
A
Relación muchos a muchos:
Para una ocurrencia de la entidad A
pueden existir 1 o muchas ocurrencias
relacionadas de la entidad B.
B
Ejemplo:
Para una ocurrencia de la entidad B
pueden existir 0, 1 o muchas ocurrencias
relacionadas de la entidad A.
Orden de
Compra
Producto
Ingeniería Informática
© 2012 – Análisis y Diseño Estructurado Ingeniería de Software I
11
Cardinalidad y Opcionalidad
A
Relación múltiple:
Las ocurrencias de las entidades A y B
están relacionadas por más de una
condición de negocio.
B
Pendiente
de entrega
Ejemplo:
Orden de
Compra
Asignada
Ingeniería Informática
© 2012 – Análisis y Diseño Estructurado Ingeniería de Software I
Proveedor
12
6
Cardinalidad y Opcionalidad
Relación recursiva:
Para una ocurrencia de la
entidad A existen 0, 1 o muchas
ocurrencias de la misma entidad.
A
Ejemplo:
Partes
Ingeniería Informática
© 2012 – Análisis y Diseño Estructurado Ingeniería de Software I
13
Ejercicio rápido de cardinalidad y opcionalidad
Dibujar los siguientes ejemplos de relaciones entre entidades y asignar la
cardinalidad y opcionalidad que corresponda.
1.
2.
3.
4.
5.
6.
7.
8.
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.
Un empleado puede ser o no un vendedor. Un vendedor es un empleado.
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).
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.
Cada vendedor puede tener uno o más clientes. Cualquier cliente es visitado sólo por
un vendedor.
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.
Cada producto consiste en una o más partes. Cada parte puede ser utilizada en uno
o más productos (al menos es usada en uno).
Cada producto consiste en una o más partes. Cada parte puede ser utilizada en uno
o más productos. Hay partes que no son utilizadas por ningún producto (son para
reventa).
Ingeniería Informática
© 2012 – Análisis y Diseño Estructurado Ingeniería de Software I
14
7
Construyendo el modelo de entidad – relación
3
Dibujar el modelo de entidad relación.
2
Identificar la relaciones
entre entidades.
1
directas
Identificar posibles entidades.
Ingeniería Informática
© 2012 – Análisis y Diseño Estructurado Ingeniería de Software I
15
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
© 2012 – Análisis y Diseño Estructurado Ingeniería de Software I
16
8
Relaciones
Para relaciones recursivas
Cómo completar la matriz:
Cliente
Producto
Tamaño - Producto
Pedido
Almacén
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.
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.
Ingeniería Informática
© 2012 – Análisis y Diseño Estructurado Ingeniería de Software I
17
Dibujando el modelo de entidad – relación
A esta altura se dejan sin resolver las relaciones muchos a muchos.
Ingeniería Informática
© 2012 – Análisis y Diseño Estructurado Ingeniería de Software I
18
9
Descargar