Sistemas de Información IITema 5. El modelo relacional   Bibliografía:   Elmasri y Navathe: “Fundamentos de Sistemas de Ba...
Temas de esta claseConceptos del modelo relacionalConvertir E-R a modelo relacional                                    2
RelaciónRelación ≃ tabla de datos  Por eso se llaman bases de datos  relacionales          Título            Año      Dura...
Conceptos          Esquema          Película(título,año,duración)Atributos              Título            Año    Duración ...
Notación Atributos                            Ai Relación R                       R(A1, A2, A3, ..., AN) Dominio de Ai    ...
Relación es un conjuntoPor lo tanto, no está ordenadoNotación para las tuplast = <Mar Adentro, 2004, 125> ∈ PelículaNotaci...
DominiosRestricción de dominiot[A] = <x>   ⇔ x ∈ dom(A)En algunos casos ...NULL ∈ dom(A)  En tal caso diremos que la relac...
Claves candidatas y primarias               Claves candidatas   Coche   NMatrícula       NMotor       Marca    Modelo ... ...
Restricciones de clavesRestricción de claves únicasK ⊆ claves(Relación)∀ t1, t2 ∈ Relación, t1[K] ≠ t2[K]        |K|NULL  ...
Llaves foráneas Empleado  Nombre Apellido     DNI     FechaNac   DNI_Jefe Salario NumDept                    Departamento ...
Integridad referencial Empleado  Nombre Apellido     DNI     FechaNac   DNI_Jefe Salario NumDept                    Depart...
Mejor nombre: ID_XXX[_rol]     Mejor dominio: numérico Empleado  Nombre Apellido ID_emp FechaNac ID_emp_jefe Salario ID_de...
Mantener integridad           referencialAl insertar  Insertar clave foránea en la otra tabla  Rechazar la inserciónAl eli...
Convertir Entidad-Relación            en   Modelo Relacional                             14
Convertir Entidad-RelaciónSe comienza con un modelo E-R Porque es más fácil de diseñar Tiene dos conceptos: entidad y rela...
Traducción simple, paso 0Nombre              Año              Nombre             Apellido         Película         Actúa  ...
Traducción simple, paso 1 Nombre              Año              Nombre              Apellido          Película         Actú...
Traducción simple, paso 2                                      Nombre              Año              Nombre              Ap...
Traducción simple, paso 3                                       Nombre              Año                    Nombre         ...
Combinar relacionesA veces es posible combinar relaciones  El caso típico son las relaciones 1-N  Relaciones 1-1 deberían ...
Combinando relación 1-N (a)                                       Nombre              Año                         Nombre  ...
Combinando relación 1-N (b)                                                         Nombre              Año               ...
Combinando relación 1-N (c)EstudioID_Estudio                   Nombre1               Ghibli2               New Line Cinema...
Traducción cuando hay      subclases                        24
E-R a relacional con subclases   IDv                                                  IDpMatrícula   Vehículo   N       Du...
Opción 1: directo E-R     IDv                                                    IDp                 Vehículo   N   Dueño ...
Opción 2: orientado a objetos    IDv                                                    IDp              Vehículo     N   ...
Opción 3: valores nulos   IDv                                              IDp            Vehículo   N   Dueño   1 Propiet...
Desventaja opción                orientado a objetos       Queremos pocas entidades        Cuando hay entidades “overlappe...
Ventaja de usar          valores nulosPuede acelerar ciertas consultas, alevitar consultar varias tablas    SELECT ejes   ...
Uso de espacio extra Directo E-R   Se repiten las claves primarias Orientado a objetos   No se repite nada Valores nulos  ...
ResumenModelo relacional  Formalización de esquemas de tablasTraducción E-R a relacional es directaen muchos casos        ...
Upcoming SlideShare
Loading in …5
×

Basesdatos teo5 modelo_relacional

