análisis y diseño - Departamento de Ciencias e Ingeniería de la

Anuncio
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012.
Modelo Entidad-Relación
(MER)
ANÁLISIS Y DISEÑO
DE SISTEMAS
• El Modelo Entidad-Relación es un modelo
conceptual que utiliza para especificar el modelo
de datos de un negocio o empresa.
• Modela al mundo real como una colección de:
Clase 10: Modelo Entidad Relación –
Pasaje a Tablas
– Objetos básicos llamados entidades agrupadas en
conjuntos de entidades.
– Y relaciones entre las entidades, agrupadas en
conjuntos de relaciones.
Mg. María Mercedes Vitturini
[[email protected]]
Dpto. Cs. e Ingeniería de la Computación
Universidad Nacional del Sur
Primer cuatrimestre 2012
2
Ejemplos
Id_Docente
Conjunto de Relaciones
Conjunto entidad «Materias»
Id_Materia
Nombre
AyDS2012 - Clase 10- MMV
Nombre
M1
Análisis y Diseño de Sistemas
M2
Resolución de Problemas y Algoritmos
M3
Fundamentos de Bases de Datos
M4
Programación Orientada a Objetos
• Sean E1, E2 dos conjuntos de entidades, el conjunto
de relación R (binario) entre E1y E2 es un subconjunto
de pares {(e1,e2): e1  E1, e2  E2}
• Ejemplo: el conjunto de relaciones “dictan” entre
Docentes y Materias
Título
P1
Ana Piña
Ingeniera
P2
Carla Blanco
Magister
P3
Mario Molina
Magister
P4
Carlos Dini
Doctor
Entidad
Representa a Docente:
(P1, Ana Piña,
Ingeniera)
Docente
Materia
P1
M2
P1
M4
P2
M3
P3
M2
Representa a Materia:
(M3, Prog.Orient. a Obj)
Conjunto entidad «Docentes»
AyDS2012 - Clase 10- MMV
3
Sobre las relaciones
• El grado de una de un conjunto de relación se
refiere al número de conjuntos entidades que
participan en un conjunto de relaciones:
– Binarias, ternarias, cuaternarias, etc.
4
Diagrama Entidad-Relación (DER)
• La representación gráfica del modelo EntidadRelación es el diagrama entidad-relación (DER).
Un DER está compuesto de:
– Rectángulos: representan conjuntos entidades.
– Elipses: representan atributos.
• Elipses dobles: representando atributos
multivaluados.
• Elipses con borde punteado: representando atributos
derivados
• La cardinalidad o multiplicidad restringe el
número de entidades con las que otra entidad
se puede asociar a través de una relación.
– Rombos: representan relaciones entre conjuntos
entidades.
– Líneas: vinculan conjuntos entidades y atributos o
conjuntos entidades con relaciones.
– Muchos a muchos, muchos a uno, uno a muchos,
uno a uno
5
AyDS2012 - Clase 10- MMV
Conjunto de Relación «Dictan»
AyDS2012 - Clase 10- MMV
6
AyDS2012 - Clase 10- MMV
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
1
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012.
Especialización y
Generalización
Guía para construir el MER
• Es un tipo de relación especial de inclusión o
“herencia”. Existe entre un conjunto entidad de un
nivel más alto con uno o más conjuntos entidad
de nivel más bajo.
Cuentas
Nro-Cuenta
Saldo
Es-un
Cuentas-Ahorro
Cuentas-Cheque
Tasa-Interés
1. Identificar las entidades y definir los conjuntos
de entidades.
2. Identificar los atributos que describen las
entidades.
3. Identificar las relaciones entre las entidades.
4. Identificar atributos asociados con las
relaciones (si existen).
5. Definir la multiplicidad de las relaciones.
6. Identificar relaciones de herencia (is-a)
Saldo-Deudor
7
AyDS2012 - Clase 10- MMV
8
Diseñando el MER
AyDS2012 - Clase 10- MMV
Decisiones de Diseño
• Entre las decisiones de diseño que el diseñador
del esquema de BD debe considerar:
• ¿Atributo o Entidad?
– Decidir si un objeto se representa como un atributo
o una entidad.
– Un aspecto importante en el Modelo E-R es
distinguir cuándo «un dato» constituye un atributo y
cuándo una entidad.
– Decidir si un concepto del mundo real puede ser
expresado mediante un conjunto de entidad o un
conjunto de relación.
– Depende del problema que queremos modelar y
las restricciones del mismo. Influye:
• Relevancia de la información en el contexto del
problema.
• Información adicional que acompaña al atributo.
• Si la información se vincula por relaciones con otras
entidades.
– Decidir si usar una relación ternaria o un
descomponerla en pares de relaciones binarias.
9
AyDS2012 - Clase 10- MMV
10
Ejemplo 1
¿Atributo o entidad?
1. Una compañía desea mantener información de los
departamentos en los que se organiza y sus gerentes.
cant_empl
nombre
fecha_crea
Departamentos
Dirige
Nro_Legajo
Gerentes
nombre
fecha_ingr
fecha_nac
• Ejemplos:
1. Una compañía desea mantener información de
los departamentos en que se organiza y sus
gerentes.
2. El número de teléfono de un cliente.
3. Una agencia de viajes ofrece distintos viajes, la
localidad desde donde salen/arriban los viajes.
4. Las palabras claves para un libro.
• Razones para modelar a
Gerentes como entidad:
– Se quiere mantener mucha
información propia de gerente.
– Se desea poder “consultar” o
“filtrar” información por
gerente.
– Se desea expandir el modelo y
vincular Gerentes con una
entidad Proyectos
AyDS2012 - Clase 10- MMV
AyDS2012 - Clase 10- MMV
11
12
AyDS2012 - Clase 10- MMV
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
2
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012.
¿Se modela como Entidad o
como Relación?
¿Entidad o Relación?
• No siempre es claro si es mejor expresar cierta
información como un conjunto entidad o como
un conjunto relación.
• Algunas consideraciones para tomar la
decisión:
Ejemplo:
• Un sistema que mantiene datos sobre ventas,
clientes y artículos vendidos. Cada venta genera
una factura, que tiene un número, tipo de factura,
fecha, etc.
• Un sistema de atenciones médicas para una obra
social. Se registra información de los médicos y
pacientes que se atienden. De cada atención se
desea saber el diagnóstico.
– Los atributos propios de la relación.
– Cardinalidad de la relación (una a una, una a
muchas, etc.) entre las relaciones.
– La obra social está interesada en mantener estadísticas
por diagnósticos
13
AyDS2012 - Clase 10- MMV
Entidad o Relación
14
AyDS2012 - Clase 10- MMV
Entidad ó Relación
Clientes
Teléfono
Nombre-Diagnóstico
Clientes
Domicilio
Descripción
comprador
Nro-Factura
Fecha-Venta
Ventas
Tipo-Factura
Nombre
Tipo-Factura
Nro-Factura
Pacientes
Diagnósticos
Nro-Paciente
Total
Artículos
Facturas
Total
Id-Diagnóstico
Fecha-Venta
atención
Fac-Art
¿ Diagnósticos como
entidad?
Fecha-Atención
Obs: por simplicidad no se incluyeron
atributos en las entidades ARTÍCULOS y
CLIENTES
Artículos
Médicos
Nro-Medico
AyDS2012 - Clase 10- MMV
Nombre-Médico
16
15
¿Relaciones ternarias o binarias ?
• Algunas relaciones que «parecen» mejor
representadas como relaciones ternarias que
como binarias.
AyDS2012 - Clase 10- MMV
Ejemplos: Relaciones Ternaria
Teléfono
Nombre
Apellido
Apellido
Nombre
• Siempre se puede encontrar una representación
usando relaciones binarias para las relaciones
ternarias. Depende del gusto del diseñador.
• Lo importante es verificar que el diseño
represente los requerimientos del problema!.
Docentes
Alumnos
Nro-Legajo
Nro-Registro
cursa
período_lectivo
Materias
Nro-Materia
17
AyDS2012 - Clase 10- MMV
Nombre
18
AyDS2012 - Clase 10- MMV
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
3
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012.
¿Relaciones ternarias o binarias?
Vs: Relaciones Binarias
Teléfono
Apellido
Nombre
Apellido
Nombre
Docentes
Alumnos
Nro-Legajo
• Atención!, puede ser que un modelo no
represente la misma información si se usan
relaciones binarias que ternarias (ver ejemplo
anterior)
– Para pensar: ¿Cómo podríamos hacer para modelar la
información del ejercicio anterior con relaciones
binarias ?
Nro-Registro
período_lectivo
dicta
cursa
• Cuidado con el uso incorrecto de relaciones narias !!
Materias
Nro-Materia
Nombre
19
AyDS2012 - Clase 10- MMV
Ejemplo: Relaciones no binarias
Nombre-Artistico
Titulo
20
AyDS2012 - Clase 10- MMV
Ejemplo: Relaciones no binarias
Nombre-Artistico
Título
Apellido
duración
Apellido
Duración
Nombre
Nombre
Actores
Películas
Películas
Nro-actor
Actores
Nro-actor
Nro-pelicula
Nro-pelicula
actúan
¿Es correcta la
relación repara?
proyecta
Fecha
Proyecta
Salas
Salas
Fecha
Capaciadad
Nro-sala
AyDS2012 - Clase 10- MMV
21
Capacidad
Nro-sala
22
AyDS2012 - Clase 10- MMV
Cardinalidad de Relaciones
Ternarias
• En el DER las flechas que salen de una relación
representan una restricción de cardinalidad 1.
• Sean A, B, C tres conjuntos de entidades y R la
relación entre ambas
A
B
R

