Curso de Administracion de Bases de Datos Relacionales: 03 - Segunda forma normal

Hola buenas tardes, la segunda forma normal(2FN) requiere cumplir las 5 condiciones de la 1FN y que todos los elementos de la tabla dependan enteramente de la llave primaria, matemáticamente buscamos que haya dependencia funcional y no transitiva, buscamos eliminar las dependencias a medias, buscamos que cada registro pueda ser asociado con una única llave primaria, en ocasiones requerimos una llave compuesta, pero son excepciones a la regla generadas por la lógica del negocio.


Aquí tenemos una dependencia transitiva, tenemos un espacio para correo/teléfono dentro de la persona, aunque el dato le pertenece, no es correcto un campo en la tabla que ya posee una llave primaria, para retirar ese problema necesitamos hacer una tabla pivote, aquella que asocia la llave primaria de ambas tablas, no es necesario que una persona tenga numero de teléfono, pero se necesita que dos personas puedan compartir uno, eso nos genera una relación de muchas personas con muchos teléfonos, cosa que debe ser ilegal para una base de datos puesto que se pierde integridad referencial, los datos se vuelven un caos.


Continuando con las críticas, el ID del curso es insuficiente para identificarlo, los cursos se repiten cada cierto tiempo y es necesario almacenar la lista de matriculados, las notas de los mismos, el año que se ha impartido, el día en que se imparte, la hora de inicio, el numero de grupo al que pertenece y quien es el profesor que lo imparte, así que esa tabla esta incompleta, necesitamos una tabla de matriculas que sostenga los datos históricos y otra de los cursos que se repetirán sin ser alterados durante mucho tiempo, como los estudiantes pueden retirar, aprobar o reprobar cursos, el estado resulta una columna útil en la tabla de matricula, quedando las tablas en segunda forma normal de la siguiente forma


Si parece que cada vez hay mas tablas, es por que son necesarias, con esta estructura nos garantizamos la integridad referencial, que los datos sean atómicos, que los registros tengan identidad y por tanto que las búsquedas puedan ser muy rápidas en el mejor de los casos, la próxima entrada será sobre la tercera forma normal, finalizando la estructura de la base de datos y por fin llegaremos al lenguaje SQL con el cual definiremos las tablas en la DB así como ingresar datos de prueba.

Comentarios

Entradas populares de este blog

Hablemos de difamación, parafilias y denuncias bien hechas

Criticamos a pablito: "Atrapado en el cuerpo equivocado"

El fruto de una era: Antiintelectualismo moderno