0% encontró este documento útil (1 voto)
908 vistas21 páginas

Clase 08 09 Normalización

El documento habla sobre la normalización de bases de datos. Explica que la normalización es el proceso de organizar los datos en tablas y establecer relaciones entre ellas para eliminar redundancias y dependencias inconsistentes. También menciona que la normalización sigue tres formas normales (1FN, 2FN, 3FN) y que alcanzar la tercera forma normal es suficiente para la mayoría de aplicaciones.

Cargado por

Alejandro Colman
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (1 voto)
908 vistas21 páginas

Clase 08 09 Normalización

El documento habla sobre la normalización de bases de datos. Explica que la normalización es el proceso de organizar los datos en tablas y establecer relaciones entre ellas para eliminar redundancias y dependencias inconsistentes. También menciona que la normalización sigue tres formas normales (1FN, 2FN, 3FN) y que alcanzar la tercera forma normal es suficiente para la mayoría de aplicaciones.

Cargado por

Alejandro Colman
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

Base de Datos I

Ing. Alejandro Colman


Normalización
Es aplicar técnicas a una base de datos relacional con la finalidad de minimizar la
inclusión de informaciones con duplicidad.

La normalización es el proceso de organizar datos en una base de datos. Esto


incluye la creación de tablas y el establecimiento de relaciones entre esas tablas de
acuerdo con las reglas diseñadas tanto para proteger los datos como para que la
base de datos sea más flexible mediante la eliminación de la redundancia y la
dependencia incoherente.

Los datos redundantes desperdician espacio en disco y crean problemas de


mantenimiento. 
Ing. Alejandro Colman
Objetivos de la normalización de base de datos
Corregir datos duplicados y anomalías en la base de datos.

Evitar la creación y actualización de relaciones y dependencias no deseadas entre


datos.

Prevenir borrados indeseados de datos.

Optimizar el espacio de almacenamiento.

Reducir el tiempo y complejidad de revisión de las bases de datos cuando es


necesario introducir nuevos tipos de datos.

Facilitar el acceso e interpretación de los datos a los usuarios y aplicaciones que los
usan.
Ing. Alejandro Colman
Requisitos de la normalización
Para que las tablas de nuestra BD estén normalizadas deben cumplir las
siguientes reglas:

Cada tabla debe tener su nombre único.

No puede haber dos filas iguales.

No se permiten los duplicados.

Todos los datos en una columna deben ser del mismo tipo.

Ing. Alejandro Colman


Los beneficios de la normalización de bases
de datos
Mapa lógico

El almacenamiento y mapeo de datos es más lógico y, por tanto,


redobla su utilidad para los departamentos que empleen las tablas.
Normalizar datos de producto hace que la información se organice y
guarde siempre en su lugar correspondiente, sin duplicados ni
versiones desactualizadas.

Ing. Alejandro Colman


Consistencia de datos

Se incrementa la fiabilidad de los datos para todos los implicados que


acceden a las bases, y hay mayor consistencia en la información
almacenada. Se evita guardar versiones desactualizadas, encontrar
datos duplicados en diferentes partes de la empresa y distintos tipos de
relaciones entre datos de producto, sin una jerarquía clara.

Ing. Alejandro Colman


Relación de datos sólida

La principal ventaja de normalizar datos, aparte de la eliminación de


redundancias, es el diseño de una integridad de datos que muestra
claramente cómo se relaciona información de distintas tablas entre sí.
Esto facilita la identificación de las relaciones de datos y corrige
cualquier aislamiento o inconsistencia de información que pudiese
haber en la base de datos de producto.

Ing. Alejandro Colman


Mayor seguridad

Se incrementa la seguridad, ya que la normalización hace que los datos


tengan una localización más precisa.

Ahorro de costes

Es mucho más sencillo mantener las bases de datos que ya tienes y


realizar nuevos añadidos. También es más rápido conectar las fuentes de
datos a cualquier sistema interno o externo, pues no serán necesarias
revisiones para asegurar que los datos enviados son correctos.

Ing. Alejandro Colman


Reglas o niveles de normalización
Para normalizar una base de datos existen principalmente 3 reglas, las
cuales se deberían cumplir para evitar redundancias e incoherencias en
las dependencias. A estas reglas se les conoce como "Forma
normal" qué va de la 1 a la 3 y si la base de datos cumple con cada regla
se dice que está en la "primera o segunda o tercera forma normal"

“Aunque son posibles otros niveles de normalización, la tercera forma


normal se considera el máximo nivel necesario para la mayoría de las
aplicaciones.”
Ing. Alejandro Colman
Primera forma normal (1FN)
Un archivo esta en primera forma normal (1FN) si no posee campos
multivalorados.
Elimine los grupos repetidos de las tablas individuales.
Cree una tabla independiente para cada conjunto de datos
relacionados.
Identifique cada conjunto de datos relacionados con una clave
principal.
No utilice varios campos en una sola tabla para almacenar datos
similares
Ing. Alejandro Colman
Segunda forma normal (2FN)

Un archivo en primera forma normal esta en segunda forma normal,


si todo campo no clave depende de la totalidad de la clave.

Cree tablas independientes para conjuntos de valores que se


apliquen a varios registros.

Relacione estas tablas con una clave externa.

Ing. Alejandro Colman


Tercera forma normal (3FN)

Un archivo esta en tercera forma normal si ningún campo no clave no


depende de otro campo no clave.

Elimine los campos que no dependan de la clave.

Cada nivel de normalización exige cierta complejidad, pero debes


analizar si en realidad necesitas llegar hasta la tercera forma normal,
debes buscar lo que mejor se adapte a la empresa.
Ing. Alejandro Colman
EJEMPLO DE NORMALIZACIÓN

