Esquema de base de datos: Guía rápida con ejemplos

Un esquema de base de datos es una parte integral del desarrollo de aplicaciones o programas informáticos, especialmente los que giran en torno a datos y bases de datos. En pocas palabras, el esquema de base de datos es un término utilizado para una estructura o disposición que define un conjunto de datos.

Es decir, describe cómo se organizan y conectan los datos. Por lo tanto, un esquema de base de datos puede incluir objetos de esquema como campos, índices, paquetes, relaciones, tablas, tipos y muchos otros elementos.  

Los diseñadores de bases de datos crean esquemas de bases de datos para establecer los atributos, conexiones y elementos más importantes de un grupo de datos específico.

Se presenta en forma de diagrama de esquema que explica a un administrador de bases de datos cómo se almacenarán los datos en una base de datos relacional o no relacional. Igualmente, el tamaño y la complejidad del diagrama dependen del proyecto. 

Además, los esquemas de bases de datos son necesarios para diseñar sistemas de gestión de bases de datos (SGBD) y sistemas de gestión de bases de datos relacionales (SGBDR) como MySQL, PostgreSQL y Oracle.

En este artículo te explicaremos los dos tipos principales de esquemas de una base de datos, sus requisitos de integración y te daremos un par de ejemplos. 

Un esquema es un marco o plano para que los programadores construyan y codifiquen una base de datos. Puede ayudar al usuario de una base de datos a entender y conocer la información almacenada.

Esquemas lógicos y físicos de bases de datos

En lo que respecta al diseño de bases de datos, existen dos tipos de esquemas: lógicos y físicos.

Esquema lógico de la base de datos

El esquema lógico de la base de datos describe las restricciones o reglas lógicas que se aplicarán a los datos. Su principal objetivo es comprender las entidades de datos, incluidas sus relaciones y atributos. 

La creación de este esquema no debe limitarse a un SGBD concreto. El diseño lógico de la base de datos seguirá siendo el mismo independientemente de la plataforma que utilices.

Una forma de mostrar un diseño lógico es mediante una representación visual creada en un software, denominada “diagrama entidad-relación (diagrama ER). Microsoft Visio y LucidChart son algunos de los programas que puedes utilizar para crear el diagrama.

Un diagrama ER generalmente muestra:

  • Todas las entidades importantes
  • Atributos de cada entidad
  • Una clave primaria que identifica de forma única una instancia específica de una entidad.
  • Adicionalmente, una clave externa que describe las relaciones entre entidades.

Por ejemplo, supongamos que la entidad «Libro» tiene los siguientes atributos: título, tema, editorial y año. Su clave primaria es el «ISBN». Además, «Libro» tiene una relación con la entidad «Autor», representada por la clave externa «ID de autor».

Ejemplo de Esquema lógico de la base de datos

Ten en cuenta que los esquemas lógicos de los distintos proyectos se crean de varias maneras. También tendrán sintaxis diferentes para describir las restricciones lógicas y la arquitectura de los datos.

Esquema físico de la base de datos

El concepto de esquema físico de la base de datos representa cómo se organizan físicamente los datos en un sistema de almacenamiento, normalmente en forma de ficheros e índices. Transforma el esquema lógico de la base de datos en la estructura física de datos que funciona en un SGBD específico.

Todas las estructuras de tabla se muestran en el diseño del esquema físico de la base de datos. Esto incluye el nombre de la columna, el tipo de datos y las restricciones. Además, las claves primarias, las claves externas y la relación entre ellas.

Un modelo físico de base de datos también tiene las siguientes características:

  • Explica las necesidades de datos de un proyecto
  • Se especifican todas las tablas y columnas
  • Las claves externas se utilizan para determinar la conexión entre tablas.
  • Puede ser diferente del modelo lógico debido a limitaciones físicas.

En esta fase, estás mapeando:

  • Entidades a tablas
  • Atributos de las columnas
  • Claves primarias a índices únicos
  • Claves externas a índices no únicos
Ejemplo de Esquema físico de la base de datos

Requisitos de integración de esquemas de bases de datos

