2 el modelo_relacional_y_la_normalizacion
TRANSCRIPT
DISEÑO DE BASES DE DATOS
UNIDAD 2
DISEÑO DE BASE DE DATOS
2.1 EL MODELO RELACIONAL
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
El modelo relacional
A1 A2 A3 A3 A4
V1,V2 V3 V4 V5 V6
. . . . . . . . . . . . . . . . . .
V7 V8 V9 V10 V11
V7 V8 V9 V10 V11
T1
T2
T3
T4
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
2.1 EL MODELO RELACIONAL
Conversión del Modelo E-R al Modelo R
Relación 1:NLa tabla principal (1) hereda su llave a tabla secundaria (N)
A{c,d,e}
B{f,g,h,c(FK)}
2.1 EL MODELO RELACIONAL
1 NA
c d e
B
f g h
Conversión del Modelo E-R al Modelo R
Relación N:NSe 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)}
2.1 EL MODELO RELACIONAL
N NA
c d e
B
f g h
Conversión del Modelo E-R al Modelo R
Relación 1:1Opción 1: ambas tablas comparten la misma llave principal
A{c,d,e}B{c,g,h}
2.1 EL MODELO RELACIONAL
1 1A
c d e
B
c g h
Conversión del Modelo E-R al Modelo R
Relación 1:1Opció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)}
2.1 EL MODELO RELACIONAL
1 1A
c d e
B
f g h
Conversión del Modelo E-R al Modelo R
Relación recursiva 1:NLa clave primaria de la entidad se vuelve a colocar con otro nombre como llave foránea.
A{c,d,e,c_copia(FK)}
2.1 EL MODELO RELACIONAL
1 NA
c d e
Conversión del Modelo E-R al Modelo R
Relación recursiva 1:1La clave primaria de la entidad se vuelve a colocar con otro nombre como llave única (candidata).
A{c,d,e,c_copia(CK)}
2.1 EL MODELO RELACIONAL
1 1A
c d e
Conversión del Modelo E-R al Modelo R
Entidad subtipoSe convierte igual que una relación 1:1 en una de sus opciones
A{c,d,e}B{f,g,h,c(CK)}
2.1 EL MODELO RELACIONAL
A
c d e
B
f g h
sEs un
Conversión del Modelo E-R al Modelo R
Entidad débilLa 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}
2.1 EL MODELO RELACIONAL
1 NA
c d e
B
f g h
Conversión del Modelo E-R al Modelo R
Atributos compuestosEl atributo se coloca en su forma descompuesta; su forma compuesta desaparece
A{c,d,f,g,h}
2.1 EL MODELO RELACIONAL
A
c d e
f g h
Conversión del Modelo E-R al Modelo R
Atributos multivaluadosUn 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}
2.1 EL MODELO RELACIONAL
A
c d e
Conversión del Modelo E-R al Modelo R
Atributos derivadosUn atributo derivado desaparece del modelo R. Posteriormente deberá implementarse por programación SQL
A{c,d}
2.1 EL MODELO RELACIONAL
A
c d e
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
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 ->YPrecioTotal= PreciodelArtículo x Cantidad
•En BD podemos decirNumeroCuentadelCliente : BalancedelClienteMatrícula : Carrera (solo si un alumno puede cursar únicamente una
carrera)
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
2.2 NORMALIZACIÓN
Dependencia funcional
•Un atributo puede determinar a variosX->(Y , Z)Matrícula: NombreAlumno, Carrera
•Si es correcto asumir:X->Y,X->Z
Matrícula: NombreAlumno,Matrícula: Carrera
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
Matrícula Taller Costo
0830010 Programación $500
0810123 Diseño Web $1000
0910007 AutoCad $2000
0730145 Diseño Web $1000
Registro_FITIT
Llave
2.2 NORMALIZACIÓN
Llave
•Si un alumno puede asistir a varios talleres la situación cambia
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
Registro_FITIT
Llave
2.2 NORMALIZACIÓN
Llave
•Si un alumno puede asistir a varios talleres, y se necesita tener el registro de todos los años
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
Registro_FITIT
Llave
2.2 NORMALIZACIÓN
Llave y dependencia funcionales
•¿Cual es la llave?•¿Cuáles son las dependencias funcionales?
Matrícula Taller Costo
0830010 Programación $500
0810123 Diseño Web $1000
0910007 AutoCad $2000
0730145 Diseño Web $1000
Registro_FITIT
MatrículaMatrícula : Taller, CostoTaller : Costo
2.2 NORMALIZACIÓN
Llave y dependencia funcionales
•¿Cual es la llave?•¿Cuáles son las dependencias funcionales?
Registro_FITIT
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
Matrícula + Taller + AñoMatrícula , Taller, Año : Costo . . . . Taller ,Año : Costo
2.2 NORMALIZACIÓN
Anomalías de modificación
•ANOMALÍA DE ELIMINACIÓN
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
Registro_FITITAl eliminar la inscripción del
alumno 0910007 del taller de AutoCad, se
elimina también el costo del taller
2.2 NORMALIZACIÓN
Anomalías de modificación
•ANOMALÍA DE INSERCIÓN
Matrícula Taller Costo
0830010 Programación $500
0810123 Diseño Web $1000
. . . . . . ANDROID $800
0730145 Diseño Web $1000
0730145 Programación $500
Registro_FITITNo es posible
registrar el costo de un nvo. Taller hasta no tener un
alumno que se inscriba en el . . . . . ANDROID $800
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 talleresLos costos de los talleres
2.2 NORMALIZACIÓN
Anomalías de modificación
Matrícula IdTaller
0830010 10
0810123 20
0910007 30
IdTaller Nombre Costo
10 Programación $500
20 Diseño Web $1000
30 AutoCad $2000
InscripcionTaller CostoTaller
•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
2.2 NORMALIZACIÓN
Primera forma normal (1NF)
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, . . . 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)
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
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
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
2.2 NORMALIZACIÓN
Segunda Forma Normal (2NF)
Matrícula IdTaller
0830010 10
0810123 20
0910007 30
IdTaller Nombre Costo
10 Programación $500
20 Diseño Web $1000
30 AutoCad $2000
Tablas en Segunda Forma Normal
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 : TallerTaller : Costo
Dependencia transitivaMatrícula : Costo (por medio del atributo taller)
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 IdTaller
0830010 10
0810123 20
0910007 30
IdTaller Nombre Costo
10 Programación $500
20 Diseño Web $1000
30 AutoCad $2000
Tablas en Tercera Forma Normal
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
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
2.2 NORMALIZACIÓN
Forma Normal Boyce-Codd (BCNF)
Llaves candidatas:•(Matrícula, Área)•(Matrícula, Asesor)
Matrícula Asesor
100 J. Canales
150 I. Jiménez
200 A. Riestra
250 J. Canales
300 M. Pérez
300 A. Riestra
Determinantes:Asesor: Área
Asesor Área
J. Canales Matemáticas
I. Jiménez Desarrollo Humano
M. Pérez Desarrollo Humano
A. Riestra Matemáticas
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
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
2.2 NORMALIZACIÓN
Cuarta Forma Normal (4NF)
•La tabla anterior en 4NF quedaría de la siguiente manera:
Matrícula Materia
100 Matemáticas
100 Inglés
300 Matemáticas
Matrícula Club
100 Soccer
100 Rondalla
300 Ajedrez
Alumno_Materia Alumno_Club
2.2 NORMALIZACIÓN