Un esquema de base de datos actúa como un plano de cómo se organiza y estructura una base de datos. Define cómo se disponen las tablas de la base de datos, qué campos contienen y cómo se relacionan esas tablas entre sí, lo que permite acceder a los datos de forma coherente y predecible. A medida que los sistemas de datos se vuelven más complejos, los esquemas de las bases de datos adquieren más importancia. Un esquema de base de datos bien diseñado facilita a los equipos el mantenimiento de los datos y el acceso fiable a ellos en las bases de datos operativas, analíticas y distribuidas.
En general, se suelen usar tres tipos de esquemas diferentes en el diseño de una base de datos: el esquema conceptual, el esquema lógico y el esquema físico.
En las plataformas modernas, los esquemas de las bases de datos también admiten la gobernanza centralizada y el control de acceso a escala, como se ve en herramientas como Unity Catalog. Para los equipos que trabajan con patrones de arquitectura de datos, es esencial comprender cómo el diseño de esquemas de bases de datos se alinea con el diseño más amplio del sistema.
Un esquema de base de datos es el marco estructural que define cómo se organizan, almacenan y acceden los datos dentro de una base de datos. El término esquema de base de datos describe el diseño de las tablas de la base de datos, las relaciones entre las entidades de datos y los objetos de la base de datos que admiten operaciones de datos.
Los esquemas de base de datos definen:
Mientras que el esquema de la base de datos define la estructura, una instancia de la base de datos se refiere a los datos reales almacenados en un momento dado. Los esquemas de bases de datos se implementan y administran en plataformas de sistemas de gestión de bases de datos, como Oracle Database y los sistemas de bases de datos SQL.
Los esquemas de las bases de datos también forman parte de una arquitectura de datos más amplia, lo que ayuda a alinear el almacenamiento, el procesamiento y la gobernanza en los distintos sistemas.
Una tabla de base de datos es una estructura de almacenamiento única que se utiliza para guardar datos en un formato tabular de filas y columnas. Representa una entidad específica, como clientes, pedidos o productos, y almacena los datos existentes.
Un esquema de base de datos es la estructura de toda la base de datos. El esquema de una base de datos define la organización de las tablas, cómo se relacionan y cómo se utilizan y acceden otros objetos de la base de datos.
El esquema de la base de datos es el plano de construcción. Las tablas de la base de datos son las habitaciones individuales.
En la mayoría de los casos, una base de datos contiene varias tablas bajo un único esquema lógico. Las tablas se utilizan junto con otros objetos del esquema, como los índices y las vistas.
Para saber más sobre cómo se integran los esquemas de bases de datos y las tablas en el plan de datos general, consulta nuestro Glosario de arquitectura de datos. Comprender la relación entre el diseño de esquemas de bases de datos y las prácticas de modelado de datos es fundamental para los diseñadores de bases de datos.
Los esquemas de bases de datos se dividen normalmente en tres tipos: esquema de base de datos conceptual, esquema de base de datos lógico y esquema de base de datos físico. Esta separación ayuda a distinguir la intención, la estructura y la implementación, lo que facilita el diseño, el mantenimiento y la evolución de las bases de datos. Cada tipo de esquema de base de datos tiene un propósito y un grupo de partes interesadas distintos, pero trabajan juntos como parte de un proceso de diseño de esquemas unificado.
En la práctica, esta separación respalda los flujos de trabajo modernos de ingeniería de datos al permitir que los equipos evolucionen la estructura sin interrumpir los sistemas posteriores.
El esquema conceptual proporciona una vista de alto nivel de los datos. Se centra en las entidades y relaciones del negocio sin detalles técnicos.
Puntos clave:
El esquema lógico de la base de datos es la estructura de datos detallada que representa el esquema conceptual.
Incluye:
La estructura lógica de la base de datos es independiente de la base de datos y puede seguir enfoques de modelado de datos por capas, como la arquitectura medallón.
El esquema físico de la base de datos representa cómo se almacenan y se accede a los datos en un sistema de base de datos.
El esquema físico de la base de datos describe:
Generalmente, este nivel lo maneja un administrador de bases de datos. El esquema físico incluye detalles sobre cómo se implementa la estructura lógica en una infraestructura de datos específica.
Un esquema de base de datos se compone de varias partes principales que funcionan en conjunto para almacenar, recuperar y proteger los datos. Los componentes principales de un esquema de base de datos se pueden entender de la siguiente manera:
El lugar principal donde se almacenan los datos en un esquema de base de datos es en sus tablas de base de datos. Cada columna en el esquema de una base de datos tiene su propia estructura de tabla y tipos de datos, lo que garantiza la coherencia en el almacenamiento de datos.
Además de las tablas de la base de datos, otros objetos de la base de datos pueden entenderse como:
La capacidad de acceder a estos objetos de esquema se controla mediante permisos, que garantizan que solo los usuarios autorizados de la base de datos puedan acceder a datos sensibles en un esquema de base de datos.
Para los equipos que trabajan con la gobernanza de datos, es fundamental comprender cómo los permisos del esquema de la base de datos se alinean con las políticas de gobernanza más amplias.
Estas claves garantizan la integridad de los datos en un esquema de base de datos.
La clave primaria en una tabla identifica de forma única cada registro. Cada fila de una tabla se puede identificar de forma única mediante una clave primaria. La presencia de una clave primaria garantiza que no se almacenen datos duplicados en una tabla. Una clave primaria completa puede constar de claves primarias y foráneas que funcionan en conjunto.
Las claves foráneas conectan dos o más tablas en un esquema de base de datos. Las claves foráneas se conectan a una clave primaria en otra tabla, lo que establece relaciones entre los datos.
Estas relaciones son fundamentales en las bases de datos relacionales y en los sistemas de bases de datos SQL modernos, donde la confiabilidad transaccional depende de garantías sólidas de transacciones ACID. El uso adecuado de las claves primarias y foráneas garantiza la consistencia de los datos en toda la base de datos.
Los tipos de datos definen qué tipos de valores se permiten en las columnas. Los tipos comunes incluyen:
El Lenguaje de definición de datos (DDL) se utiliza para definir o modificar los esquemas y las tablas de la base de datos mediante sentencias create database.
Las reglas se usan para agregar funciones de seguridad, como:
Tener estas reglas definidas a nivel del esquema garantiza que las bases de datos puedan mantener los datos precisos y la consistencia de los datos.
Los índices y las vistas se utilizan para mejorar el rendimiento, la usabilidad y el control dentro de un esquema de base de datos.
Los índices se usan para mejorar el rendimiento de las consultas, ya que aceleran la recuperación de datos de las columnas en las que se busca con frecuencia. Sin embargo, se sabe que los índices degradan el rendimiento de escritura, ya que deben actualizarse cada vez que se insertan, actualizan o eliminan datos.
Las vistas son tablas virtuales que se usan para representar tablas reales, generalmente para facilitar la escritura de consultas o para limitar el acceso a datos específicos.
Un esquema de base de datos bien diseñado equilibrará el rendimiento con la complejidad, lo que garantizará un buen rendimiento y evitará una complejidad innecesaria.
Los enfoques pueden ser adecuados para diferentes tipos de actividades relacionadas con los datos. La elección del enfoque de diseño del esquema depende de cómo se usarán los datos.
El esquema de estrella es una técnica simple de modelado de datos que se usa en el data warehousing. Tiene:
Razones para usar el modelado de datos de esquema en estrella:
El patrón de esquema de estrella es fundamental en las arquitecturas de data warehouse.
En un esquema de copo de nieve, los datos se normalizan para reducir los requisitos de almacenamiento dividiendo las tablas de dimensiones en múltiples tablas de dimensiones.
Las ventajas de usar un esquema de copo de nieve sobre un esquema de estrella incluyen:
Los diseños de esquema de copo de nieve también se pueden usar cuando los datos en las dimensiones se comparten en múltiples contextos o cuando se necesita normalizarlos más. Tanto los patrones de esquema de estrella como los de copo de nieve involucran una tabla de hechos central rodeada de tablas de dimensiones.
El esquema jerárquico es aquel en el que los datos se organizan en una estructura en forma de árbol con relaciones padre-hijo, donde cada hijo tiene un solo padre, utilizando un modelo jerárquico.
Este tipo de esquema es ideal para datos que tienen una jerarquía inherente, como una estructura organizacional o un documento XML. El esquema jerárquico es menos flexible que el esquema relacional y no puede manejar relaciones de muchos a muchos. Este esquema todavía se utiliza en algunas aplicaciones, aunque el modelo jerárquico ha sido reemplazado en gran medida por las bases de datos relacionales.
Las bases de datos NoSQL también tienen consideraciones de diseño de esquemas. A diferencia de las bases de datos relacionales, es posible que no necesiten un esquema antes de poder conectarse a la base de datos y almacenar datos.
Los patrones de diseño de esquemas más comunes para las bases de datos NoSQL incluyen:
Estos sistemas priorizan la flexibilidad y la escalabilidad, pero a menudo ofrecen menos garantías de consistencia integradas. Las aplicaciones modernas, incluidas la búsqueda basada en vectores y las consultas de similitud, amplían aún más estas compensaciones en las bases de datos vectoriales. Comprender cuándo usar bases de datos NoSQL en comparación con los diseños tradicionales de esquemas de bases de datos relacionales es importante para los diseñadores de bases de datos.
El diseño del esquema de una base de datos es un proceso cíclico que va desde la comprensión de los requisitos del negocio hasta la implementación de una base de datos funcional.
El proceso comienza con el entendimiento de los requerimientos del negocio. En este paso, el equipo:
Es importante tener en cuenta la escalabilidad, la seguridad de los datos confidenciales y cualquier regla y ley en el proceso, ya que es difícil implementar dichas consideraciones en el futuro.
Una vez que se identifican los requisitos del negocio, el equipo crea diagramas de entidad-relación, que son un modelo de alto nivel de los datos en la base de datos. En el diseño conceptual de la base de datos, el equipo:
Un diagrama de relación de entidades proporciona una representación visual que es útil para que las personas de negocios y técnicas lleguen a un acuerdo. El diseño conceptual debe verificarse para que coincida con las necesidades reales antes de pasar al siguiente paso.
El esquema lógico transforma el modelo conceptual en un esquema de base de datos detallado que está listo para su implementación.
Durante este paso:
En esta etapa, el esquema lógico de la base de datos es lo suficientemente preciso para su implementación, pero sigue siendo independiente de un sistema de base de datos en particular. El esquema lógico sirve como un puente entre el esquema conceptual y el esquema físico.
El esquema físico representa la implementación de la base de datos en un sistema de base de datos particular.
Este paso suele implicar:
Si los esquemas de la base de datos se transfieren desde otro sistema o a uno ya existente, la migración de datos es un paso importante. El esquema físico de la base de datos debe tener en cuenta los requisitos específicos de la plataforma de gestión de bases de datos de destino.
La normalización y la integridad de los datos van de la mano y ayudan a garantizar que los datos sean precisos, coherentes y fáciles de mantener.
La normalización de bases de datos es el proceso de organizar los datos para reducir la redundancia y mejorar la integridad de los datos. La normalización suele describirse mediante formas normales progresivas, como 1NF, 2NF y 3NF.
La normalización de la base de datos divide una tabla grande en tablas de datos relacionadas más pequeñas. Esto ayuda a:
En algunos casos, la normalización ralentiza las cosas. La desnormalización es una técnica de diseño de bases de datos en la que:
La desnormalización se utiliza en el almacenamiento de datos y la analítica, y en diseños de esquemas en estrella y esquemas en copo de nieve para cargas de trabajo de procesamiento analítico en línea.
El objetivo de un buen diseño de esquemas es adaptarse a los patrones comunes de acceso a los datos. Por lo general, esto significa diseñar un esquema que esté normalizado para facilitar la comprensión y, luego, realizar pequeños cambios para mejorar el rendimiento o la usabilidad.
La consistencia también es importante para la usabilidad, ya que permite que muchas personas trabajen con los datos sin confusión. El diseño de esquemas no es un proceso que se realiza una sola vez. Es importante revisar el esquema con frecuencia y hacer cambios para evitar que una pequeña limitación se convierta en una gran limitación.
Los esquemas de bases de datos escalables se basan en algunos conceptos simples:
Estos conceptos son importantes en los grandes almacenes de datos. Comprender la relación entre el diseño del esquema de la base de datos y los principios de la arquitectura de datos garantiza la escalabilidad.
El diseño de esquemas también desempeña un papel clave en la seguridad y la gobernanza de los datos.
Para las organizaciones que implementan estrategias integrales de gobernanza de datos, los permisos del esquema de la base de datos son un control fundamental.
Los errores en el diseño del esquema pueden ocasionar problemas de calidad de los datos y de rendimiento:
SQL se usa para definir esquemas de bases de datos. SQL proporciona instrucciones sobre cómo se crean y modifican los esquemas de las bases de datos, y cómo se mantienen actualizados según la forma en que se almacenan los datos o se accede a ellos.
Las tareas más comunes de administración de esquemas de bases de datos en SQL involucran un conjunto de instrucciones básicas del lenguaje de definición de datos (DDL).
Crear esquemas y tablas: La sentencia CREATE SCHEMA crea un espacio de nombres, mientras que CREATE TABLE crea tablas de base de datos en el esquema. Los comandos de esquema de SQL son fundamentales para la administración de bases de datos.
Define la estructura y las relaciones: Las columnas, los tipos de datos, la clave primaria, las claves foráneas y otras restricciones se definen en las definiciones de las tablas. El esquema define cómo se relacionan los objetos de la base de datos.
Modificar tablas existentes: La instrucción ALTER TABLE permite a los usuarios agregar columnas o cambiar tipos de datos y restricciones dentro de la estructura de la base de datos SQL.
Eliminar objetos del esquema: La sentencia DROP TABLE o DROP SCHEMA elimina una tabla o un esquema, con pleno conocimiento de la posible pérdida de datos.
Estas son las instrucciones más importantes para la administración de esquemas de SQL, que se usan en motores de análisis distribuido como Spark SQL.
A pesar de que SQL es un estándar, la gestión de esquemas puede variar entre diferentes bases de datos.
Oracle Database vs. SQL Server: los esquemas de Oracle Database están asociados con los usuarios de la base de datos, mientras que los esquemas de SQL Server son unidades organizativas separadas. La arquitectura del sistema de gestión de bases de datos difiere entre plataformas.
Otra terminología de bases de datos: MySQL se refiere a esto como una base de datos, mientras que PostgreSQL se refiere a esto como un esquema. Cada sistema de base de datos tiene convenciones únicas.
Problemas de portabilidad: Los diferentes tipos de datos, las restricciones, la indexación y la sintaxis DDL pueden dificultar el traslado de un esquema de un sistema de base de datos a otro.
Debido a estas variaciones, la gestión de esquemas de bases de datos suele requerir ajustes específicos de la base de datos, incluso cuando los diseños siguen las prácticas estándar de SQL. Un administrador de bases de datos debe comprender estas diferencias de plataforma.
Los esquemas de bases de datos se utilizan en los sistemas de datos modernos, incluidos los almacenes de datos, los lagos de datos y las plataformas de streaming. Aunque la tecnología de base de datos utilizada es diferente, el propósito de usar un esquema es el mismo: proporcionar estructura, significado y coherencia a los datos.
Las plataformas de datos en la nube gestionan los esquemas de las bases de datos a gran escala, específicamente entre datos y usuarios compartidos.
Puntos clave:
Estos patrones son típicos en las plataformas de análisis nativas de la nube creadas en torno a un modelo unificado de data warehouse. Las plataformas modernas en la nube tratan el esquema de la base de datos como una capa de gobierno clave.
Cambiar el esquema de la base de datos en un entorno de producción es difícil, especialmente cuando múltiples tablas y cargas de trabajo dependen del esquema de la base de datos.
Los enfoques comunes para evolucionar el esquema de la base de datos incluyen:
Estas prácticas respaldan la evolución confiable de los esquemas en los entornos modernos de ingeniería de datos.
El esquema de la base de datos desempeña un papel fundamental en la gobernanza de datos y el cumplimiento normativo.
El esquema de la base de datos proporciona lo siguiente:
Estas características del esquema de base de datos garantizan la creación de un entorno de gobierno de datos, tal como se implementa en Unity Catalog. Los datos del esquema se convierten en una fuente de verdad para la organización de los datos y la administración de la base de datos.
Un sistema de comercio electrónico simple ofrece una forma práctica de ver cómo se aplican los esquemas de base de datos en escenarios del mundo real.
En un sistema transaccional de comercio electrónico, el esquema de la base de datos está diseñado para admitir operaciones diarias, como la realización de pedidos y la gestión de clientes para el procesamiento de transacciones en línea.
Un esquema típico de base de datos relacional incluye lo siguiente:
Estas tablas de la base de datos se conectan mediante claves primarias y foráneas:
Esta estructura impone relaciones de uno a muchos, minimiza la redundancia y mantiene la integridad de los datos para las cargas de trabajo transaccionales. El diseño del esquema de la base de datos garantiza la coherencia de los datos en las operaciones de procesamiento de transacciones en línea.
Para la generación de informes y el análisis, este esquema transaccional suele transformarse en un patrón de esquema de estrella.
En este patrón:
Este diseño de esquema simplifica las consultas y permite la elaboración de informes eficientes en los data warehouses y los sistemas de inteligencia empresarial mediante el procesamiento analítico en línea.
El diseño de esquemas equilibra la integridad de los datos, el rendimiento de las consultas y la eficiencia del almacenamiento.
Para obtener más detalles sobre el esquema de estrella y las decisiones de modelado dimensional, consulta el blog Implementing Dimensional Data Warehouse.
Un esquema de base de datos bien diseñado es fundamental para los sistemas de datos confiables y de alto rendimiento. Al separar la intención conceptual, la estructura lógica y la implementación física, los esquemas de bases de datos favorecen la claridad, la escalabilidad y la mantenibilidad a largo plazo.
El diseño de esquemas funciona mejor como un proceso iterativo de diseño, prueba y refinamiento. Herramientas como los ERD, las herramientas de modelado de bases de datos y los clientes SQL apoyan esta evolución. Un administrador y diseñadores de bases de datos deben colaborar durante todo el proceso para garantizar que el diseño del esquema de la base de datos cumpla con todos los requisitos.
Para seguir aprendiendo, practica el diseño de esquemas, profundiza tus conocimientos sobre la normalización de bases de datos y explora diferentes patrones de diseño de esquemas. Para obtener una base más amplia, consulta el Glosario de arquitectura de datos.
Comprender cómo se aplican los principios de los esquemas de bases de datos a las prácticas modernas de arquitectura de datos y modelado de datos le ayudará a crear sistemas de datos más eficaces que escalen según las necesidades de su organización. Ya sea que trabaje con bases de datos relacionales, bases de datos NoSQL o sistemas híbridos, un diseño sólido de esquemas de bases de datos sigue siendo esencial.
