Buenas practicas de bases de datos con SQL

Clase 11 de 36Curso de Bases de Datos con SQL

Resumen

¿Qué es la normalización y por qué es importante?

La normalización es una práctica crucial en la manipulación de bases de datos. Su objetivo es garantizar la integridad y organización de los datos, permitiendo la adecuada estructuración de la información y el correcto relacionamiento entre tablas. Imaginemos una mudanza como metáfora: organizamos por áreas (como cocina o habitación) y no almacenamos un electrodoméstico donde estarían objetos de dormitorio. Con esta misma lógica, la normalización ayuda a identificar las áreas de negocio y atribuir de manera precisa cada objeto en una base de datos, evitando incongruencias y asegurando datos atómicos y bien relacionados.

¿Cómo se aplica la primera forma normal?

La primera forma normal (1NF) se centra en la atomicidad de los datos y en la especificación de una clave primaria para cada registro. Los pasos a seguir incluyen:

  • Asegurar que toda la información sea atómica, es decir, indivisible.
  • Utilizar una clave primaria para diferenciar cada registro.
  • Centralizar la información por columnas, evitando combinar diferentes tipos de información en un solo campo.

Por ejemplo, en una tabla de estudiantes y cursos, si un campo contiene múltiples cursos de forma conjunta, como "A, B, C", se estaría violando este principio ya que los datos no son indivisibles.

Ejemplo:

Si Marco está inscrito en los cursos A, B y C, cada inscripción debería ser un registro separado:

ID | Estudiante | Curso
1  | Marco      | A
1  | Marco      | B
1  | Marco      | C

¿Qué implica la segunda forma normal?

La segunda forma normal (2NF) requiere que todos los atributos no clave dependan de la clave primaria. Esto significa que no debe haber dependencias parciales de la clave.

  • Cumplir previamente con la 1NF.
  • Crear tablas separadas para grupos de datos relacionados y establecer relaciones entre ellas mediante claves foráneas.

Por ejemplo, una tabla de cursos separada con su propia clave primaria elimina la redundancia de datos de curso en la tabla de estudiantes:

Tabla Cursos
ID | Curso
1  | A
2  | B
3  | C

Tabla Inscripciones
EstudianteID | CursoID
1            | 1
1            | 2
1            | 3

¿Cómo se configura la tercera forma normal?

La tercera forma normal (3NF) afirma que los atributos no clave deben ser completamente independientes de los demás. Esto se traduce en:

  • Asegurar que no haya dependencias funcionales transitivas.
  • Mantener independiente toda información no relacionada directamente con la clave primaria.

Para nuestro ejemplo, las tablas de estudiantes y cursos deben contener solo información pertinente, evitando que un atributo dependa de otro que no sea la clave primaria.

Ejemplo de tablas:

  1. Tabla Estudiantes: Contendrá solo detalles relevantes del estudiante:

    • Nombre

    • Apellido

    • Identificación

  2. Tabla Cursos: Incluirá solo información acerca de los cursos:

    • Descripción

    • Capacidad

  3. Tabla Intermedia: Conectará estudiantes y cursos:

    • EstudianteID

    • CursoID

¿Cómo organizar información de direcciones?

En el caso de las direcciones, abundar detalles atómicos es esencial.

  • Separar el país, departamento y ciudad.
  • Relacionar cada elemento mediante claves foráneas para mantener integridad y reducción de redundancias.

Cada empresa puede optar por estructuras diferentes, pero la justificación en base a las formas normales asegura un desarrollo más sencillo y mayor calidad de datos.

La normalización no solo maximiza la eficiencia del almacenamiento de datos, sino que también mejora las operaciones de transformación, análisis y calidad de los mismos, otorgando un sistema robusto y eficiente.