Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Bases de Datos
Tema 6
Diseño Conceptual con UML
Índice (Objetivos)
1. Repaso al diseño conceptual con el diagrama de clases
del UML.
2. Estudio de aspectos avanzados de los conceptos del
diagrama de clases del UML.
3. Refinamiento y verificación de diagramas de clases.
4. Casos.
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 3
Índice
1. Repaso al diseño conceptual con el diagrama de clases
del UML
1. Diagrama de clases
2. Clase
3. Atributos
4. Asociación
5. Clases débiles
6. Especialización/Generalización
7. Restricciones
2. Estudio de aspectos avanzados de los conceptos del
diagrama de clases del UML.
3. Refinamiento y verificación de diagramas de clases.
4. Casos
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 4
Diseño Lógico
(transformación)
Modelo Relacional
Diseño Físico
(adaptación, implementación,
rendimiento)
DDL de Oracle
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 9
• clase
• atributo
• asociación
• generalización/especialización
• restricciones
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 10
1.2. Clase
La observación de la realidad permite detectar el conjunto de
“objetos” (físicos o conceptuales) de los que se quiere
almacenar información para, mediante el uso de la
clasificación, que es uno de los mecanismos de abstracción
más primario que existen, descubrir el conjunto de “clases” (o
tipos de objetos) que son de interés para la organización
PERSONA
CLASIFICACIÓN
COCHE
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 11
1.2. Clase
• Los componentes básicos de un SI son los objetos de los
que se quiere almacenar información; todos los objetos que
son del mismo tipo se representan con un una clase.
Una clase es una descripción de un conjunto de
objetos que comparten las mismas propiedades.
• Con una clase se representará cualquier persona, concepto,
suceso o evento (en definitiva cualquier “cosa”) sobre el que
se quiera almacenar información.
Clase
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 12
1.3. Atributos
Un atributo es una propiedad de una clase identificado
con un nombre, cuyas instancias pueden tomar valor
de un conjunto de valores que se especifica.
Zona de especificación
Clase
de los atributos de la
clase
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 13
1.3. Atributos
A cada atributo se le puede especificar:
• Tipo de datos asociado que determina los valores que
puede tomar el atributo:
▪ El nombre de un tipo de datos conocido.
▪ Una enumeración de valores posibles entre
paréntesis.
▪ Registro.
• Restricciones:
▪ De unicidad
▪ De cardinalidad
▪ De identificación
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 14
1.3. Atributos
• Restricciones:
• De unicidad
1.3. Atributos
• Restricciones:
• De cardinalidad
Expresan el número de valores que puede tomar el atributo
para cada ocurrencia de la clase.
• {1..1}: el atributo tiene exactamente un valor para cada
ocurrencia de la clase.
• {0..1}: el atributo puede tener como mucho un valor para
cada ocurrencia de la clase o puede no tener valor (es el
valor por defecto).
• {1..*}: el atributo puede tener más de un valor para cada
ocurrencia de la clase pero al menos tiene un valor.
• {0..*}: el atributo puede tener más de un valor para cada
ocurrencia de la clase o puede no tener valor.
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 16
1.3. Atributos
• Restricciones:
• De identificación
Clase
a:{id}
b:{id}
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 17
1.3. Atributos
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 18
1.4. Asociación
Las asociaciones permiten representar las posibles relaciones
existentes entre las clases del sistema de información.
Una asociación que conecta dos clases se dice que es binaria.
A B
Asociación
entre A y B
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 19
A B
R
Rol_A Rol_B
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 20
• minA= 1 y maxA= 1
• minA= 0 y maxA= *
• minA= 0 y maxA= 1
• minA= 1 y maxA= *
Río Provincia
Pasa_por
cod_r: {id}:char cod_p: {id}:char
… 0..* 1..* …
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 23
Río Provincia
Pasa_por
cod_r: {id}:char cod_p: {id}:char
… 0..* 1..* …
Pasa_por
km: {1..1}:real
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 24
Río Provincia
Pasa_por
cod_r: {id}:char cod_p: {id}:char
… 0..* 1..* …
Pasa_por
km: {1..1}:real
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 25
Contiene
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 27
Profesor Asignatura
DNI: {id}: char 0..1
Docencia 0..* código: {id}: char
nombre: {1..1}: char nombre:{1,1} :char
0..*
Grupo
código: {id}: char
capacidad: {1..1}: int
A B
a:{id}:char {id} 0..* b:{id}:char
… …
A B
a:{id}:char {id} 0..1 b:char
… …
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 32
Ciudad País
Está
nom_c: {id}:char nom_p: {id}: char
… 0..* {id} …
{id}→ 1..1
restricción de
dependencia de
identificación
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 33
Recurso Pleito
Afecta
fecha: {1..1}: date num: {id}: int
… 0..1 {id} …
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 34
1.6. Generalización/Especialización
1.6. Generalización/Especialización
1.6. Generalización/Especialización
1.6. Generalización/Especialización
1.7. Restricciones
• Existen números lugares en el diagrama donde se
expresan restricciones:
• Atributos:
• De valor: precisando el tipo de datos asociado.
• Cardinalidad: precisando la multiplicidad de valores posible para
cada objeto en ese atributo.
• Clases:
• Unicidad: impide la existencia de objetos con el mismo valor para
los atributos especificados.
• Identificación: impide la existencia de objetos con el mismo valor o
sin valor en los atributos especificados.
• Asociaciones:
• Cardinalidad: limita la forma asociativa entre clases.
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 39
1.7. Restricciones
• Otras restricciones:
• Elementos de anotación: comentarios que se pueden utilizar
para describir, clarificar e incluir observaciones sobre cualquier
elemento del diagramas
Restricción de
integridad
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 40
Índice
1. Repaso al diseño conceptual con el diagrama de clases
del UML
2. Estudio de aspectos avanzados de los conceptos del
diagrama de clases del UML
1. Estudio de la asociación y clase-asociación
2. Estudio de la generalización/especialización
3. Aspectos dinámicos
3. Refinamiento y verificación de diagramas de clases
4. Casos
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 41
A1
An
• Asociación
N-aria
AS
A2
A3
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 42
ERROR Albarán
Nº: {id}: integer
fecha: {1..1}: date
cant: {1..1}: integer
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 44
• Identificación:
• Por cada conjunto de clases con cardinalidad máxima 1 hay una
posible identificación.
• Si no hay, todas las clases participan en la identificación.
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 45
Proveedor Pieza
dni: {id}: string código: {id}: string
nombre: {1..1}:string
0..* Sum 0..* desc: {1..1}: string
dirección: {1..1}: string marca: {1..1}: string
Departamento Empleado
código: {id}: string dni: {id}: string
nombre: {1..1}: string
1..1 0..* nombre: {1..1}: string
ubicación: {1..1}: string Pertenece edad: {1..1}: number
Departamento Empleado
código: {id}: string dni: {id}: string
nombre: {1..1}: string
0..1 1..1 nombre: {1..1}: string
ubicación: {1..1}: string Jefe edad: {1..1}: number
Pieza
código: {id}: string
compuesta componente
desc: {1..1}: string
0..* marca: {1..1}: string 0..*
Composición
Empleado
dni: {id}: string
jefe subordinado
nombre: {1..1}: string
1
0..1 edad: {1..1}: entero 0..*
Jerarquía
Persona
Matrimonio
0..*
Proyecto
código: {id}: string
denominación: {1..1}: string
lugar: {1..1}: string
0..1
Proyecto
código: {id}: string
denominación: {1..1}: string
lugar: {1..1}: string
0..*
Proyecto
código: {id}: string
denominación: {1..1}: string
lugar: {1..1}: string
e1 s1
21/1/19, 10/2/19
e2 s2
e3 s3
15/1/19, 23/1/19 Si la realidad a modelar es
e4 s4 ésa (un socio puede tomar
prestado el mismo ejemplar
… …
varias veces), el diseño es
1/3/19, 15/3/19
em sn incorrecto. Sólo se puede
tener información de un
préstamo de un mismo libro
a un mismo socio
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 56
e1 s1
21/1/18, 10/2/18
e2 s2
e3 s3
e4 s4
{(15/1/19, 23/1/19),
… (1/3/19, 15/3/19)}
…
em sn
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 58
Empleado
Departamento
dni: {id}: string
0..* 0..1 nombre: {id}: string
nombre: {1..1}: string
salario: {0..1}: number ubicación: {1..1}: string
Pertenece
fecha: {1..1}: date
0..*
Proyecto Asignado
número: {id}: string nivel: {1..1}: number
1..1
desc: {1..1}: string
presup: {0..1}: number
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 62
Persona
0..1 dni: {id}: string 0..1
nombre: {1..1}: string
dir: {1..1}: string
Cónyuge A Cónyuge B
Juzgado
número: {id}: string
Matrimonio
1..1 0..*
dir: {1..1}: string fecha: {1..1}: date
titular: {0..1}: string Celebra
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 63
0..1
Conducía
Participa
0..*
daño: {1..1}: string
Vehículo Accidente
mat: {id}: string número: {id}: number
clase: {1..1}: string fecha: {1..1}: date
modelo: {0..1}: string hora: {1..1}: string
1..* 0..*
Lugar: {1..1}: string
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 64
Suministra
cantidad: {1..1}: number
Proveedor Pieza
dni: {id}: string código: {id}: string
0..* 0..* desc: {1..1}: string
nombre: {1..1}: string
dirección: {1..1}: string marca: {1..1}: string
0..*
Proyecto
código: {id}: string
denominación: {1..1}: string
lugar: {1..1}: string
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 66
Proveedor Pieza
dni: {id}: string código: {id}: string
0..* 0..*
nombre: {1..1}: string desc: {1..1}: string
dirección: {1..1}: string marca: {1..1}: string
Vende
Diagramas
equivalentes Suministra
cantidad: {1..1}: number
0..*
Proyecto
1..* código: {id}: string
denominación: {1..1}: string
lugar: {1..1}: string
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 67
*0..* 1..*
Suministra
0..*
*
*0..*
Proyecto
código: {id}: string
denominación: {1..1}: string Diagramas
lugar: {1..1}: string
equivalentes
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 68
Diagramas
Pieza
equivalentes
código: {id}: string
desc: {1..1}: string
marca: {1..1}: string
Proveedor 0..**
Suministra
dni: {id}: string 1..* 0..**
nombre: {1..1}: string
dirección: {1..1}: string
0..*
*
Proyecto
Vende
código: {id}: string
cantidad: {1..1}: number denominación: {1..1}: string
lugar: {1..1}: string
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 69
Vende
No hay ternaria
precio: {1..1}: number
equivalente
0..*
Suministra
cantidad: {1..1}: number Proyecto
1..* código: {id}: string
denominación: {1..1}: string
lugar: {1..1}: string
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 71
Vende
0..*
Suministra
cantidad: {1..1}: number Proyecto
0..* código: {id}: string
No hay ternaria denominación: {1..1}: string
lugar: {1..1}: string
equivalente
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 72
2.2. Generalización/Especialización
• Motivos:
• Objetos con estructura diferenciada.
• Objetos con propiedades asociativas distintas.
• Representación de estados (dinámica).
• Aspectos avanzados:
• Especialización múltiple.
• Herencia múltiple.
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 73
2.2. Generalización/Especialización
• Objetos con estructura diferenciada:
• Optimiza la representación.
• Permite expresar más propiedades y con más precisión.
• Ejemplo:
• La empresa desea mantener información sobre los empleados
dni, nombre y teléfono.
• Existen diferentes tipos de empleados: administrativos,
técnicos e ingenieros. De los primeros se desea conocer su
velocidad tipográfica pulsaciones, de los segundos su
especialidad y de los terceros es obligatorio saber su carrera
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 74
2.2. Generalización/Especialización
• Objetos con estructura diferenciada:
Empleado
dni: {id}: string
nombre: {1..1}: string
teléfono: {0..1}: string
título: {0..1}: string
pulsa: {0..1}: number
especial: {0..1}: string
• Problemas:
• Representación de la especialización oculta.
• Representación de la especialización por valor de propiedades.
• Imposibilidad de expresar restricciones sobre la especialización.
• Imposibilidad de expresar cardinalidades mínimas sobre título,
pulsa y especial.
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 75
2.2. Generalización/Especialización
• Objetos con estructura diferenciada:
Empleado <<enumeration>>
dni: {id}: string
nombre: {1..1}: string tipo_empleado
teléfono: {0..1}: string administrativo
título: {0..1}: string ingeniero
pulsa: {0..1}: number técnico
especial: {0..1}: string
tipo: tipo_empleado
• Problemas:
• Representación de la especialización por valor de una propiedad tipo.
• Imposibilidad de expresar restricción de solapamiento de la
especialización.
• Representación inexacta del valor de las propiedades de las clases
especializadas y el valor de la propiedad tipo.
• Imposibilidad de expresar cardinalidades mínimas sobre título, pulsa y
especial.
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 76
2.2. Generalización/Especialización
• Objetos con estructura diferenciada:
Empleado
dni: {id}: string
nombre: {1..1}: string
teléfono: {0..1}: string
{total, disjunta}
2.2. Generalización/Especialización
• Objetos con propiedades asociativas distintas:
• Expresa con más precisión las asociaciones
• Permite expresar más propiedades en las asociaciones y con
más precisión
• Ejemplo:
• Se desea mantener información sobre máquinas expendedoras:
nº serie, descripción y peso.
• Las máquinas que no están en reparación se encuentran
ubicadas en empresas. Es necesario saber la fecha desde la cual
se encuentran en dichas empresas.
• Las que se encuentran en reparación tienen asignado un taller de
reparación.
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 78
2.2. Generalización/Especialización
• Objetos con propiedades asociativas distintas:
Ubicada
fecha: {1..1}: date Empresa
Máquina 0..1
nºserie: {id}: string 0..*
peso: {0..1}: number
desc: {o..1}: string {una o la otra, no las dos}
0..*
Taller
0..1
• Problemas:
• Representación de la especialización oculta.
• Representación de la especialización por la forma de asociarse.
• Imposibilidad de expresar propiedades de la especialización.
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 79
2.2. Generalización/Especialización
• Objetos con propiedades asociativas distintas:
Máquina
nºserie: {id}: string
peso: {0..1}: number
desc: {0..1}: string Ubicada
fecha: {1..1}: date
{total, disjunta}
En_reparación En_Uso
0..* 0..*
1..1
Reparar 1..1
Taller Empresa
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 80
2.2. Generalización/Especialización
• Representación de estados (dinámica) :
• Representación incorrecta de los estados.
• Permite expresar información de cada estado pero no las
transiciones.
• Ejemplo:
• Representar los estados civiles de un ciudadano español.
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 81
2.2. Generalización/Especialización
• Representación de estados (dinámica) :
Ciudadano
dni: {id}: string
Matrimonio nombre: {1..1}: string
dir: {1..1}: string
fecha: {1..1}: date
1..1
Casado
Separado Viudo
fecha: date fecha: {1..1}: date
motivo: {1..1}: string
Divorciado
fecha: {1..1}: date
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 82
2.2. Generalización/Especialización
• Representación de estados (dinámica) :
• Representación incorrecta de los estados.
• Permite expresar información de cada estado pero no las
transiciones.
• Problemas:
• La transición entre estados no se representa bien.
• Las propiedades asociadas a las transiciones no se pueden
representar (OCL*).
2.2. Generalización/Especialización
• Representación de estados (dinámica) :
• Equivalencia con diagrama de estados: SECUENCIA
2.2. Generalización/Especialización
• Representación de estados (dinámica) :
• Equivalencia con diagrama de estados: CICLOS
Problemas semánticos
C
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 85
2.2. Generalización/Especialización
• Representación de estados (dinámica) :
• Representación evolutiva histórica:
• Sólo se puede expresar parte de esa evolución.
• La información histórica requiere representación explícita.
2.2. Generalización/Especialización
• Especialización múltiple:
• Es posible especializar una clase por diversos motivos.
• Cada especialización expresa aspectos semánticos distintos.
• Ejemplo:
• La empresa desea mantener información sobre los empleados
dni, nombre y teléfono.
• Existen diferentes tipos de empleados: administrativos,
técnicos e ingenieros. De los primeros …
• Además algunos empleados son gerentes que pueden dirigir
proyectos.
• Por otro lado cualquier empleado de la empresa puede trabajar
a tiempo completo o por horas. En el primer caso es necesario
almacenar el salario mensual y en el segundo las horas y el
precio por hora.
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 87
2.2. Generalización/Especialización
• Especialización múltiple:
Empleado
dni: {id}: string
nombre: {1..1}: string
teléfono: {1..1}: string
2.2. Generalización/Especialización
• Herencia múltiple:
• Una clase especializada de más de una clase.
• Retícula de especialización → Raíz única
• Ejemplo:
• Las personas vinculadas a la universidad pueden ser
empleados, exalumnos o estudiantes.
• De los exalumnos se desea saber qué carrera/s acabaron.
• Los empleados pueden ser o administrativos, profesores o
becarios. De los primeros se desea saber el puesto y de los
segundo el rango.
• Los estudiantes pueden ser de licenciatura, de postgrado o
becarios. De los primeros se desea saber la carrera que están
realizando, de los segundo el programa de doctorado y de los
terceros el departamento asignado.
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 89
2.2. Generalización/Especialización
• Herencia múltiple: Empleado
dni: {id}: string
nombre: {1..1}: string
teléfono: {1..1}: string
{total, solapada}
País Ciudad
nombre: {id}: string
nombre: {id}: string {id} 0..* población: {1..1}: number
población: {1..1}: number
extensión: {1..1}: number
extensión: {1..1}: number Pertenece Ubicación: {1..1}: string
Empleado Departamento
1..* 0..1
Pertenece
Empleado
dni: {id}: string
nombre: {1..1}: string
teléfono: {0..1}: string
sueldo: {0..1}: number
Índice
1. Repaso al diseño conceptual con el diagrama de clases
del UML
2. Estudio de aspectos avanzados de los conceptos del
diagrama de clases del UML
3. Refinamiento y verificación de diagramas de clases
1. Atributos agregables
2. Subconjuntos de objetos de una clase
3. Eliminación de asociaciones redundantes
4. Eliminación de asociaciones redundantes por transitividad
5. Elegir asociaciones del menor grado posible
6. Clases-asociaciones definidas correctamente
7. Asociaciones enmascaradas
8. Modelado de objetos complejos
4. Casos
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 101
Proyecto
código: {id}: string
nombre: {1..1}: string
provincia: {0..1}: string
ciudad: {0..1}: string
Ciudad Proyecto
provincia: {1..1}: string 0..1 0..* código: {id}: string
nombre: {id}: string nombre: {1..1}: string
Está
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 102
Cliente
dni: {id}: string
nombre: {1..1}: string
{total,solapada}
Proveedor Pieza
0..* Vende 0..*
dni: {id}: string código: {id}: string
nombre: {1..1}: string desc: {1..1}: string
dir: {0..1}: string color: {0..1}: string
0..* Suministra 0..*
Profesor Departamento
0..* Pertenece 0..1 código: {id}: string
dni: {id}: string
nombre: {1..1}: string nombre: {1..1}: string
dir: {0..1}: string teléfono: {0..1}: string
0..* Dirige 0..1
Ciudad Provincia
nombre: {id}: string 0..* Está en 1..1 código: {id}: string 0..*
ayunt.: {1..1}: string nombre: {1..1}: string
0..*
Pertenece
Comunidad Aut.
Es de 1..1 código: {id}: string
nombre: {1..1}: string 1..1
Ciudad Provincia
nombre: {id}: string 0..* Está en 1..1 código: {id}: string 0..*
ayunt.: {1..1}: string nombre: {1..1}: string
Pertenece
La asociación Es de se deriva de
Comunidad Aut.
Está en y Pertenece
código: {id}: string
nombre: {1..1}: string 1..1
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 107
Alumno Profesor
exp: {id}: string 0..* dni: {id}: string
Docencia 0..1
nombre.: {1..1}: string nombre: {1..1}: string
edad: {1..1}: number
0..*
Asignatura
código: {id}: string
nombre: {1..1}: string
Alumno Profesor
exp: {id}: string dni: {id}: string
nombre.: {1..1}: string nombre: {1..1}: string
edad: {1..1}: number
0..*
0..1
Matrícula Imparte
Asignatura
0..* 0..*
código: {id}: string
nombre: {1..1}: string
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 109
Visitas
datos: {1..*}:
fecha: {1..1}: date
diagnos: {0..1}: string
Médico Paciente
0..* 0..*
nºcol: {id}: string nss: {id}: string
nombre.: {1..1}: string nombre: {1..1}: string
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 110
Visita
0..* fecha: {id}: date 0..*
diagnos: {0..1}: string
Pasa Va
Médico Paciente
nºcol: {id}: string nss: {id}: string
nombre.: {1..1}: string {id} {id} nombre: {1..1}: string
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 111
Pedido
Proveedor precio: {1..1}: number Pieza
dni: {id}: string 0..* 0..* código: {id}: string
nombre: {1..1}: string desc: {1..1}: string
dir: {0..1}: string color: {0..1}: string
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 112
Profesor Departamento
dni: {id}: string 0..* Pertenece 0..1 código: {id}: string
nombre: {1..1}: string nombre: {1..1}: string
dir: {0..1}: string teléfono: {0..1}: string
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 113
Forma_parte
cantidad: {1..1}: number
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 115
Pieza
compuesta componente
0..* 0..*
Forma_parte
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 117
Matrimonio
Diseño y Gestión de Bases de Datos. Diseño Conceptual con UML 118
Jerarquía
4. Casos
• Ver (en la carpeta del Poliformat Teoría→Tema 6→ Casos):
• Casi 1: Servicio de mantenimiento
• Caso 2: Agencia fotográfica
• Caso 3: empresa VACB