Está en la página 1de 30

NORMALIZACIÓN

MSc. Vladimir A. Peña S.


Normalización

En los modelos de bases de datos relacionales, la normalización es el proceso de organizar los datos para

reducir al mínimo la duplicación. La normalización generalmente implica el proceso de dividir una base de

datos en dos o más tablas y de definir las relaciones entre ellas.

La normalización se refiere al proceso de crear una estructura de base de datos relacional eficiente,

confiable, flexible y apropiada para almacenar información. Este proceso de organizar los datos en tablas y

de definir relaciones entre ellas, se denomina normalización. La estructura relacional en este contexto se

refiere a la manera en que las tablas se relacionan una a otra.

MSc. Vladimir A. Peña S.


Necesidad de Normalizar

Existen varias ventajas para normalizar y algunas de ellas se listan a continuación:

Flexibilidad

La normalización permite a la estructura de datos ser muy flexible y soportar diversas maneras de ver los datos.

MSc. Vladimir A. Peña S.


Integridad de Datos

La integridad de datos es una característica importante del RDBMS. La integridad de los datos no debe ser alterada

en ningún instante. Las operaciones de modificación como la eliminación, inserción y la actualización no deben

alterar la integridad de los datos, que daría como resultado una anomalía en la modificación.

Eficiencia

La normalización elimina los datos redundantes, para ahorrar espacio y para hacer el proceso de recuperación de

datos más eficiente.

MSc. Vladimir A. Peña S.


Un dominio es atómico si se considera que los elementos del dominio son unidades indivisibles. Se dice que el

esquema de una relación R está en la primera forma normal (1FN) si los dominios de todos los atributos de R

son atómicos.

Un conjunto de nombres es un ejemplo de valor no atómico. Por ejemplo, si el esquema de la relación empleado

incluyera el atributo hijos, los elementos de cuyo dominio son conjuntos de nombres, el esquema no se hallaría en

la primera forma normal. Los atributos compuestos, como el atributo dirección con sus atributos componentes

calle y ciudad, tienen también dominios no atómicos.

MSc. Vladimir A. Peña S.


MSc. Vladimir A. Peña S.
DEPENDENCIA FUNCIONALES

Las dependencias funcionales desempeñan un papel fundamental en la diferenciación entre los buenos diseños de

bases de datos y los malos. Una dependencia funcional es un tipo de restricción que constituye una generalización

del concepto de clave.

Las dependencias funcionales son restricciones del conjunto de relaciones legales. Permiten expresar hechos sobre la

empresa que se modela con la base de datos. Se define el concepto de superclave de la manera siguiente. Sea R el

esquema de una relación. El subconjunto K de R es una superclave de R si, en cualquier relación legal r(R), para todos

los pares t1 y t2 de tuplas de r tales que t1 ≠ t2, t1 [K] ≠ t2 [K]. Es decir, ningún par de tuplas de una relación legal r(R)

puede tener el mismo valor para el conjunto de atributos K.

MSc. Vladimir A. Peña S.


DEPENDENCIA FUNCIONALES

El concepto de dependencia funcional generaliza la noción de superclave. Considérese el esquema de

una relación R y sean α ⊆ R y β ⊆ R. La dependencia funcional α →βse cumple para el esquema R si,

en cualquier relación legal r (R), para todos los pares de tuplas t1 y t2 de r tales que t1 [α] = t2 [α],

también ocurre que t1 [β] = t2 [β].

Empleando la notación para la dependencia funcional, se dice que K es una superclave de R si K →R. Es

decir, K es una superclave si, siempre que t1 [K] = t2 [K] también se produce que t1 [R] = t2 [R] (es

decir, t1 = t2). Las dependencias funcionales nos permiten expresar las restricciones que no se pueden

expresar con las superclaves.

MSc. Vladimir A. Peña S.


DEPENDENCIA FUNCIONALES

Esquema-info-préstamo = (número-préstamo, nombre-sucursal, nombre-cliente, importe )

que es una simplificación de Esquema-empréstito, que se ha visto anteriormente. El conjunto de dependencias

funcionales que se espera que se cumplan en este esquema

de relación es número-préstamo → importe

número-préstamo → nombre-sucursal

Sin embargo, no se espera que se cumpla la dependencia funcional

número-préstamo → nombre-cliente ya que, en general, cada préstamo se puede conceder a más de un cliente

(por ejemplo, a los dos integrantes de una pareja marido-esposa).

MSc. Vladimir A. Peña S.


DEPENDENCIA FUNCIONALES

Las dependencias funcionales se utilizarán de dos maneras:

1.Para probar las relaciones y ver si son legales según un conjunto dado de dependencias funcionales. Si una

relación r es legal según el conjunto F de dependencias funcionales, se dice que r satisface F.

2. Para especificar las restricciones del conjunto de relaciones legales. Así, sólo habrá que preocuparse por las

relaciones que satisfagan un conjunto dado de dependencias funcionales. Si uno desea restringirse a las relaciones

del esquema R que satisfagan el conjunto F de dependencias funcionales, se dice que F se cumple en R.

MSc. Vladimir A. Peña S.


DEPENDENCIA FUNCIONALES

Los axiomas, o reglas de inferencia, proporcionan una técnica más sencilla para el razonamiento sobre las

dependencias funcionales. En las reglas que se ofrecen a continuación se utilizan las letras griegas (α, β, γ, . . .

) para los conjuntos de atributos y las letras latinas mayúsculas desde el comienzo del alfabeto para los

atributos individuales.

Se utiliza ab para denotar α ∪ β. Se pueden utilizar las tres reglas siguientes para hallar las dependencias

funcionales implicadas lógicamente.

Aplicando estas reglas repetidamente, se puede hallar todo F+, dado F. Este conjunto de reglas se denomina

axiomas de Armstrong en honor de la persona que las propuso por primera vez.

MSc. Vladimir A. Peña S.


DEPENDENCIA FUNCIONALES
• Regla de la reflexividad. Si α es un conjunto de atributos y β ⊆α, entonces se cumple que α →β.

• Regla de la aumentatividad. Si se cumple que α →β y γ es un conjunto de atributos, entonces se cumple

que γα →γβ.

• Regla de la transitividad. Si se cumple que α →β y también se cumple que β →γ, entonces se cumple

que α →γ.

Los axiomas de Armstrong son correctos porque no generan dependencias funcionales incorrectas. Son

completos, porque, para un conjunto dado F de dependencias funcionales, permiten generar todo F+. Las

notas bibliográficas proporcionan referencias de las pruebas de su corrección y de su completitud.

MSc. Vladimir A. Peña S.


DEPENDENCIA FUNCIONALES

Para simplificar más las cosas se relacionan unas reglas adicionales. Resulta posible utilizar los axiomas de

Armstrong para probar que estas reglas son correctas

• Regla de la unión. Si se cumple que α →β y que α →γ, entonces se cumple que α →βγ.

• Regla de la descomposición. Si se cumple que α → βγ, entonces se cumple que α → β y que α →γ.

• Regla de la pseudotransitividad. Si se cumple que α →β y que γβ →δ, entonces se cumple que αγ →δ.

Apliquemos ahora las reglas al ejemplo del esquema R = (A, B, C, G, H, I) y el conjunto F de dependencias

funcionales {A→B, A→C, CG →H, CG →I, B →H}. A continuación se relacionan varios miembros de F+:

MSc. Vladimir A. Peña S.


DEPENDENCIA FUNCIONALES

• A→H. Dado que se cumplen A→B y B →H, se aplica la regla de transitividad. Obsérvese que resultaba mucho

más sencillo emplear los axiomas de Armstrong para demostrar que se cumple que A→ H que deducirlo

directamente a partir de las definiciones, como se ha hecho anteriormente en este apartado.

• CG →HI . Dado que CG →H y CG →I , la regla de unión implica que CG → HI .

• AG → I. Dado que A → C y CG → I, la regla de pseudotransitividad implica que se cumple que

AG → I. Otra manera de hallar que se cumple que AG → I es la siguiente. Se utiliza la regla de aumentatividad en

A → C para inferir que AG → CG. Aplicando la regla de transitividad a esta dependencia y CG →I, se infiere que

AG → I.

MSc. Vladimir A. Peña S.


Pasos para la normalización

• Primero se identifican las vistas de usuario, luego cada vista es convertida a la forma de una relación

