modelo entidad-relación · 2 modelo entidad-relación •es un modelo conceptual y se utiliza para...

31
1 Modelo Entidad-Relación MER

Upload: duongthuy

Post on 21-Sep-2018

239 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

1

Modelo Entidad-Relación

MER

Page 2: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

2

Modelo Entidad-Relación

• Es un modelo conceptual y se utiliza para la

definición de datos.

• Se basa en representar objetos (entidades) y

relaciones entre esos objetos.

• Describe el esquema en términos de conjuntos

de entidades y relaciones entre esos conjuntos.

• Permite declarar restricciones sobre las

relaciones como sobre los conjuntos de

entidades.

• Tiene un DDL gráfico. No tiene DML standard.

Page 3: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

3

Entidades y Atributos

• Una ENTIDAD es un objeto distinguible de la

realidad en estudio.

Las entidades se agrupan en conjuntos de

entidades.

• Un ATRIBUTO es una función tal que dado

un elemento de un determinado conjunto de

entidades es capaz de devolver un valor de

un determinado conjunto de valores, llamado

dominio del atributo.

Page 4: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

4

Diagrama de Entidad-Relación

• Los Conjuntos de Entidades se representan con un rectángulo con el nombre, del que “cuelgan” los atributos.

• Los Conjuntos de Relaciones se representan con un rombo con el nombre, conectado con los conjuntos de entidades que relaciona.

• Hay un conjunto de Restricciones que se pueden imponer sobre el diagrama con diferentes notaciones.

Page 5: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

5

Entidades

Esquema Instancia

Estudiantes

Cédula

Dirección

Estudiantes

Dom. Cédula

1.987.645

1.999.756

Dom. Dirección

Mercedes 3456

Soriano 728

Page 6: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

6

Tipos de Atributos

Atributos Estructurados:

Permiten representar

atributos compuestos, que

están formados por varias

partes independientes.

Funcionario

Direccion Ciudad Vivienda

Calle Número

Atributos Multivalorados:

Son funciones que

devuelven un conjunto de

valores pertenecientes a un

dominio dado. 0 Teléfonos*

Funcionario

Page 7: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

7

Relaciones

Esquema Instancia

Estudiantes Estudiantes

Curso

Inscriptos

N

N

Cursos

Inscriptos

Page 8: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

8

Restricciones

Restricciones sobre Conjuntos de Entidades :

Se dice que un atributo es Determinante cuando no

pueden existir en el conjunto de entidades, dos

entidades que tengan el mismo valor para ese

atributo.

Funcionario

NroFuncionario

Page 9: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

9

Restricciones (cont.)

Restricciones sobre Relaciones

Pueden ser sobre 1) la Cardinalidad,

2) la Totalidad,

3) Restricciones no estructurales.

Estudiante Curso Inscripción N 5

Examen

N N

( xEstudiante)( y Curso), ((x,y) Examen (x,y) Inscripción)

Page 10: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

10

Cursos Estudiantes Inscriptos

Cardinalidad de las relaciones

N:N

N:1

Cursos Estudiantes Inscriptos

Cardinalidades

Máximas

Page 11: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

11

Atributos de relaciones

Se tiene información acerca de materiales y proveedores

indicando que material provee cada proveedor.

Del material se conoce el código, el nombre y una descripción.

Del proveedor se conoce su RUC, su nombre y su dirección.

Cualquier material puede ser provisto por cualquier proveedor.

Se sabe además que no hay dos materiales con el mismo

código.

¿Cómo se representa esta realidad?

El precio al que cada proveedor vende cada producto,

¿Es un atributo de proveedor?

¿Es un atributo de materiales?

Page 12: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

12

Atributos en relaciones

• Las relaciones pueden tener atributos.

– Se representan igual que los atributos de las entidades.

– Tienen el mismo significado: Funciones que van del

conjunto de parejas de la relación en un dominio dado.

Estudiantes Curso Inscriptos

Nota

No afecta el cálculo de Cardinalidad !

Page 13: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

13

Ejemplo

Hay un conjunto de cines de los que se conoce el nombre y la

ciudad y se asume que la pareja nombre-ciudad identifica al

cine.

Existe también un conjunto de películas que se exhiben en los

cines y de las que se conoce un código que las identifica y un

nombre.

La exhibición de las películas en cada cine corresponde a una

función correspondiente a cierta fecha y hora.

¿Cómo se representa esta realidad?

Page 14: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

14

Auto-relaciones

En una empresa, existen funcionarios y se sabe que unos

funcionarios son jefes de otros.

Un jefe es jefe de varios funcionarios y un subordinado es

controlado por un único jefe.

¿Cómo se representa esta realidad?

Se llama Papel o Rol al rótulo que identifica que función

cumple una determinada entidad en una auto-relación.

Page 15: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

15

Relaciones Múltiples

Una empresa de construcción realiza a partir del

diseño de sus proyectos documentos de

requerimientos de materiales. Todo requerimiento da

origen a uno o más pedidos de compras.

Se desea modelar qué requerimientos originan qué

pedidos de compras solicitando determinados

materiales.

Material Requerimiento

Pedido

M-R-P

Page 16: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

16

Relaciones Múltiples (otro ejemplo)

Un cliente puede tener varias cuentas, cada una situada en una única

sucursal del banco, donde una cuenta puede pertenecer a varios clientes

distintos.

Cuenta

Num Saldo Sucursal

Cod Ciudad

Cta-Cli-Suc Cliente

Nom Cédula

Dir

Cardinalidades: Considerar M-1 entidades

como una sola y ver, “dado uno de estos”

