Sistemas de Información II
Tema 4. El modelo
entidad-relación
(continuación)
Bibliografía:
Elmasri y Navathe: “Fundamentos...
Subclases




            2
¿Cómo surgen?
Ejemplo 1:
 Avión (superficie alar, peso, envergadura)
 Avión_de_carga ( ... + carga máxima)
 Avión_de_pasaj...
Se usan subclases cuando detectamos
   una entidad que tiene un grupo de
 instancias con ciertas particularidades




    ...
Notación
                                 Usaremos esta
                                 notación simple
          Supercl...
Especialización
= proceso para definir subclases

                  Clase base




Subclase 1   Subclase 2   Subclase 3   ...
Especialización:
1. atributos específicos

           Clase base




  Subclase 1       Subclase 2


                     ...
Especialización:
2. relaciones específicas

            Clase base




   Subclase 1       Subclase 2



                 ...
No especializar demasiado
Está bien que ciertos atributos sean
nulos
  No toda ausencia/presencia de atributo es
  relevan...
Generalización
= proceso encontrar superclase

                  Clase base




Subclase 1   Subclase 2   Subclase 3   Sub...
¿Cómo generalizar?
Encontrar atributos en común
Encontrar relaciones en común
Siempre intentar generalizar




           ...
NPas

          VMax    Superclase
Coche    IdVeh
                   Vehículo
         NumMat

         Precio
           ...
Restricciones de 
especialización




                    13
Tipos de subclase
Definidos por un valor de atributo
  Ej.: “TipoDeTrabajo=Secretaria”, entonces
  la entidad es Secretari...
Restricción de disyunción
¿Puede pertenecer a dos subclases?
 No: disjuntas [d]
 Sí: solapadas (overlapped) [o]

         ...
Restricción de completitud
Especialización total
  Todos deben ser miembros de subclase
  Equivalente a cuando en OO, una
...
Reglas derivadas de lo que 
           hemos visto
1. Eliminar de una superclase significa
  eliminar de todas las subclas...
Herencia múltiple
              Persona


                 o



Profesor                     Alumno




           Alumno_...
Herencia múltiple
                     Persona


                        o


          Profesor                 Alumno


I...
Tipos unión
Hasta el momento siempre hay una
superclase
Podría no ser el caso
Ejemplo:
  Un banco da créditos para compra ...
Ejemplo tipo unión

     Persona                    Empresa




                     u



                Propietario

La ...
Ejemplo completo ...
Universidad
Se guardan todos los datos usuales de
persona, incluyendo nombre y
dirección como atribut...
... ejemplo completo ...
Alumnos están inscritos en un
departamento o varios y en uno o
varios cursos
Alumnos obtienen cal...
... ejemplo completo.
Departamentos tienen nombre, y
pertenecen a una facultad que tiene
nombre y decano que es un profeso...
Principios diseño
Correctitud: representa adecuadamente el
modelo
Evitar redundancia (ej.: relación
estudio_película + atr...
Entidades eliminables
Sólo tienen relaciones 1-1 con otra
entidad
  Ej.: direcciones de personas
  Convertir en atributos ...
Resumen
Buen diseño
 “Lo más simple posible pero no más
 simple que eso” -- A. Einstein
 Resiste el paso del tiempo
   No ...
Upcoming SlideShare
Loading in...5
×

Bases de Datos - Parte 4/10 Modelo ER continuación

7,483

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
7,483
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
372
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Bases de Datos - Parte 4/10 Modelo ER continuación

  1. 1. Sistemas de Información II Tema 4. El modelo entidad-relación (continuación) 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). Carlos Castillo UPF – 2007 1
  2. 2. Subclases 2
  3. 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) 3
  4. 4. Se usan subclases cuando detectamos una entidad que tiene un grupo de instancias con ciertas particularidades 4
  5. 5. Notación Usaremos esta notación simple Superclase en esta asignatura, más una letra para el tipo de sub-clase. Esta notación simplificada no es estándar, es para fines pedagógicos. Clase 1 Clase 2 En la siguiente asignatura aprenderán UML. 5
  6. 6. Especialización = proceso para definir subclases Clase base Subclase 1 Subclase 2 Subclase 3 Subclase 4 6
  7. 7. Especialización: 1. atributos específicos Clase base Subclase 1 Subclase 2 7
  8. 8. Especialización: 2. relaciones específicas Clase base Subclase 1 Subclase 2 8
  9. 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 9
  10. 10. Generalización = proceso encontrar superclase Clase base Subclase 1 Subclase 2 Subclase 3 Subclase 4 10
  11. 11. ¿Cómo generalizar? Encontrar atributos en común Encontrar relaciones en común Siempre intentar generalizar 11
  12. 12. NPas VMax Superclase Coche IdVeh Vehículo NumMat Precio IdVeh NumEje NumMat Tons Precio Camión IdVeh NumMat Precio 12
  13. 13. Restricciones de  especialización 13
  14. 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 14
  15. 15. Restricción de disyunción ¿Puede pertenecer a dos subclases? No: disjuntas [d] Sí: solapadas (overlapped) [o] Obra_Teatro o Drama En_Cartelera 15
  16. 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 16
  17. 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 17
  18. 18. Herencia múltiple Persona o Profesor Alumno Alumno_Ayudante 18
  19. 19. Herencia múltiple Persona o Profesor Alumno Imparte Alum_Asignat Curso Alumno_Ayudante 19
  20. 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 20
  21. 21. Ejemplo tipo unión Persona Empresa u Propietario La subclase unión no tiene atributos propios Tampoco hereda todos los atributos de las superclases, sino sólo los de una de ellas a la vez 21
  22. 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 22
  23. 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 23
  24. 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 24
  25. 25. Principios diseño Correctitud: 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) 25
  26. 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 26 Estar preparado para explicar decisiones
  27. 27. Resumen Buen diseño “Lo más simple posible pero no más simple que eso” -- A. Einstein Resiste el paso del tiempo No 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ñó :-) 27
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×