Title | 04 Normalización 3FN y FNBC - 4FN y 5FN |
---|---|
Author | Evard Eredan |
Course | Base de datos 1 |
Institution | Universidad Nacional Arturo Jauretche |
Pages | 18 |
File Size | 556.2 KB |
File Type | |
Total Downloads | 30 |
Total Views | 135 |
Normalizacion...
Normalización 3FN y FNBC – 4FN y 5FN
Apunte de Normalización de Base de Datos
Página 1 de 18
Normalización 3FN y FNBC – 4FN y 5FN INDICE Normalización Normalización .................................................................................................................................................. 3 Descripción normalización analíticamente ................................................................................................. 4 Primera Forma Normal (1FN)......................................................................................................................... 8 Segunda Forma Normal (2FN) ........................................................................................................................ 8 Tercera Forma Normal (3FN) ......................................................................................................................... 9 Tabla No Normalizada (TNN) ....................................................................................................................... 10 Tabla Normalizada Primera Forma Normal (TN1FN) ................................................................................ 10 Tabla Normalizada Segunda Forma Normal (TN2FN) ............................................................................... 10 Tabla Normalizada Tercera Forma Normal (TN3FN) ................................................................................ 11 Forma Normal de Boyce-Codd (FNBC)........................................................................................................ 11 Cuarta Forma Normal (4FN) ......................................................................................................................... 13 Quinta Forma Normal (5FN) ......................................................................................................................... 15 Diagrama del proceso de normalización con las 5 (cinco) Formas Normales ....................................... 18
Página 2 de 18
Normalización 3FN y FNBC – 4FN y 5FN Normalización La información almacenada y redundante desperdicia espacio en el disco y conlleva a problemas de mantenimiento en los procesos de alta, baja, y modificación (“ABM”). Si existe redundancia al modificar los datos existentes en más de un lugar de la base de datos es necesario realizar estos cambios en todas las repeticiones almacenadas. Si deseamos modificar la dirección de un paciente y esta información solamente se encuentra en una sola tabla denominada “Paciente”, es más sencillo de implementar este cambio a diferencia si se almacena esta información en otra tabla como ser “Cirugía” o en cualquier otra tabla del sistema. Podemos comprender al mecanismo de normalización de base de datos relacional como un agregado de reglas técnicas utilizada para la construcción del modelo final, toma como entrada el esquema relacional lógico y aplica estas reglas para producir un nuevo esquema de salida normalizado conteniendo la misma información, pero beneficiándonos con menor redundancia y evitando las posibles anomalías de inserción, borrado y actualización (“ABM”). De esta manera podemos construir diferentes esquemas de datos en sus tres vistas del modelo entidad relación conceptual, lógico y normalizado. Aunque es intuitivo para un usuario mirar en la tabla “Cliente” para buscar la dirección de un cliente en particular, puede no tener sentido mirar allí el salario del empleado que llama a ese cliente. El salario del empleado está relacionado con el empleado, o depende de él, y por lo tanto se debería pasar a la tabla “Empleado”. Las dependencias incoherentes pueden dificultar el acceso a la ruta para encontrar los datos puede no estar. Cada regla de normalización se denomina Forma Normal (FN). Si se cumple con la 1° FN se considera que la base de datos está en la primera forma normal. Si se cumple con la 2° FN se considera que la base de datos está en segunda Forma Normal. Si se cumple con la 3° FN se considera que la base de datos está en tercera Forma Normal. Por lo general la mayoría de las aplicaciones se diseñan hasta la 3°FN, aunque es posible llegar a realizar otros niveles mayores de normalización. 1° FN (Codd, 1970) Concepto de relación normalizada. 2° FN (Codd, 1970), FNBC (Boyce/Codd, 1974) Basadas en análisis de dependencias funcionales. 3° FN (Codd, 1970) y/o FNBC (Boyce/Codd, 1974) Basadas en análisis de dependencias funcionales. 4° FN. Fagin, 1977 • Basada en análisis de dependencias multivaluadas. 5° FN. Fagin, 1979 Página 3 de 18
Normalización 3FN y FNBC – 4FN y 5FN • Basada en análisis de dependencias de proyección /combinación. En el campo real donde se construyen aplicaciones no siempre se cumplen con las técnicas teóricas, porque la normalización implica la creación de tablas adicionales y muchas veces se considera innecesario realizar este trabajo. Pero se deberá considerar que si se vulnera una o más de las tres formas normales se deberá contemplar el aseguramiento de la integridad de datos por las anomalías que pudieran surgir, como ser datos redundantes y dependencias incoherentes. Una base de datos para ser considerada normalizada debe cumplir: 1.
Cada entrada en la tabla representa un dato elemental, no hay elementos multivaluados.
2.
Cada columna contiene datos con el mismo significado.
3.
A cada columna se le asigna un nombre diferente.
4.
El contenido de todas las filas es diferente y no se permiten filas duplicadas. Esto se logra por medio de la creación de una clave primaria para identificar unívocamente una determina fila de la tabla.
Una vez más, se debe revisar con los usuarios el esquema global y la documentación obtenida para asegurarse de la fidelidad de la representación de la empresa. Se detallan a continuación las propiedades de la normalización:
Una base de datos normalizada incluye el mínimo número de atributos necesarios para brindar soporte a los requerimientos del sistema. El resultado de la normalización es facilitar el acceso a los datos y sobre todo mantener el significado de sus contenidos. La redundancia es mínima por los atributos que forman parte de las claves externas, el resto de los atributos se representa una sola vez. Las actualizaciones se consiguen realizar con un número mínimo de operaciones, mejorando la eficiencia de la BD y reduciendo las posibilidades de inconsistencias. Se reduce al mínimo el espacio de almacenamiento reduciendo los costos de operación de la base de datos.
Descripción normalización analíticamente Se analizan las diferentes dependencias funcionales entre atributos (a, b, c, d, e, f, g, h, i, j, k, l, m1, m2, m3, t1, t2, t3, t4) de la Tabla No Normalizada (“TNN”).
El significado del atributo “a” código de empresa.
El significado del atributo “b” legajo del empleado.
El significado del atributo “c” fecha ingreso del empleado.
El significado del atributo “d” razón social de la empresa. Página 4 de 18
Normalización 3FN y FNBC – 4FN y 5FN
El significado del atributo “e” sueldo del empleado.
El significado del atributo “f” cargo del empleado.
El significado del atributo “g” cuit de la empresa.
El significado del atributo “h” categoría del empleado.
El significado del atributo “i” dirección del empleado.
El significado del atributo “j” nombre de la categoría.
El significado del atributo “k” nombre y apellido del empleado.
El significado del atributo “l” código postal del empleado.
El significado del atributo “m” son los e-mails.
El significado del atributo “t” son los teléfonos.
DFTC (Dependencia Funcional Total Clave) Todos los atributos de la Tabla No Normalizada (TNN) dependen de la totalidad de la clave {a, b} {a, b} → {a, b, c, d, e, f, g, h, i, j, k, l, m1, m2, m3, t1, t2, t3, t4} DFPC (Dependencia Funcional Parcial Clave) Algún/os atributo/s de la Tabla No Normalizada (TNN) dependen de uno o más atributos de la clave {a, b}, pero, no de la totalidad de la clave. {a} → {a, d, g} {b} → {b, i, k} DFANC (Dependencia Funcional Atributos No Clave) Algún/os atributo/s de la Tabla No Normalizada (TNN) dependen de uno o más atributos de atributos que no forman parte de clave. {f} → {f, h} {h} → {h, j} {i} → {i , l} AR (Atributos Repetidos) {b} → {m, t}
Página 5 de 18
Normalización 3FN y FNBC – 4FN y 5FN DFPC DFPC
DFPC
DFANC
DFPC
DFANC DFANC
a,
b,
c,
d,
e,
f,
g,
h,
i,
j,
k,
l,
AR
AR
m1, m2, m3, t1, t2, t3, t4
Dependencia Funcional Total Clave (DFTC)
Página 6 de 18
Normalización 3FN y FNBC – 4FN y 5FN ¿Cuáles son los elementos repetidos para E-Mail?
m1
m2
Lucía
m3
Magali
Matías
¿Cuáles son los elementos repetidos para teléfono?
t1
t4
t3
t2
Martín
Romina
Valentina
¿Cuáles son los elementos con dependencia funcional Parcial?
d, g
Martina
k
i
Gonzalo
Sebastián
¿Cuáles son los elementos con dependencia funcional entre atributos no claves?
h con f
Cintia
j con h
Karina
l con i
Fernanda
Página 7 de 18
Normalización 3FN y FNBC – 4FN y 5FN Primera Forma Normal (1FN) Una tabla/relación está en 1FN, primera formal normal, si el valor de cada atributo no se puede descomponer, es decir, contiene valores atómicos. En otras palabras, si en la relación cada intersección de fila-columna contiene un solo valor y no un conjunto de valores repetidos de igual semántica (significado) en el problema y dominio, porque los atributos toman valores distintos para el mismo valor de la clave simple/compuesta. Una tabla/relación está en 1FN sino contiene atributos repetidos. Existen dos maneras para eliminar los grupos repetitivos: −
La primera repite los atributos con un solo valor del grupo repetitivo en distintas tuplas/filas, y además se debe alterar la clave principal añadiéndole el atributo repetido. De este modo se introducen redundancias porque se duplican valores, pero estas redundancias se eliminarán después mediante las restantes formas normales.
−
La segunda manera de eliminar los grupos repetitivos consiste en poner cada uno de los valores repetidos en una nueva relación débil, heredando la clave primaria de la relación en la que se encontraban y concatenándole el atributo múltiple para conformar una única clave compuesta para esta nueva relación.
Segunda Forma Normal (2FN) Una tabla/relación está en 2FN, segunda forma normal, si y solo sí:
Está en 1FN.
Todos sus atributos no participantes de la clave primaria dependen por completo de la clave primaria.
La 2FN se aplica a las tablas/relaciones cuyas claves primarias son compuestas por dos o más atributos. Si una relación está en 1FN y su clave primaria es simple, compuesta por un solo atributo, entonces también está en 2FN. Las relaciones que no están en 2FN pueden sufrir anomalías cuando se realizan actualizaciones. Para pasar una relación en 1FN a 2FN se debe eliminar las dependencias parciales de la clave primaria. Para ello, se eliminan los atributos de la tabla/relación que no son funcionalmente dependientes en la totalidad de la clave primaria, perteneciendo ahora a una nueva relación con su propia clave primaria cuyo atributo o atributos son componentes de la parte de la clave primaria de la tabla/relación inicial.
Página 8 de 18
Normalización 3FN y FNBC – 4FN y 5FN Tercera Forma Normal (3FN) La tabla se encuentra en 3FN si y solo sí:
Está en 2FN.
No existe ninguna dependencia funcional transitiva entre los atributos no participantes de la clave primaria, expresado de otra manera, sucede cuando existen atributos que no sean parte de clave primaria y a su vez dependen de uno o más atributos no participantes de la clave primaria.
En la práctica significa la eliminación del el o los atributos de cualquier tabla/relación que permita llegar a un mismo dato de dos o más formas diferentes. Aunque las relaciones en 2FN tienen menos redundancias que las relaciones en 1FN, todavía pueden sufrir anomalías frente a las actualizaciones. Cuando se desea pasar una relación de 2FN a 3FN se deben substraer las dependencias transitivas. Se eliminan todos los atributos dependi entes transitivamente de un atributo o más atributos no claves de la tabla/relación, perteneciendo ahora a una nueva relación con su correspondiente clave primaria conformada por el atributo o atributos dependientes no claves de la tabla/relación original.
TNN
1° FN
2° FN
Eliminar Atributos Repetidos
Eliminar Dependencias Parciales
Eliminar Dependencias Transitorias
3° FN Página 9 de 18
Normalización 3FN y FNBC – 4FN y 5FN Tabla No Normalizada (TNN) Tabla: TNN a, b, c, d, e, f, g, h, i, j, k, l, m1, m2, m3, t1, t2, t3, t4
Tabla Normalizada Primera Forma Normal (TN1FN) Tabla: TN1FN a, b, c, d, e, f, g, h, i, j, k, l Tabla: TM a, b, m Tabla: TT a, b, t
Tabla Normalizada Segunda Forma Normal (TN2FN) Tabla: TN2FN a, b, c, e, f, h, j Tabla: TM a, b, m Tabla: TT a, b, t Tabla: TA a, d, g Tabla: TB b, i, k, l
Página 10 de 18
Normalización 3FN y FNBC – 4FN y 5FN Tabla Normalizada Tercera Forma Normal (TN3FN) Tabla: TN3FN a, b, c, e, f Tabla: TM a, b, m Tabla: TT a, b, t Tabla: TA a, d, g Tabla: TB b, i, k Tabla: TF f, h Tabla: TH h, j Tabla: TI i, l
Forma Normal de Boyce-Codd (FNBC) Esta técnica también se basa en el concepto de dependencia funcional, asegurando que todas las tablas/relaciones de la base de datos cumplen con le 3FN.
Dependencia: es una restricción de integridad impuesta por el usuario. Se intenta representar propiedades inherentes del contenido semántico de los datos.
Dependencia Funcional: es una conexión entre uno o más atributos de una relación determinando una restricción de integridad. Sean X e Y atributos de un mismo conjunto de entidades (tabla). Se dice qué Y es funcionalmente dependiente de X, y se denota X → Y, si para todo posible valor de X se tiene asociado un único valor de Y.
No puede haber más de una tupla con el mismo valor para X y distintos valores para Y. Una dependencia funcional no puede ser inferida desde el esquema de una relación. Debe ser definida explícitamente por alguien conocedor de la semántica de los atributos de la relación. Página 11 de 18
Normalización 3FN y FNBC – 4FN y 5FN •
X → Y, donde X e Y son atributos de un mismo esquema de relación.
Se dice que una tabla está en FNBC si y solo si está en 3FN y cada dependencia funcional no trivial tiene una clave candidata como determinante. Dado un esquema de tabla/relación R, un conjunto de atributos (X e Y), y un conjunto de dependencias funcionales “F”. La relación R está en FNBC si para cada una de las dependencias funcionales X → Y están en ”F+” y se cumple con una de las siguientes condiciones:
O la dependencia es trivial, el conjunto de atributo Y es un subconjunto de X.
O bien X es una superclave, determina a todos los atributos de la relación.
Es más simple de formular, pero resultó ser más estricta que 3FN. Si un esquema de tablas/relaciones está en BCNF entonces está en 3FN, pero no necesariamente al revés. Una tabla/relación está en FNBC asegurando que no hay redundancia, cuando cada atributo almacena información que no puede ser inferida por los valores de los demás atributos pertenecientes a la misma tabla/relación. Siendo necesario revisar cada una de las dependencias funcionales. Tabla/Relación: Codido_Postal barrio Villa Crespo Chacarita
ciudad CABA CABA
cod_postal 1414 1414
Codido_Postal barrio, ciudad, cod_postal DF: {cod_postal} → { cod_postal, ciudad} Está en FNBC: No Está en 3FN: Sí ¿Cómo deshacerse de la redundancia? La idea es dividir la relación en subesquemas para poder cumplir con todas las propiedades de la cláusula “F+”. Se toma un esquema de relación R y se procede a realizar los siguientes pasos: 1.
Buscar una dependencia funcional X → Y que viole la FNBC.
2.
Descomponer el esquema. 2.1. Un esquema que tenga todos los atributos de R menos los atributos de la derecha de dependencia funcional (R - Y). Página 12 de 18
Normalización 3FN y FNBC – 4FN y 5FN 2.2. Y el otro esquema contiene los atributos de la dependencia funcional (X + Y). 3.
Si algunas de las dos nuevas relaciones o ambas no estás en FNBC repetir el proceso por cada relación que no la cumple desde el paso 1.
¿Cómo se sabe si se ha realizado una buena descomposición? •
Preservación de las dependencias. ✓
•
Si se mantienen todas las dependencias.
Descomposición “sin pérdida” de información. ✓
Si al combinar las instancias no “aparecen” nuevas tuplas.
Cuarta Forma Normal (4FN) Como consecuencia de la 1FN pueden aparecer dependencias multivaluadas las cuales se deberán eliminar. Para que una relación esté en 4FN todo determinante de una dependencia multivaluada debe ser una clave candidata y por tanto una dependencia funcional.
Página 13 de 18
Normalización 3FN y FNBC – 4FN y 5FN Envíos de pizzas Restaurante
Variedades por restaurante
Variedad de Pizza Área de envío
Restaurante
Variedad de pizza
Áreas de envío por restaurante Restaurante
Área de envío
Kentucky pizzeria Corteza gruesa
Palermo
Kentucky pizzeria
Corteza gruesa
Kentucky pizzeria
Palermo
Kentucky pizzeria Corteza gruesa
Belgrano
Kentucky pizzeria
Corteza fina
Kentucky pizzeria
Belgrano
Kentucky pizzeria Corteza fina
Palermo
Las Cañitas
Corteza fina
Pizza Tonno
Las Cañitas
Kentucky pizzeria Corteza fina Pizza Tonno Corteza fina
Belgrano Las Cañitas
Las Cañitas La Continental
Corteza rellena Corteza gruesa
La Continental La Continental
Vicente Lopez Barrio Norte
Pizza Tonno
Corteza rellena
Las Cañitas
La Continental
Corteza rellena
La Continental
Retiro
La Continental
Corteza gruesa
Vicente Lopez
La Continental
Corteza gruesa
Barrio Norte
La Continental La Continental
Corteza gruesa Corteza rellena
Retiro Vicente Lopez
La Continental
Corteza rellena
Barrio Norte
La Continental
Corteza rellena
Retiro
Página 14 de 18
Normalización 3FN y FNBC – 4FN y 5FN Cada fila indica que un restaurante dado puede entregar una vari...