EmpleadoNombreApellidoID_empFechaNacID_emp_jefeSalarioID_depto
???Page ??? (???)01/03/2007, 12:34:23Page / DepartamentoNombreID_deptoID_emp_directDireccin
???Page ??? (???)01/03/2007, 12:34:23Page / ProyectoNombreID_proyDeptoPresupuesto
???Page ??? (???)01/03/2007, 12:34:23Page / Trabaja_EnID_empID_proy
???Page ??? (???)01/03/2007, 12:34:23Page / DueoIDvIDp
???Page ??? (???)01/03/2007, 12:34:23Page / BusIDvMatrculaPasajeros
???Page ??? (???)01/03/2007, 12:34:23Page / CaminIDvMatrculaEjes
???Page ??? (???)01/03/2007, 12:34:23Page / CocheIDvMatrcula
???Page ??? (???)01/03/2007, 12:34:24Page / PropietarioIDpNombre
???Page ??? (???)01/03/2007, 12:34:24Page / VehculoIDvMatrcula
???Page ??? (???)01/03/2007, 12:34:24Page / Sistemas de
Informacin II
Tema 5. El modelo relacional
Carlos Castillo
UPF 2007
Bibliografa:
Elmasri y Navathe: Fundamentos de Sistemas de Bases de Datos
3 edicin, 2002 (Captulo 7).
Garcia-Molina, Ullman y Widom: Database systems: the complete book. Prentice-Hall (Captulo 3).
Temas de esta clase
Conceptos del modelo relacional
Convertir E-R a modelo relacional
Relacin
Relacin tabla de datos
Por eso se llaman bases de datos relacionales
Conceptos
Atributos
Tuplas
Dominio=Textos
Dominio=Enteros
Pelcula(ttulo,ao,duracin)
Esquema
Notacin
AtributosAi
Relacin RR(A1, A2, A3, ..., AN)
Dominio de Aidom(Ai)
Relacin son algunas de todas las combinaciones posibles
Relacin es un conjunto
Por lo tanto, no est ordenado
Notacin para las tuplas
t = Pelcula
Notacin para subconjunto de tupla
t[ao,duracin] =
Dominios
Restriccin de dominio
t[A] = x dom(A)
En algunos casos ...
NULL dom(A)
En tal caso diremos que la relacin acepta valores nulos
Claves candidatas y primarias
Claves candidatas
La eleccin de una clave primaria es arbitraria
Se escoge una que tenga pocos atributos
Restricciones de claves
Restriccin de claves nicas
K claves(Relacin)
t1, t2 Relacin, t1[K] t2[K]
NULL|K| K
Una clave puede ser
Un atributo
Varios atributos (clave compuesta)
Incluso toda la tupla en algunos casos (evitarlo)
Llaves forneas
Integridad referencial
Mejor nombre: ID_XXX[_rol]
Mejor dominio: numrico
Mantener integridad referencial
Al insertar
Insertar clave fornea en la otra tabla
Rechazar la insercin
Al eliminar
Eliminar tuplas que apuntan a esta tupla
Cascada
Actualizar valores en tuplas que apuntan a esta tupla
Convertir Entidad-Relacin
en
Modelo Relacional
Convertir Entidad-Relacin
Se comienza con un modelo E-R
Porque es ms fcil de disear
Tiene dos conceptos: entidad y relacin
Traducir E-R a relacional, versin simple:
Cada entidad se transforma en una tabla con los mismos atributos
Se agregan claves donde sea necesario
Cada relacin se transforma en una tabla en que los atributos son las claves de cada entidad participante
Traduccin simple, paso 0
ActaPelculaNombreAoProduceEstudioNombreActorNombreApellido
Traduccin simple, paso 1
ActaPelculaNombreAoProduceEstudioNombreActorNombreApellido
ID_PelculaID_ActorID_Estudio
Traduccin simple, paso 2
ActaPelculaNombreAoProduceEstudioNombreActorNombreApellido
ID_PelculaID_ActorID_Estudio
Traduccin simple, paso 3
ActaPelculaNombreAoProduceEstudioNombreActorNombreApellido
ID_PelculaID_ActorID_Estudio
Combinar relaciones
A veces es posible combinar relaciones
El caso tpico son las relaciones 1-N
Relaciones 1-1 deberan descartarse antes
ActaPelculaNombreAoProduceEstudioNombreActorNombreApellido
NN
1
ID_PelculaID_ActorID_Estudio
N
Combinando relacin 1-N (a)
ActaPelculaNombreAoProduceEstudioNombreActorNombreApellido
NN
N1
ID_PelculaID_ActorID_Estudio
Combinando relacin 1-N (b)
ActaPelculaNombreAoProduceEstudioNombreActorNombreApellido
NN
N1
ID_PelculaID_ActorID_Estudio
Combinando relacin 1-N (c)
ActaPelculaNombreAoProduceEstudioNombreActorNombreApellido
NN
N1
ID_PelculaID_ActorID_Estudio
Traduccin cuando hay subclases
E-R a relacional con subclases
Vehculo
d
IDvMatrcula
BusCaminCoche
Ejes
PasajerosPropietarioIDpNombre
DueoN1
Opcin 1: directo E-R
Vehculo
d
IDvMatrcula
BusCaminCoche
Ejes
PasajerosPropietarioIDpNombre
DueoN1
Opcin 2: orientado a objetos
Vehculo
d
IDvMatrcula
BusCaminCoche
Ejes
PasajerosPropietarioIDpNombre
DueoN1Nota:La tabla vehculo existe eneste caso s y slo si hayespecializacin parcial
Opcin 3: valores nulos
Vehculo
d
IDvMatrcula
BusCaminCoche
Ejes
PasajerosPropietarioIDpNombre
DueoN1
Desventaja opcin
orientado a objetos
Queremos pocas entidades
Cuando hay entidades overlapped podramos tener que generar todas las combinaciones posibles
Barco
oPasajerosCarga
NPaxTons
Ventaja de usar
valores nulos
Puede acelerar ciertas consultas, al evitar 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';
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 atributos
La opcin Directo E-R es una buena solucin intermedia entre ambas
Resumen
Modelo relacional
Formalizacin de esquemas de tablas
Traduccin E-R a relacional es directa en muchos casos
DueoIDvIDp
???Page ??? (???)01/03/2007, 12:34:24Page / VehculoIDvMatrculaPasajerosEjes
???Page ??? (???)01/03/2007, 12:34:24Page / PropietarioIDpNombre
???Page ??? (???)01/03/2007, 12:34:24Page / DueoIDvIDp
???Page ??? (???)01/03/2007, 12:34:24Page / Barco_PasajerosIDbNPax
???Page ??? (???)01/03/2007, 12:34:24Page / Barco_CargaIDbTons
???Page ??? (???)01/03/2007, 12:34:24Page / Barco_Pasajeros_CargaIDbNPaxTons
???Page ??? (???)01/03/2007, 12:34:25Page / EstudioID_EstudioNombre1Ghibli2New Line Cinema3Lucasfilms4Sogecine
???Page ??? (???)01/03/2007, 12:34:25Page / ActaID_ActorID_Pelcula12342
???Page ??? (???)01/03/2007, 12:34:25Page / ProduceID_Pelcula (1)ID_Estudio (N)1323441
???Page ??? (???)01/03/2007, 12:34:25Page / CocheIDv
???Page ??? (???)01/03/2007, 12:34:25Page / PelculaID_PelculaNombreAo1La guerra de las galaxias19772El seor de los anillos 120013Mar Adentro 20044El viaje de Chihiro2001
???Page ??? (???)01/03/2007, 12:34:25Page / Sistemas de Informacin II
Dr. Carlos CastilloUniversitat Pompeu Fabra - 2005
Click to edit the title text format
Click to edit the outline text format
Second Outline Level
Third Outline Level
Fourth Outline Level
Fifth Outline Level
Sixth Outline Level
Seventh Outline Level
Eighth Outline Level
Ninth Outline Level
ActorID_ActorNombreApellido1MarkHamill2CristopherLee3JavierBardem4HugoWeaving
???Page ??? (???)01/03/2007, 12:34:25Page / EstudioID_EstudioNombre1Ghibli2New Line Cinema3Lucasfilms4Sogecine
???Page ??? (???)01/03/2007, 12:34:25Page / ActaID_ActorID_Pelcula12342
???Page ??? (???)01/03/2007, 12:34:26Page / ProduceID_PelculaID_Estudio1323441
???Page ??? (???)01/03/2007, 12:34:26Page / PelculaID_PelculaNombreAoID_Estudio1La guerra de las galaxias197732El seor de los anillos 1200123Mar Adentro 200444El viaje de Chihiro20011
???Page ??? (???)01/03/2007, 12:34:26Page / ActorID_ActorNombreApellido1MarkHamill2CristopherLee3JavierBardem4HugoWeaving
???Page ??? (???)01/03/2007, 12:34:26Page / EstudioID_EstudioNombre1Ghibli2New Line Cinema3Lucasfilms4Sogecine
???Page ??? (???)01/03/2007, 12:34:26Page / ActaID_ActorID_Pelcula12342
???Page ??? (???)01/03/2007, 12:34:26Page / ProduceID_Pelcula (1)ID_Estudio (N)1323441
???Page ??? (???)01/03/2007, 12:34:26Page / PelculaID_PelculaNombreAoID_Estudio1La guerra de las galaxias197732El seor de los anillos 1200123Mar Adentro 200444El viaje de Chihiro20011
???Page ??? (???)01/03/2007, 12:34:26Page / ActorID_ActorNombreApellido1MarkHamill2CristopherLee3JavierBardem4HugoWeaving
???Page ??? (???)01/03/2007, 12:34:27Page / EstudioID_EstudioNombre1Ghibli2New Line Cinema3Lucasfilms4Sogecine
???Page ??? (???)01/03/2007, 12:34:27Page / ActaID_ActorID_Pelcula12342
???Page ??? (???)01/03/2007, 12:34:27Page / PropietarioIDpNombre
???Page ??? (???)01/03/2007, 12:34:27Page / BusIDvPasajeros
???Page ??? (???)01/03/2007, 12:34:27Page / CaminIDvEjes
???Page ??? (???)01/03/2007, 12:34:27Page / TtuloAoDuracin
La guerra de las galaxias1977123
El seor de los anillos 12001178
Mar Adentro 2004125
El viaje de Chihiro2001125
???Page ??? (???)01/03/2007, 12:34:27Page / TtuloAoDuracin
La guerra de las galaxias1977123
El seor de los anillos 12001178
Mar Adentro 2004125
El viaje de Chihiro2001125
???Page ??? (???)01/03/2007, 12:34:27Page / PelculaID_PelculaNombreAo1La guerra de las galaxias19772El seor de los anillos 120013Mar Adentro 20044El viaje de Chihiro2001
???Page ??? (???)01/03/2007, 12:34:27Page / ActorID_ActorNombreApellido1MarkHamill2CristopherLee3JavierBardem4HugoWeaving
???Page ??? (???)01/03/2007, 12:34:28Page / EstudioID_EstudioNombre1Ghibli2New Line Cinema3Lucasfilms4Sogecine
???Page ??? (???)01/03/2007, 12:34:28Page / PelculaID_PelculaNombreAo1La guerra de las galaxias19772El seor de los anillos 120013Mar Adentro 20044El viaje de Chihiro2001
???Page ??? (???)01/03/2007, 12:34:28Page / ActorID_ActorNombreApellido1MarkHamill2CristopherLee3JavierBardem4HugoWeaving
???Page ??? (???)01/03/2007, 12:34:28Page / VehculoIDvMatrcula
???Page ??? (???)01/03/2007, 12:34:28Page / CocheNMatrculaNMotorMarcaModelo...CCA-34191234908123ToyotaYarisOFG-85153489787679FiatFiorinoXTV-65730752312386FordMustangWGB-95950934187123ToyotaAvensis
???Page ??? (???)01/03/2007, 12:34:28Page / EmpleadoNombreApellidoDNIFechaNacDNI_JefeSalarioNumDept
???Page ??? (???)01/03/2007, 12:34:28Page / DepartamentoNombreNmeroDNI_JefeDireccin
???Page ??? (???)01/03/2007, 12:34:28Page / ProyectoNombreNmeroDeptoPresupuesto
???Page ??? (???)01/03/2007, 12:34:29Page / Trabaja_EnDNINmProy
???Page ??? (???)01/03/2007, 12:34:29Page / EmpleadoNombreApellidoDNIFechaNacDNI_JefeSalarioNumDept
???Page ??? (???)01/03/2007, 12:34:29Page / DepartamentoNombreNmeroDNI_JefeDireccin
???Page ??? (???)01/03/2007, 12:34:29Page / ProyectoNombreNmeroDeptoPresupuesto
???Page ??? (???)01/03/2007, 12:34:29Page / Trabaja_EnDNINmProy
???Page ??? (???)01/03/2007, 12:34:29Page /