con cuantos de la otra se pueden relacionar?

N

1

N

Page 17: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

17

¿Cuál es la diferencia con esta otra representación?

Cliente Cuenta

Num Saldo

Cta-Cli N N

Nom Cédula

Dir

Suc-Cta Sucursal

Cod Ciudad

1

N

Relaciones Múltiples (otro ejemplo)

Page 18: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

18

Categorizaciones

• Permite expresar que hay conjuntos de entidades que son subconjuntos de otros conjuntos de entidades.

Funcionario

Adm. Técnico

Idioma* Esp.*

NumFunc

Chofer

Cant-Acc Libreta

Se asumen

disjuntas.

Podría tener más

entidades que la

unión de las

categorías

Page 19: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

19

Categorizaciones (ejemplo)

Una empresa está dividida en varios departamentos de

los que se conoce un nombre que los identifica.

De los funcionarios de esa empresa se conoce número de funcionario, nombre y dirección. Si el funcionario es un chofer se conoce el número de libreta y la cantidad de accidentes que tuvo. Si es administrativo se conoce los idiomas que habla. Si es técnico se conoce las especialidades en que puede trabajar.

Page 20: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

20

La empresa tiene un conjunto de coches de los que se conoce la matrícula y la marca. Estos coches son conducidos por los choferes y a cualquier chofer se le puede asignar cualquier coche.

La empresa lleva adelante un conjunto de proyectos en los que trabajan los administrativos y que están controlados por departamentos.

Estos proyectos están identificados por un número de proyecto.

Categorizaciones (ejemplo cont.)

Page 21: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

21

Categorizaciones (ejemplo cont.)

Solución 1:

Departamento

Proyecto

Trabaja

Funcionario

Adm.

Técnico Chofer

1 1

1

Idiomas

Esp

Cant-Acc

NumFunc

NumFunc NumFunc

NumFunc

Libreta

Conduce

Coche

N

1

Matr.

Page 22: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

22

Solución 2:

Departamento

Proyecto

Trabaja

Funcionario

Adm. Técnico N N

N Idioma* Esp.*

NumFunc

Chofer

Cant-Acc Libreta

Conduce

Coche

N

Matrícula.

N

Categorizaciones (ejemplo cont.)

Page 23: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

23

Entidades Débiles

• Permiten expresar la dependencia de un conjunto de entidades con respecto a otro.

• Por eso: – Necesitan a la entidad fuerte para poder identificarse.

– No pueden existir en caso que no exista la correspondiente entidad fuerte.

Pertenece Salas Hospital N 1

Siempre es N:1 y total del lado débil

Page 24: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

24

Entidades Débiles (ejemplo)

La entidad Dependiente, relacionada con Empleado, sirve para llevar el control de los dependientes de cada empleado a través de una relación 1:N. Los atributos de Dependiente son: nombre, fechaNac, sexo y parentesco.

No puede existir un dependiente que no corresponda a algún empleado.

Dos dependientes de empleados distintos pueden tener el mismo conjunto de valores de atributos pero seguirán siendo entidades distintas.

Se podrán identificar como entidades distintas sólo después de determinar la entidad empleado con la cual están relacionadas.

Page 25: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

25

Entidades Débiles (ejemplo cont.)

¿Qué diferencias tiene esta otra representación?

Empleado

Nro.Emp Nombre Dependientes*

Nombre FechaNac Sexo Parentesco

Dependientes aquí no puede participar en ninguna otra relación que no sea la de dependencia con empleado.

Page 26: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

26

Entidades Débiles (otro ejemplo)

Para una cuenta determinada puede haber varios movimientos.

Cada entidad transacción debe estar asociada con una cuenta.

1

Si se suprime una cuenta deben suprimirse también todas sus transacciones, pero las transacciones pueden suprimirse sin afectar a ninguna cuenta. Aunque cada entidad transacción es distinta, las transacciones en cuentas diferentes pueden compartir el mismo código de transacción.

Cuenta Transacción Bitácora

Código Fecha Cantidad

N

Num Saldo

Page 27: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

27

Agregaciones

Limitación del MER:

No es posible expresar relaciones entre relaciones.

Ejemplo: Empleados trabajan en un proyecto determinado y usan varias máquinas en su trabajo.

N

Maquinaria

Trabaja

Usa

Cod

Empleado

Num Nombre N

N

N

Proyecto

Numero

N

Page 28: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

28

Agregación

Maquinaria

Trabaja

Usa

Cod

Empleado

Num Nombre

N

N

Proyecto

Numero

N

Trabajo

N

Abstracción que trata a las relaciones como una entidad.

Page 29: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

29

• Operador de “casting”. Cambia el “tipo” a la relación para poder relacionar entidades con ella.

Maquinaria

Trabaja

Usa

Cod

Empleado

Num Nombre

N

N

Proyecto

Numero

N

N Debe tener una única

relación y las

entidades que están

en la relación.

Agregaciones

Page 30: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

30

Opciones de Diseño

• ¿Entidades o relaciones?

• ¿Relación ternaria o par de relaciones

binarias?

• ¿Uso de entidades fuertes o débiles ?

• ¿Usar generalización?

• ¿Usar agregación?

Page 31: Modelo Entidad-Relación · 2 Modelo Entidad-Relación •Es un modelo conceptual y se utiliza para la definición de datos. •Se basa en representar objetos (entidades) y

31

¿Entidades o Relaciones?

Cuenta Sucursal Cliente

saldo Numero

N N

Cuenta

Sucursal Cliente

C-S-C

Numero

saldo

N N

N

Opción 1:

Opción 2: