Normalización de Base de Datos

December 11, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Normalización de Base de Datos...

Description

 

 Normalización de Base d  Normalización dee Datos, es el pr proceso oceso de or organizar ganizar los da datos tos en una b base ase de datos que incluye incluye la creación de tablas tablas y el establecimiento establecim iento de relaciones entre ellas. Este proceso es utilizado para ayudar a eliminar los datos redundantes. Cinco formas de normalización (FN: Forma normal) 1FN: Eliminar grupos repetitivos 2FN: Eliminar datos redundan redundantes tes 3FN: Eliminar columnas no depende de clave 4FN: Aislar Relaciones Múltiples Independien Independientes tes 5FN: Aislar relaciones semánticamen semánticamente te relacionadas múltiples

Primera Forma Normal (1FN) La primera forma normal significa que los datos están en un formato de entidad, lo que significa que se han cumplido las siguientes condiciones:      



 

Eliminar grupos repetidos en tablas individuales Crear una tabla independiente para cada conjunto de datos relacionados Identificar cada conjunto de relacionados con la clave principal

 No utilice varios varios campo camposs en una sola ta tabla bla para almac almacenar enar datos similares Ejemplo de Normalización

 

  En el ejemplo tenemos una tabla No Normalizada que contiene Estudiantes, Tutor, Habitación y las Clases 1,2 y 3. Vamos a implementar la primera forma normal, luego la segunda y la tercera. Al aplicarle la primera forma normal eliminamos los grupos repetidos quedándonos con una sola columna de clases y repitiendo los datos del estudiante tutor y habitación y ahora no tenemos grupos repetidos porque aplicamos la primera forma normal (1FN).

Segunda Forma Normal (2FN) La segunda forma normal asegura que cada atributo describe la entidad Crear tablas separadas para el conjunto de valores y los registros múltiples, estas tablas se deben relacionar con una clave externa. Los registros no deben depender de otra cosa que la clave principal de la tabla, incluida la clave compuesta si es necesario

 

  Al pasar a la segunda forma normal vamos a eliminar los datos redundantes, y para lograrlo vamos a crear dos tablas. Una tabla se llamara Estudiantes donde eliminaremos los datos redundantes quedándonos con los datos únicos (Estudiante, Tutor y Habitación) y en una segunda tabla que llamaremos Registro para el numero de estudiante y las clases que llevara en el ejemplo el estudiante 1606 y 2602 llevara cada uno tres clases. El contenido de la (1FN) Primera Forma Normal que estaba en una tabla ha sido divido en dos tablas  para eliminar eliminar los datos red redundantes undantes e introducirlo a la (2FN) Segun Segunda da Forma Nor Normal. mal.

Tercera forma normal (3FN) La tercera forma normal comprueba las dependencias transitivas, eliminando campos que no dependen de la clave principal.

 

Los valores que no dependen de la clave principal no pertenecen a la tabla Los campos que no pertenecen a la clave principal colóquelos en una tabla aparte y relacionen ambas tablas por medio de una clave externa.

Para pasar a la tercera forma normal tenemos que eliminar los campos de No Dependen de la Clave y para lograrlo dividimos la tabla estudiante en dos tablas y creamos la tabla Facultad donde trasladaremos la columna habitación que No Depende de la Clave que es la columna estudiante, el nombre del tutor sera el enlace con al tabla estudiante aunque también podría ser la columna estudiante.

Otras formas de normaliza normalización ción La cuarta forma normal también se llama la forma normal de Boyce Codd (BCNF) y la quinta forma normal existe, pero rara vez se consideran en el diseño práctico. El no tener en cuenta estas dos reglas de normalización adicionales puede resultar en un diseño de base de datos menos perfecto pero no debería afectar a la funcionalidad

 

La normalización de base de datos es un punto muy importante que deberíamos de tomar muy en serio para establecer cimientos sólidos sobre los cuales podemos construir aplicaciones robustas que en el futuro no presenten problemas de base de datos difíciles de solucionar.

El siguiente ejemplo pertenece a un pequeño texto que preparé para el curso de Base de Datos I. Espero que sea revisado, comentado, corregido o aumentado. También necesito sugerencias para preparar otros ejemplos que sean más o menos fáciles de elaborar y enseñar. (Luis Paez - [email protected] [email protected]))  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  

1001

Variable compleja

Murray Spiegel

McGraw Hill

Pérez Gómez, Juan

15/04/2005

1004

Visual Basic 5

E. Petrousts Petroustsos os

Anaya

Ríos Terán, Ana

17/04/2005

1005

Estadística

Murray Spiegel

McGraw Hill

Roca, René

16/04/2005

1006

Oracle University

 Nancy Greenberg y Priya Nathan

Oracle Corp.

García Roque, Luis

20/04/2005

1007

Clipper 5.01

Ramalho

McGraw Hill

Pérez Gómez, Juan

18/04/2005

 

Esta tabla no cumple el requisito de la Primera Forma Normal (1NF) 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. 1NF  CodLibro 

Titulo 

Autor 

Editorial  Paterno  Materno  Nombres  FechaDev  

1001

Variable compleja

Murray Spiegel

1004

Visual Basic 5

E. Anaya Petroustsos

1005

Estadística

Murray Spiegel

1006

Oracle  Nancy University Greenberg

Oracle Corp.

García

1006

Oracle Priya University  Nathan

Oracle Corp.

1007

Clipper 5.01

McGraw Hill

Ramalho

McGraw Hill

McGraw Hill

Pérez

Gómez

Juan

15/04/2005

Ríos

Terán

Ana

17/04/2005

René

16/04/2005

Roque

Luis

20/04/2005

García

Roque

Luis

20/04/2005

Pérez

Gómez

Juan

18/04/2005

Roca

Como se puede ver, hay cierta redundancia característica de 1NF. La Segunda Forma Normal (2NF) 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.

 

2NF CodLibro 

Titulo 

Autor 

Editorial 

1001

Variable compleja

Murray Spiegel

McGraw Hill

1004

Visual Basic 5

E. Petroustsos

Anaya

1005

Estadística

Murray Spiegel

McGraw Hill

1006

Oracle Universit University y

 Nancy Greenberg

Oracle Corp.

1006

Oracle Universit University y Priya Nathan

Oracle Corp.

1007

Clipper 5.01

McGraw Hill

Ramalho

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

CodLector  Paterno  Materno  Nombres 

501

Pérez

Gómez

Juan

502

Ríos

Terán

Ana

503

Roca

René

 

CodLector  Paterno  Materno  Nombres 

504

García

Roque

Luis

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:

CodLibro  CodLector  FechaDev 

1001

501 15/04/2005

1004

502 17/04/2005

1005

503 16/04/2005

1006

504 20/04/2005

1007

501 18/04/2005

Para la Tercera Forma Normal (3NF) la relación debe estar en 2NF 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 2NF, 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 3NF. 3NF 

 

CodLibro 

Titulo 

Variable 1001 compleja 1004 Visual Basic 5 1005 Estadística Oracle 1006 University 1007 Clipper 5.01

 

  CodAutor 

Autor 

Murray 801 Spiegel E. 802 Petroustsos  Nancy 803 Greenberg 804 Priya Nathan 806 Ramalho

CodEditorial  Editorial 

McGraw 901 Hill 902 Anaya Oracle 903 Corp. 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.

 

CodLibro  codAutor 

1001

801

1004

802

1005

801

1006

803

1006

804

1007

806

CodLibro  codEditorial 

1001

901

1004

902

1005

901

1006

903

1007

901

Y el resto de las tablas no necesitan modificación.

 

  CodLector  Paterno  Materno  Nombres 

501 Pérez

Gómez

Juan

502 Ríos

Terán

Ana

503 Roca 504 García

René Roque

Luis

CodLibro  CodLector  FechaDev 

1001

501 15/04/2005

1004

502 17/04/2005

1005

503 16/04/2005

1006

504 20/04/2005

1007

501 18/04/2005

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF