| El modelo es sencillo; un proyecto consta de una serie de tareas
que hay que realizar para completarlo y, a su vez, cada una de estas tareas contará
con una serie de tiempos registrados (cada día se registrará el tiempo
acumulado en ese día para cada tarea que se haya abordado). Por otra parte tenemos
que un tiempo registrado lo es siempre para una única tarea, y a su vez cada tarea
lo es de un único proyecto (y no puede haber una tarea sin proyecto).
Probablemente alguien que antes de llegar a esta página haya pasado
por la sección sobre
bases de datos relacionales
de este site, se preguntará: "¿Está normalizado?".
Veamos... vamos con el enfoque didáctico; consideremos hasta la tercera forma normal:
- Primera Forma Normal (1NF):
- Los atributos contienen sólo valores atómicos, es decir, no hay ninguno
que pueda tomar un conjunto de valores (normalmente esto se cumple, y este caso no
es una excepción).
- Segunda Forma Normal (2NF):
- Está en 1NF y además no existen dependencias parciales con respecto a las
correspondientes claves (evidentemente no puede haberlas, al componerse en este caso la
clave de cada entidad de un único atributo las dependencias son, por fuerza, totales).
- Tercera Forma Normal (3NF):
- Está en 2NF y además no hay dependencias transitivas de los atributos
no clave con la clave primaria.
O lo que es lo mismo, no existen dependencias entre atributos no clave (ya sea primaria
o símplemente candidata); en este caso el atributo "referencia"
es clave candidata, tanto para PROYECTO como en su caso para TAREA (sí, existe
una referencia para el proyecto y otra para la tarea), con lo que, si bien el resto de
atributos no clave dependen funcionalmente de "referencia", también lo
hace la propia clave primaria (es decir, no hay dependencias transitivas, en realidad se
está cumpliendo la forma normal de Boyce/Codd, es decir, todos los determinantes
son claves candidatas).
- Boyce/Codd, 4NF, 5NF, 6NF:
- Algo se ha adelantado ya al hablar sobre 3NF... BCNF se cumple, todo determinante es clave
candidata; el resto de formas normales... dejo de tu cuenta comprobarlo ;-) (habitualmente
se normaliza sólo hasta 3NF).
|