La información contenida en una base de datos es muy importante, sin ella prácticamente las consultas y transacciones con clientes sería demasiado complicada y, por ende, cobra relevancia su organización lógica, ya que debe ser fácil de recuperar, modificar y mantener con el fin de ser utilizada de la mejor manera posible. Lo anterior se logra a través del uso de estructuras de datos apropiadas, así como con la implementación de reglas de integridad y sus respectivas restricciones.

Imagina la cantidad de productos que hay en una tienda de dispositivos electrónicos; existe una variedad muy grande de opciones de compra para los clientes. La información almacenada para cada uno de estos dispositivos debe estar correctamente almacenada, así como sus datos de procedencia, número de existencias, lotes, garantías, etc. Se vuelve necesario que la información esté organizada de forma lógica y con normas que garanticen la consistencia correcta de los datos. Por ejemplo, el precio de un producto determinado no debe ser menor que el costo de compra del mismo o las características internas deben estar bien catalogadas e impresas para que el cliente identifique las características generales sin ningún problema. Esto le da una mayor relevancia a las bases de datos en cuanto al nivel de organización y cuidado de la información de la misma, elementos que aprenderás en este tema.

Explicación

Normalización y sus fases

Revisa las siguientes definiciones de normalización:

La transformación de las vistas de usuario complejas y del almacén de datos a un juego de estructuras de datos más pequeñas y estables. Además de ser más simples y estables, las estructuras de datos son más fáciles de mantener que otras estructuras de datos. (Kendall, 2005)

La normalización en una base de datos tiene diferentes objetivos, principalmente enfocados a reducir la redundancia de los datos y también a reducir las dependencias entre columnas, aplicándose de manera acumulativa; existen en total seis formas normales o reglas de normalización, pero las más destacadas son las tres primeras, por lo que, tomando en cuenta lo anterior, se traduce en que la segunda forma normal incluye a la primera, la tercera a la segunda y así sucesivamente. Por lo que podemos deducir que una base de datos que está en la segunda forma normal, cumple con las dos primeras reglas de normalización. (Pacheco, 2018)

Primera forma normal 1FN

Tiene las siguientes indicaciones generales:

  1. Todos los valores almacenados en las columnas deben ser indivisibles.
  2. No deben existir grupos de valores repetidos.

Ejemplo. En una tabla se designa una columna para almacenar la información de los clientes, por lo que se tendrían datos como nombre de la calle, número interior, número exterior, colonia, código postal, municipio, estado, etc.

Figura 2.1. Ejemplo de aplicación de la 1FN.

Tablas con esta estructura presentan muchos problemas al momento de acceder a la información porque, por ejemplo, si se requiere conocer la información por código postal u obtener las colonias específicas para un reporte, al tener una secuencia de caracteres en formato libre, no sería posible. Con esta forma normal, aunque existan más columnas, se contará con la información relevante para realizar operaciones o consultas correctas.

Segunda forma normal 2FN

Además de cumplir con los puntos de la primera forma normal, en esta no existen dependencias funcionales parciales, es decir, todos los valores de las columnas de una fila dependen solamente de la clave primaria de la fila (son los valores de todas las columnas que la formen, si es que es más de una). Si ya existe una tabla con la primera forma normal aplicada con una clave primaria única, entonces ya cumpliría con la segunda forma normal; por lo tanto, esta segunda forma normal aplica para las tablas que tienen valores correspondientes a dos o más columnas.

Figura 2.2. Ejemplo de aplicación de la 2FN.

Tercera forma normal 3FN

La tercera forma normal especifica que no deben existir dependencias transitivas entre las columnas de una tabla, en otras palabras, si hay columnas que no forman parte de la clave primaria, deberán depender solo de la clave. En el ejemplo, implicaría la separación de la tabla de direcciones para cumplir con esta regla.

Figura 2.3. Ejemplo de aplicación de la 3FN.

Integridad de la información

La integridad de la información se ha convertido en un tema de gran relevancia hoy en día, ya que se debe contar con la información más actual y, al mismo tiempo, que esta sea confidencial y cuente con disponibilidad. Según Grupo Atico34 (2023), la integridad de la información establece que los datos deben ser exactos y fiables y que no se hayan modificado accidentalmente o de manera intencionada por terceras personas cuando están en uso, en reposo o movimiento. Su objetivo principal radica en garantizar que los datos no sean alterados, manipulados o corrompidos para considerarlos exactos y confiables.

