modelo entidad-relación · 2 modelo entidad-relación •es un modelo conceptual y se utiliza para...
TRANSCRIPT
1
Modelo Entidad-Relación
MER
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.
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.
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.
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
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
7
Relaciones
Esquema Instancia
Estudiantes Estudiantes
Curso
Inscriptos
N
N
Cursos
Inscriptos
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
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)
10
Cursos Estudiantes Inscriptos
Cardinalidad de las relaciones
N:N
N:1
Cursos Estudiantes Inscriptos
Cardinalidades
Máximas
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?
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 !
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?
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.
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
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
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)
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
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.
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.)
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.
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.)
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
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.
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.
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
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
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.
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
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?
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: