47
Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 1 Normalización 4.1 Conceptos. 4.2 Primera Forma Normal. 4.3 Dependencias funcionales. 4.4 Segunda Forma Normal. 4.5 Dependencias Transitivas y Tercera Forma Normal. 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal

Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Embed Size (px)

Citation preview

Page 1: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 1

Normalización

4.1 Conceptos.

4.2 Primera Forma Normal.

4.3 Dependencias funcionales.

4.4 Segunda Forma Normal.

4.5 Dependencias Transitivas y Tercera Forma Normal.

4.6 Forma Normal de Boyce-Codd

4.7 Cuarta Forma Normal

Page 2: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

4.1 Conceptos Básicos

Ejercicio para los Alumnos:

Usando Excel® diseñe las tablas requeridas para:

1. Registrar el rol de trabajo de los empleados de Intendencia del ITD.

Se debe guardar la CURP, nombre del intendente y la información

relativa a los días que tiene asignadas labores de limpieza. Los

intendentes pueden trabajar cualquier día de la semana, pero deben

descansar al menos un día, considere que puede ser que trabajen

Sábados o Domingos y descansen algún día entre semana; puede

también haber trabajadores que laboren menos de 6 días a la

semana.

2. Por otro lado, se debe registrar información relativa a proveedores

del ITD, de diferentes bienes o servicios, los datos a considerar

son: RFC, nombre del proveedor y los diferentes teléfonos con que

cuenta para comunicarnos con ellos. También se requiere llevar un

registro de los productos que nos vende (por ejemplo, mobiliario,

papelería, computación, artículos de limpieza).

Page 3: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 3

4.1 Conceptos Básicos

Las BD Relacionales se componen de tablas.

Las tablas con que cuenta una organización puedenhaber sido creadas por los propios usuarios usandohojas electrónicas, o pueden haber sido creadasusando un DBMS pero por diseñadores inexpertos.

Si nuestra labor fuera migrar los datos (que laorganización ya posee en hojas electrónicas) hacia unDBMS, debemos asegurarnos que las tablas no tengananomalías. Lo mismo hay que hacer, si tomamos laresponsabilidad de una BD aunque esté implementadausando un DBMS, siempre hay que buscar anomalíaspara eliminarlas.

Page 4: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 4

Un grupo repetido es un atributo quepuede tener múltiples valores paraun mismo valor de la llave candidata.

Ejemplo: Los usuarios que crean sustablas con datos, para evitar larepetición, deciden usar “comillas” odejar espacios en blanco.

Otra forma es colocar los diferentesvalores separados por comas en ellugar del atributo.

1. Cada renglón representa un elemento de datos, no debe haber grupos repetidos.

4.1 Conceptos Básicos

Page 5: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Cada ocurrencia de un grupo repetido se debe convertir en una tupla. ¿Por qué?

Porque no podríamos obtener fácilmente consultas como las siguientes: ¿quienes

trabajan los lunes?, algunos DBMS tienen atributos tipo SET, pero debemos diseñar

para cualquier DBMS no para uno en particular, y si fuera una cadena, podría

quedar mal escrito uno de los días y ya no obtendríamos la consulta

satisfactoriamente.

La Redundancia no importa por ahora.

Observemos que la llave única ya no sería la misma, ahora sería:

CURP+Día Laborable

4.1 Conceptos Básicos

Page 6: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 6

2. Los renglones y las columnas deben poder verse en cualquier secuencia

en cualquier momento, sin afectar el contenido de la tabla ni su significado.

La tablas con grupos repetidos (como el caso que se muestra abajo)

no pueden cambiar de orden.

Se puede simular esta situación con una hoja de Excel,

seleccionando la opción Ordenar Datos.

Al eliminar los grupos repetidos, se elimina este problema.

4.1 Conceptos Básicos

Page 7: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 7

3. Las tablas deben contar con columnas homogéneas, es decir, para cierta columna, todos los elementos deben tener el mismo dominio.

4.1 Conceptos Básicos

Page 8: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 8

4. Cada columna debe tener un nombre único dentro de la tabla:

En realidad estos son grupos repetidos

4.1 Conceptos Básicos

Page 9: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 9

5. No se permite duplicidad de datos, cada renglón debe estaridentificado por una llave única.

