INDICE

Análisis y Diseño de Sistemas

1. Normalización de Bases de Datos
2. Caso Práctico

 

Normalización de Bases de Datos

Fuente: Dataprix.com, consultado 20/03/2009

 

Introducción

Los seres humanos poseemos la tendencia de facilitar las cosas al máximo. Lo hacemos con casi todo, con los automóviles, artefactos eléctricos, empresas (operaciones, servicios, ventas, entre otras actividades). En actividades, que sean practicas, confiables y eficientes.

Es por ello, que el proceso para el diseño de almacenamiento de datos, ha constituido durante mucho tiempo un paso importante en la organización de toda empresa, y que las bases de datos juegan un papel significativo, ya que son las encargadas de almacenar datos (Grupo de datos) de manera organizada, con la finalidad de obtener respuestas eficientes.

A continuación, se definirá el proceso de transformación de los datos complejos a un conjunto de datos con estructuras más simples y reducidas llamada Normalización, sus ventajas, formas, y ejemplos prácticos que ayuden al lector en la puesta en práctica de este interesante tema.


 

1. Normalización de Bases de Datos.

En los modelos de bases de datos relacionales, la normalización, es el proceso de organizar los datos para reducir la duplicidad de información, este proceso generalmente implica la fragmentación de  una base de datos en dos o más tablas y de establecer relaciones entre ellas.

Según la Universidad Nacional Abierta en su libro Base de Datos, la normalización "es un proceso reversible de reemplazar un conjunto dado de relaciones por un sucesivo conjunto de relaciones las cuales tienen progresivamente una estructura más simple y regular". Pág. 191.

Desde una perspectiva mas amplia, la normalización es un proceso de creación de estructuras de base de datos eficientes, confiables, flexibles y apropiadas para el almacenamiento de información, siendo su objetivo primordial el aislamiento de los datos, de forma tal que al momento de adicionar, modificar o eliminar el valor de un campo, se pueda hacer sobre una sola tabla, la cual posteriormente se propagara a las demás tablas relacionadas.

Cabe considerar que, la normalización como una serie de reglas permite ayudar a los diseñadores de base de datos en el desarrollo de esquemas que reducen los problemas lógicos. Cada regla está basada en la que le antecede. La normalización se adoptó porque el antiguo 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 trataban de manipular los datos.

A modo ilustrado, la necesidad de normalizar, esta dada por los siguientes aspectos:

  • Flexibilidad: La normalización permite a la estructura de datos ser muy flexibles y soportar diversas maneras de ver los datos.
  • Integridad de los Datos: La normalización ratifica al diseñador de base de datos, lograr una buena integridad en los datos, permitiendo la inalterabilidad y anomalías por la modificación, eliminación, inserción de tablas, esto no sucede en una normalización, ya que al modificar una tabla las relacionadas con ésta se modifican.
  • Eficiencia: La normalización elimina los datos redundantes, con la finalidad de reducir el espacio, siendo más eficiente el proceso de recuperación de datos. Una base de datos normalizada ocupa menos espacio en disco que una no normalizada. Hay menos repetición de datos, lo que tiene como consecuencia un mucho menor uso de espacio en disco.

El proceso de normalización se basa en la descomposición sin pérdida - de datos - de las tablas que están en una forma normal inferior, obteniéndose una forma normal superior. El proceso dedescomposición sin pérdida, significa que se ha de dividir o descomponer la tabla en otras con menor cantidad de atributos sin que haya pérdida de información.

El objetivo fundamental de la normalización es dale consistencia a la base de datos. Un modelo de base de datos completamente normalizado no tendrá problemas de acceso, es decir, leer, almacenar o actualizar la información.

Grados de Normalización

La teoría de base de datos describe el grado de normalización de una tabla en términos de "formas normales" (FN). Cuanto mayor sea la forma normal a la que pertenezca, mayor será la cantidad de restricciones a las que se ajustará la base de datos, y más protegida estará contra las anomalías. A medida que la base de datos crezca en su nivel de normalización, serán cada vez más las restricciones con las que cumplirá. Si se cumple la primera regla, se dice que la base de datos está en la "primera forma normal". Si se cumplen las tres primeras reglas, la base de datos se considera que está en la "tercera forma normal".

