bases de datos - parte 4/10 modelo er continuación
TRANSCRIPT
![Page 1: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/1.jpg)
1
Sistemas de Información II
Tema 4. El modelo entidad-relación (continuación)
Carlos Castillo
UPF – 2007
Bibliografía:Elmasri y Navathe: “Fundamentos de Sistemas de Bases de
Datos”3ª edición, 2002 (Capítulo 4).
Garcia-Molina, Ullman y Widom: “Database systems: the complete book”. Prentice-Hall (Capítulo 2).
![Page 2: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/2.jpg)
2
Subclases
![Page 3: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/3.jpg)
3
¿Cómo surgen?
Ejemplo 1:
Avión (superficie alar, peso, envergadura)
Avión_de_carga ( ... + carga máxima)
Avión_de_pasajeros ( ... + número pasajeros)
Ejemplo 2:
Persona (dni, nombre, apellido)
Propietario ( ... + relación con sus propiedades)
Arrendatario ( ... + relación con lo que arrienda)
![Page 4: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/4.jpg)
4
Se usan subclases cuando detectamos una entidad que tiene un grupo de
instancias con ciertas particularidades
![Page 5: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/5.jpg)
5
Notación
Superclase
Clase 1 Clase 2
Usaremos estanotación simple en esta asignatura,más una letrapara el tipo desub-clase.
Esta notación simplificada no esestándar, es parafines pedagógicos.
En la siguienteasignatura aprenderánUML.
![Page 6: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/6.jpg)
6
Especialización= proceso para definir subclases
Clase base
Subclase 1 Subclase 2 Subclase 3 Subclase 4
![Page 7: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/7.jpg)
7
Especialización:1. atributos específicos
Clase base
Subclase 1 Subclase 2
![Page 8: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/8.jpg)
8
Especialización:2. relaciones específicas
Clase base
Subclase 1 Subclase 2
![Page 9: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/9.jpg)
9
No especializar demasiado
Está bien que ciertos atributos sean nulos
No toda ausencia/presencia de atributo es relevante
Mantener la complejidad del problema baja
Menos entidades es mejor
![Page 10: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/10.jpg)
10
Generalización= proceso encontrar superclase
Clase base
Subclase 1 Subclase 2 Subclase 3 Subclase 4
![Page 11: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/11.jpg)
11
¿Cómo generalizar?
Encontrar atributos en común
Encontrar relaciones en común
Siempre intentar generalizar
![Page 12: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/12.jpg)
12
Coche
NPas
VMax
IdVeh
NumMat
Precio
Camión
NumEje
Tons
IdVeh
NumMat
Precio
Vehículo
IdVeh
NumMat
Precio
Superclase
![Page 13: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/13.jpg)
13
Restricciones de especialización
![Page 14: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/14.jpg)
14
Tipos de subclase
Definidos por un valor de atributo
Ej.: “TipoDeTrabajo=Secretaria”, entonces la entidad es Secretaria (sub-clase-de) Empleado
Se denominan: definidas por predicado
No dependen de un valor de atributo
No hay una regla automática -- visible para el sistema
Se denominan: definidas por el usuario
![Page 15: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/15.jpg)
15
Restricción de disyunción
¿Puede pertenecer a dos subclases?
No: disjuntas [d]
Sí: solapadas (overlapped) [o]
Obra_Teatro
o
Drama En_Cartelera
![Page 16: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/16.jpg)
16
Restricción de completitud
Especialización total
Todos deben ser miembros de subclase
Equivalente a cuando en OO, una superclase es abstracta
Especialización parcial
Pueden ser miembros de la superclase
![Page 17: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/17.jpg)
17
Reglas derivadas de lo que hemos visto
1. Eliminar de una superclase significa eliminar de todas las subclases
2. Insertar en una superclase implica insertar en las subclases definidas por predicado
3. Insertar en una superclase cuando hay especialización total (una superclase abstracta) implica insertar en al menos una subclase
![Page 18: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/18.jpg)
18
Herencia múltiplePersona
o
Profesor Alumno
Alumno_Ayudante
![Page 19: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/19.jpg)
19
Herencia múltiplePersona
o
Profesor Alumno
Alumno_Ayudante
Imparte
Alum_Asignat
Curso
![Page 20: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/20.jpg)
20
Tipos unión
Hasta el momento siempre hay una superclase
Podría no ser el caso
Ejemplo:
Un banco da créditos para compra de vehículos
Los créditos los da tanto a personas como a empresas
![Page 21: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/21.jpg)
21
Ejemplo tipo unión
Propietario
u
Persona Empresa
La subclase unión no tiene atributos propiosTampoco hereda todos los atributos de las superclases, sino sólo los de una de ellas a la vez
![Page 22: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/22.jpg)
22
Ejemplo completo ...
Universidad
Se guardan todos los datos usuales de persona, incluyendo nombre y dirección como atributo compuesto
Personas pueden ser profesores o alumnos. De profesores se guarda número de despacho, de alumnos año de ingreso.
Profesores pertenecen a uno o varios departamentos, cada uno de los cuales tiene un director que es un profesor
![Page 23: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/23.jpg)
23
... ejemplo completo ...
Alumnos están inscritos en un departamento o varios y en uno o varios cursos
Alumnos obtienen calificaciones en varias Pruebas, que pueden ser Práctica, Control o Exámen, con diferentes ponderaciones y promedios
![Page 24: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/24.jpg)
24
... ejemplo completo.
Departamentos tienen nombre, y pertenecen a una facultad que tiene nombre y decano que es un profesor
Departamentos ofrecen asignaturas con secciones
Alumnos pueden ser Alumnos_Licenciados, con un asesor y varios profesores en su comité
Profesor_Investigador puede ser un Alumno_Licenciado o un Profesor, dicta sección de una asignatura
![Page 25: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/25.jpg)
25
Principios diseñoCorrectitud: representa adecuadamente el modelo
Evitar redundancia (ej.: relación estudio_película + atributo estudio en película) ¿Por qué?
Buscar simplicidad: entidades que no sean estrictamente necesarias
Cuando aparece un ciclo, hay redundancia, sólo si es necesario por eficiencia (ej.1: alumno-curso-departamento, ej.2: actor-contrato-película actor-rol-película)
![Page 26: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/26.jpg)
26
Entidades eliminables
Sólo tienen relaciones 1-1 con otra entidad
Ej.: direcciones de personas
Convertir en atributos (al menos durante el proceso de modelamiento)
No pensar en las tablas. El modelo E-R es para conceptualizar
Leer y re-leer el diagrama
Simular consultas típicas
Pensar en posibles extensiones
Estar preparado para explicar decisiones
![Page 27: Bases de Datos - Parte 4/10 Modelo ER continuación](https://reader034.vdocuments.pub/reader034/viewer/2022052505/554d3ea3b4c90537678b4e22/html5/thumbnails/27.jpg)
27
ResumenBuen diseño
“Lo más simple posible pero no más simple que eso” -- A. Einstein
Resiste el paso del tiempoNo es inmutable: es extensible
Mal diseño
Empeora con el tiempo
Casos especiales, más y más entidades, etc. al final la única solución es deshacerse del diseño
Y del que lo diseñó :-)