Curso de Administracion de Bases de Datos Relacionales: 01 - Reglas de normalizacion, conceptualizando tablas

Hola buenas tardes, para evitar el aburrimiento vamos a conceptualizar la normalización con un ejemplo y así entendemos las 3 formas normales mas frecuentes de forma gráfica, según la teoría de conjuntos hay caminos cortos que podemos utilizar para minimizar la redundancia de datos(que no existan copias del mismo valor), proteger la integridad de datos, disminuir información basura y asegurar que el crecimiento de las tablas sea constante o incluso que cada vez sea mas lento.

Para empezar es necesario tener en claro los elementos que conforman una tabla y como funcionan los procesos que se pueden llevar a cabo con una serie de principios indispensables en bases de datos conocidas como reglas de normalización.



En primer lugar debemos tener claro que las columnas serán como una variable, cada fila(Registro) será un objeto que hemos ingresado a la BD, cada tabla deberá cumplir una única función en el conjunto de datos que vamos a almacenar, habrá una o más columnas que sea claves o llaves primarias, las llaves primarias son únicas, nos permiten tener un valor que será imposible de perder, irrepetible y será nuestra guía de búsqueda.

Si analizamos lo que es una búsqueda indexada, entenderemos que esta llave primaria nos permitirá evitar una búsqueda lenta, esa llave primaria debe ser la base para crear las tablas, lo primero que necesitamos es comprender que otras búsquedas son posibles, pero no recomendables y por ultimo, deberíamos evitar al máximo que nuestros indices(llaves primarias) sean texto.

Con estos elementos vamos a conformar la propuesta preliminar para una base de datos que controle la matricula de una universidad, en este primer momento se me ocurren tres tablas, personas, estudiantes y profesores. Donde los datos personales estarán en personas, las matriculas y promedios en estudiantes, en profesores estarán las horas laboradas y cursos, como buena práctica tanto los estudiantes como profesores deberían tener un estado, por que no todos los profesores/estudiantes estarán activos y en caso de realizar búsquedas conviene filtrar entre activos, inactivos, gradudados, vacacionando y despedidos, recordemos que no debemos borrar datos sin un Data Warehouse que los almacene.

Estas tres tablas no cumplen absolutamente ninguna regla de normalización, tiene una forma base con la cual se empieza a hacer el análisis, las formas normales se van utilizando para modificar las tablas de una en una, este ejemplo que parece muy sencillo resulta que se deriva en muchas decisiones complejas.

A simple vista una persona no puede tener más de un numero de teléfono, los números de teléfono se repetirán muchas veces si tenemos personas con el mismo número, dos personas con el mismo correo electrónico es igual que con los teléfonos, un profesor solo puede impartir un curso, un mismo estado debe repetirse muchas veces, el DNI parece repetirse 3 veces(esto no va a ser así, pero en la hoja de calculo si que lo parece) en una persona que sea profesor y estudiante al mismo tiempo, el carnet es un espacio inútil para este ejemplo y posiblemente haya que borrarlo.

Todos estos cambios se verán en la próxima entrada, por el momento ya tenemos en claro los componentes de una tabla, conocemos que existen las llaves primarias como método de agilizar las búsquedas, es claro que el campo candidato a llave primaria es el DNI por delimitar a la persona inequívocamente, por ultimo, vamos entendiendo que una vez creado el esqueleto de las tablas, los problemas del modelo relacional surgen por si solos, todos ellos tendrán solución con una de las reglas de normalización, parece ser que este ejemplo puede llegar a cuarta forma normal, pero no voy a estar seguro hasta que el experimento finalice.

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