Fundamentos Del Módelo Relacional
Fundamentos Del Módelo Relacional
Fundamentos Del Módelo Relacional
RELACIONAL
Andrés Henao Rosero
Universidad Tecnológica de Pereira
Tomado de:
Gloria Lucía Giraldo Gómez
Universidad Nacional de Colombia
Tipos de atributos:
Simples:
Simples Tienen un valor simple. Ej: cédula
Grupales:
Grupales Compuestos por otros atributos. Ej:
nombre (compuesto por primer nombre y
primer apellido)
De objetos semánticos:
nticos establecen la relación
entre un OS y otro OS (“enlaces del objeto”)
(mínimo 1) etc.
Edificio V.Uribe
of. 313 Dirección
La ocurrencia 425 5350
de un objeto 425 5358 Teléfono
425 5260
semántico
430 2145
particular Fax
Arango Fernando Profesores
Jiménez Giovanni
DORMITORIO DORMITORIO
ID Nombre 1.1 ID Nombre 1.1
Tel 0.1 Tel 0.1
Pago
ESTUDIANTE 0.N
ESTUDIANTE
1.1
Cuota Cuota 0.N
1.1 0.N
EMPLEADO ADMINISTRADOR
ID Código 1.1 TipodeAdministrador 1.1
Nombre 1.1
EMPLEADO
Salario 1.1 P
El Modelo Relacional
Nombre de la
RELACION PELICULA
TITULO AÑO DURACION
La guerra de las galaxias 1997 120
El señor de los anillos 2001 180
TUPLAS
Mar adentro 2004 90
El viaje de Chihiro 2001 120
Ejemplo:
EMPLEADO(cédula,nombre,dirección,salario)
nombre función
nombre apellido
nombre facultad
(nombre,apellido) función
(nombre,apellido) facultad
Sea la relación:
Claves Candidatas (CC)
VEHICULO
1. Autodeterminación:
AA
Demostración
2. Descomposición:
Si A BC, entonces: A B
AC
Demostración
4. Composición
Si A B
entonces AC BD
CD
Demostración
Cierre (K, S)
El cierre de K se denota K+
S
{
cierre K; S es el conjunto de las DF
FOREVER
∀ DF Є S: x y DO
IF x ⊆ cierre THEN
cierre = cierre ∪ y
END IF
END ∀
IF cierre no cambió THEN
RETURN cierre
END IF
END FOREVER
}
Bases de Datos I Andres Henao Rosero - UTP 61
Ejemplo
Sea R (A,B,C,D,E,F)
A BC Determinar K+ , para K = AB
S
Sea S E CF
BE
CD EF
+
¿Cuál es el significado de KS ?
¿Para qué sirve?
El cierre de un conjunto de atributos K de una relación R y su
conjunto de dependencias funcionales S, es el más grande
conjunto de atributos Y, tal que S ╞ K→→Y
CUIDADO:
! La normalización tiene un impacto
sobre la eficiencia de la interrogación
La normalización puede traer perdida
de información y de DF
PERSONAL
Cedula Nombre Apellido Cargo Escalafón Salario
Solución 1 EMPLEADO no
está en 1FN
EMPLEADO
Id Nom Apellido Función1 Función2 Funcion3 Facultad
12345 Demetrio Ovalle Director Investigador Profesor Civil
Solución 2
EMPLEADO Id Nom Apellido Facultad
FUNCION_EMPLEADO 12345 Demetrio Ovalle Civil
Id Función 67890 Fernando Arango Sistemas
12345 Director
12345 Investigador
¿Que pasa si a Demetrio le asignan otra función?
Simplemente inserto una fila más en
12345 Profesor
FUNCION_EMPLEADO
67890 Investigador
67890 Profesor
producto con_iva
nit cant
sede_ppal
R2 producto con_iva
producto
R1 cant
nit
R3 nit sede_ppal
valor_hobbie
CF
R1: R2:
Matricula Hobbie
cédula hobbie nombre valor_hobbie
10 Música Música 100
20 Pintura Pintura 200
30 Música Bolos 100
40 Pintura Natación 100
50 Bolos
CP
CP
Bases de Datos I Andres Henao Rosero - UTP 89
PREGUNTAS
¿Desaparecen las anomalías en el nuevo
esquema?
El hecho de que en matrícula se repita el
nombre del hobbie por cada estudiante que lo
tome ¿es un problema de normalización?
¿Qué pasa si la partición se hubiera hecho
así: R1(cédula, hobbie) y R2(cédula,
valor_hobbie) ? ¿Están en 3NF?
¿Qué pasa si la partición se hubiera hecho
así: R1(cédula, valor_hobbie) y R2(hobbie,
valor_hobbie) ? ¿Están en 3NF?
πCódigo,Nombre(Productor)
Código Nombre
Código Nombre Edad
2 Enrique Muñoz
2 Enrique Muñoz 25
8 Jorge Arias 30 8 Jorge Arias
10 Juan Martínez 19 10 Juan Martínez
Bases de Datos I Andres Henao Rosero - UTP 97
Proyección (π)
Suponga una relación W así:
W Código Edad
1 30
2 25
3 30
Edad
πEdad(W) El resultado será:
30
25
¡¡ se eliminan tuplas repetidas !!
Administrador X [ρCódigoCod,NombreNom,EdadEdad1(Productor)]
Código Nombre Edad Cod Nom Edad1
1 Jorge Campos 33 2 Enrique Muñoz 25
1 Jorge Campos 33 8 Jorge Arias 30
1 Jorge Campos 33 10 Juan Martínez 19
2 Enrique Muñoz 25 2 Enrique Muñoz 25
2 Enrique Muñoz 25 8 Jorge Arias 30
2 Enrique Muñoz 25 10 Juan Martínez 19
3 Esteban Paz 21 2 Enrique Muñoz 25
3 Esteban Paz 21 8 Jorge Arias 30
3 Esteban Paz 21 10 Juan Martínez 19
¡¡ El renombrado es puramente sintáctico !!
Bases de Datos I Andres Henao Rosero - UTP 100
Unión: R1 ∪ R2
R1 Toma como argumentos
dos relaciones R1 y R2 con
esquemas idénticos
Retorna una relación R3
R2 con el mismo esquema de
R1 y R2 que contiene todas
la tuplas de R1 y todas las
de R2, eliminando tuplas
repetidas
Productor − Administrador:
Código Nombre Edad
8 Jorge Arias 30
10 Juan Martínez 19
Nota:
Nota En este ejemplo, el campo
Depto en Empleado NO ES CF Atributo de
con respecto a la tabla Departamento Join
Bases de Datos I Andres Henao Rosero - UTP 109
Ejemplo
Empleado ⋈ Departamento
Código Nombre Edad Depto Descripción
1 Jorge Campos 33 1 Administración
2 Enrique Muñoz 25 1 Administración
3 Esteban Paz 21 1 Administración
8 Jorge Arias 30 2 Producción
10 Juan Martínez 19 2 Producción
Empleado Departamento
Código Nombre Edad Depto Depto Descripción
1 Jorge Campos 33 1 1 Administración
2 Enrique Muñoz 25 1 2 Producción
2 Enrique Muñoz 25 2
3 Esteban Paz 21 1
8 Jorge Arias 30 2
Depto
10 Juan Martínez 19 2
1
Empleado ÷ (πDepto(Departamento)) 2
Código Nombre Edad
2 Enrique Muñoz 25
Ejemplo:
∀ t ∈ r (t[a]= 8): Verdadero si todas
las tuplas t de r tienen un valor de 8 en el
atributo a
∀ t ∈ r (Q(t)) ≡ ¬ ∃ t ∈ r (¬Q(t))
Est Prof
Ced Nom Edad Ced Nom Edad
10 Pedro 14 45 Gloria 14
20 Olga 29 26 Dario 29
50 Ana 30 50 Ana 30
34 Cristina 32