Download Tema 2: Modelo Entidad-Asociación (E-A)

Document related concepts
no text concepts found
Transcript
Tema 2: Modelo Entidad-Asociación (E-A)
„ Conjuntos entidad
„ Conjuntos asociación
„ Cuestiones de diseño
„ Restricciones de asociaciones
„ Claves
„ Diagrama E-A
„ Características del modelo E-A ampliado
„ Diseño de un esquema E-A de base de datos
„ Reducción de un esquema E-A a tablas (relaciones)
Bases de datos
1
Conjuntos entidad
„ Una base de datos se puede modelar como:
+ Un conjunto de entidades,
+ Asociaciones entre entidades.
„ Una entidad es un objeto que existe y es distinguible de otros
objetos.
+ Ejemplo: una persona, compañía, evento o planta
determinada
„ Las entidades tienen atributos
+ Ejemplo: las personas tienen nombres y direcciones.
„ Un conjunto entidad es un conjunto de entidades del mismo tipo
que comparten las mismas propiedades.
+ Ejemplo: el conjunto de todas las personas, compañías, árboles,
vacaciones
Bases de datos
2
Conjuntos entidad cliente y prestamo
numero- cantidad
prestamo
Id-cliente
nombrecliente
callecliente
ciudadcliente
321-12-3123
Gómez
Príncipe
Madrid
L-17
1000
019-20-3746
López
Norte
Vigo
L-23
2000
677-89-9011
Vázquez
Principe
Madrid
L-15
1500
555-55-5555
Veiga
Alma
Santiago
L-14
1500
244-66-8800
Sánchez
Norte
Vigo
L-19
500
963-96-3963
Fraga
Lugo
Coruña
L-11
900
335-57-7991
Rubio
Miño
Ourense
L-16
1300
cliente
Bases de datos
prestamo
3
Atributos
„ Una entidad se representa por un conjunto de atributos, que son
propiedades descriptivas que tienen todos los miembros de un conjunto
entidad.
Ejemplo:
cliente = (id-cliente, nombre-cliente,
direccion-cliente, ciudad-cliente)
prestamo = (numero-prestamo, cantidad)
„ Dominio – el conjunto de valores permitidos para cada atributo
„ Tipos de atributo:
+ Atributos simples y compuestos.
+ Atributos monovalorados y multivalorados
P.e. atributo multivalorado : numeros-telefono
+ Atributos derivados
Se pueden calcular a partir de otros atributos
P.e. edad, dada la fecha de nacimiento
Bases de datos
4
Atributos compuestos
Atributos
compuestos
nombre
direccion
nombre completo
primer apellido segundo apellido calle ciudad provincia
C.P.
Atributos
componentes
numero
Bases de datos
nombre
piso
5
Conjuntos asociación
„ Una asociación es una relación entre varias entidades
Ejemplo:
López
entidad cliente
deposita
conjunto asociación
A-102
entidad cuenta
„ Un conjunto asociación es una relación matemática entre n ≥ 2
entidades, cada una perteneciente a un conjunto entidad
{(e1, e2, … en) | e1 ∈ E1, e2 ∈ E2, …, en ∈ En}
donde (e1, e2, …, en) es una asociación
+ Ejemplo:
(López, A-102) ∈ depositos
Bases de datos
6
Conjunto asociación prestatario
numero- cantidad
prestamo
Id-cliente
nombrecliente
callecliente
ciudadcliente
321-12-3123
Gómez
Príncipe
Madrid
L-17
1000
019-20-3746
López
Norte
Vigo
L-23
2000
677-89-9011
Vázquez
Principe
Madrid
L-15
1500
555-55-5555
Veiga
Alma
Santiago
L-14
1500
244-66-8800
Sánchez
Norte
Vigo
L-19
500
963-96-3963
Fraga
Lugo
Coruña
L-11
900
335-57-7991
Rubio
Miño
Ourense
L-16
1300
cliente
Bases de datos
prestamo
7
Conjuntos asociación (Cont.)
„ Un atributo también puede ser propiedad de un conjunto asociación.
„ Por ejemplo, el conjunto asociación depositante entre los conjuntos
entidad cliente y cuenta puede tener el atributo fecha-acceso
depositante (fecha-acceso)
cliente (nombre-cliente)
24 mayo 2002
3 junio 2002
López
Pérez
Sánchez
Veiga
A-101
21 junio 2002
A-215
10 junio 2002
A-102
17junio 2002
A-305
28 mayo 2002
A-201
28 mayo 2002
A222
24 junio 2002
A217
Gómez
Paz
cuenta (numero-cuenta)
23 mayo 2002
Bases de datos
8
Grado de un conjunto asociación
„ Indica el número de conjuntos entidad que pueden participar en
un conjunto asociación.
„ Los conjuntos asociación en que participan dos conjuntos entidad
se denominan binarias (o de grado dos). Normalmente, la
mayoría de los conjuntos asociación son binarias.
„ En un conjuntos asociación pueden participar mas de dos
conjuntos entidad.
+P.e. Supongamos que los empleados de un banco
pueden tener puestos (responsabilidades) en varias
sucursales, con diferentes responsabilidades en cada
sucursal. Entonces habrá una asociación ternaria entre los
conjuntos entidad empleado, puesto y sucursal
„ Las asociaciones entre más de dos conjuntos entidad no son
comunes, La mayoría de las asociaciones son binarias.
Bases de datos
9
Cardinalidad de un conjunto asociación
„ Indica el número de entidades a las que se puede asociar
otra entidad mediante el conjunto asociación.
„ Fundamentalmente es útil para conjuntos asociación binarios.
„ La cardinalidad de un conjunto asociación binario puede ser
de cuatro tipos:
+ Uno a uno (1:1)
+ Uno a varios (1:M)
+ Varios a uno (M:1)
+ Varios a varios (M:N)
Bases de datos
10
Cardinalidades
A
B
A
B
b1
a1
b1
a2
b2
a3
b3
a4
b4
(a) Uno a uno
a1
b2
a2
b3
a3
b4
b5
(b) Uno a varios
Nota: Algunos elementos en A y B pueden no estar asociados a ningún
elemento del otro conjunto
Bases de datos
11
Cardinalidades
A
B
A
B
a1
b1
a2
b2
a3
b3
a4
b4
a1
a2
b1
a3
b2
a4
b3
a5
(a) Varios a uno
(b) Varios a varios
Nota: Algunos elementos en A y B pueden no estar asociados a ningún
elemento del otro conjunto
Bases de datos
12
La cardinalidad afecta al diseño E-A
„ Podemos hacer fecha-apertura un atributo de cuenta, en vez de
un atributo de asociación, si cada cuenta sólo puede pertenecer a
un único cliente
„ Es decir, la asociación de cuenta a cliente es varios a uno, o,
los que es equivalente, cliente a cuenta es uno a varios
cuenta (numero-cuenta, fecha-acceso)
cliente (nombre-cliente)
depositante
López
Pérez
Gómez
Paz
Sánchez
Veiga
Bases de datos
A-101
24 mayo 2002
A-215
3 junio 2002
A-102
10 junio 2002
A-305
28 mayo 2002
A-201
17 junio 2002
A222
24 junio 2002
A217
23 mayo 2002
13
Diagramas E-A
nombre-cliente
calle-cliente
id-cliente
numero-prestamo
cantidad
ciudad-cliente
clientes
prestatario
prestamos
„ Rectángulos: representan conjuntos entidad.
„ Rombos: representan conjuntos asociación.
„ Líneas: unen los atributos con los conjuntos entidad y los conjuntos
entidad con los conjuntos asociación.
„ Elipses: representan atributos
„ Elipses dobles: representan atributos multivaluados.
„ Elipses discontinuas: denotan atributos derivados.
„ Subrayado: indica que un atributo es una clave primaria.
Bases de datos
14
Diagrama E-A con atributos compuestos,
multivaluados y derivados
nombre-calle
primer-apellido
piso-calle
numero-calle
segundo-apellido
nombre-propio
calle
nombre
direccion
ciudad
provincia
Id-cliente
cliente
C.P.
numero-telefono
Bases de datos
fecha-nacimiento
edad
15
Conjutos asociación con atributos
nombre-cliente
calle-cliente
id-cliente
numero-cuenta
saldo
ciudad-cliente
clientes
Bases de datos
fecha-acceso
depositante
cuenta
16
Roles
„ Los conjuntos entidad que participan en una asociación no
tienen por que ser distintos
„
Las etiquetas “director” y “trabajador” se denominan roles; indican cómo
interactúan las entidades a través del conjunto asociación “trabaja-para”.
„
En los diagramas E-A los roles se indican etiquetando lal líneas que unen
rombos y rectángulos.
„
Las etiquetas de rol son opcionales y se utilizan para clarificar la semántica de
la asociación.
nombre-empleado
numero-telefono
Id-empleado
director
trabaja-para
empleado
trabajador
Bases de datos
17
Restricciones de cardinalidad
„ Las restricciones de cardinalidad se indican dibujando o bien una flecha
(→), que significa “uno,” o bien un extremo sin flecha (—), que significa
“varios,” entre el conjunto asociación y el conjunto entidad
correspondiente.
„ P.e.: Asociación uno-a-uno:
+ Un cliente se asocia con, como máximo un préstamo mediante la asociación
prestatario
+ Un préstamo se asocia con como máximo un cliente mediante prestatario
nombre-cliente
calle-cliente
id-cliente
cantidad
ciudad-cliente
clientes
Bases de datos
numero-prestamo
prestatario
prestamos
18
Asociaciones uno-a-varios
„ En una asociación uno-a-varios un préstamo se asocia con,
como mucho, un cliente a través de prestatario, y un cliente se
asocia con varios (incluido 0) prestamos a través de prestatario
nombre-cliente
calle-cliente
id-cliente
cantidad
ciudad-cliente
clientes
Bases de datos
numero-prestamo
prestatario
prestamos
19
Asociaciones varios-a-uno
„ En una asociación varios-a-uno un préstamo se asocia con
varios (incluido 0) clientes a través de prestatario y un cliente se
asocia con como mucho un préstamo a través de prestatario
nombre-cliente
calle-cliente
id-cliente
cantidad
ciudad-cliente
clientes
Bases de datos
numero-prestamo
prestatario
prestamos
20
Asociaciones varios-a-varios
nombre-cliente
calle-cliente
id-cliente
numero-prestamo
cantidad
ciudad-cliente
clientes
prestatario
prestamos
„ Un cliente se asocia con varios (incluido 0) préstamos a
través de prestatario
„ Un préstamo se asocia con varios (incluido 0) clientes a
través de prestatario
Bases de datos
21
Participación de un conjunto entidad en un
conjunto asociación
„ Participación total (se indica mediante una línea doble): cada entidad
del conjunto entidad participa en al menos una asociación del conjunto
asociación
„ P.e. la participación de prestamo en prestatario es total
„ cada préstamo debe tener un cliente asociado a través de
prestatario
„ Participación parcial: algunas entidades pueden no participar en
ninguna asociación del conjunto asociación
„ P.e. la participación de cliente en prestatario es parcial
nombre-cliente
calle-cliente
id-cliente
cantidad
ciudad-cliente
clientes
Bases de datos
numero-prestamo
prestatario
prestamos
22
Notación alternativa para límites de
cardinalidad
„ Los límites de cardinalidad también pueden expresar
restricciones de participación
nombre-cliente
calle-cliente
id-cliente
cantidad
ciudad-cliente
clientes
Bases de datos
numero-prestamo
0..*
prestatario
1..1
prestamos
23
Claves
„ Una superclave de un conjunto entidad es un conjunto de
uno o más atributos cuyos valores determinan de manera
única cada entidad.
„ Una clave candidata de un conjunto entidad es una
superclave mínima
+ Id-clente es una clave candidata de cliente
+ numero-cuenta es una clave candidata de cuenta
„ Aunque pueden existir varias claves candidatas en un
conjunto entidad, una de ellas se debe elegir como clave
primaria.
Bases de datos
24
Claves para conjuntos asociación
„ El conjunto de claves primarias de los conjuntos entidad
participantes forman una superclave del conjunto asociación.
+ (id-cliente, numero-cuenta) es una superclave de depositante
+ NOTA: esto significa que un par de conjuntos entidad pueden tener
como mucho una asociación en un determinado conjunto
asociación.
P.e. si queremos guardar todas las fechas-de-acceso a cada
cuenta por cada cliente, no podemos utilizar una asociación para
cada acceso. Aunque podemos utilizar un atributo multivalorado
„ Debemos considerar la cardinalidad de los conjuntos asociación
cuando decidimos cuales son las claves candidatas
„ Necesitamos considerar la semántica de los conjuntos
asociación a la hora de elegir la clave primaria en caso de que
haya más de una clave candidata
Bases de datos
25
Diagramas E-A con asociaciones ternarias
nombre-puestol
nivel
puesto
nombre-empleado
ciudad_sucursal
calle
nombre-sucursal
id-empleado
empleados
Bases de datos
activos
ciudad
trabaja-en
sucursal
26
Restricciones de cardinalidad en
asociaciones ternarias
„ Se permite como máximo una flecha saliente de una asociación
ternaria (o de grado superior) para indicar restricciones de
cardinalidad
„ P.e. una flecha de trabaja-en a puesto indica que cad empleado
trabaja en como mucho un puesto en cualquier sucursal.
„ Si hay más de una flecha, hay dos formas de definir el significado.
+ P.e. una asociación ternaria R entre A, B y C con flechas a B y C puede
significar
+ 1. cada entidad A se asocia con una única entidad de B y C, o
+ 2. cada par de entidades de (A, B) se asocia con una única entidad C,
y cada par (A, C) se asocia con una única de B
+ Cada alternativa se ha utilizado en distintos formalismos
+ Para evitar confusiones no permitiremos más que una flecha
Bases de datos
27
Asociaciones binarias vs. no binarias
„ Algunas asociaciones que parecen ser no binarias se pueden
representar mejor utilizando asociaciones binarias
+ P.e. Una asociación ternaria padres, relacionando un niño con su padre
y madre. Es mejor reemplazarla por dos asociaciones binarias: padre y
madre
Utilizando dos asociaciones binarias podemos representar
información parcial (p.e. sólo se conoce la madre)
+ Pero hay algunas asociaciones que son no binarias por naturaleza
P.e. trabaja-en
Bases de datos
28
Convirtiendo asociaciones no binarias en
binarias
„ En general, cualquier asociación no binaria se puede representar mediante
asociaciones binarias creando un conjunto entidad artificial:
+ Reemplazar R entre los conjuntos entidad A, B and C por un conjunto entidad E,
y tres conjuntos asociación:
1. RA, asociando E y A
2.RB, asociando E y B
3. RC, asociando E y C
+ Crear un atributo identificador especial para E
+ Añadir todos los atributos de R a E
+ Para cada asociación (ai , bi , ci) en R,
1.crear una nueva entidad ei en el conjunto E
2. añadir (ei , ai ) a RA
3. añadir (ei , bi ) a RB
4. añadir (ei , ci ) a RC
A
A
RA
B
Bases de datos
R
C
B
RB
E
RC
C
29
Convirtiendo asociaciones no binarias
(Cont.)
„ También es necesario convertir las restricciones
+ No siempre es posible transformar todas las restricciones
+ Puede haber instancias en el nuevo esquema que no se corresponden
con ninguna instancia de R
Ejercicio: añadir restricciones a las asociaciones RA, RB y RC para
asegurar que una nueva entidad corresponda exactamente a una
entidad en cada uno de los conjuntos entidad A, B y C
+ Podemos evitar crear un atributo identificativo haciendo que E sea un
conjunto entidad débil identificado por los tres conjuntos asociación
Bases de datos
30
Cuestiones de diseño
„ Uso de conjuntos entidad vs. atributos
La elección depende principalmente de la estructura del mundo
que modelamos y de la semántica asociada con el atributo en
cuestión.
„ Uso de conjuntos entidad vs. conjuntos asociación
Ayuda: definir conjuntos asociación para definir una acción que
ocurre entre entidades
„ Conjuntos asociación binarios vs n-arios
Aunque se puede reemplazar cualquier conjunto asociación no
binario (n-ario, para n > 2) por un conjunto de asociaciones
binarias, un conjunto asociación n-ario muestra de manera más
clara que varias entidades participan en una única asociación.
„ Incluir atributos en las asociaciones
Bases de datos
31
Conjuntos entidad débiles
„ Un conjunto entidad que no tiene una clave primaria se
denomina conjunto entidad débil.
„ La existencia de un conjunto entidad débil depende de la
existencia de un conjunto entidad identificador
+ debe estar relacionado con el conjunto entidad identificador
mediante un conjunto asociación uno-a-varios total desde el
conjunto entidad identificador al conjunto entidad débil
+ La asociación identificadora se representa mediante un rombo
doble
„ El discriminador (o clave parcial) de un conjunto entidad débil es
el conjunto de atributos que diferencian las entidades del
conjunto entidad débil.
„ La clave primaria de un conjunto entidad débil está formada por
la clave primaria del conjunto entidad fuerte del que depende
existencialmente el conjunto entidad débil junto con el
discriminador del propio conjunto entidad débil.
Bases de datos
32
Conjuntos entidad débiles (Cont.)
„ Un conjunto entidad débil se representa mediante un
rectángulo doble.
„ El discriminador de un conjunto entidad débil se subraya con
una línea discontinua.
„ Numero-pago: discriminador del conjunto entidad pago
„ Clave primaria para pago – (numero-prestamo, numero-pago)
numero-prestamo
fecha-pago
cantidad
numero-pago
prestamo
Bases de datos
pago-prestamo
cantidad-pago
pago
33
Conjuntos entidad débiles (Cont.)
„ Nota: la clave primaria de un conjunto entidad fuerte no se
almacena explícitamente en el conjunto entidad débil, dado que
está implícita en la asociación identificadora.
„ Si numero-prestamo se almacenara explícitamente, pago se
podría convertir en entidad fuerte, pero entonces la asociación
entre pago y prestamo debería duplicarse por la asociación
implícita definida por el atributo numero-prestamo común a pago
y prestamo
Bases de datos
34
Ejemplos de conjunto entidad débiles
„ En una universidad, una asignatura es una entidad fuerte y una
oferta-de-asignatura se puede modelar como una entidad débil
„ El discriminador de oferta-de-asignatura debería ser cuatrimestre
(incluyendo año)
„ Si modelamos oferta-de-curso como una entidad fuerte debemos
introducir como atributo codigo-asignatura.
Entonces la relación con asignatura debería estar implícita en el
atributo codigo-asignatura
Bases de datos
35
Especialización
„ Proceso de diseño arriba-abajo; creamos subgrupos con un
conjunto de entidades que se distinguen de las demás entidades
del conjunto.
„ Estos subgrupos se convierten en conjuntos entidad de más bajo
nivel que tiene atributos o participan en asociaciones que no son
aplicables al conjunto entidad de nivel superior.
„ Se representa mediante un triángulo con la etiqueta ISA (P.e.
cliente “es una” persona).
„ Herencia de atributos – un conjunto entidad de nivel más bajo
hereda todos los atributos y participaciones en asociaciones del
conjunto entidad de nivel superior al que está enlazado.
Bases de datos
36
Ejemplo de especialización
calle
nombre
ciudad
persona
ISA
tipo
salario
empleado
cliente
ISA
oficinista
vendedor
numero-despacho
numero-ventanilla
Bases de datos
secretario
horas-trabajadas
horas-trabajadas
37
Generalización
„ Proceso de diseño abajo-arriba – combinar una serie de
conjuntos entidad que comparten las mismas características en
un conjunto entidad de más alto nivel.
„ La especialización y la generalización son procedimientos
opuestos. Por ello se representan de la misma forma en los
diagramas E-A.
„ Los términos especialización y generalización se pueden utilizar
como sinónimos.
Bases de datos
38
Especialización y generalización (Cont.)
„ Puede haber varias especializaciones de un conjunto entidad en
base a diferentes características.
„ P.e. empleados-temporales vs. empleados-fijos, además de
oficinistas vs. secretarios vs. vendedores
„ Cada empleado debe ser:
+ Miembro de empleados-.temporales o de empleados fijos,
+ y también miembro de uno de los siguientes grupos: oficinistas,
secretarios, o vendedores
„ La asociación ISA también se denomina asociación superclase -
subclase
Bases de datos
39
Restricciones de diseño en una
especialización/generalización
„ Restricciones sobre que entidades pueden ser miembros de un
conjunto de entidades de nivel más bajo.
+ Definido por condiciones
P.e. todos los clientes de más de 65 años son miembros del
conjunto entidad mayor-de-edad; mayor-de-edad ISA persona.
+ Definido por el usuario
„ Restricciones sobre cuando o no las entidades pueden pertenecer a
más de un conjunto entidad de nivel más bajo dentro de la misma
generalización.
+ Disjunto
Una entidad puede pertenecer a un solo conjunto entidad de menor
nivel
Se indica en el diagrama E-A escribiendo disjunto al lado del
triángulo ISA
+ Solapado
Una entidad puede pertenecer a varios conjuntos entidad de menor
nivel
Bases de datos
40
Restricciones de diseño en una
especialización/generalización (Cont.)
„ Restricción de completitud – especifica cuando o no una entidad
del conjunto entidad de nivel superior debe pertenecer a al
menos un conjunto entidad de menor nivel en la generalización.
+ total : una entidad siempre debe pertenecer a un conjunto entidad
de menor nivel
+ parcial: una entidad no necesita pertenecer a uno de los conjuntos
entidad de menor nivel
Bases de datos
41
Agregación
„ Consideremos la asociación ternaria trabaja-en.
„ Supongamos que queremos almacenar información sobre los
directores de las tareas que realiza cada empleado en una sucursal
puesto
empleado
trabaja-en
oficina
dirige
Bases de datos
director
42
Agregación (Cont.)
„ Los conjuntos asociación trabaja-en y dirige representan información
redundante
+ Cada asociación dirige corresponde a una asociación trabaja-en
+ Sin embargo, algunas asociaciones trabaja-en pueden no corresponderse
con ninguna asociación dirige
Por eso no podemos descartar la asociación trabaja-en
„ Eliminamos esta redundancia mediante agregación
+ Tratamos la asociación como una entidad abstracta
+ Permitimos asociaciones ente asociaciones
+ Abstraemos la asociación en una nueva entidad
„ Sin introducir redundancia, el siguiente diagrama representa:
+ Un empleado trabaja en un puesto concreto en una sucursal concreta
+ Una combinación empleado, sucursal, puesto puede tener asociado un
director
Bases de datos
43
Diagrama E-A con agregación
puesto
empleado
trabaja-en
oficina
dirige
director
Bases de datos
44
Decisiones de diseño E-A
„ El uso de un atributo o conjunto entidad para representar un
objeto.
„ Cuándo un concepto del mundo real se expresa mejor mediante
un conjunto entidad o mediante un conjunto asociación.
„ El uso de asociaciones terciarias vs. dos asociaciones binarias.
„ El uso de conjuntos entidad fuertes o débiles.
„ El uso de especialización/generalización – contribuye a la
modularidad en el diseño.
„ El uso de agregación – se puede tratar el conjunto entidad
agregado como una sola unidad sin importar los detalles de su
estructura interna.
Bases de datos
45
Diagrama E-A para una entidad bancaria
ciudad-sucursal
nombre-sucursal
activo
sucursal
prestamo-sucursal
nombre-cliente
fecha-pago
calle-cliente
numero-pago
numero-prestamo
ciudad-cliente
Id-cliente
cantidad
prestatario
cliente
cantidad-pago
prestamo
prestamo-pago
pago
fecha-acceso
numero-cuenta
saldo
tipo
consejero
depositante
cuenta
jefe
ISA
trabaja-para
empleado
trabajador
Id-empleado
nombre-empleado
duracion-contrato
Bases de datos
nombre-empleado
cuenta-ahorro
cuenta-corriente
numero-telefono
fecha-contrato
tipo-interes
descubierto
46
Resumen de símbolos utilizados en la
notación E-A
E
E
Conjunto entidad
débil
R
Asociación
R
A
Bases de datos
A
Conjunto entidad
Asociación
identificadora
para una entidad
débil
Clave primaria
Atributo
A
Atributo
multivalorado
A
Atributo derivado
R
E
A
Participación
total de una
entidad en una
asociación
Atributo
discriminador de
una entidad débil
47
Resumen de símbolos (Cont.)
R
R
Asociación
varios a varios
R
Asociación
uno a uno
rol
ISA
E
Asociación
varios a uno
R
R
1..h
E
ISA
Indicador de rol
Generalización total
ISA
Límites de
cardinalidad
ISA (Generalización
o Especialización)
Generalización disjunta
disjunta
Bases de datos
48
Notaciones E-A alternativas
Entidad E con atributos
A1, A2 y A3 y clave
primaria A1
A1
A2
A3
Asociación
varios a varios
*
Asociación
uno a uno
1
Asociación
varios a uno
*
Bases de datos
R
*
R
R
1
R
R
1
R
49
UML
„ UML: Unified Modeling Language
„ UML tiene muchos componentes para modelar gráficamente
diferentes aspectos de un sistema software
„ Los diagramas de clases UML se corresponden con diagramas
E-A con algunas diferencias.
Bases de datos
50
Resumen de la notación de diagramas de
clase UML
1. Entidades y
atributos
calle-cliente
nombre-cliente
ciudad-cliente
Id-cliente
cliente
2. Asociaciones
E1
rol1
R
rol2
E2
E1
rol1
R
rol2
E2
R
a1
E1
Bases de datos
rol1
a1
a2
R
rol2
a2
E2
E1
rol1
rol2
E2
51
Notación de diagramas de clases UML (Cont.)
3. Restriciiones
de cardinalidad
E1
0..*
0..1
R
persona
4. Generalización y
Especialización
E2
E1
0..1
ISA
Bases de datos
empleado
empleado
persona
cliente
E2
solapada
cliente
cliente
0..*
persona
(generalización
solapada)
ISA
R
(generalización
disjunta)
persona
disjunta
disjunta
empleado
cliente
empleado
52
Fin del tema 2
Bases de datos
Manuel Ramos Cabrer
53
Dependencia existencial
„ Si la existencia de la entidad x depende de la existencia de la
entidad y, entonces x es existencialmente dependiente de y.
+ y es la entidad dominante (p.e. prestamo)
+ x es la entidad subordinada (p.e. pago)
prestamo
prestamo-pago
pago
Si se elimina una entidad prestamo, entonces todas las entidades
pago asociadas también de deben eliminar.
Bases de datos
54