Existen otras reglas de las cuales se hará mención a continuación:

  • Forma Normal Boyce-Codd
  • Cuarta Forma Normal
  • Quinta Forma Normal o Forma Normal de Proyección-Unión
  • Forma Normal de Proyección-Unión Fuerte
  • Forma Normal de Proyección-Unión Extra Fuerte
  • Forma Normal de Clave de Dominio.

Cada nuevo nivel o forma nos acerca más a hacer una base de datos verdaderamente relacional, aunque son posibles estos grados de normalización, la tercera forma normal se considera el máximo nivel necesario para la mayor parte de las aplicaciones.

Al igual que con otras muchas reglas y especificaciones formales, en los escenarios reales no siempre se cumplen los estándares de forma perfecta. En general, la normalización requiere tablas adicionales y algunos clientes consideran éste un trabajo considerable. Si decide infringir una de las tres primeras reglas de la normalización, se debe asegurar de que la aplicación se anticipa a los problemas que puedan aparecer, como la existencia de datos redundantes y de dependencias incoherentes.

 

Primera Forma Normal

La primera forma normal permite modelar una tupla[1] de una Relación determinada. Una relación R estará en Primera Forma Normal si cada una de sus tuplas tiene el mismo número de atributos.

Una Relación R está en Primera Forma Normal:

  • Sí y sólo si los dominios contienen valores simples o atómicos.
  • Sí y sólo si la Relación ha sido normalizada.

 

Segunda Forma Normal

La Segunda y Tercera Forma Normal tratan con la relación existente entre los atributos que componen la Clave[2] de una tupla y el resto de los atributo pertenecientes a la tupla.

La Segunda Forma Normal se viola cuando un atributo no integrante de la clave posee información relacionada con un subconjunto de la Clave.

 

Tercera Forma Normal

Una relación R está en Tercera Forma Normal si se encuentra en Segunda Forma Normal y además cada atributo que no forma parte de la Clave depende en forma directa de ella.

La Tercera Forma Normal se viola cuando un atributo no integrante de la Clave provee información acerca de otro atributo no participante en la Clave.

 

Cuarta Forma Normal

Una relación R se encuentra en Cuarta Forma Normal si se encuentra en Tercera Forma Normal y además cada tupla en R consiste de una Clave primaria que identifica la tupla y del conjunto de valores de los atributo, los cuales son mutuamente independientes, que describen a dicha tupla.

 

Quinta Forma Normal

La Quinta Forma Normal se relaciona con los casos donde la información puede reconstruirse a partir de piezas más pequeñas de información, las cuales pueden ser almacenadas utilizando menos redundancia.

La Segunda, Tercera y Cuarta Forma Normal se pueden utilizar para este propósito, pero la Quinta Forma Normal se generaliza a los casos no cubiertos por las anteriores.

 

Fuente: Escuela de Educación Técnica (Informática/Normalización), consultado 20/03/2009

 

Volver

2. Caso de Estudio.

Se busca normalizar la siguiente tabla que contiene todos los datos de la base de datos:

Id

Id_alumno

Nombre alumno

Cédula identidad

Fecha Nacimiento

Estado

Ciudad

No. teléfono

mail

Nivel

Fecha

1

0000001

Carmen Quijada

13987090

16/08/1979

Aragua

Maracay

0424-1823902

cquijada@mail.com

2

06/12/2007

2

0000002

Rodolfo Milano

11080273

10/05/1976

Mérida

Mérida

0412-9820129

rmilano@mail.com

3

12/04/2008

3

0000002

Rodolfo Milano

11080273

10/05/1976

Mérida

Mérida

0412-9820129

rmilano@mail.com

2

07/02/2008

4

0000003

Laura Monsalve

13280287

03/09/1978

Barinas

Barinas

0416-7330892

lmonsal@mail.com

1

11/10/2008

