Modelo Relacional Bases De Datos
Tema 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
Temas de esta clase
Conceptos del modelo relacional
Convertir E-R a modelo relacional2
Relación
Relación ≃ tabla de datos
Por eso se llaman bases de datos
relacionales
Título
La guerra de las galaxias
El señor de los anillos 1
Mar Adentro
El viaje de Chihiro
Año
Duración
1977
2001
2004
2001
123
178
125
125
3
Conceptos
Esquema
Pel í cula(t í tulo,a ñ o,duraci ó n)
Atributos
Tuplas
Título
La guerra de las galaxias
El señor de losanillos 1
Mar Adentro
El viaje de Chihiro
Dominio=Textos
Año
Duración
1977
2001
2004
2001
123
178
125
125
Dominio=Enteros
4
Notación
Atributos
Relación R
Dominio de Ai
Ai
R(A1, A2, A3, ..., AN)
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
Relación es unconjunto
Por lo tanto, no está ordenado
Notación para las tuplas
t = ∈ Película
Notación para subconjunto de tupla
t[año,duración] =
6
Dominios
Restricción de dominio
t[A] =
⇔ x ∈ dom(A)
En algunos casos ...
NULL ∈ dom(A)
En tal caso diremos que la relación acepta
valores nulos
7
Claves candidatas y primarias
Claves candidatas
Coche
NMatrícula
CCA-341
OFG-851XTV-657
WGB-959
NMotor
Marca
Modelo ...
91234908123
53489787679
30752312386
50934187123
Toyota
Fiat
Ford
Toyota
Yaris
Fiorino
Mustang
Avensis
La elección de una clave primaria es arbitraria
Se escoge una que tenga pocos atributos
8
Restricciones de claves
Restricción de claves únicas
K ⊆ claves(Relación)
∀ t1, t2 ∈ Relación, t1[K] ≠ t2[K]
|K|
NULL∉K
Una clave puede ser
Un atributo
Varios atributos (clave compuesta)
Incluso toda la tupla en algunos casos
(evitarlo)
9
Llaves foráneas
Empleado
Nombre Apellido
DNI
FechaNac
DNI_Jefe Salario NumDept
Departamento
Nombre Número
DNI_Jefe
Dirección
Trabaja_En
DNI
NúmProy
Proyecto
Nombre
Número
Depto
Presupuesto
10
Integridad referencial
EmpleadoNombre Apellido
DNI
FechaNac
DNI_Jefe Salario NumDept
Departamento
Nombre Número
DNI_Jefe
Dirección
Trabaja_En
DNI
NúmProy
Proyecto
Nombre
Número
Depto
Presupuesto
11
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ónTrabaja_En
ID_emp
ID_proy
Proyecto
Nombre
ID_proy
Depto
Presupuesto
12
Mantener integridad
referencial
Al insertar
Insertar clave foránea en la otra tabla
Rechazar la inserción
Al eliminar
Eliminar tuplas que apuntan a esta tupla
“Cascada”
Actualizar valores en tuplas que apuntan a
esta tupla
13
Convertir Entidad-Relación
en
Modelo Relacional
14
ConvertirEntidad-Relación
Se comienza con un modelo E-R
Porque es más fácil de diseñar
Tiene dos conceptos: entidad y relación
Traducir E-R a relacional, versión
simple:
1)Cada entidad se transforma en una tabla
con los mismos atributos
2)Se agregan claves donde sea necesario
3)Cada relación se transforma en una tabla
en que los atributos son las claves de cada
entidad participante
15Traducción simple, paso 0
Año
Nombre
Película
Apellido
Nombre
Actúa
Actor
Produce
Estudio
Nombre
16
Traducción simple, paso 1
Año
Nombre
Película
Apellido
Nombre
Actor
Actúa
ID_Película
ID_Actor
ID_Estudio
Produce
Estudio
Nombre
17
Traducción simple, paso 2
Año
Nombre
Película
Apellido
Nombre
Actúa
ID_Película...
Regístrate para leer el documento completo.