NORMALIZACIÓN
1.
Definición.
La
normalización es una técnica que se utiliza para crear relaciones lógicas apropiadas
entre tablas de una base de datos. La normalización se adoptó porque el viejo
estilo de poner todos los datos en un solo lugar, como un archivo o una tabla
de la base de datos, era ineficiente y conducía a errores de lógica cuando se
trataba de manipular los datos. El proceso de normalización parte de las formas
normales definidas por Edgar Frank Codd (1970) creador de las bases de datos relacionales.
Primeramente, Codd formuló las tres primeras formas normales(1FN, 2FN, 3FN);
posteriormente, unas anomalías detectadas forzaron a crear una forma normal más
completa que la 3FN, es la FNBC (forma normal de Boyce y Codd), después Fagin
definió la 4FN y 5FN. La normalización es el
proceso mediante el cual se transforman datos complejos a un conjunto de
estructuras de datos más pequeñas, que además de ser más simples y más
estables, son más fáciles de mantener. Los seres humanos tenemos la tendencia
de simplificar las cosas al máximo. Lo
hacemos con casi todo, desde los animales hasta con los automóviles. Vemos una
imagen de gran tamaño y la hacemos más simple agrupando cosas similares juntas.
Las guías que la normalización provee crean el marco de referencia para
simplificar una estructura de datos compleja. La normalización se utiliza para
mejor el esquema lógico, de modo que satisfaga ciertas restricciones que eviten
la duplicidad de datos. Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando
Buenaño Un Enfoque Práctico para Aprendizaje en el Aula 76 Objetivos de la
Normalización Minimizar la redundancia Minimizar el mantenimiento de datos Minimizar
el impacto de futuros cambios (anomalías de actualización y anomalías de
borrado) de de datos, e ingreso de información (anomalías de inserción
Existen 5 Formas
Normales:
· Primera Forma Normal (1FN)
· Segunda Forma Normal (2FN)
· Tercera Forma Normal (3FN)
· Forma Normal de Boyce Codd(FNBC)
· Cuarta Forma Normal (1FN)
· Quinta Forma Normal (1FN)
Cada una de estas formas tiene sus propias reglas.
En general, las primeras tres formas normales son
suficientes para cubrir las necesidades de la mayoría de las bases de datos. Antes
de iniciar con la teoría referente a normalización es necesario conocer los conceptos
de Dependencias Funcionales, los mismos que se utilizarán en la teoría de
Normalización.
2.
Dependencias Funcionales.
Codd introdujo el concepto de dependencia funcional como:
"Dados dos atributos A y B de una relación R, se dice
que B es funcionalmente dependiente de A, si para cada valor de A existe un
valor
De B, y sólo uno, asociado con él”. En otros términos, se
puede decir que si dos tuplas de una
relación R tienen el mismo valor en el atributo A deben tener el mismo valor en
el atributo B. O dicho de otro modo, si conocemos el valor de A podemos conocer
el valor de B. Definición. Un atributo B de un esquema de relación R depende funcionalmente
de un atributo A de R, si y sólo si, cada valor de A está asociado con un único
valor de B. Es decir, dado un valor de A queda unívocamente determinado el
valor de B. Se dice que B depende funcionalmente de A, y que A determina
funcionalmente a B. Tanto A como B pueden ser atributos simples o compuestos Suponga
que tiene R = {A1, A2, A3, An} , R es una relación y A es un conjunto de
atributos. Sea X, Y subconjuntos de A.
Notación DF: X á Y Se lee: X determina o implica Y Y
depende funcionalmente de X Si y sólo si cada valor de X tiene asociado en todo
momento un Único valor de Y
Donde: X es el determinante Y es el implicado X e Y se les
dice Descriptores. Un determinante es un conjunto del que depende
funcionalmente otro conjunto de atributos llamado implicado.
Ejemplo:
CI_estudiante àNombre_estudiante
Las CI del estudiante determina el nombre del estudiante. Dos
descriptores son equivalentes cuando X à Y ٨ Y àX.
Ejemplo:
CI_ estudiante àNum_Carnet_estudiante y
Num_Carnet _estudiante àCI_estudiante
Notación:
X à Y ó bien, X1, Xn àY1,…, Ym n,m >=1
Axiomas de Amstrong
Conjunto de dependencias, que permite encontrar otras
dependencias
implicadas por ellas, las cuales son consistentes y
completas. Los axiomas de Armstrong son consistentes y completos Los Axiomas de
Armstrong son más bien reglas de inferencia. Estas reglas permiten deducir
todas las dependencias funcionales que tienen lugar a un conjunto dado de
atributos que se dan a partir del conocimiento del problema. Reflexividad Los
valores de X y Y que son un conjunto de atributos Y están incluidos o son
iguales a los conjuntos de atributos X, entonces se cumplen que Y depende
funcionalmente de X. Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando
Buenaño Un Enfoque Práctico para Aprendizaje en el Aula 79 Es decir que matemáticamente es: (Y èX) è(X
èY)
Por ejemplo
(Cod_Pais èCod_Cap) è( Cod_Cap èCod_Pais)
Siendo Cod_Pais el código del Pais y Cod_Cap el código de
la Capital.
Aumentatividad Si el
conjunto de atributos Y depende funcionalmente de X, entonces dicha dependencia
se mantiene aunque se añada un atributo a ambos conjuntos. Es decir, si:
(X è Y) è(X.Z è Y.Z)
Por ejemplo si:
ci ènombre
ci,dirección è nombre,dirección
Si con ci se determina el nombre de una persona, entonces
con ci más la
dirección también se determina el nombre o su dirección.
Transitividad
Estos problemas fundamentales, son:
• Cierre de un conjunto de dependencias.
• Equivalencia lógica de esquemas.
• Deducción de dependencias.
• Cierre de un descriptor respecto de un conjunto de
dependencias.
• Cálculo de las claves de un esquema
Tipos de Dependencias
Funcionales
· Dependencia Funcional Completa
· Un atributo B de R tiene dependencia funcional completa de
un atributo A
· De una relación R, si tiene dependencia funcional de A pero
no tiene
· Dependencia funcional de ningún subconjunto de A.
· Dependencia Funcional Multivaluada
·
3. PRIMERA FORMA NORMAL
La regla de la
Primera Forma Normal establece que las columnas repetidas
Deben eliminarse
y colocarse en tablas separadas. Poner la base de datos en la Primera Forma
Normal resuelve el problema de los encabezados de columna múltiples. Muy a
menudo, los diseñadores de bases de datos inexpertos harán algo similar a la
tabla no normalizada. Una y otra vez, crearán columnas que representen los
mismos datos. La normalización ayuda a
clarificar la base de datos y a organizarla en partes más pequeñas y más
fáciles de entender. En lugar de tener que entender una tabla gigantesca y
monolítica que tiene muchos diferentes aspectos, sólo tenemos que entender los
objetos pequeños y más tangibles, así como las relaciones que guardan con otros
objetos también pequeños. Si una relación no está en 1FN, hay que eliminar de
ella los grupos repetitivos. Un grupo repetitivo será el atributo o grupo de
atributos que tiene múltiples valores para cada tupla de la relación. Por Ejemplo:
En la siguiente tabla se encuentran los
datos del alquiler de diferentes películas. Esta tabla se encuentra en Forma
Normal 0. (Totalmente Desnormalizada).
3.1.
Segunda Forma Normal
Una tabla se dice que está en
2FN si y sólo si cumple dos condiciones:
1) Se encuentra en 1 FN
Análisis y Diseño de Bases de
Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para
Aprendizaje en el Aula 88
2) Todo atributo secundario
(aquéllos que no pertenecen a la clave
Principal, los que se
encuentran fuera de la caja) depende totalmente (tiene una dependencia
funcional total) de la clave completa y, por tanto, no de una parte de ella.
Esta forma normal sólo se considera si la clave principal es compuesta y, por
tanto, está formada por varios atributos. Si la clave principal de la tabla
está formada por un único atributo, entonces la tabla ya se encuentra en 2FN.
Si una tabla T tiene como atributos A, B, C, D y la clave es A.B cumpliéndose
las dependencias:
A.B——> C
B——> D
Se observa que la tabla no se
encuentra en 2FN puesto que el atributo D no tiene una dependencia funcional
total con la clave entera A.B, sino con una parte de la clave (B). Para
convertir una tabla que no está en segunda forma normal a 2FN, se realiza una
proyección y se crea:
1) Una tabla con la clave y
todas sus dependencias totales con los
Atributos secundarios
afectados
2) Otra tabla con la parte de
la clave que tiene dependencias, junto con los atributos secundarios implicados
La clave de la nueva tabla será la antigua parte de la clave. En nuestro
ejemplo, tendremos que se va a crear una tabla con los datos de las Películas:
3.2.
Tercera Forma Normal.
Una tabla se dice que está en
tercera forma normal si y sólo si se cumplen dos condiciones:
1) Se encuentra en 2FN
2) No existen atributos no
primarios que son transitivamente dependientes de cada posible clave de la
tabla. Esto quiere decir que un atributo secundario sólo se debe conocer a
través de la clave principal o claves secundarias de la tabla y no por medio de
otro atributo no primario. Por tanto, para pasar una tabla que no cumple la
tercera forma normal a 3FN, se realiza una proyección y se genera:
1) Una tabla con la clave y
todos los atributos no primarios que no son transitivos
2) Otra tabla con los
atributos transitivos y el atributo no primario (que será la clave de la nueva
tabla) por medio del cual mantienen la transitividad Lógicamente, en la primera
tabla TI, el atributo C es clave ajena con respecto de T2 y de ese modo todos
los atributos quedan relacionados entre sí. Es lo que se denomina interrelación
entre la tabla TI y T2.
3.3.
Cuarta Forma Normal.
La 4FN la generó Fagin tras
el teorema que demostró y que dice:
"Una tabla T con atributos A, B y C se puede
descomponer sin pérdidas en sus dos proyecciones T1(A,B) y T2(A,C) si y solo si
la Dependencia Multivaluada A B | C se cumple en T" De ese modo, se define
la 4FN de la siguiente forma:
Una tabla T se dice que está en 4FN si cumple dos
condiciones:
1) Está en FNBC.
2) Las únicas Dependencias Multivaluadas existentes son las
dependencias Funcionales de la clave con los atributos secundarios.
3.4.
Quinta Forma Normal.
Para que una tabla se encuentra en 5FN se deben cumplir dos condiciones:
1) Se encuentra en 4FN
2) Toda Dependencia de Join viene implicada por las claves
(principal o secundarias) de la tabla. Es decir, que la tabla estará en 5FN si
es posible generar unas proyecciones y al realizar su join, los atributos
comunes que realizan la operación (atributos de join) están formados por claves
(principal o secundarias) de la tabla.
4.
RESUMEN
El proceso de
normalización consiste: 1. Comprueba que cada tabla tiene un número fijo de
columnas y las variables son sencillas (atómicas) 2. Identifica la clave
primaria 3. Comprueba que todos los atributos (menos la clave primaria) depende
de TODA la clave no de PARTE de ella. 4. Si existe dependencia parcial rompe la
relación en varias subrelaciones. 5. Comprueba que todos los atributos dependen
de la clave y no de otros atributos (dependencias transitivas) 6. Si existe
dependencias no relacionadas con la clave primaria subdivide las tablas-
5.
CONCLUSIONES
Algunos de los aspectos que hemos podido
percibir en este trabajo es todo lo que tenemos que tener en cuenta ciertos
tramites a partir de realizar un sistema con base datos, y que por ejemplo los
puntos importantes de este tema es los diversos factores a tener en cuenta para
realizar una buena base de datos y mantenerla de una forma adecuada como
diseñar una base de datos de una manera que la información que se maneje sea
precisa, dar mantenimiento, darle una seguridad a la información de que el peso
de la información no perjudique al sistema o pueda generar problemas.
6.
APRECIACIÓN DEL EQUIPO
Este tema es de gran importancia en la
cual hemos podido aprender muchos factores principales que debemos hacer cuando
tengamos en frente a realizar una base de datos.
VIDEO
DIAPOSITIVA http://es.slideshare.net/JorgeParedesToledo/normalizacin-62744140
VIDEO
DIAPOSITIVA http://es.slideshare.net/JorgeParedesToledo/normalizacin-62744140
7.
LINKOGRAFÍA
§ Normalización a una base de datos, Sábado 04 de Mayo del 2016,
metamodel . Recuperado de,
https://metamodel.wordpress.com/2011/03/09/normalizacion-de-bases-de-datos-relacionales/
§
5FN de base de datos,
Sábado 04 de Mayo del 2016, wikihow Recuperado de, http://es.wikihow.com/normalizar-datos
·
Excelente trabajo. Por favor plantee 3 CONCLUSIONES y 3 RECOMENDACIONES.Gracias por su aporte de investigación. Saludos.
ResponderEliminar