5

0000004

Manuel Garzón

14133329

17/05/1980

Aragua

Maracay

0414-5149103

mgarzon@mail.com

2

05/03/2007

Una vez que tenemos la información de los datos que conformarán la base de datos, se procederá primero a crear un Diccionario de Datos:

Código
Descripción

Id_Reg:
Id_alumno:
Nombre:
Cedula:
Fecha_nac:
E_Proc:
C_Proc:
No_telef:
Mail:
Nivel:
Fecha:

Número de registro
Identificador del número (valor único por alumno).
Nombre del alumno
No. de cédula del alumno
Fecha de nacimiento del alumno
Estado del cual pertenece el alumno
Ciudad del cual pertenece el alumno
Número de teléfono del alumno
Mail o dirección electrónica del alumno
Nivel cursado por el alumno
Fecha en que el alumno realizó el curso.


Proceso de Normalización:

Primera Forma Normal (1FN):

Analizando todos los atributos o datos anteriores, se pueden definir algunos repetitivos y otros no repetitivos. Por lo que agruparemos los atributos de la siguiente manera:

Grupo No Repetitivo

Grupo Repetitivo

Id_Reg
Id_alumno
Nombre
Cedula
Fecha_nac
E_Proc
C_Proc
No_telef
Mail

Nivel
Fecha

Como los atributos Id e Id_alumno son únicos, es decir, dos alumnos no podrán tener el mismo código y dos registros no podrán ser iguales; además los atributos del Grupo Repetitivo contendrán datos que se pueden repetir por cada alumno; la Primera Forma Normal quedaría entonces:

key.pngId_Reg

key.pngId_alumno

Nombre

Cedula

Fecha_nac

E_Proc

C_Proc

No_telef

Mail

Nivel

Fecha


 


 

 

 

Segunda Forma Normal (2FN):

La relación antes descrita estará en segunda forma normal si ninguno de los atributos suministra información sobre un subconjunto de la clase.
El campo Procedencia no depende enteramente de la llave, por lo que se agregaría un tercer grupo de datos.

key.pngId_Reg

key.pngId_alumno

Nombre

Cedula

Fecha_nac

Cod_Proc

No_telef

Mail

Nivel

Fecha


 

 

 

 

key.png 

Cod_Proc

E_Proc

C_Proc

 

 

 

 

key.pngId_Nivel

Nivel

 

 

 

 

Tercera Forma Normal (2FN):

La relación estará en Tercera Forma Normal eliminando la relación que existe entre los atributos que no forman parte de la clave.

key.pngId_Registro

key.pngId_alumno

Cod_Proced

Id_Nivel

Fecha


 

 

 

key.pngCod_Proced

E_Proced

C_Proced


 

 

 

key.pngId_alumno

Nombre

Cedula

Fecha_nac

No_telef

Mail

 

 

 

 

En esta Tercera Forma Normal cada atributo es parte de la Clave o provee información acerca de ella y nada más.

Volver

 

Referencias

1

Tuplas: Es el nombre que recibe cada una de las filas de la tabla. Orasite.comConsultado 20/03/2009

2

Clave: Dada una relación R, un atributo X de R, es una clave si su conjunto de valoers identifica unívocamente cada una de las tuplas de esa Relación. UNA,

Volver

Bibliografía

 

González, Carlos A. “Sistemas de Bases de Datos”. Editorial Tecnológica de Costa Rica. 1996

IBM Corporation, "Base de Datos I". S/E. 2001

MySql Hispano, “La Normalización de Base de Datos”, Dirección electrónica: http://www.eet2mdp.edu.ar/alumnos/MATERIAL/MATERIAL/info/infonorma.pdf, (Consultado: 18/03/09).

Universidad Nacional Abierta (1997).  “Base de Datos”. Impresión Gráficas COLSON, C.A.  Caracas – Venezuela

Viescas, Jhon. “Microsoft Access 2000”. Editorial Mc Graw Hill. 1999

Integrantes:

 

Carmen Quijada

Laura Monsalve

Rodolfo Milano