No habría forma de saber si se trata de dos diferentes empleados

o si por error se registraron 2 veces los datos de un mismo

empleado.

4.1 Conceptos Básicos

Page 10: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 10

En el caso de la página anterior, se tuvo que añadir un nuevo atributo (que en realidad desde un inicio debió ser considerado) para poder obtener una llave única.

Lo más común es que, la tabla cuente con los atributos suficientes para obtener una llave candidata, por ejemplo:

Llave única: CURP+Día Laborable

4.1 Conceptos Básicos

Page 11: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 11

Se deben evitar:

Renglones duplicados (propiedad 5). Datos inconsistentes (propiedad 3). Tablas tridimensionales (propiedad 1).

4.1 Conceptos Básicos

Page 12: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 12

Lo que acabamos de estudiar es la primera fase de un procesollamado Normalización.

Una tabla que elimine los problemas de los que hemos hablado,se encuentra en PRIMERA FORMA NORMAL. Hay redundanciay tiene anomalías de Actualización, Inserción y Borrado, peroes una tabla que se puede implementar usando un DBMS.

Las etapas posteriores de la Normalización, tienen comoobjetivo eliminar las anomalías causadas por la Redundancia.

En seguida vemos el por que se debe eliminar la redundancia.

4.1 Conceptos Básicos

Page 13: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

1. Actualización:

Debido a la redundancia de datos, en algún momento se presentará lanecesidad de modificar las múltiples ocurrencias de un mismo dato.Supongamos que tenemos una tabla como la siguiente:

Dado el caso de un aumento de sueldo a José López, ¿Sería suficiente con modificar el sueldo en una de las tuplas?

4.1 Conceptos Básicos

Page 14: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

2. Inserción:

Las anomalías de inserción se presentan cuando, para añadir una tupla, esindispensable colocar un valor inconsistente (fuera del dominiocorrespondiente).

La situación que se muestra, se presentó porque se contrató a un nuevo intendente einicialmente no se le asignaron responsabilidades.

Se tuvo que crear un día “fantasma”, por ejemplo, X (o un NULO como en el ejemplo) alintendente para poder guardar los datos básicos, curp, nombre, sueldo.

4.1 Conceptos Básicos

Page 15: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

3. Borrado:

Se presenta una anomalía de borrado si se pierden datos por la eliminación de una o más tuplas cuyos datos debieran estar guardados por separado.

Ejemplo: Manuel Martínez se enferma e incapacita temporalmente, por lo tanto, ya no podrá acudir al trabajo ningún día de la semana.

¿Cómo conservar la información relativa a su sueldo?

4.1 Conceptos Básicos

Page 16: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 16

4.2 Primera Forma Normal

Las Formas Normales establecen criterios para detectar tablas con anomalías.

No importa si las tablas fueron diseñadas por un usuario o por un Ingeniero enSistemas; siempre se pueden aplicar para mejorar el diseño.

Supongamos que contamos con una tabla en una hoja de Excel, como la que se muestra enseguida:

Llave única: CURP

Page 17: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

4.2 Primera Forma Normal

Observaciones:• Día y tipo de limpieza para cada intendente son establecidos por el jefe

del intendente.• El tiempo es un dato asignado por el jefe. Se refiere al tiempo máximo

para que el trabajador lleve a cabo su tarea.• Se puede hacer limpieza de cualquier tipo a un salón cualquier cantidad de

veces en un mismo día de la semana, sin embargo, un mismo intendente no puede hacer en un mismo día 2 veces el mismo tipo de limpieza en el mismo salón.

Para que esté en 1NF solo falta establecer la llave única ¿cuál es?.

Quedaría como sigue de acuerdo a los criterios que hemos estudiado previamente:

Page 18: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Llave única: curp+salon+dia+tipo

Page 19: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 19

4.3 Dependencias Funcionales

La relación Intendentes que acabamos de dejar en 1NF cuenta con las 3 anomalías que se describieron antes:

Actualización, Inserción, Borrado.

Estas anomalías se deben a un problema llamado Dependencia Parcial.

Page 20: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 20

4.3 Dependencias Funcionales

Dependencia Funcional

(o simplemente Dependencia)

Capacidad para identificar el valor de un atributode una relación a partir de otro(s).

Se define como A B, que significa que si dostuplas tienen el mismo valor para el atributo (oconjunto de atributos) A, tendrán el mismo valorpara el atributo (o conjunto de atributos) B, es decir,en una relación R, conociendo el valor de A, sepuede obtener el valor de B.

Al atributo (o conjunto de atributos) A se le llamadeterminante.

Page 21: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 21

4.3 Dependencias Funcionales

Atributos Primos

Atributos que forman parte de la llave única(primo es por primaria. Años atrás, una de lasllaves únicas -candidatas- era elegida comollave primaria).

Dependencia Parcial

Hay atributos no primos que dependen deuna parte de la llave única.

Page 22: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

4.3 Dependencias Funcionales

Relación

Intendentes

Llave Candidata:

curp+salon+dia+tipo

Diagrama de Dependencias Funcionales de la relación Intendentes.

curp nombre sueldo

salon capsalon

día

tipo

tiempo

nombresueldo no es DF ya que nombre no es único, p.ej., 2 diferentes personas que se llaman igual podrían tener diferente sueldo.

Para que haya DF Total en unarelación, todos los atributos noprimos deben dependerexclusivamente de la llave completa.

Como se ve en el Diagrama, la relación cuenta con dependencias funcionales parciales o incompletas y deben removerse.

Page 23: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

4.4 Segunda Forma Normal (2NF)

Para transformar a 2NF una relación, se producirá una relación por cada DF.

Es decir, en el caso de Intendentes, habrá en total, 3 relaciones.

Page 24: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

4.4 Segunda Forma Normal (2NF)

Para transformar a 2NF una relación, se producirá una relación por cada DF.

Es decir, en el caso de Intendentes, habrá en total, 3 relaciones.

¿Como deben quedar estas

tablas al añadir la llave primaria Id?

Page 25: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

4.4 Segunda Forma Normal (2NF)

Page 26: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

4.4 Segunda Forma Normal (2NF)

Ejercicio:

Un taller de servicio de autos requiere llevar un control de los servicios que realiza a los vehículos de los clientes.

Los datos a registrar son los de la tabla siguiente:

Se debe hacer el diagrama de Dependencias Funcionales, convertir a 2NF y añadir las llaves identidad correspondientes.

Page 27: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

4.4 Segunda Forma Normal (2NF)

ClaveServicio

NumSerieAuto MarcaAuto TipoAuto

DescripcionServicio

ClaveCliente

FechaIngrServ

FechaEntrega

ModeloAuto

PrecioServicio

NombreCliente

PlacasAuto

Llave única:ClaveCliente+fechaIngresoServicio+ClaveServicio+NumSerieAuto

Page 28: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

A partir de la tabla Intendentes del ejemplo anterior (que mostramos aquí arriba), ¿que cambios tendríamos que hacer para categorizar a los intendentes de acuerdo a su experiencia y productividad?.

Todos los empleados de cierta categoría, ganarán el mismo sueldo.

Cada empleado solo puede pertenecer a una categoría.

Dos diferentes categorías pueden tener el mismo sueldo.

Las categorías son A, B, C, etc., siendo la categoría A la mayor.

4.5 Dependencias Transitivas y 3ª Forma Normal

Las organizaciones cambian constantemente, como consecuencia también sus datos.

Page 29: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

4.5 Tercera Forma Normal

Esta relación está en 2NF ya que la llave única consta de solo un atributo y por lo tanto no puede haber dependencias parciales.

Page 30: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

4.5 3ª Forma Normal

curp

nombre

categoría

sueldo

Dependencia Transitiva

Curp sueldo transitivamente.

(es decir, curp categoría y

categoría sueldo), además de

determinarlo en forma directa.

Diagrama de Dependencias Funcionales

Page 31: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

4.5 Tercera Forma Normal

Esta relación tiene las mismas anomalías que ya describimos antes, pero no es por dependencia parcial sino por dependencia transitiva:

Inserción. No se puede Añadir una categoría si no hay ningún intendente que se haga acreedor a ella.

Actualización. Hay redundancia en los sueldos, si se va a aumentar el sueldo correspondiente a una categoría hay que modificar muchas tuplas.

Si todos los empleados de la categoría B suben a A, no sabríamos cual es el sueldo correspondiente a la categoría B.

Borrado. Si todos los empleados que tienen categoría C son eliminados, no sabríamos cual es el sueldo correspondiente a la categoría C.

Page 32: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 32

4.5 Tercera Forma Normal

La dependencia transitiva indica que debemos crear una nueva tabla, y ya creada, se hace innecesario el atributo sueldo en la tabla Intendentes. En ese momento desaparecerá la dependencia directa Curpsueldo.

curp

nombre

categoría

sueldo

Page 33: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

4.5 Tercera Forma Normal

Relaciones en 3NF:

Page 34: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 34

4.5 Tercera Forma Normal

Para que una relación esté en 3NF, primero debe estar en 2NF.

Por lo tanto, si una relación está en 2NF y no hay dependencias transitivas, también está en 3NF, (vea las tablas de la página 22).

Page 35: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 35

4.6 Forma Normal de Boyce-Codd

Las Formas Normales son definiciones que permiten identificar errores de diseño que producen anomalías.

Las definiciones previas son insuficientes para ciertos casos.

Igualmente las definiciones previas son acumulativas, por ejemplo, para que una tabla se encuentre en 3NF debe estar en 2NF y no debe haber dependencias transitivas.

Page 36: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 36

4.6 Forma Normal de Boyce-Codd

Considere como ejemplo la siguiente relación diseñada por el Jefe de Actividades Extraescolares del ITD, en la que registra que deportes practican los estudiantes y quien es su entrenador correspondiente:

Algunas de las Reglas de Negocio se indican en seguida:• Un entrenador solo puede entrenar un deporte• Puede haber más de un entrenador para un mismo deporte, y• Un alumno solo puede tener un entrenador para un mismo deporte.• Un Alumno puede practicar varios deportes.

Page 37: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 37

4.6 Forma Normal de Boyce-Codd

Llaves únicas de la Relación DeportesAlumnos:

Alumno + DeporteAlumno + Entrenador

Alumno

Deporte

Entrenador

Page 38: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 38

Diagrama de Dependencias Funcionales

• Está en 2NF porque no hay dependencias parciales (todos son atributos primos y la definición habla de atributos no primos).

• Está en 3NF ya que no hay dependencias transitivas (conociéndose al alumno y deporte se conoce al entrenador, por lo que la DF EntrenadorDeporte no es transitiva).

• Aunque está en 3NF tiene anomalías por lo que se creó una nueva definición (BCNF) para identificarlas.• Si un estudiante está inscrito a un deporte pero ese deporte no tiene

asignado aun un instructor, se obliga a añadir un valor NULO en Instructor.

• Se produce una anomalía similar en caso de que no haya alumnos inscritos a un deporte en particular, en tal caso existiría la obligatoriedad de añadir un valor NULO en Alumno.

• Las relaciones en 3NF también están en BCNF cuando todas las llaves candidatas se componen de solo un atributo.

Alumno

Deporte

Entrenador

4.6 Forma Normal de Boyce-Codd

Page 39: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 39

Llaves únicas:Alumno + DeporteAlumno + Entrenador

Una relación no se encuentra en Forma Normal de Boyce-Codd si se cumplen estas tres condiciones:

• Hay más de una llave única.• Las llaves únicas de la relación son llaves compuestas (se componen de

más de un atributo).• Las llaves no son disjuntas, es decir, algunos de los atributos en las llaves

son comunes.

La siguiente es otra definición de la Forma Normal de Boyce-Codd:Una relación está en BCNF si los únicos determinantes son llaves únicas.

Para el ejemplo que se acaba de estudiar, Entrenador es un determinante y no es llave única, por lo que se comprueba que la relación no está en BCNF.

Alumno

Deporte

Entrenador

4.6 Forma Normal de Boyce-Codd

Page 40: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 40

Alumno

Deporte

Entrenador

4.6 Forma Normal de Boyce-Codd

Entrenador Deporte es la

DF que viola la Forma Normal Boyce-Codd ya que Entrenador no es llave única.Esta dependencia funcional ocasiona una tabla.

Dependencias funcionales:

Alumno+Deporte EntrenadorEntrenador Deporte

Page 41: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 41

Alumno

Deporte

Entrenador

