Formas normales

Solo disponible en BuenasTareas
  • Páginas : 6 (1365 palabras )
  • Descarga(s) : 0
  • Publicado : 25 de mayo de 2011
Leer documento completo
Vista previa del texto
FORMAS NORMALES
TEMARIO: 1. 2. 3. 4. 5. Primera Forma Normal (1FN) Segunda Forma Normal (2FN) Tercera Forma Normal (3NF) Forma Normal Boyce-Codd (FNBC) Resumen

Elaborado por: Ing. Heber Abanto Cabrera / Mayo 2011
ICSI, INSO e INTE 2011-10

Formas Normales
La normalización es un procedimiento en el diseño de una base de datos relacional que tiene como objetivo la conversión de esquemasrelacionales en una forma más conveniente. El objetivo es eliminar la redundancia en las relaciones y los problemas que se derivan de ella, es decir, la inserción, eliminación y actualización de anomalías. Las formas normales progresan hacia la obtención de un diseño óptimo. La normalización es un proceso gradual, donde cada paso transforma los esquemas relacionales en una forma normal superior.Cada forma normal contiene todas las formas previas normales y una optimización adicional sobre ellas.

ICSI, INSO e INTE 2011-10

1. Primera Forma Normal
Una relación se considera en la primera forma normal si todos sus atributos tienen dominios que son indivisibles o atómicos. La idea de valores atómicos para el atributo asegura que no hay "grupos repetitivos". Esto se debe a un sistemagestor de base de datos relacional es capaz de almacenar un solo valor en la intersección de una fila y una columna. Los grupos repetitivos son cuando tratamos de almacenar varios valores en la intersección de una fila y una columna, y una tabla que contiene dicho valor no es estrictamente relacional. De acuerdo a la definición ampliada de C.J. Date, "Una tabla está en 1FN si y sólo si satisface lassiguientes cinco condiciones: • No existe un ordenamiento de arriba a abajo para las filas. • No existe un ordenamiento de izquierda a derecha para las columnas.

ICSI, INSO e INTE 2011-10

Primera Forma Normal … • No hay filas duplicadas. • Cada intersección de fila y columna contiene exactamente un valor del dominio de aplicación (y nada más). • Todas las columnas son regulares [es decir,las filas no tienen componentes ocultos, tales como identificadores de fila, identificadores de objeto, o marcas de tiempo ocultas]. “ Una columna que almacena "Los familiares de una familia", por ejemplo, no es un atributo de valor atómico ya que se refiere a un conjunto de nombres. Mientras que una columna, como Número de Empleado, que no se puede dividir aún más es un valor atómico.

ICSI, INSOe INTE 2011-10

Primera Forma Normal …
Ejemplo. Considere la siguiente tabla que muestra la relación Película. En la relación, {Movie_Title, Year} forman una clave candidata.

Tabla 1 - Relación No-Normalizada Película

La relación anterior no está en 1FN y ni siquiera es estrictamente relacional. Esto es porque contiene el atributo de Actores con valores que pueden ser divisibles.ICSI, INSO e INTE 2011-10

Primera Forma Normal …
Con el fin de convertirlo a una relación en 1FN, descomponemos la tabla en la Tabla Película y la Tabla Reparto como se muestra en la Figura 1

Figura 1 - Convirtiendo a 1FN. Ejemplo de una relación en 1FN

ICSI, INSO e INTE 2011-10

Primera Forma Normal …
En la figura 1, la intersección de cada fila y columna en cada tabla tiene ahora unvalor atómico que no se puede dividir más y por lo tanto la descomposición ha producido una relación en 1FN, asumiendo que el nombre de actor en la columna Actores no es divisible más como 'nombre' y 'apellido'.

ICSI, INSO e INTE 2011-10

2. Segunda Forma Normal
Una relación está en segunda forma normal cuando está en 1FN y no existe ningún atributo no clave que dependa en parte de la clavecandidata, sino que dependa en toda la clave candidata. Se deduce de la definición anterior de que una relación que tiene un atributo único como clave candidata está siempre en 2FN. Ejemplo. Para normalizar la anterior relación película en 1NF , tratamos de convertirla en 2FN eliminando cualquier tipo de dependencia parcial en la clave candidata. En lo anterior, Yr_releases_cnt depende de Year....
tracking img