|
Buscador
Secciones
Registro
¡Colabora!
Ganamos
Servicios
|
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:
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.
|
| Código Empleado | Código Dpto. | Nombre | Departamento | Años |
|---|---|---|---|---|
| 1 | 6 | Juan | Contabilidad | 6 |
| 2 | 3 | Pedro | Sistemas | 3 |
| 3 | 2 | Sonia | I+D | 1 |
| 4 | 3 | Verónica | Sistemas | 10 |
| 2 | 6 | Pedro | Contabilidad | 5 |
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:
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:
| Código Empleado | Nombre |
|---|---|
| 1 | Juan |
| 2 | Pedro |
| 3 | Sonia |
| 4 | Verónica |
| Código Departamento | Dpto. |
|---|---|
| 2 | I+D |
| 3 | Sistemas |
| 6 | Contabilidad |
| Código Empleado | Código Departamento | Años |
| 1 | 6 | 6 |
| 2 | 3 | 3 |
| 3 | 2 | 1 |
| 4 | 3 | 10 |
| 2 | 6 | 5 |
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ódigo | Nombre | Curso | Aula |
|---|---|---|---|
| 1 | Marcos | Informática | Aula A |
| 2 | Lucas | Inglés | Aula B |
| 3 | Marta | Contabilidad | Aula C |
Estudiemos la dependencia de cada campo con respecto a la clave código:
Por esta última razón se dice que la tabla no está en 3NF. La solución sería la siguiente:
| Código | Nombre | Curso |
|---|---|---|
| 1 | Marcos | Informática |
| 2 | Lucas | Inglés |
| 3 | Marta | Contabilidad |
| Curso | Aula |
|---|---|
| Informática | Aula A |
| Inglés | Aula B |
| Contabilidad | Aula 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:
| Figura | Color | Tamaño |
|---|---|---|
| Cuadrado | Rojo | Grande |
| Cuadrado | Azul | Grande |
| Cuadrado | Azul | Mediano |
| Círculo | Blanco | Mediano |
| Círculo | Azul | Pequeño |
| Círculo | Azul | Mediano |
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:
| Figura | Tamaño |
|---|---|
| Cuadrado | Grande |
| Cuadrado | Pequeño |
| Círculo | Mediano |
| Círculo | Pequeño |
| Figura | Color |
|---|---|
| Cuadrado | Rojo |
| Cuadrado | Azul |
| Círculo | Blanco |
| Círculo | Azul |
Ahora si tenemos nuestra base de datos en 4NF.
Otras formas normalesExisten 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.
| Leer comentarios (85) | |
| Escribir comentario | |
| Puntuación: |
|
| Votar | |
| Recomendar este tutorial | |
| Estadísticas |
Copyright © 1999-2006
Programación en castellano.
Todos los derechos reservados.
Formulario de Contacto -
Datos legales -
Publicidad
Hospedaje web y servidores dedicados linux por
Ferca Network