4.6 Forma Normal de Boyce-Codd

Ya que Deporte es el atributo dependiente en la dependencia funcional EntrenadorDeporte, una vez creada la tabla correspondiente, ese

altributo se eliminará de la tabla original. Observe que ambas tablas estarán en BCNF.

Llave única: EntrenadorLlave única: Alumno+Entrenador

Page 42: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 42

4.6 Forma Normal de Boyce-Codd

A continuación se muestran las tablas definitivas, incluyendo sus llaves identidad.

Se ilustran también las tablas Alumnos y Entrenadores (obviamente deben contener más atributos).

Llave única: idEntrenadorLlave única: idAlumno+idEntrenador

Page 43: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 43

4.7 Cuarta Forma Normal

Se debe recordar que la teoría de Normalización del Modelo Relacional se creó por la costumbre de crear tablas añadiendo atributos o la necesidad de importar tablas creadas por otros que no tienen los conocimientos suficientes en el diseño de BD.

El Modelo Relacional provee principios para contribuir a eliminar las anomalías que se presentan por la redundancia en tablas mal diseñadas.

Las normas estudiadas hasta ahora sirven en muchos casos, pero en otros, son insuficientes; la 4NF proporciona más elementos para identificar un diseño incorrecto.

Page 44: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 44

4.7 Cuarta Forma Normal

Llave única: Maestro+Materia+ISBNTexto

Esta relación indica cuales profesores

están capacitados para impartir cuales

materias y cuales son los textos básicos

correspondientes a cada una de ellas.

De acuerdo a la definición de BCNF, si una

relación es “toda llave” (la llave única se

compone de todos los atributos de la

tabla), entonces está normalizada.

Sin embargo, hay anomalías, por ejemplo:

Inserción y Eliminación.

Si no hay al menos un maestro capaz de impartir cierta materia, no se puede conservar información de los textos asociados correspondientes a la materia.

No puede haber información respecto a que profesores pueden impartir cierta materia si tal materia no tiene al menos un texto asociado.

Page 45: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 45

Cuarta Forma Normal

En casos como éste, la teoría de las DF no es suficiente ya que un conjunto de atributos A determina a muchos B.

Dependencias Multivaluadas.

Sea R el esquema de una relación, y R y R. La dependencia multivaluada

se cumple para R si cualquier instancia de la relació, para todos los pares de

tuplas t1 y t2 en r tales que t1[] = t2[], existen las tuplas t3 y t4 en r tales que:

t1[] = t2 [] = t3[] = t4[]

t3[] = t1[]

t3[R - ] = t2[R - ]

t4[] = t2[]

t4[R - ] = t1[R - ]

En nuestro caso al menos hay dos DMV: Maestro Materia

Materia IsbnTexto

Page 46: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 46

Cuarta Forma Normal

Maestro Materia

t1[] = t2 [] = t3[] = t4[]

t1[Maestro] = t2[Maestro] = t3[Maestro] = t4[Maestro]

t3[] = t1[]

t3[Materia] = t1[Materia]

t3[R - ] = t2[R - ]

t3[Maestro+IsbnTexto] = t2[Maestro+IsbnTexto]

t4[] = t2[]

t4[Materia] = t2[Materia]

t4[R - ] = t1[R - ]

t4[Maestro+IsbnTexto] = t1[Maestro+IsbnTexto]

Recordar que las tuplas pueden cambiar de orden sin perderse el significado de la tabla, por lo que se pueden reordenar para denominarlas t1,t2,t3,t4 y hacer esta verificación.

Page 47: Normalización - felipealanis.org20ITD/Fundamentos%20de... · 4.6 Forma Normal de Boyce-Codd 4.7 Cuarta Forma Normal. 4.1 Conceptos Básicos Ejercicio para los Alumnos: Usando Excel

Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 47

Cuarta Forma NormalPor lo tanto, debe haber manera de detectar que no se encuentra

normalizada.

Definición informal de 4NF:

Debe estar en BCNF y solo debe tener una dependenciamultivaluada.

La Definición de 4NF establece una forma de detectar que una relación no se encuentra normalizada, sin embrago el diseñador, de manera intuitiva puede observar que la relación debe normalizarse.

Una relación por cada DMV:Maestro Materia

Materia ISBNTexto