De acuerdo con Grupo Atico34 (2023), los tres principios de la integridad de la información son la confidencialidad, la integridad y la disponibilidad y los tres deben estar presentes en todo momento, ya que, si alguno falla, no se puede garantizar la exactitud de la información. Al no cumplir con lo anterior, los datos se considerarían corrompidos y serían inútiles para la empresa, lo que se puede traducir en pérdidas económicas, sobre todo si no se cuenta con herramientas que permitan su recuperación, implicando nuevas inversiones de tiempo y recursos para restablecerla de alguna manera.

De esta forma, los principales riesgos y amenazas para la integridad de la información son:

  • Errores humanos en la introducción, manipulación de datos o, incluso, al transferirlos de un lugar a otro.
  • Ciberataques, que tienen como objetivo alterar la información o dejarla sin acceso para los usuarios autorizados.
  • Errores de hardware o software que pueden corromper datos o información como, por ejemplo, errores físicos en un disco duro.
  • Desastres naturales como incendios, fallos en la energía eléctrica, inundaciones, etc.
  • Ataques internos mal intencionados como, por ejemplo, usuarios con permisos que deciden hacer mal uso de ellos por algún motivo.
  • Errores en la transferencia de un dispositivo a otro que dañen o corrompan la información.

Los tipos de integridad de datos, según Naeem (2024), son:

Figura 2.4. Tipos de integridad de datos.

  • Integridad física. En esta, recaen aspectos como desastres naturales, cortes de energía, incendios, piratas informáticos o almacenamientos dañados que pueden hacer que los usuarios no tengan acceso a la información de manera completa y correcta.
  • Integridad lógica. Se entiende como la racionalidad de los datos que se alojan en la base de datos relacional. Se clasifican en cuatro tipos:
    • Integridad de la entidad. Es una característica importante en una base de datos relacional porque se asegura de garantizar que los datos no se encuentren registrados por duplicado con claves primarias únicas y que no existan campos nulos.
    • Integridad referencial. Tiene como finalidad garantizar que solo se realicen los cambios, modificaciones o eliminaciones válidas según las reglas implementadas en su estructura.
    • Integridad de dominio. Está compuesto por reglas y otros procesos que restringen formatos, tipos y volúmenes de datos registrados, lo que garantiza que la precisión de cada elemento de datos se mantenga en un dominio.
    • Integridad definida por el usuario. Se establece siguiendo las reglas definidas por el administrador para que se cumpla con ciertos requisitos prestablecidos.

Historia del lenguaje

En la década de los setenta, IBM desarrolló un lenguaje para los sistemas de gestión de bases de datos relacionales basado en el trabajo de Codd y le puso por nombre Structured English Query Language (SEQUEL). Posteriormente, en la década de los ochenta, creó productos comerciales como SQL/DS y DB2; también se dio el surgimiento de otros lenguajes como Sybase, Ingres y Oracle (SmartData, 2023).

De acuerdo con SmartData (2023), actualmente Structured Query Language (SQL) es el lenguaje estándar utilizado para la gestión de las bases de datos porque, por su potencia y versatilidad, puede ser usado para realizar diversas tareas, desde la consulta de datos hasta la creación de informes.

Descripción y diferenciación de sus componentes: DDL, DML, DCL y TCL y sus sentencias

Al ser SQL un lenguaje cuyo enfoque depende de lo que quiere el usuario, facilita enormemente la recuperación, actualización, eliminación y modificación de datos que se encuentran grabados en una base de datos y, adicionalmente, permite la adición de nuevas tablas y de las relaciones entre ellas para lograr una mejor estructura de la base de datos relacionada.

