Sunteți pe pagina 1din 12

Algoritmos de descomposicin

Primera Forma Normal


Descripcin -Una relacin es primera forma normal si y solo si sus tuplas (filas) contienen valores atmicos, es decir, no contienen valores que a su vez sean conjuntos. -En resumen, que todos los atributos (columnas) deben tener todos sus valores, o lo que es lo mismo, no debe haber celdas en blanco.

Ejemplo: Suponga que un diseador principiante desea guardar los nombres y los nmeros telefnicos de los clientes. Procede a definir una tabla de cliente como la que sigue:

Cliente
ID Cliente 123 456 Nombre Rachel James Apellido Ingram Wright Telfono 555-861-2025 555-403-1659

789

Cesar

Dure

555-808-9633

En este punto, el diseador se da cuenta de un requisito para guardar mltiples nmeros telefnicos para algunos clientes. Razona que la manera ms simple de hacer esto es permitir que el campo "Telfono" contenga ms de un valor en cualquier registro dado:

Cliente ID Cliente 123 456 789 Nombre Rachel James Cesar Apellido Ingram Wright Dure Telfono 555-861-2025 555-403-1659 555-776-4100 555-808-9633

El diseador puede evitar esta restriccin definiendo mltiples columnas del nmero telefnico:

Cliente

ID Cliente
123 456 789

Nombre
Rachel James Cesar

Apellido
Ingram Wright Dure

Telfono 1
555-861-2025 555-403-1659 555-808-9633

Telfono 2
555-776-4100

Telfono 3

Sin embargo, esta representacin hace uso de columnas que permiten valores nulos, y por lo tanto no se conforman con la definicin de la 1NF de Date. Incluso si se contempla la posibilidad de columnas con valores nulos, el diseo no est en armona con el espritu de 1NF. Telfono 1, Telfono 2, y Telfono 3, comparten exactamente el mismo dominio y exactamente el mismo significado; el dividir del nmero de telfono en tres encabezados es artificial y causa problemas lgicos. Un diseo conforme con 1FN, Un diseo que est inequvocamente en 1FN hace uso de dos tablas: una tabla de cliente y una tabla de telfono del cliente.

Telfono del cliente Cliente ID Cliente Telfono 555-861-2025 555-403-1659 555-776-4100 555-808-9633

ID Cliente
123 456 789

Nombre
Rachel James Cesar

Apellido
Ingram Wright Dure

123 456 456 789

En este diseo no ocurren grupos repetidos de nmeros telefnicos. En lugar de eso, cada enlace Cliente-a-Telfono aparece en su propio registro

Segunda Forma Normal


Descripcin -Una relacin es segunda forma normal si y solo si: -Es primera forma normal. -Cualquier atributo (columna) no perteneciente a una clave (primaria o extranjera) tiene dependencia funcional total de la clave primaria, es decir, que a cada valor de dicho atributo solo le corresponde un valor de la clave primaria.

Ejemplo: Considere una tabla describiendo las habilidades de los empleados:

Habilidades de los empleados Empleado Jones Habilidad Mecanografa Lugar actual de trabajo 114 Main Street

Jones
Jones Bravo Ellis

Taquigrafa
Tallado Limpieza ligera Alquimia

114 Main Street


114 Main Street 73 Industrial Way 73 Industrial Way

Ellis
Harrison

Malabarismo
Limpieza ligera

73 Industrial Way
73 Industrial Way

La nica clave candidata de la tabla es {Empleado, Habilidad}. El atributo restante, Lugar actual de trabajo, es dependiente solo en parte de la clave candidata, llamada Empleado. Por lo tanto la tabla no est en 2NF. Un alternativa 2NF a este diseo representara la misma informacin en dos tablas:

Empleados Empleado Jones Bravo Ellis

Lugar actual de trabajo


114 Main Street 73 Industrial Way 73 Industrial Way Habilidades de los empleados Empleado Jones Jones Jones Bravo Ellis Ellis Harrison Habilidad Mecanografa Taquigrafa Tallado Limpieza ligera Alquimia Malabarismo Limpieza ligera

Harrison

73 Industrial Way

Tercera Forma Normal


Descripcin -Una relacin es tercera forma normal si y solo si: -Es segunda forma normal.

-Los atributos (columna) no pertenecientes a una clave (primaria o extranjera) son mutuamente independientes funcionalmente.
Ejemplo Un ejemplo de una tabla 2NF que falla en satisfacer los requerimientos de la 3NF es:

Ganadores del torneo Torneo Indiana Invitational Cleveland Open Ao 1998 1999 Ganador Al Fredrickson Bob Albertson Al Fredrickson Chip Masterson Fecha de nacimiento del ganador 21 de julio de 1975 28 de septiembre de 1968 21 de julio de 1975 14 de marzo de 1977