no normalizada.

• Se remueven los grupos repetitivos, y se obtiene un conjunto de relaciones en 1FN, enseguida se

remueven dependencias parciales, y el resultado es un conjunto de relaciones en 2FN. Finalmente se

remueven las dependencias transitivas creando un conjunto de relaciones en 3FN.

MSc. Vladimir A. Peña S.


RELACIONES NO NORMALIZADAS

CODIGO NOMBRE ESPECIALIDAD CODIGO DENOMINACIÓN NOMBRE DOCENTE OFICINA SECCIÓN

ALUMNO ALUMNO CURSO

V22898765 LUIS ZULOAGA INDUSTRIAL MA123 MATEMATICA 2 CARLOS ARAMBULO CB-214 U

V22898765 LUIS ZULOAGA INDUSTRIAL QU514 FISICO QUIMICA PETRA RONDINEL CB-110 U

V22898765 LUIS ZULOAGA INDUSTRIAL AU521 DESCRIPTIVA VICTOR MONCADA CB-120 W

V25654789 RAUL ROJAS SISTEMAS PA714 INVESTIGACIÓN I CESAR FERNANDEZ SC-220 V

V25654789 RAUL ROJAS SISTEMAS MA123 MATEMATICA 2 CARLOS ARAMBULO CB-214 U

V25654789 RAUL ROJAS SISTEMAS AU511 DIBUJO VICTOR MONCADA CB-120 W

• Una relación no normalizada es una relación que contiene uno o mas grupos repetitivos.

• Desde que cada alumno se puede inscribir en uno o mas cursos-sección, los datos de los

cursos-sección en la vista constituyen grupos repetitivos dentro de los datos de los alumnos.

MSc. Vladimir A. Peña S.


RELACIONES NO NORMALIZADAS

CODIGO NOMBRE ESPECIALIDAD CODIGO CURSO DENOMINACIÓN NOMBRE OFICINA SECCIÓN

ALUMNO ALUMNO DOCENTE

CODIGO CURSO DENOMINACIÓN NOMBRE OFICINA SECCIÓN

DOCENTE

CODIGO CURSO DENOMINACIÓN NOMBRE OFICINA SECCIÓN

DOCENTE

• Como se observa en la relación no normalizada por cada alumno existen varios cursos-sección matriculados, cada

uno con un docente responsable a quien se le ubica en una oficina determinada.

• La principal desventaja de relaciones no normalizadas es que ellas contienen datos redundantes.

• En el ejemplo, vemos que el curso MA123 puede aparecer varias veces,

¿que ocurriría si deseamos cambiar el nombre del curso ?

MSc. Vladimir A. Peña S.


Anomalías de Datos

• Comportamientos anómalos que se pueden presentar al insertar, borrar y actualizar datos en una base de

datos relacional, producidos por un diseño deficiente.

Anomalía de Inserción (insert)

• La existencia de un objeto requiere la existencia de otro objeto independiente.

– Ej: Factura (nfact, ncliente, nombre, direccion, fecha,total)

Reporte (codalum,nomalu,espec,codcur,denomin,nomdoc,ofic,secc)

• Para añadir un nuevo cliente o un nuevo curso, obligatoriamente necesito crear una factura o un nuevo

alumno para ese cliente o ese curso. (Es decir esta representación no permite organizar la información

correctamente).

MSc. Vladimir A. Peña S.


Anomalía de Borrado o Eliminación (delete)

• El borrado (rutinario) de un registro puede hacer que se pierda (borre) información que no se quería eliminar.

– Factura (nfact, ncliente, nombre, direccion, fecha, total)

Reporte (codalum, nomalu, espec, codcur, denomin, nomdoc, ofic, secc)

• Si se elimina una factura y es la única de un cliente, o se elimina un alumno y es el único matriculado en el

curso, se pierde la información de ese cliente o de ese curso sección (pérdida de datos).

MSc. Vladimir A. Peña S.


Anomalía de Actualización (update)

• Para cambiar el valor de un atributo, se necesita cambiarlo simultáneamente en varios sitios, en lugar de en uno.

– Factura (nfact, ncliente, nombre, direccion, fecha, total)

Reporte (codalum,nomalu,espec,codcur,denomin,nomdoc,ofic,secc)

