Modelo relacional

El proceso de normalizaci�n es un est�ndar que consiste, b�sicamente, en un proceso de conversi�n de las relaciones entre las entidades, evitando:

  • La redundancia de los datos: repetici�n de datos en un sistema.
  • Anomal�as de actualizaci�n: inconsistencias de los datos como resultado de datos redundantes y actualizaciones parciales.
  • Anomal�as de borrado: p�rdidas no intencionadas de datos debido a que se han borrado otros datos.
  • Anomal�as de inserci�n: imposibilidad de adicionar datos en la base de datos debido a la ausencia de otros datos.

Tomando como referencia la tabla siguiente:

AUTORES Y LIBROS
NOMBRE NACION CODLIBRO TITULO EDITOR
Date USA 999 IBD AW
Ad.Mig. ESP 888 CyD RM
Ma.Piat. ITA 777 CyD RM
Date USA 666 BdD AW

Se plantean una serie de problemas:

  • Redundancia: cuando un autor tiene varios libros, se repite la nacionalidad.
  • Anomal�as de modificaci�n: Si Ad.Mig. y Ma.Piat. desean cambiar de editor, se modifica en los 2 lugares. A priori no podemos saber cu�ntos autores tiene un libro. Los errores son frecuentes al olvidar la modificaci�n de un autor. Se pretende modificar en un s�lo sitio.
  • Anomal�as de inserci�n: Se desea dar de alta un autor sin libros, en un principio. NOMBRE y CODLIBRO son campos clave, una clave no puede tomar valores nulos.

Asegurando:

  • Integridad entre los datos: consistencia de la informaci�n.

El proceso de normalizaci�n nos conduce hasta el modelo f�sico de datos y consta de varias fases denominadas formas normales, estas formas se detallan a continuaci�n.

.�Definici�n de la clave

Antes de proceder a la normalizaci�n de la tabla lo primero que debemos de definir es una clave, esta clave deber� contener un valor �nico para cada registro (no podr�n existir dos valores iguales en toda la tabla) y podr� estar formado por un �nico campo o por un grupo de campos.

En la tabla de alumnos de un centro de estudios no podemos definir como campo clave el nombre del alumno ya que pueden existir varios alumnos con el mismo nombre. Podr�amos considerar la posibilidad de definir como clave los campos nombre y apellidos, pero estamos en la misma situaci�n: podr�a darse el caso de alumnos que tuvieran los mismo apellidos y el mismo nombre (Juan Fern�ndez Mart�n).

La soluci�n en este caso es asignar un c�digo de alumno a cada uno, un n�mero que identifique al alumno y que estemos seguros que es �nico.

Una vez definida la clave podremos pasar a estudiar la primera forma normal.

.�Primera forma normal (1NF)

Se dice que una tabla se encuentra en primera forma normal (1NF) si y solo si cada uno de los campos contiene un �nico valor para un registro determinado. Supongamos que deseamos realizar una tabla para guardar los cursos que est�n realizando los alumnos de un determinado centro de estudios, podr�amos considerar el siguiente dise�o:

C�digoNombreCursos
1MarcosIngl�s
2LucasContabilidad, Inform�tica
3MartaIngl�s, Contabilidad

Podemos observar que el registro de c�digo 1 si cumple la primera forma normal, cada campo del registro contiene un �nico dato, pero no ocurre as� con los registros 2 y 3 ya que en el campo cursos contiene m�s de un dato cada uno. La soluci�n en este caso es crear dos tablas del siguiente modo:

Tabla A
C�digoNombre
1Marcos
2Lucas
3Marta

Tabla B
C�digoCurso
1Ingl�s
2Contabilidad
2Inform�tica
3Ingl�s
3Inform�tica

Como se puede comprobar ahora todos los registros de ambas tablas contienen valores �nicos en sus campos, por lo tanto ambas tablas cumplen la primera forma normal.

Una vez normalizada la tabla en 1NF, podemos pasar a la segunda forma normal.

.�Segunda forma normal (2NF)

La segunda forma normal compara todos y cada uno de los campos de la tabla con la clave definida. Si todos los campos dependen directamente de la clave se dice que la tabla est� es segunda forma normal (2NF).

Supongamos que construimos una tabla con los a�os que cada empleado ha estado trabajando en cada departamento de una empresa:

C�digo EmpleadoC�digo Dpto.NombreDepartamentoA�os
16JuanContabilidad6
23PedroSistemas3
32SoniaI+D1
43Ver�nicaSistemas10
26PedroContabilidad5

Tomando como punto de partida que la clave de esta tabla est� formada por los campos c�digo de empleado y c�digo de departamento, podemos decir que la tabla se encuentra en primera forma normal, por tanto vamos a estudiar la segunda:

  1. El campo nombre no depende funcionalmente de toda la clave, s�lo depende del c�digo del empleado.
  2. El campo departamento no depende funcionalmente de toda la clave, s�lo del c�digo del departamento.
  3. El campo a�os si que depende funcionalmente de la clave ya que depende del c�digo del empleado y del c�digo del departamento (representa el n�mero de a�os que cada empleado ha trabajado en cada departamento)

Por tanto, al no depender todos los campos de la totalidad de la clave la tabla no est� en segunda forma normal, la soluci�n es la siguiente:

Tabla A
C�digo EmpleadoNombre
1Juan
2Pedro
3Sonia
4Ver�nica

Tabla B
C�digo DepartamentoDpto.
2I+D
3Sistemas
6Contabilidad

Tabla C
C�digo EmpleadoC�digo DepartamentoA�os
166
233
321
4310
265

Podemos observar que ahora si se encuentras las tres tabla en segunda forma normal, considerando que la tabla A tiene como �ndice el campo C�digo Empleado, la tabla B C�digo Departamento y la tabla C una clave compuesta por los campos C�digo Empleado y C�digo Departamento.

.�Tercera forma normal (3NF)

Se dice que una tabla est� en tercera forma normal si y solo si los campos de la tabla dependen �nicamente de la clave, dicho en otras palabras los campos de las tablas no dependen unos de otros. Tomando como referencia el ejemplo anterior, supongamos que cada alumno s�lo puede realizar un �nico curso a la vez y que deseamos guardar en que aula se imparte el curso. A voz de pronto podemos plantear la siguiente estructura:

C�digoNombreCursoAula
1MarcosInform�ticaAula A
2LucasIngl�sAula B
3MartaContabilidadAula C

Estudiemos la dependencia de cada campo con respecto a la clave c�digo:

  • Nombre depende directamente del c�digo del alumno.
  • Curso depende de igual modo del c�digo del alumno.
  • El aula, aunque en parte tambi�n depende del alumno, est� mas ligado al curso que el alumno est� realizando.

Por esta �ltima raz�n se dice que la tabla no est� en 3NF. La soluci�n ser�a la siguiente:

Tabla A
C�digoNombreCurso
1MarcosInform�tica
2LucasIngl�s
3MartaContabilidad

Tabla B
CursoAula
Inform�ticaAula A
Ingl�sAula B
ContabilidadAula C

Una vez conseguida la segunda forma normal, se puede estudiar la cuarta forma normal.

.�Cuarta forma normal (4NF)

Una tabla est� en cuarta forma normal si y s�lo si para cualquier combinaci�n clave - campo no existen valores duplicados. Ve�moslo con un ejemplo:

Geometr�a
FiguraColorTama�o
CuadradoRojoGrande
CuadradoAzulGrande
CuadradoAzulMediano
C�rculoBlancoMediano
C�rculoAzulPeque�o
C�rculoAzulMediano

Comparemos ahora la clave (Figura) con el atributo Tama�o, podemos observar que Cuadrado Grande est� repetido; igual pasa con C�rculo Azul, entre otras. Estas repeticiones son las que se deben evitar para tener una tabla en 4NF.

La soluci�n en este caso ser�a la siguiente:

Tama�o
FiguraTama�o
CuadradoGrande
CuadradoPeque�o
C�rculoMediano
C�rculoPeque�o

Color
FiguraColor
CuadradoRojo
CuadradoAzul
C�rculoBlanco
C�rculoAzul

Ahora si tenemos nuestra base de datos en 4NF.

.�Otras formas normales

Existen otras dos formas normales, la llamada quinta forma normal (5FN) que no detallo por su dudoso valor pr�ctico ya que conduce a una gran divisi�n de tablas y la forma normal dominio / clave (FNDLL) de la que no existe m�todo alguno para su implantaci�n.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR