4. 2.1 EL MODELO RELACIONAL
El modelo relacional
•Es la base de casi todos los DBMS
•En el modelo relacional una tabla se le conoce como relación
•Es una relación de registros o tuplas y de atributos o campos
•Para que una tabla sea un relación debe cumplir:
•Una celda contiene solo un valor
•Todos los valores de una misma columna deben ser del mismo tipo
•Cada columna o campo debe tener un nombre único
•El orden de las columnas no importan
•Dos tuplas dentro de la misma tabla no pueden ser idénticas
6. 2.1 EL MODELO RELACIONAL
El modelo relacional
RESTRICCIONES DEL MODELO RELACIONAL
•Restricción de clave candidata: toda clave candidata debe ser única, sus valores
no se pueden repetir
•Restricción de integridad de la entidad: toda clave primaria no puede ser nula,
debe tener un valor
•Restricción de integridad referencial: todo valor de una clave externa debe
existir en la tabla principal
7. 2.1 EL MODELO RELACIONAL
Conversión del Modelo E-R al Modelo R
c
d
e
A
f
1
N
g
B
Relación 1:N
La tabla principal (1) hereda su llave a tabla secundaria (N)
A{c,d,e}
B{f,g,h,c(FK)}
h
8. 2.1 EL MODELO RELACIONAL
Conversión del Modelo E-R al Modelo R
c
d
e
A
f
N
N
g
h
B
Relación N:N
Se crea una nueva entidad conteniendo, como mínimo, las claves o llaves
de las tablas principales como llaves foráneas; la combinación de ambas
es la llave primaria para esta nueva entidad.
A{c,d,e}
B{f,g,h}
A-B{c(FK),f(FK)}
9. 2.1 EL MODELO RELACIONAL
Conversión del Modelo E-R al Modelo R
c
d
A
e
c
1
1
g
B
Relación 1:1
Opción 1: ambas tablas comparten la misma llave principal
A{c,d,e}
B{c,g,h}
h
10. 2.1 EL MODELO RELACIONAL
Conversión del Modelo E-R al Modelo R
c
d
e
A
f
1
1
g
h
B
Relación 1:1
Opción 2: tablas con llaves diferentes; una hereda su llave a la otra pero
como una clave única,candidata (no se puede repetir)
A{c,d,e}
B{f,g,h,c(CK)}
11. 2.1 EL MODELO RELACIONAL
Conversión del Modelo E-R al Modelo R
c
d
A
e
1
N
Relación recursiva 1:N
La clave primaria de la entidad se vuelve a colocar con otro nombre
como llave foránea.
A{c,d,e,c_copia(FK)}
12. 2.1 EL MODELO RELACIONAL
Conversión del Modelo E-R al Modelo R
c
d
A
e
1
1
Relación recursiva 1:1
La clave primaria de la entidad se vuelve a colocar con otro nombre
como llave única (candidata).
A{c,d,e,c_copia(CK)}
13. 2.1 EL MODELO RELACIONAL
Conversión del Modelo E-R al Modelo R
c
d
e
Entidad subtipo
Se convierte igual que una relación 1:1 en
una de sus opciones
A
s
Es
un
f
g
B
h
A{c,d,e}
B{f,g,h,c(CK)}
14. 2.1 EL MODELO RELACIONAL
Conversión del Modelo E-R al Modelo R
c
d
e
A
f
1
N
g
h
B
Entidad débil
La clave de la entidad fuerte aparece como clave foránea en la entidad
débil así como forma parte de su llave primaria
A{c,d,e}
B{f, c(FK),g,h}
15. 2.1 EL MODELO RELACIONAL
Conversión del Modelo E-R al Modelo R
f
c
g
d
h
e
A
Atributos compuestos
El atributo se coloca en su forma descompuesta; su forma compuesta
desaparece
A{c,d,f,g,h}
16. 2.1 EL MODELO RELACIONAL
Conversión del Modelo E-R al Modelo R
c
d
e
A
Atributos multivaluados
Un atributo multivaluado genera otra entidad teniendo como clave
principal, el atributo mismo, mas la clave de la tabla de donde se deriva
A{c,d}
E{c(FK),e}
17. 2.1 EL MODELO RELACIONAL
Conversión del Modelo E-R al Modelo R
c
d
e
A
Atributos derivados
Un atributo derivado desaparece del modelo R. Posteriormente deberá
implementarse por programación SQL
A{c,d}
19. 2.2 NORMALIZACIÓN
Normalización
•Es el proceso por medio de cual una tabla con algún problema (principalmente
duplicidad de datos o estructura no óptima) se convierte en dos o más tablas
•Dos términos importantes al hablar de normalización son:
•DEPENDENCIA FUNCIONAL
•LLAVE
20. 2.2 NORMALIZACIÓN
Dependencia funcional
•Es una relación entre uno o más atributos en la cual uno (o varios) determinan a
otros
•Matemáticamente si una variable Y depende del valor de la variable X
(determinante) se dice que X determina funcionalmente a Y
X ->Y
PrecioTotal= PreciodelArtículo x Cantidad
•En BD podemos decir
NumeroCuentadelCliente : BalancedelCliente
Matrícula : Carrera (solo si un alumno puede cursar únicamente una
carrera)
21. 2.2 NORMALIZACIÓN
Dependencia funcional
•Es posible tener dependencia funcionales que involucren grupos de atributos
(X,Y) -> Z
Ej:
(Matrícula, Materia): Calificación
•No es correcto lo siguiente:
X-> Z,
Y-> Z
Matrícula: Calificación,
Materia: Calificación
22. 2.2 NORMALIZACIÓN
Dependencia funcional
•Un atributo puede determinar a varios
X->(Y , Z)
Matrícula: NombreAlumno, Carrera
•Si es correcto asumir:
X->Y,
X->Z
Matrícula: NombreAlumno,
Matrícula: Carrera
23. 2.2 NORMALIZACIÓN
Llave
•Una llave es un grupo de uno o más atributos que identifican únicamente a una
tupla o renglón
Registro_FITIT
Llave
Matrícula
Taller
Costo
0830010
Programación
$500
0810123
Diseño Web
$1000
0910007
AutoCad
$2000
0730145
Diseño Web
$1000
24. 2.2 NORMALIZACIÓN
Llave
•Si un alumno puede asistir a varios talleres la situación cambia
Registro_FITIT
Llave
Matrícula
Taller
Costo
0830010
Programación
$500
0810123
Diseño Web
$1000
0910007
AutoCad
$2000
0730145
Diseño Web
$1000
0730145
Programación
$500
25. 2.2 NORMALIZACIÓN
Llave
•Si un alumno puede asistir a varios talleres, y se necesita tener el registro de
todos los años
Llave
Registro_FITIT
Matrícula
Taller
Costo
Año
0830010
Programación
$500
2009
0810123
Diseño Web
$1000
2010
0910007
AutoCad
$2000
2010
0730145
Diseño Web
$1000
2009
0730145
Programación
$500
2009
0730145
Diseño Web
$1500
2010
26. 2.2 NORMALIZACIÓN
Llave y dependencia funcionales
•¿Cual es la llave? Matrícula
•¿Cuáles son las dependencias funcionales? Matrícula : Taller, Costo
Taller : Costo
Registro_FITIT
Matrícula
Taller
Costo
0830010
Programación
$500
0810123
Diseño Web
$1000
0910007
AutoCad
$2000
0730145
Diseño Web
$1000
27. 2.2 NORMALIZACIÓN
Llave y dependencia funcionales
•¿Cual es la llave? Matrícula + Taller + Año
•¿Cuáles son las dependencias funcionales? Matrícula , Taller, Año :
Registro_FITIT
Costo . . . .
Taller ,Año : Costo
Matrícula
Taller
Costo
Año
0830010
Programación
$500
2009
0810123
Diseño Web
$1000
2009
0910007
AutoCad
$2000
2010
0730145
Diseño Web
$1000
2009
0730145
Programación
$500
2009
0730145
Diseño Web
$1500
2010
28. 2.2 NORMALIZACIÓN
Anomalías de modificación
•ANOMALÍA DE ELIMINACIÓN
Al eliminar la
inscripción del
alumno 0910007
del taller de
AutoCad, se
elimina también
el costo del taller
Registro_FITIT
Matrícula
Taller
Costo
0830010
Programación
$500
0810123
Diseño Web
$1000
0910007
AutoCad
$2000
0730145
Diseño Web
$1000
0730145
Programación
$500
29. 2.2 NORMALIZACIÓN
Anomalías de modificación
•ANOMALÍA DE INSERCIÓN
No es posible
registrar el costo
de un nvo. Taller
hasta no tener un
alumno que se
inscriba en el
Registro_FITIT
Matrícula
Taller
Costo
0830010
Programación
$500
0810123
......
.....
Diseño Web
ANDROID
ANDROID
$1000
$800
$800
0730145
Diseño Web
$1000
0730145
Programación
$500
30. 2.2 NORMALIZACIÓN
Anomalías de modificación
Una regla de español dice: “un párrafo solo debe tener una idea o tema. Si tiene
más de un tema debe ser dividido en dos o más párrafos de manera que cada uno
tenga solo un tema”
Matrícula
Taller
Costo
0830010
Programación
$500
0810123
Diseño Web
$1000
0910007
AutoCad
$2000
La relación Registro_FITIT contiene datos de dos “temas” diferentes:
La inscripción de alumnos en talleres
Los costos de los talleres
31. 2.2 NORMALIZACIÓN
Anomalías de modificación
InscripcionTaller
CostoTaller
Matrícula
IdTalle
r
IdTaller Nombre
Costo
0830010
10
10
Programación
$500
0810123
20
20
Diseño Web
$1000
0910007
30
30
AutoCad
$2000
•Al descomponer la tabla en dos, las anomalías de inserción y eliminación son
superadas
•Sin embargo, cada que se desee inscribir un alumno a un taller, primero
deberíamos asegurarnos que este taller ha sido ya registrado en la tabla de costos
•Esto es conocido como restricción de integridad referencial
32. 2.2 NORMALIZACIÓN
Reglas de normalización
(formas normales)
•Existen una serie de técnicas o reglas para prevenir anomalías en las estructuras
de las relaciones (tablas)
•Estas son conocidas como formas normales
•Dependiendo de su estructura una tabla puede estar en primera, segunda, . . .
Primera forma normal (1NF)
quinta forma normal
Segunda forma normal (2NF)
Tercera forma normal (3NF)
Forma normal Boyce-Codd(BCNF)
Cuarta forma normal (4NF)
Quinta forma normal (5NF)
Forma normal Dominio-Llave
(DK/NF)
33. 2.2 NORMALIZACIÓN
Primera Forma Normal (1NF)
•Cualquier tabla de datos que cumple con la forma como se define una relación se
dice que está en primera forma normal
•Para que una tabla sea un relación debe cumplir:
•Una celda contiene solo un valor, no se permiten grupos de valores
•Todos los valores de una misma columna deben ser del mismo tipo
•Cada columna o campo debe tener un nombre único
•El orden de las columnas no importan
•Dos tuplas dentro de la misma tabla no pueden ser idénticas
•Cada valor de una columna debe ser atómico, es decir debe ser
descompuesto a su mínimo compone
34. 2.2 NORMALIZACIÓN
Primera Forma Normal (1NF)
Matrícula
Taller
Costo
0830010
Programación
$500
0810123
Diseño Web
$1000
0910007
AutoCad
$2000
Tabla en Primera Forma Normal
35. 2.2 NORMALIZACIÓN
Segunda Forma Normal (2NF)
•Una relación se encuentra en la segunda forma normal si todos los atributos que
NO son llave son dependientes de TODOS los atributos de la llave
•Esta forma normal sólo se aplica a relaciones que tienen llaves compuestas
•No puede haber dependencia parcial
Matrícula
Taller
Costo
0830010
Programación
$500
0810123
Diseño Web
$1000
0910007
AutoCad
$2000
0830010
Diseño Web
$1000
* Un estudiante participa en varios talleres
36. 2.2 NORMALIZACIÓN
Segunda Forma Normal (2NF)
Matrícula
IdTalle
r
IdTaller Nombre
Costo
0830010
10
10
Programación
$500
0810123
20
20
Diseño Web
$1000
0910007
30
30
AutoCad
$2000
Tablas en Segunda Forma Normal
37. 2.2 NORMALIZACIÓN
Tercera Forma Normal (3NF)
Matrícula
Taller
Costo
0830010
Programación
$500
0810123
Diseño Web
$1000
0910007
AutoCad
$2000
* Un estudiante participa únicamente en un taller
Dependencias funcionales:
Matrícula : Taller
Taller : Costo
Dependencia transitiva
Matrícula : Costo (por medio del atributo taller)
38. 2.2 NORMALIZACIÓN
Tercera Forma Normal (3NF)
•Una relación se encuentra en tercera formar normal si esta en la segunda forma
normal y no tiene dependencias transitivas
•Esta forma normal sólo se aplica a relaciones que tienen llaves simples
•Si la relación no está en tercera forma normal, debe de dividirse en dos o más
tablas
Matrícula
IdTalle
r
IdTaller Nombre
Costo
0830010
10
10
Programación
$500
0810123
20
20
Diseño Web
$1000
0910007
30
30
AutoCad
$2000
Tablas en Tercera Forma Normal
39. 2.2 NORMALIZACIÓN
Forma Normal Boyce-Codd (BCNF)
•Si una relación tiene más de un atributo (o combinación de atributos) que
identifica una tupla como única, a cada uno de ellos se le conoce como Llave
candidata.
Ej: alumno tiene dos llaves candidatas matrícula y curp
•Una relación está en BCNF si cada determinante es una llave candidata
40. 2.2 NORMALIZACIÓN
Forma Normal Boyce-Codd (BCNF)
Considere lo siguiente:
•Un alumno cursa una o varias materias de un área (Matemáticas,
Programación, Inglés, Redes, Desarrollo Humano)
•Un área puede tener uno o varios profesores especializados en ella.
•Un profesor solo puede dar asesorías en una sola área
•Por cada área se asigna un único maestro a cada alumno para asesorías
Matrícula
Área
Asesor
100
Matemáticas
J. Canales
150
Desarrollo Humano
I. Jiménez
200
Matemáticas
A. Riestra
250
Matemáticas
J. Canales
300
Desarrollo Humano
M. Pérez
300
Matemáticas
A. Riestra
41. 2.2 NORMALIZACIÓN
Forma Normal Boyce-Codd (BCNF)
Llaves candidatas:
•(Matrícula, Área)
•(Matrícula, Asesor)
Determinantes:
Asesor: Área
Matrícula
Asesor
Asesor
Área
100
J. Canales
J. Canales
Matemáticas
150
I. Jiménez
I. Jiménez
Desarrollo Humano
200
A. Riestra
M. Pérez
Desarrollo Humano
250
J. Canales
A. Riestra
Matemáticas
300
M. Pérez
300
A. Riestra
42. 2.2 NORMALIZACIÓN
Cuarta Forma Normal (4NF)
Considere lo siguiente:
•Un alumno cursa una o varias materias y pueden participar en varios clubes
(ajedrez, soccer, futbol, rondalla, etc)
Matrícula
Materia
Club
100
Matemáticas
Soccer
100
Inglés
Soccer
100
Matemáticas
Rondalla
100
Inglés
Rondalla
300
Matemáticas
Ajedrez
43. 2.2 NORMALIZACIÓN
Cuarta Forma Normal (4NF)
•Una dependencia multivaluada es aquella que determina más de un solo valor
•Se expresa AB
•Papá Hijo
•Una relación se encuentra en cuarta forma normal si está en BCNF y no tiene
dependencias multivaluadas
44. 2.2 NORMALIZACIÓN
Cuarta Forma Normal (4NF)
•La tabla anterior en 4NF quedaría de la siguiente manera:
Alumno_Materia
Alumno_Club
Matrícula
Materia
Matrícula
Club
100
Matemáticas
100
Soccer
100
Inglés
100
Rondalla
300
Matemáticas
300
Ajedrez