Significa:


23
Representación
Tabular del DER
C
dados a  A, y b  B, se relacionan por R con un único c  C y
dados un a  A, y c  C, se relacionan por R con un único b 
B ó
Dado a  A, se relaciona por R con un único b y un único C
Dado el DER para un problema, es
posible encontrar una representación
tabular que se aproxima a la vista lógica
del modelo de datos
AyDS2012 - Clase 10- MMV
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
4
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012.
Representación Tabular
• Un modelo de datos del DER puede ser
representado como un conjunto de tablas.
Elementos del MER
• Los elementos del MER son:
– Entidades
– Relaciones
• Este proceso de conversión se conoce como
“pasaje a Tablas del DER”.
• Pueden incluir atributos.
• Tienen asociada una cardinalidad que
impone restricciones sobre el conjunto de
datos a aceptar.
• Vamos a estudiar:
– Cómo se define el proceso de la conversión.
– Como representar las restricciones del MER en las
“tablas”.
25
AyDS2012 - Clase 10- MMV
26
Conversión de Conjuntos de
Entidades
AyDS2012 - Clase 10- MMV
Ejemplo: Entidades fuertes
• Sea E un conjunto de entidades con n atributos
descriptivos a1,a2,…,an.
Cuentas
Nro-Cuenta Saldo
12345
120
12456
1000
20321
500
31124
2500
32100
170
54881
3000
Cuentas
E = (a1,a2,…,an).
• Una tabla para E constará de n columnas, una
para cada atributo descriptivo.
Nro-Cuenta
Vista del DER
• Cada fila de la tabla representa a una entidad del
conjunto entidad E.
• La llave primaria de E representa la llave primaria
para la tabla.
27
AyDS2012 - Clase 10- MMV
Conversión de Conjuntos de
Relaciones
• Sea R un conjunto de relaciones que implica a los
conjuntos de entidades E1, E2,…, En (n > 1) con llaves
primarias pk(E1),…,pk(En) respectivamente.
• Si R no tiene atributos propios entonces se crea una
tabla con una columna por cada elemento del
conjunto:
pk(E1)  …  pk(En)
• Si R tiene como atributos descriptivos propios,
{a1,…,am} entonces se crea una tabla con una
columna por cada elemento del conjunto:
pk(E1)  …  pk(En)  {a1,…,am}
29
AyDS2012 - Clase 10- MMV
Saldo
Representación tabular para
la entidad fuerte Cuentas.
CUENTAS (Nro-Cuenta, Saldo)
Esquema Cuentas en el modelo
relacional
La llave primaria es el
número de cuenta.
28
AyDS2012 - Clase 10- MMV
Relaciones sin atributos
LibAut
ISBN
DNI
84-481-0079-4
22222222
96-665-1238-4
32000123
12-236-9812-1
45678678
44-128-9365-8
20666999
51-326-4588-7
18987345
87-123-9699-0
5698772
71-439-2541-1
25006897
ISBN
Libros
Nombre-Libro
Editorial
LibAut
Nro-Páginas
Tabla que representa a la
relación LibAut
DNI
Modelo Relacional:
LibAut (ISBN, DNI)
Autores
Nombre-Autor
Dirección-Autor
30
AyDS2012 - Clase 10- MMV
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
5
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012.
Relaciones
con
atributos
Modelo Relacional:
CtaCli (nro-seguridadsocial, nro-cuenta,
fecha)
Nro-Seguridad
Social
Nombre-Cliente
Clientes
Dirección-Cliente
Conversión de Relaciones
“1:m”
CtaCli
Nro-Seguridad-Social Nro-Cuenta
Fecha
8448100794
1111
17/01/2003
9666512384
2222
24/01/2001
1223698121
3146
04/02/2002
4412893658
2222
12/02/2001
5132645887
5987
03/01/2003
8712396990
4329
18/03/2002
7143925411
7452
05/08/2003
Tabla que representa a la relación CtaCli
Id
Nombre
Relaciones m:1 sin atributos
La relación podría eliminarse
agregando el atributo IDDepartamento en el conjunto de
entidades Gerente (del lado del
muchos).
Departamentos
Dirige
Fecha
Nro-Cuenta
Gerentes
Cuentas
CtaCli
Ciudad-Cliente
Saldo
31
AyDS2012 - Clase 10- MMV
Conversión de Relaciones IS-A
• Existen distintas alternativas para reducir al esquema
tabular una relación “es-un”:
Opción 1
• Se crea una única tabla para el conjunto de entidades de
nivel más alto.
• Para cada conjunto de entidades de nivel más bajo se
crea una tabla con los atributos de ese conjunto de
entidades más una columna por cada atributo que es
clave primaria del conjunto de entidades de nivel más
alto.
Legajo
Apellido
Nombre
Modelo Relacional de Gerente +
Dirige:
GERENTES (legajo, apellido,
nombre, id-dpto)
32
AyDS2012 - Clase 10- MMV
Conversión para relaciones IS-A
Opción 2
• No se crea una tabla para el conjunto de entidades
de nivel más alto.
• Para cada conjunto de entidades de nivel más bajo
se crea una tabla que con los atributos de ese
conjunto de entidades más una columna por cada
atributo del conjunto de entidades de nivel más alto.
• Esta conversión es válida para generalizaciones
disjuntas y totales.
• Es válida para generalizaciones solapadas o disjuntas y
parciales o totales.
33
AyDS2012 - Clase 10- MMV
34
Especialización y
Generalización
Nro-Cuenta
Cuentas
AyDS2012 - Clase 10- MMV
Tablas para la relación IS-A
Opción 1
Saldo
Cuentas
Cuentas-Ahorro
Cuentas-Cheque
Nro-Cuenta Saldo Nro-Cuenta Tasa-Interés Nro-Cuenta Saldo-Deudor
Es-un
Cuentas-Ahorro
Cuentas-Cheque
Tasa-Interés
Opción 2
Cuentas-Ahorro
Cuentas-Cheque
Nro-Cuenta Saldo
Tasa-Interés Nro-Cuenta Saldo
Saldo-Deudor
Saldo-Deudor
35
AyDS2012 - Clase 10- MMV
36
AyDS2012 - Clase 10- MMV
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
6
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2012.
Llaves de los esquemas de
relación
El modelo Relacional
• El modelo relacional es un modelo de datos
de nivel lógico. Modela las estructuras de
datos a través de una representación de
esquemas, instancias y relaciones.
– Esquema de Relación: corresponde con el diseño
lógico para los conjuntos de entidad y de relación.
– Instancia de Relación: es el conjunto de valores o
contenido para un esquema de relación en un
momento dado.
– Relación: cada uno de los elementos que
componen una instancia de relación.
37
AyDS2012 - Clase 10- MMV
• La llave primaria de los esquemas de relación
que representan a conjuntos entidad está
formada por los mismos atributos que forman la
llave primaria del conjunto entidad.
• La llave primaria de los esquemas de relación
que representan a conjuntos relación está
formada por los mismos atributos que forman la
llave primaria del conjunto relación.
38
Modelos de Datos
AyDS2012 - Clase 10- MMV
Traslado de MER a MR
• A cada conjunto entidad del DER le corresponde
un esquema de relación en el MR.
• Modelado Conceptual
– Modelo Entidad Relación (MER)
Nivel de Abstracción
– El esquema está constituido por los atributos que
describen a las entidades.
• El Diagrama Entidad Relación (DER)
• A cada conjunto de relación del DER le
corresponde un esquema de relación en el MR
El traslado de un DER al MR se hace siguiendo reglas
• Modelado Lógico
– El esquema está constituido por los atributos que
identifican a las entidades que participan de la relación
(claves primarias) más los atributos propios (si existen).
– Modelo Relacional (MR)
• Esquemas de relación
– Un caso especial son las relaciones IS-A y las
relaciones m:1 sin atributos.
39
AyDS2012 - Clase 10- MMV
Ejemplo
legajo
nombre
código
MATERIAS
cuat
is_a
dictan
a_cargo
PROFESORES
cargo
AUXILIARES
año
concurso
DEPARTAMENTOS
código
41
AyDS2012 - Clase 10- MMV
Temas de la clase de hoy
nombre
apellido
DOCENTES
40
• Modelo MER
– Repaso
– Modelo relacional – pasaje a tablas.
– Ejemplo
• Bibliografía:
– “Database system concepts. Fifth edition ” – A.
Silberschatz – Capítulo 6.
nombre
AyDS2012 - Clase 10- MMV
42
AyDS2012 - Clase 10- MMV
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
7
Descargar