Una base de datos puede tener más de un esquema. Por lo tanto, para que funcionen sin problemas, deben cumplirse los siguientes requisitos:

  • Preservación del solapamiento: asegúrate de que los elementos que se solapan en los esquemas están en una tabla de esquema de base de datos.
  • Preservación de solapamiento ampliado: copia entidades conectadas con elementos solapados (que sólo aparecen en un esquema) en el esquema de base de datos final.
  • Normalización: evita agrupar elementos y relaciones independientes en una misma tabla.
  • Minimalidad: comprueba que no se pierden entidades de ninguno de los esquemas de la base de datos.

Ejemplos de esquemas de bases de datos

Ahora que ya sabes lo que es un esquema y sus requisitos, veamos ejemplos de esquemas de las bases de datos SQL y PostgreSQL.

1. SQL

Un esquema en un servidor SQL es una colección ilimitada de objetos de base de datos que se vinculan a un sistema de base de datos. Éste incluye tablas, funciones, vistas e índices. Es un tipo lógico de esquema que aporta una serie de ventajas, por ejemplo:

  • Un mismo esquema puede utilizarse en varias bases de datos.
  • Los permisos de seguridad pueden proteger objetos de base de datos como tablas e índices.
  • Es posible transferir la propiedad de los esquemas.
  • Los objetos creados en la base de datos pueden moverse entre esquemas.
  • Ayuda en el proceso de acceso y manipulación de los objetos de la base de datos.

La sintaxis general para crear un esquema en SQL es:

CREATE SCHEMA [schema_title] [AUTHORIZATION owner]
[DEFAULT CHARACTER SET set_name]
[PATH schema_title[, ...]]
[ ANSI CREATE statements [...] ]
[ ANSI GRANT statements [...] ];

Los parámetros utilizados son:

  • schema_title: el nombre del esquema creado.
  • AUTHORIZATION owner: nombre del usuario, propietario del esquema.
  • DEFAULT CHARACTER SET set_name: define el conjunto de caracteres por defecto para los objetos del esquema.
  • PATH schema_title[, …]: ruta y nombre de archivo opcionales.
  • ANSI CREATE statements […]: consta de una única sentencia CREATE o más. 
  • ANSI GRANT statements […]: consta de una única sentencia GRANT o más. 

2. PostgreSQL

El esquema en PostgreSQL es un espacio de nombres que contiene objetos de base de datos con nombre. Esto incluye tablas, tipos de datos, índices, funciones, vistas y operadores. Asegura que todos los objetos tienen nombres únicos.

Una base de datos puede tener más de un esquema, pero cada uno forma parte de una sola base de datos. Objetos diferentes de dos esquemas también pueden compartir el mismo nombre.

CREATE SCHEMA schema_title [ AUTHORIZATION user] [ schema_element [ ... ] ]
CREATE SCHEMA AUTHORIZATION user [ schema_element [ ... ] ]
CREATE SCHEMA IF NOT EXISTS schema_title [ AUTHORIZATION user ]
CREATE SCHEMA IF NOT EXISTS AUTHORIZATION user

PostgreSQL también crea automáticamente un esquema público para cada nueva base de datos. Aquí es donde se encuentran los objetos sin nombre de esquema.

Conclusión

Un esquema de base de datos es un plan o diagrama que se refiere a la organización de los datos almacenados en la base de datos. Existen dos tipos de esquema: lógico y físico. El primero representa cómo se organizan los datos y el segundo define la estructura de su almacenamiento físico.

Un esquema de base de datos es vital para crear bases de datos y sistemas de gestión de bases de datos. Ayuda a los usuarios a entender y leer la información almacenada en la base de datos.

Esperamos que hayas aprendido cuál es la función de un esquema de base de datos y cómo utilizarlo. Si tienes alguna pregunta sobre este tema o necesitas algún dato específico, no dudes en dejarnos un comentario a continuación.

Author
El autor

Diego Vargas

Diego es comunicador social, especialista en publicidad digital que trabaja constantemente en mejorar sus conocimientos de marketing digital, enfocándose en contenido y SEO. Idiomas, series, libros y cursos en internet son sus hobbies principales, además de los deportes. Este es su perfil de LinkedIn.