Imagina que estás en el Templo Jedi, rodeado de sabiduría ancestral y tecnología punta. Tu misión: diseñar una base de datos robusta que almacene información crucial para la República. Sin embargo, un enemigo acecha: la redundancia y las anomalías en los datos. Para vencerlo, necesitas dominar la técnica de la Tercera Forma Normal (3FN) que forma parte de las reglas de normalizacion de base de datos, una herramienta poderosa que te permitirá crear estructuras de datos tan sólidas como el sable de luz de un maestro Jedi.
¿Qué es la 3FN?
Piensa en la 3FN como el Código Jedi de las bases de datos. Es un conjunto de reglas que te guía para crear tablas libres de dependencias innecesarias, como si eliminaras las impurezas del Camino de la Fuerza esto tambien es conocido como redundacia de datos. Al seguir estas reglas, garantizas la integridad de tus datos, la eficiencia de tus consultas y la escalabilidad de tu base de datos, tan importante como tener un ejército de clones a tu disposición.
Características de un Jedi de las bases de datos:
- Primera Forma Normal (1FN): Tus datos deben ser atómicos, sin valores compuestos que puedan corromper la Fuerza.
- Segunda Forma Normal (2FN): Ningún atributo no principal debe depender directamente de la clave primaria, como un aprendiz que no puede dominar la Fuerza sin la guía de un maestro.
- Tercera Forma Normal (3FN): Ningún atributo no principal debe depender de forma indirecta de la clave primaria, como un maestro que no puede entrenar a un padawan sin antes haber entrenado a un Jedi.
Beneficios de dominar la 3FN:
- Integridad de datos: Tus datos estarán tan protegidos como los secretos de la República, evitando anomalías y errores.
- Eficiencia: Tus consultas serán tan rápidas como la velocidad del Halcón Milenario, optimizando el rendimiento de tu base de datos.
- Escalabilidad: Tu base de datos podrá crecer como la Orden Jedi, adaptándose a las nuevas necesidades sin problemas.
- Mantenimiento: Administrar tu base de datos será tan sencillo como meditar, facilitando su gestión y actualización.
si, reconozco que estoy haciendo una referencia a Star wars, pero seria una forma divertida de presentarte este concepto.
Representacion grafica de la tercera forma normal
El siguiente grafico ilustra la claramente cual seria la ventaja de utilizar la tercera forma normal dentro de nuestras estructuras de datos.
Como podemos ver 3fn elimina la captura de informacion duplicada dentro de nuestras tablas y base de datos sentando las bases para los catologos y maestros de informacion que solo se relacionan entrando en el concepto de llaves primarias y foraneas.
Dominando la 3FN con un caso práctico
Escenario:
Imagina una tabla «Estudiantes» que almacena información sobre alumnos de la Academia Jedi:
Atributo | Tipo de Dato |
---|---|
ID_Estudiante | INT |
Nombre | VARCHAR(255) |
Apellido | VARCHAR(255) |
Carrera | VARCHAR(255) |
Ciudad | VARCHAR(255) |
Teléfono | VARCHAR(25) |
Análisis:
- 1FN: La tabla cumple con la 1FN, ¡tus datos son tan puros como la Fuerza!
- 2FN: ¡Oh no! La dependencia de «Ciudad» con «Carrera» viola la 2FN, como un aprendiz que depende de otro para dominar la Fuerza sin la guía de un maestro.
Solución:
Yo, como maestro Jedi de las bases de datos, te guío hacia la normalización a 3FN:
- Crea una nueva tabla «Ciudades»:
Tabla «Ciudades»:
Atributo | Tipo de Dato |
---|---|
ID_Ciudad | INT |
Nombre_Ciudad | VARCHAR(255) |
- Modifica la tabla «Estudiantes»:
Tabla «Estudiantes» normalizada:
Atributo | Tipo de Dato |
---|---|
ID_Estudiante | INT |
Nombre | VARCHAR(255) |
Apellido | VARCHAR(255) |
Carrera | VARCHAR(255) |
ID_Ciudad | INT |
Teléfono | VARCHAR(25) |
- Establece una relación entre las tablas:
- La tabla «Estudiantes» ahora tiene una clave foránea «ID_Ciudad» que referencia la clave primaria «ID_Ciudad» de la tabla «Ciudades».
Beneficios de la normalización
- Eliminas la dependencia no primacial, como un Jedi que libera su propio camino en la Fuerza.
- Reduces la redundancia de datos, como si eliminaras un archivo redundante del Holocausto.
- Mejoras la integridad y consistencia de los datos, como si pulieras tu sable de luz hasta que brille como un faro.
Consideraciones adicionales
- La 3FN no siempre es el objetivo final, como no todos los Jedi dominan todas las técnicas de la Fuerza.
- En algunos casos, puede ser necesario desnormalizar ligeramente para mejorar el rendimiento, esto solo podria aplicar si estamos trabajando con informes y analisis de datos.
Conclusión
La Tercera Forma Normal es una herramienta fundamental para diseñar bases de datos robustas y eficientes. Al comprender sus principios, características y beneficios, podrás dominar esta técnica esencial y crear estructuras de datos que te acompañarán en tus proyectos de desarrollo.
Esto aplica ademas para oracle el cual junto con sql server, mysql o postgresql. conforman casi todo el mercado de SGBD que existen. Para mas detalles te recomiend la explicacion de la segunda regla de normalizacion para base de datos
Recursos adicionales:
- Wikipedia: Tercera Forma Normal: https://es.wikipedia.org/wiki/Tercera_forma_normal
- Udemy: Curso de Normalización de Bases de Datos
- SQLZoo: Ejercicios de Normalización de Bases de Datos: https://sqlzoo.net/