Saltar al contenido principal

Esquemas

¿Qué es un esquema?

En base de datos, un esquema es la estructura lógica que define cómo se organizan los datos dentro de una base de datos, incluyendo tablas, campos, tipos de datos y las relaciones entre ellos. Es como un plano o diseño que describe la forma y la estructura de la base de datos, pero no contiene los datos en sí mismos.

Los esquemas suelen utilizar representaciones visuales para comunicar la arquitectura de la base de datos, convirtiéndose en la base de la disciplina de gestión de datos de una organización. Este proceso de diseño de esquemas de bases de datos también se conoce como modelado de datos.

Ejemplo práctico:

Si la base de datos fuera una casa, el esquema sería el plano del arquitecto: qué habitaciones hay (tablas), qué objetos contiene cada habitación (campos), y cómo se conectan entre ellas (relaciones).


¿Por qué es importante un esquema?

  • Organiza los datos de forma clara y lógica.
  • Define las reglas que deben seguirse para ingresar y relacionar los datos.
  • Ayuda a garantizar la consistencia e integridad de la información.
  • Facilita el mantenimiento, escalabilidad y comprensión del sistema.

Tipos de esquemas:

  • Los esquemas conceptuales:

    Ofrecen una visión general de lo que contendrá el sistema, cómo se organizará y qué reglas de negocio están involucradas. Los modelos conceptuales usualmente se crean como parte del proceso de recopilación de los requisitos iniciales del proyecto.

    Características:

    • Representa la vista general del sistema, sin detalles técnicos.

    • Muestra qué datos hay y cómo se relacionan.

    • Se representa comúnmente con diagramas entidad-relación (ER).

    • No se preocupa por cómo se implementarán o almacenarán esos datos. Ejemplo:
      Una entidad Estudiante con los atributos nombre, correo y carrera.

      Pregunta que responde: ¿Qué información necesito guardar?

  • Los esquemas lógicos:

    Son menos abstractos que los esquemas conceptuales. Definen claramente los objetos del esquema con información, como nombres de tablas, nombres de campos, relaciones entre entidades y restricciones de integridad, es decir, cualquier regla que gobierne la base de datos. Sin embargo, normalmente no incluyen ningún requisito técnico.

    Características:

    • Es la traducción del esquema conceptual a un modelo que pueda ser entendido por un SGBD (Sistema de Gestión de Base de Datos).

    • Define tablas, columnas, claves primarias y foráneas, tipos de datos y relaciones.

    • Es independiente del almacenamiento físico, pero se adapta al tipo de base de datos (relacional, orientada a objetos, etc.).

      Ejemplo:
      Tabla estudiantes:

      • id (clave primaria)
      • nombre
      • correo
      • carrera_id (clave foránea)

      Pregunta que responde: ¿Cómo estructuro la información dentro del sistema?

  • Los esquemas físicos:

    Proporcionan la información técnica de la que carece el tipo de esquema lógico de base de datos, además de la información contextual, como nombres de tablas, nombres de campos, relaciones entre entidades, etcétera. Es decir, también incluyen la sintaxis que se utilizará para crear las estructuras de datos dentro del almacenamiento en disco.

    Características:

  • Describe cómo se guardan realmente los datos en disco.

  • Incluye detalles técnicos como:

    • Organización de archivos.

    • Tamaño de bloques o páginas.

    • Índices para acelerar búsquedas.

    • Compresión y almacenamiento.

      Ejemplo:

      • El archivo de la tabla estudiantes se guarda en un archivo .dat, con índices B-Tree sobre el campo correo.

      Pregunta que responde: ¿Cómo se almacenan los datos físicamente?

¿Cómo se relacionan estos esquemas?

Los tres niveles de esquema se conectan entre sí:

  1. Conceptual: define qué datos necesita el sistema.
  2. Lógico: estructura esa información en tablas y relaciones.
  3. Físico: guarda esa información en archivos organizados y optimizados.

Esta separación permite modificar un nivel sin afectar completamente los otros. Por ejemplo, se puede cambiar cómo se guarda una tabla en disco sin cambiar la lógica del sistema.


Ejemplo completo

Escenario: Sistema de biblioteca

Esquema Conceptual

  • Entidades: Libro, Autor, Préstamo
  • Relaciones: Un libro puede tener varios autores; un préstamo está asociado a un libro.

Esquema Lógico

  • Tabla libros(id, titulo, anio)
  • Tabla autores(id, nombre)
  • Tabla libros_autores(libro_id, autor_id)
  • Tabla prestamos(id, libro_id, fecha, usuario)

Esquema Físico

  • Datos de libros almacenados en un archivo binario.
  • Índices sobre titulo para acelerar búsquedas.
  • Cada archivo dividido en bloques de 4 KB para eficiencia de lectura.

Ventajas de usar esquemas

  • Organización clara y coherente de los datos.
  • Facilita el mantenimiento del sistema.
  • Evita duplicación y errores.
  • Permite optimizar consultas y operaciones.
  • Mejora la comunicación entre analistas, diseñadores y desarrolladores.