1,137 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,137
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
61
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Basesdatos teo5 modelo_relacional

  1. 1. Sistemas de Información IITema 5. El modelo relacional Bibliografía: Elmasri y Navathe: “Fundamentos de Sistemas de Bases de Datos” 3ª edición, 2002 (Capítulo 7). Garcia-Molina, Ullman y Widom: “Database systems: the complete book”. Prentice-Hall (Capítulo 3). Carlos Castillo UPF – 2008 1
  2. 2. Temas de esta claseConceptos del modelo relacionalConvertir E-R a modelo relacional 2
  3. 3. RelaciónRelación ≃ tabla de datos Por eso se llaman bases de datos relacionales Título Año DuraciónLa guerra de las galaxias 1977 123El señor de los anillos 1 2001 178Mar Adentro 2004 125El viaje de Chihiro 2001 125 3
  4. 4. Conceptos Esquema Película(título,año,duración)Atributos Título Año Duración La guerra de las galaxias 1977 123 Tuplas El señor de los anillos 1 2001 178 Mar Adentro 2004 125 El viaje de Chihiro 2001 125 Dominio=Textos Dominio=Enteros 4
  5. 5. Notación Atributos Ai Relación R R(A1, A2, A3, ..., AN) Dominio de Ai dom(Ai)R  A 1, A 2, ... , A N ⊆ dom  A 1× dom  A 2 ×...×dom  A N  Relación son algunas de todas las combinaciones posibles 5
  6. 6. Relación es un conjuntoPor lo tanto, no está ordenadoNotación para las tuplast = <Mar Adentro, 2004, 125> ∈ PelículaNotación para subconjunto de tuplat[año,duración] = <2004, 125> 6
  7. 7. DominiosRestricción de dominiot[A] = <x> ⇔ x ∈ dom(A)En algunos casos ...NULL ∈ dom(A) En tal caso diremos que la relación acepta valores nulos 7
  8. 8. Claves candidatas y primarias Claves candidatas Coche NMatrícula NMotor Marca Modelo ... CCA-341 91234908123 Toyota Yaris OFG-851 53489787679 Fiat Fiorino XTV-657 30752312386 Ford Mustang WGB-959 50934187123 Toyota AvensisLa elección de una clave primaria es arbitrariaSe escoge una que tenga pocos atributos 8
  9. 9. Restricciones de clavesRestricción de claves únicasK ⊆ claves(Relación)∀ t1, t2 ∈ Relación, t1[K] ≠ t2[K] |K|NULL ∉ KUna clave puede ser Un atributo Varios atributos (clave compuesta) Incluso toda la tupla en algunos casos (evitarlo) 9
  10. 10. Llaves foráneas Empleado Nombre Apellido DNI FechaNac DNI_Jefe Salario NumDept Departamento Nombre Número DNI_Jefe Dirección Trabaja_En DNI NúmProyProyecto Nombre Número Depto Presupuesto 10
  11. 11. Integridad referencial Empleado Nombre Apellido DNI FechaNac DNI_Jefe Salario NumDept Departamento Nombre Número DNI_Jefe Dirección Trabaja_En DNI NúmProyProyecto Nombre Número Depto Presupuesto 11
  12. 12. Mejor nombre: ID_XXX[_rol] Mejor dominio: numérico Empleado Nombre Apellido ID_emp FechaNac ID_emp_jefe Salario ID_depto Departamento Nombre ID_depto ID_emp_direct Dirección Trabaja_En ID_emp ID_proyProyecto Nombre ID_proy Depto Presupuesto 12
  13. 13. Mantener integridad referencialAl insertar Insertar clave foránea en la otra tabla Rechazar la inserciónAl eliminar Eliminar tuplas que apuntan a esta tupla “Cascada” Actualizar valores en tuplas que apuntan a esta tupla 13
  14. 14. Convertir Entidad-Relación en Modelo Relacional 14
  15. 15. Convertir Entidad-RelaciónSe comienza con un modelo E-R Porque es más fácil de diseñar Tiene dos conceptos: entidad y relaciónTraducir E-R a relacional, versiónsimple:1)Cada entidad se transforma en una tabla con los mismos atributos2)Se agregan claves donde sea necesario3)Cada relación se transforma en una tabla en que los atributos son las claves de cada entidad participante 15
  16. 16. Traducción simple, paso 0Nombre Año Nombre Apellido Película Actúa Actor Produce Estudio Nombre 16
  17. 17. Traducción simple, paso 1 Nombre Año Nombre Apellido Película Actúa ActorID_Película ID_Actor ID_Estudio Produce Estudio Nombre 17
  18. 18. Traducción simple, paso 2 Nombre Año Nombre Apellido Película Actúa Actor ID_Película ID_Actor ID_Estudio Produce EstudioPelícula ID_Película Nombre Año1 La guerra de las galaxias 1977 Nombre2 El señor de los anillos 1 20013 Mar Adentro 20044 El viaje de Chihiro 2001Actor ID_Actor Nombre Apellido1 Mark Hamill2 Cristopher Lee3 Javier Bardem4 Hugo WeavingEstudioID_Estudio Nombre1 Ghibli2 New Line Cinema3 Lucasfilms4 Sogecine 18
  19. 19. Traducción simple, paso 3 Nombre Año Nombre Apellido Película Actúa Actor ID_Película ID_Actor ID_EstudioPelícula Produce Estudio ID_Película Nombre Año1 La guerra de las galaxias 19772 El señor de los anillos 1 2001 Nombre3 Mar Adentro 20044 El viaje de Chihiro 2001 ActúaActor ID_Actor ID_Película ID_Actor Nombre Apellido 1 11 Mark Hamill 2 22 Cristopher Lee 3 33 Javier Bardem 4 24 Hugo WeavingEstudio ProduceID_Estudio Nombre ID_Película ID_Estudio1 Ghibli 1 32 New Line Cinema 2 23 Lucasfilms 3 44 Sogecine 4 1 19
  20. 20. Combinar relacionesA veces es posible combinar relaciones El caso típico son las relaciones 1-N Relaciones 1-1 deberían descartarse antes Nombre Año Nombre Apellido Película N Actúa N Actor ID_Película ID_Actor ID_Estudio N Produce 1 Estudio Nombre 20
  21. 21. Combinando relación 1-N (a) Nombre Año Nombre Apellido Película N Actúa N Actor ID_Película N ID_Actor ID_Estudio Produce 1 EstudioPelícula ID_Película Nombre Año Nombre1 La guerra de las galaxias 19772 El señor de los anillos 1 20013 Mar Adentro 20044 El viaje de Chihiro 2001 ActúaActor ID_Actor ID_Película ID_Actor Nombre Apellido 1 11 Mark Hamill 2 22 Cristopher Lee 3 33 Javier Bardem 4 24 Hugo WeavingEstudio ProduceID_Estudio Nombre ID_Película (1) ID_Estudio (N)1 Ghibli 1 32 New Line Cinema 2 23 Lucasfilms 3 44 Sogecine 4 1 21
  22. 22. Combinando relación 1-N (b) Nombre Año Nombre ApellidoEstudioID_Estudio Nombre Película N Actúa N Actor1 Ghibli2 New Line Cinema3 Lucasfilms ID_Película N ID_Actor ID_Estudio4 Sogecine Produce 1 EstudioActor ID_Actor Nombre Apellido Nombre1 Mark Hamill2 Cristopher Lee3 Javier Bardem4 Hugo WeavingActúa ID_Actor ID_Película1 12 23 34 2Película ID_Película Nombre Año ID_Estudio Produce1 La guerra de las galaxias 1977 3 ID_Película (1) ID_Estudio (N)2 El señor de los anillos 1 2001 2 1 33 Mar Adentro 2004 4 2 24 El viaje de Chihiro 2001 1 3 4 4 1 22
  23. 23. Combinando relación 1-N (c)EstudioID_Estudio Nombre1 Ghibli2 New Line Cinema3 Lucasfilms4 Sogecine Nombre Año Nombre ApellidoActor ID_Actor Nombre Apellido Película N Actúa N Actor1 Mark Hamill2 Cristopher Lee N ID_Película ID_Actor ID_Estudio3 Javier Bardem4 Hugo Weaving Produce 1 EstudioActúa Nombre ID_Actor ID_Película1 12 23 34 2Película ID_Película Nombre Año ID_Estudio1 La guerra de las galaxias 1977 32 El señor de los anillos 1 2001 23 Mar Adentro 2004 44 El viaje de Chihiro 2001 1 23
  24. 24. Traducción cuando hay subclases 24
  25. 25. E-R a relacional con subclases IDv IDpMatrícula Vehículo N Dueño 1 Propietario Nombre d Bus Camión CochePasajeros Ejes 25
  26. 26. Opción 1: directo E-R IDv IDp Vehículo N Dueño 1 Propietario Matrícula Nombre d Propietario Bus Camión Coche IDp Nombre Pasajeros Ejes Vehículo IDv Matrícula Dueño IDv IDpBus Camión Coche IDv Pasajeros IDv Ejes IDv 26
  27. 27. Opción 2: orientado a objetos IDv IDp Vehículo N Dueño 1 Propietario Matrícula Nombre d Propietario Bus Camión Coche IDp Nombre Pasajeros Ejes Vehículo IDv MatrículaBus Dueño IDv Matrícula Pasajeros IDv IDpCamión IDv Matrícula Ejes Nota:Coche La tabla vehículo existe en este caso sí y sólo si hay IDv Matrícula especialización parcial 27
  28. 28. Opción 3: valores nulos IDv IDp Vehículo N Dueño 1 PropietarioMatrícula Nombre d Propietario Bus Camión Coche IDp NombrePasajeros Ejes Dueño IDv IDp Vehículo IDv Matrícula Pasajeros Ejes 28
  29. 29. Desventaja opción orientado a objetos Queremos pocas entidades Cuando hay entidades “overlapped” podríamos tener que generar todas las combinaciones posibles Barco Barco_Pasajeros IDb NPax o Barco_Carga IDb TonsNPax Pasajeros Carga Tons Barco_Pasajeros_Carga IDb NPax Tons 29
  30. 30. Ventaja de usar valores nulosPuede acelerar ciertas consultas, alevitar consultar varias tablas SELECT ejes FROM vehiculo,camion WHERE camion.idv=vehiculo.idv AND vehiculo.matricula=XXX-XXX; SELECT ejes FROM camion WHERE camion.matricula=XXX-XXX; 30
  31. 31. Uso de espacio extra Directo E-R Se repiten las claves primarias Orientado a objetos No se repite nada Valores nulos Se repiten todos los atributosLa opción “Directo E-R” es una buena solución intermedia entre ambas 31
  32. 32. ResumenModelo relacional Formalización de esquemas de tablasTraducción E-R a relacional es directaen muchos casos 32

×