Post on 29-Mar-2020
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:
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)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
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.