Normalizaciónfelipealanis.org/Cursos%20ITD/Fundamentos%20de%20... · Lo que acabamos de estudiar...

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

Transcript of Normalizaciónfelipealanis.org/Cursos%20ITD/Fundamentos%20de%20... · Lo que acabamos de estudiar...

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

4.1 Conceptos BásicosEjercicio para los Alumnos:

Usando Excel® diseñe hojas de trabajo 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).

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

4.1 Conceptos Básicos

Las BD Relacionales se componen de tablas.

Los datos con que cuenta una organización confrecuencia son manipulados en hojas electrónicascreadas por los propios usuarios, o pueden usarsoftware aunque con esquemas incorrectosdiseñados por personal inexperto.

Si nuestra labor fuera migrar los datos (que laorganización ya posee en hojas electrónicas) hacia unDBMS, debemos asegurarnos de convertir las hojaselectrónicas a tablas SIN ANOMALÍAS. Lo mismo hayque hacer, si tomamos la responsabilidad de una BD(en operación o no) siempre hay que buscaranomalías para corregirlas.

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

Un grupo repetido es un atributoque puede tener múltiples valorespara un mismo valor de la llavecandidata.

Ejemplo: Los usuarios que creansus tablas 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

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

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

2. Los renglones y las columnas deben poder verse en cualquiersecuencia en cualquier momento, sin afectar el contenido de la tabla nisu significado.

La tablas con grupos repetidos (como el caso que se muestraabajo) 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

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

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

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

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

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

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

Lo que acabamos de estudiar es la primera fase de unproceso llamado Normalización.

Una tabla que elimine los problemas de los que hemoshablado, se encuentra en PRIMERA FORMA NORMAL. Hayredundancia y tiene anomalías de Actualización, Inserción yBorrado, pero es una tabla que se puede implementarusando 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

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

2. Inserción:

Las anomalías de inserción se presentan cuando, para añadir una tupla,es indispensable 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

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

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 conanomalías.

No importa si las tablas fueron diseñadas por un usuario o por un Ingenieroen Sistemas; 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

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:

Llave única: Curp+Salon+Dia+Tipo

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.

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, esdecir, en una relación R, conociendo el valor deA, se puede obtener el valor de B.

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

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.

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.

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.

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?

4.4 Segunda Forma Normal (2NF)

4.4 Segunda Forma Normal (2NF)Ejercicio:

Un taller mecánico requiere llevar un control de los servicios que realiza a los vehículos de los clientes.

Los datos se registran en la tabla siguiente:

Determine la llave única; haga el diagrama de Dependencias Funcionales; convierta a 2NF y añada las llaves identidad correspondientes.

4.4 Segunda Forma Normal (2NF)

ClaveServicio

NumSerieAuto MarcaAuto TipoAuto

DescripcionServicio

ClaveCliente

FechaIngrServ

FechaEntrega

ModeloAuto

PrecioServicio

NombreCliente

PlacasAuto

Llave única:ClaveCliente+fechaIngresoServicio+ClaveServicio+NumSerieAuto

Se debe añadir un atributo llamado categoría.

Es un dato arbitrario (asignado por el supervisor).

Todos los empleados de la misma categoría tendrán el mismo sueldo.

Cada intendente solo puede tener una categoría asignada.

Dos diferentes categorías pueden tener el mismo sueldo.

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

¿Que cambios hacer al esquema para considerar esta situación?

4.5 Dependencias Transitivas y 3ª Forma Normal

Las organizaciones cambian constantemente, por lo tanto también sus datos.

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.

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

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.

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

4.5 Tercera Forma Normal

Relaciones en 3NF:

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).

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.

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

4.6 Forma Normal de Boyce-Codd

Considere como ejemplo la tabla AlumnosDeportes diseñada por el DBA, en la que se lleva un control de los deportes que practican los estudiantes y quien es su entrenador:

Las Reglas que aplican se indican en seguida:• Un entrenador solo puede entrenar un deporte• Puede haber más de un entrenador para un mismo deporte.• Un alumno solo puede tener un entrenador para un mismo deporte.• Un Alumno puede practicar varios deportes.

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 AlumnosDeportes:

idAlumno + DeporteidAlumno + idEntrenador

idAlumno

Deporte

idEntrenador

Diagrama de Dependencias Funcionales

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

• 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 tablas que están en 3NF también están en BCNF si todas sus llaves únicas se componen de solo un atributo.

4.6 Forma Normal de Boyce-Codd

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 (ésta definición hace innecesarias las definiciones de 2NF y 3NF).

Para el ejemplo que se acaba de estudiar, Entrenador es un determinante y no es llave única, por eso no está en BCNF.

idAlumno

Deporte

idEntrenador

4.6 Forma Normal de Boyce-Codd

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

idAlumno

Deporte

idEntrenador

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

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

idAlumno

Deporte

idEntrenador

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 atributo

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

Llave única: idEntrenador Llave única: idAlumno+idEntrenador

Observe que a estas tablas falta añadir su llave identidad. Enseguida se muestran

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.

Llave única: idEntrenador

Llave única: idAlumno+idEntrenador

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

4.7 Cuarta Forma Normal

La Normalización es un análisis útil porque en la práctica, se crean o modifican esquemas añadiendo atributos arbitrariamente o se presenta la necesidad de trabajar con tablas creadas por otros.

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.

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

4.7 Cuarta Forma Normal

Llave única:

idMaestro + idMateria + idLibroTexto

Esta relación indica qué profesores impartencuales materias y además los libros detexto correspondientes.

Como la llave única de esta tabla secompone de todos los atributos, está enBCNF (tiene que haber 2 llaves únicaspara que no cumpla).

Sin embargo hay anomalías:

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.

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

Cuarta Forma Normal

Dependencias Multivaluadas.

Un conjunto de atributos A determina a muchos B.

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

Cuarta Forma Normal

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.

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

Cuarta Forma Normal

Definición informal de 4NF:Debe estar en BCNF y solo debe tener una

dependencia multivaluada.

Una tabla por cada DMV:idMaestro idMateriaidMateria idLibroTexto