Ing. Alejandro Colman


A través del siguiente ejercicio se intenta afirmar los conocimientos de
normalización con un ejemplo simplificado de una base de datos para una
pequeña biblioteca.
CodLibro Titulo Autor editorial NombreLector FechaDev

Variable Pérez Gómez,


1001 Murray Spiegel McGraw Hill 15/04/2014
Compleja Juan

1004 Visual Basic E. Petroustsos Anaya Ríos Terán, Ana 17/04/2014

1005 Estadística Murray Spiegel McGraw Hill Roca, René 16/04/2014

Oracle Nancy Greenberg y Priya García Roque,


1006 Oracle Corp. 20/04/2014
University Nathan Luis
Pérez Gómez,
1007 Clipper 5.01 Ramalho McGraw Hill 18/04/2014
Juan

Esta tabla no cumple el requisito de la Primera Forma Normal (1FN) de


sólo tener campos atómicos, pues el nombre del lector es un campo que
puede (y conviene) descomponerse en apellido paterno, apellido materno
y nombres. Tal como se muestra en la siguiente tabla.
Ing. Alejandro Colman
1FN

CodLibro Titulo Autor editorial Paterno Materno Nombres FechaDev

1001 Variable compleja Murray Spiegel McGraw Hill Pérez Gómez Juan 15/04/2014

1004 Visual Basic 5 E. Petroustsos Anaya Ríos Terán Ana 17/04/2014

1005 Estadística Murray Spiegel McGraw Hill Roca   René 16/04/2014

1006 Oracle University NancyGreenberg Oracle Corp. García Roque Luis 20/04/2014

1006 Oracle University Priya Nathan Oracle Corp. García Roque Luis 20/04/2014

1007 Clipper 5.01 Ramalho McGraw Hill Pérez Gómez Juan 18/04/2014

Como se puede ver, hay cierta redundancia característica de 1FN.

Ing. Alejandro Colman


La Segunda Forma Normal (2FN) pide que no existan dependencias
parciales o dicho de otra manera, todos los atributos no clave deben
depender por completo de la clave primaria. Actualmente en nuestra
tabla tenemos varias dependencias parciales si consideramos como
atributo clave el código del libro.

Por ejemplo, el título es completamente identificado por el código del


libro, pero el nombre del lector en realidad no tiene dependencia de
este código, por tanto estos datos deben ser trasladados a otra tabla.

Ing. Alejandro Colman


2FN
CodLibro Titulo Autor Editorial

1001 Variable compleja Murray Spiegel McGraw Hil

1004 Visual Basic 5 E. Petroustsos Anaya

1005 Estadística Murray Spiegel McGraw Hill

1006 Oracle University NancyGreenberg Oracle Corp

1006 Oracle University Priya Nathan Oracle Corp.

1007 Clipper 5.01 Ramalho McGraw Hill

La nueva tabla sólo contendrá datos del lector.


Lector
CodLector Paterno Materno Nombres

501 Pérez Gómez Juan

502 Ríos Terán Ana

503 Roca   René

504 García Roque Luis

Ing. Alejandro Colman


Hemos creado una tabla para contener los datos del lector y también
tuvimos que crear la columna CodLector para identificar unívocamente
a cada uno. Sin embargo, esta nueva disposición de la base de datos
necesita que exista otra tabla para mantener la información de qué
libros están prestados a qué lectores. Esta tabla se muestra a
continuación:
Libro_lector
CodLibro CodLector FechaDev

1001 501 15/04/2014

1004 502 17/04/2014

1005 503 16/04/2014

1006 504 20/04/2014

1007 501 18/04/2014

Ing. Alejandro Colman


Para la Tercera Forma Normal (3FN) la relación debe estar en 2FN y
además los atributos no clave deben ser mutuamente independientes y
dependientes por completo de la clave primaria. También recordemos
que dijimos que esto significa que las columnas en la tabla deben
contener solamente información sobre la entidad definida por la clave
primaria y, por tanto, las columnas en la tabla deben contener datos
acerca de una sola cosa.
En nuestro ejemplo en 2FN, la primera tabla conserva información
acerca del libro, los autores y editoriales, por lo que debemos crear
nuevas tablas para satisfacer los requisitos de 3FN.

Ing. Alejandro Colman


3FN
Libro
CodLibro Titulo
Editorial
Autor CodEditorial Editorial
1001 Variable compleja
CodAutor Autor
901 McGraw Hill
1004 Visual Basic 5
801 Murray Spiegel
902 Anaya
1005 Estadística
802 E. Petroustsos
903 Oracle Corp
1006 Oracle University
803 Nancy Greenberg
1007 Clipper 5.01
804 Priya Nathan

806 Ramalho

Aunque hemos creado nuevas tablas para que cada una tenga sólo información
acerca de una entidad, también hemos perdido la información acerca de qué autor
ha escrito qué libro y las editoriales correspondientes, por lo que debemos crear
otras tablas que relacionen cada libro con sus autores y editoriales.
Ing. Alejandro Colman
Libro_editorial Libro_autor
CodLibro codEditorial CodLibro codAutor

1001 901 1001 801


1004 802
1004 902
1005 801
1005 901
1006 803
1006 903
1006 804
1007 901
1007 806

Y el resto de las tablas no necesitan


modificación.
Lector Libro_lector
CodLibro CodLector FechaDev
CodLector Paterno Materno Nombres
1001 501 15/04/2014
501 Pérez Gómez Juan
1004 502 17/04/2014
502 Ríos Terán Ana
1005 503 16/04/2014
503 Roca   René
1006 504 20/04/2014

504 García Roque Luis 1007 501 18/04/2014

Ing. Alejandro Colman

También podría gustarte