Sus componentes principales son (Gulo, 2023):

  • DDL (Data Definition Language) o Lenguaje de Definición de Datos. Permite a los desarrolladores y administradores crear las estructuras de datos necesarias de la base de datos. Algunos comandos son:
    • CREATE. Se usa para la creación de tablas, índices o vistas. Ejemplo:
      CREATE TABLE Alumnos {
      };
    • ALTER. Se usa para agregar nuevos campos o modificar una tabla. Ejemplo:
      ALTER TABLE Alumnos
      ADD Fecha_contratacion;
    • DROP. Se usa para eliminar una tabla o un índice de una base de datos. Ejemplo:
      DROP TABLE Alumnos;
  • DML (Data Manipulation Language) o Lenguaje de Manipulación de Datos. Se trata de las sentencias utilizadas para la creación, eliminación o consulta de datos. Algunos comandos son:
    • SELECT. Se usa para seleccionar los registros de una tabla. Ejemplo:
      SELECT * FROM Alumnos;
    • UPDATE. Se utiliza para actualizar los registros de una tabla. Ejemplo:
      UPDATE Alumnos SET Edad=22 WHERE Nombre=’Pedro’ AND Apellido=’Pérez’;
    • DELETE. Es utilizado para eliminar los registros de una tabla. Ejemplo:
      DELETE FROM Alumnos WHERE Nombre=’Pedro’ AND Apellido=’Pérez’;
    • INSERT. Se utiliza para agregar un nuevo registro a una tabla. Ejemplo:
      INSERT INTO Alumnos (Nombre, Apellido, Teléfono) VALUES (‘Pedro’,’Pérez’,8155324174);
  • DCL (Data Control Language) o Lenguaje de Control de Datos. Ayuda a gestionar y controlar los accesos a los datos de la base de datos o de un determinado esquema. Algunos comandos son:
    • GRANT. Se usa para dar privilegios a los usuarios de la base de datos. Ejemplo:
      GRANT SELECT ON Alumnos TO usuario;
    • REVOKE. Se utilizar para quitar los privilegios a usuarios previamente definidos. Ejemplo:
      REVOKE SELECT ON Alumnos TO usuario;
  • TCL (Transaction Control Language) o Lenguaje de Control de Transacciones. Permite confirmar la grabación, actualización o eliminación de los datos o las acciones realizadas en la base de datos. Algunos comandos son:
    • COMMIT. Permite finalizar una transacción y guardar todos los cambios efectuados en la base de datos. Ejemplo:
      BEGIN TRANSACTION
      UPDATE cliente SET direccion=’calle estrella 121’, WHERE Id=’43’;
      COMMIT;
    • ROLLBACK. Se encarga de deshacer los cambios hechos en una transacción. Ejemplo:
      BEGIN TRANSACTION
      UPDATE cliente SET direccion=’calle estrella 121’, WHERE Id=’43’;
      ROLLBACK;

Cierre

En este tema, has visto que no basta tener una base de datos que gestione toda la información de una empresa, sino que también el uso de las formas normales ayuda a que dicha información se procese de la mejor manera posible, cuidando que no existan redundancias de información o duplicidades que podrían poner en riesgo la toma de decisiones de una organización.

Igualmente, cuidar el tema de la integridad de los datos ayudará a tener una mejor organización en las tablas, pudiendo, a través de los diferentes componentes de la estructura de bases, contar con consultas específicas que aprovechen al máximo la información en el momento que sea requerida por los miembros de una empresa.

Checkpoint

Asegúrate de:

  • Comprender los conceptos de las formas normales para garantizar bases de datos confiables.
  • Conocer los elementos de la integridad de la información con el fin de poder aplicarlos en la realización de bases de datos.
  • Recordar los orígenes del lenguaje SQL con el fin de poder aplicar los conocimientos de sus diferentes componentes en la estructura de consultas confiables y efectivas.

Referencias bibliográficas

  • Araneda, P. (2022). BASE DE DATOS. El camino de los datos a la información. Recuperado de https://bookdown.org/paranedagarcia/database/
  • Grupo Atico34. (2024). Integridad informática ¿Qué es y cómo proteger los datos? Recuperado de https://protecciondatos-lopd.com/empresas/integridad-informatica/
  • Gulo, L. (2023). Qué es DDL, DML, DCL y TCL. Recuperado de https://soloconlinux.org.es/que-es-dml/
  • Kendall, K., y Kendall, J. (2005). Análisis y diseño de sistemas (6a ed.). México: Pearson Educación.
  • Naeem, T . (2024). ¿Qué es la integridad de datos en una base de datos? ¿Por qué lonecesitas? Recuperado de https://www.astera.com/es/type/blog/data-integrity-in-a-database/
  • Pacheco, M. (2018). Normalización de Bases de DatosUnidades de Apoyo para elAprendizaje. Recuperado de https://repositorio-uapa.cuaieed.unam.mx/repositorio/moodle/pluginfile.php/2760/mod_resource/content/1/UAPA-Normalizacion-Base-Datos/index.html
  • SmartData. (2023). La historia de SQL: El lenguaje de base de datos más popular. Recuperado de https://smartdata.com.pe/sqlhistoriayevolucion/

Tecmilenio no guarda relación alguna con las marcas mencionadas como ejemplo. Las marcas son propiedad de sus titulares conforme a la legislación aplicable, estas se utilizan con fines académicos y didácticos, por lo que no existen fines de lucro, relación publicitaria o de patrocinio.

Los siguientes enlaces son externos a la Universidad Tecmilenio, al acceder a ellos considera que debes apegarte a sus términos y condiciones.

Lecturas

Videos

Tecmilenio no guarda relación alguna con las marcas mencionadas como ejemplo. Las marcas son propiedad de sus titulares conforme a la legislación aplicable, estas se utilizan con fines académicos y didácticos, por lo que no existen fines de lucro, relación publicitaria o de patrocinio.