• Para cambiar la dirección de un cliente o la denominación de un curso, hay que hacerlo en todas las facturas que

tenga o en todas las matriculas donde aparezca, a pesar que el cliente sólo tiene una dirección y el curso sólo tiene

una denominación (por la redundancia).

MSc. Vladimir A. Peña S.


Primera Forma Normal – 1FN

• Es una relación que contiene sólo valores simples o atómicos en la intersección de cada fila y columna. Esto es,

una relación normalizada no contiene grupos

repetitivos.

• Para la 1FN separamos la relación no normalizada en dos entidades, uno conformada con los grupos no

repetitivos y la otra con los grupos repetitivos.

– Reporte (codalum,nomalu,espec,codcur,denomin,nomdoc,ofic,secc)

– Alumno (codalum,nomalu,espec)

CursoAlumno (codalum+codcur, denomin,nomdoc,ofic,secc)

MSc. Vladimir A. Peña S.


CODIGO NOMBRE ESPECIALIDAD CODIGO CURSO DENOMINACIÓN NOMBRE OFICINA SECCIÓN

ALUMNO ALUMNO DOCENTE

CODIGO CURSO DENOMINACIÓN NOMBRE OFICINA SECCIÓN

DOCENTE

CODIGO CURSO DENOMINACIÓN NOMBRE OFICINA SECCIÓN

DOCENTE

Grupos Repetitivos

CODIGO NOMBRE ALUMNO ESPECIALIDAD

ALUMNO

V22898765 LUIS ZULOAGA INDUSTRIAL

V25654789 RAUL ROJAS SISTEMAS

CODIGO ALUMNO CODIGO DENOMINACIÓN NOMBRE DOCENTE OFICINA SECCIÓN

CURSO

V22898765 MA123 MATEMATICA 2 CARLOS ARAMBULO CB-214 U

V22898765 QU514 FISICO QUIMICA PETRA RONDINEL CB-110 U

V22898765 AU521 DESCRIPTIVA VICTOR MONCADA CB-120 W

V25654789 PA714 INVESTIGACIÓN I CESAR FERNANDEZ SC-220 V

V25654789 MA123 MATEMATICA 2 CARLOS ARAMBULO CB-214 U

V25654789 AU511 DIBUJO VICTOR MONCADA CB-120 W

MSc. Vladimir A. Peña S.


Dependencias

• La razón de las anomalías es que varios de los atributos no clave son dependientes sólo de parte de la clave primaria

(de algunos atributos) y no de la clave primaria total.

• Los atributos no clave que dependen de la clave primaria son totalmente dependientes, los otros son sólo

parcialmente dependientes.

MSc. Vladimir A. Peña S.


Segunda Forma Normal – 2FN

• Para eliminar las anomalías de la 1FN, debemos remover las dependencias funcionales parciales.

• Una relación esta en segunda forma normal si esta en 1FN y toda dependencia funcional parcial ha

sido removida.

• Para convertir una relación con dependencias parciales a 2da. forma normal (2FN), creamos dos

nuevas relaciones, una con atributos que son

totalmente dependientes de la clave primaria y la otra con atributos que son parcialmente

dependientes de la clave.

MSc. Vladimir A. Peña S.


MSc. Vladimir A. Peña S.
Tercera Forma Normal – 3FN

• Una relación esta en 3ra. Forma normal (3FN) si esta en 2FN y no contiene

dependencias transitivas.

• Esto es, cada atributo no clave es totalmente dependiente de la clave primaria y no existen

dependencias transitivas (“ocultas”).

MSc. Vladimir A. Peña S.


Forma Normal Boyce&Codd –BCNF

• Cuando una relación tiene mas de una clave candidata, se pueden presentar anomalías aun cuando la relación

este en 3FN.

• R.F. Boyce y E.F. Codd identificaron esta deficiencia y propusieron una extraña definición de 3FN que soluciona

el problema, introduciendo el concepto de determinante.

• Un determinante es cualquier atributo (simple o compuesto) sobre el cual algún otro atributo es

funcionalmente dependiente (total).

MSc. Vladimir A. Peña S.


MSc. Vladimir A. Peña S.
MSc. Vladimir A. Peña S.

También podría gustarte