Des Moines Masters 1999 Indiana Invitational 1999

La nica clave candidata es {Torneo, Ao}. La violacin de la 3NF ocurre porque el atributo no primario Fecha de nacimiento del ganador es dependiente transitivamente de {Torneo, Ao} va el atributo no primario Ganador. Para expresar los mismos hechos sin violar la 3NF, es necesario dividir la tabla en dos:

Fecha de nacimiento del jugador

Ganador
Chip Masterson Al Fredrickson Bob Albertson

Fecha de nacimiento
14 de marzo de 1977 21 de julio de 1975 28 de septiembre de 1968 Ganadores del torneo Torneo Indiana Invitational Cleveland Open Des Moines Masters Indiana Invitational Ao 1998 1999 1999 1999 Ganador Al Fredrickson Bob Albertson Al Fredrickson Chip Masterson

Cuarta Forma Normal


Descripcin -Una relacin es cuarta forma normal si y solo si: -Es forma normal de BCNF. -Para toda la dependencia multivalor todos los atributos (columna) distintos de A dependen funcionalmente de A, es decir, A es clave. -Es decir, si la relacin es BCNF y las nicas dependencias multivalor permitidas son las definidas sobre las claves candidatas, entonces se cumple. Ejemplo:

Permutaciones de envos de pizzas


Restaurante Vincenzo's Pizza Variedad de Pizza Corteza gruesa rea de envo Springfield

Vincenzo's Pizza
Vincenzo's Pizza

Corteza gruesa
Corteza fina

Shelbyville
Springfield

Vincenzo's Pizza
Elite Pizza Elite Pizza A1 Pizza A1 Pizza A1 Pizza A1 Pizza A1 Pizza A1 Pizza

Corteza fina
Corteza fina Corteza rellena Corteza gruesa Corteza gruesa Corteza gruesa Corteza rellena Corteza rellena Corteza rellena

Shelbyville
Capital City Capital City Springfield Shelbyville Capital City Springfield Shelbyville Capital City

Cada fila indica que un restaurante dado puede entregar una variedad dada de pizza a un rea dada. Note que debido a que la tabla tiene una clave nica y ningn atributo no-clave, no viola ninguna forma normal hasta el BCNF. Pero debido a que las variedades de pizza que un restaurante ofrece son independientes de las reas a las cuales el restaurante enva, hay redundancia en la tabla.

Para satisfacer la 4NF, debemos poner los hechos sobre las variedades de pizza ofrecidas en una tabla diferente de los hechos sobre reas de envo:

Variedades por restaurante Restaurante Vincenzo's Pizza Vincenzo's Pizza Elite Pizza Elite Pizza A1 Pizza A1 Pizza Variedad de pizza Corteza gruesa Corteza fina Corteza fina Corteza rellena Corteza gruesa Corteza rellena

reas de envo por restaurante Restaurante rea de envo

Vincenzo's Pizza
Vincenzo's Pizza Elite Pizza

Springfield
Shelbyville Capital City

A1 Pizza
A1 Pizza A1 Pizza

Springfield
Shelbyville Capital City

En contraste, si las variedades de pizza ofrecidas por un restaurante a veces variaran de un rea de envo a otra, la tabla original de la tres columnas satisfara la 4NF.

Forma Normal Boyce-Codd


-Aun siendo formas 3 Normal pueden aparecer problemas en una relacin si esta presenta ms de una clave. -Para resolver estos problemas recurrimos a la forma normal de Boyce y Codd (BCNF). -Llamaremos determinante al atributo o conjunto de estos del cual depende funcionalmente algn otro atributo de la relacin. -Se dice que una relacin est en forma normalizada de Boyce y Codd si y solo si cada determinante es unaclave candidata. -Toda forma BCNF es tambin 3 forma normal, pero no a la inversa. Ejemplo Sea la relacin CURSO (Estudiante, Asignatura, Profesor) en la que un profesor solo imparte una nica asignatura. Con la dependencias funcionales siguientes: Estudiante, Asignatura -> Profesor; Profesor -> asignatura la tabla de la relacin CURSO

procedemos a su normalizacin hasta FNBC. Aplicamos la regla de descomposicin sin prdidas a la dependencia que impide la restriccin en FNBC, Asignatura Profesor: PROFE_ASIG(profesor, asignatura) ESTU_PROFE(estudiante, profesor) Quedndonos las tablas:

Slo podemos asegurar una descomposicin sin prdidas para una normalizacin hasta 3FN, a partir de ella no podemos asegurar que no se pierdan dependencias. Si se llega a FNBC y se pierde una dependencia entonces podemos proceder de dos maneras posibles: 1.-Dejamos la normalizacin hasta 3FN. 2.-Rediseamos el entidad-relacin.

S-ar putea să vă placă și