
El esquema de la base de datos es la estructura de una base de datos descrita en un lenguaje formal, generalmente compatible con un sistema de gestión de bases de datos relacionales (RDBMS). El término " esquema " se refiere a la organización de los datos como un plano de cómo se construye la base de datos (dividida en tablas en el caso de bases de datos relacionales ). La definición formal de un esquema de base de datos es un conjunto de fórmulas (sentencias) llamadas restricciones de integridad impuestas a la base de datos. Estas restricciones de integridad garantizan la compatibilidad entre las partes del esquema. Todas las restricciones se pueden expresar en el mismo lenguaje. Una base de datos puede considerarse una estructura en la realización del lenguaje de la base de datos . [ 1 ] Los estados de un esquema conceptual creado se transforman en una asignación explícita, el esquema de la base de datos. Esto describe cómo se modelan las entidades del mundo real en la base de datos.
"Un esquema de base de datos especifica, basándose en el conocimiento del administrador de la base de datos sobre las posibles aplicaciones, los hechos que pueden ingresar a la base de datos, o aquellos de interés para los posibles usuarios finales ." [ 2 ] La noción de un esquema de base de datos juega el mismo papel que la noción de teoría en el cálculo de predicados . Un modelo de esta "teoría" se corresponde estrechamente con una base de datos, que puede verse en cualquier instante de tiempo como un objeto matemático . Así, un esquema puede contener fórmulas que representan restricciones de integridad específicas para una aplicación y las restricciones específicas para un tipo de base de datos, todo expresado en el mismo lenguaje de base de datos. [ 1 ] En una base de datos relacional , el esquema define las tablas , campos , relaciones , vistas , índices , paquetes , procedimientos , funciones , colas , disparadores , tipos , secuencias , vistas materializadas , sinónimos , enlaces de base de datos, directorios , esquemas XML y otros elementos.
Generalmente, una base de datos almacena su esquema en un diccionario de datos . Si bien un esquema se define en un lenguaje de base de datos textual, el término se usa a menudo para referirse a una representación gráfica de la estructura de la base de datos. En otras palabras, el esquema es la estructura de la base de datos que define los objetos que contiene.
En un sistema de base de datos Oracle , el término "esquema" tiene una connotación ligeramente diferente.
Requisitos ideales para la integración de esquemas
Los requisitos que se enumeran a continuación influyen en la estructura detallada de los esquemas que se generan. Si bien algunas aplicaciones no requieren que se cumplan todas estas condiciones, estos cuatro requisitos son los más adecuados.
- Conservación de superposición
- Cada uno de los elementos superpuestos especificados en el mapeo de entrada también está en una relación de esquema de base de datos. [ 3 ]
- Preservación de superposición extendida
- Los elementos específicos de la fuente que están asociados con los elementos superpuestos de una fuente se transfieren al esquema de la base de datos. [ 3 ]
- Normalización
- Las entidades y relaciones independientes en los datos de origen no deben agruparse en la misma relación en el esquema de la base de datos. En particular, los elementos del esquema específicos de la fuente no deben agruparse con elementos del esquema superpuestos si la agrupación ubica conjuntamente entidades o relaciones independientes. [ 3 ]
- Minimalismo
- Si se elimina algún elemento del esquema de la base de datos, entonces el esquema de la base de datos no es ideal. [ 3 ]
Ejemplo de dos integraciones de esquemas
Supongamos que queremos un esquema mediado para integrar dos bases de datos de viajes, Go-travel y Ok-flight.
Go-traveltiene dos relaciones:
Ir-vuelo(número de vuelo, hora, comida(sí/no)) Go-price(número de vuelo, fecha, precio) Ok-flighttiene una sola relación:
Ok-flight(número de vuelo, fecha, hora, precio, directo(sí/no)) La información superpuesta en los esquemas de Go-travel y Ok-flight podría representarse en un esquema mediado: [ 3 ]
Vuelo (número de vuelo, fecha, hora, precio) Especificidad de la base de datos Oracle
En el contexto de las bases de datos Oracle , un objeto de esquema es una estructura lógica de almacenamiento de datos. [ 4 ]
Una base de datos Oracle asocia un esquema independiente a cada usuario de la base de datos . [ 5 ] Un esquema comprende una colección de objetos de esquema. Ejemplos de objetos de esquema incluyen:
- tablas
- vistas
- secuencias
- sinónimos
- índices
- grupos
- enlaces a la base de datos
- instantáneas
- procedimientos
- funciones
- paquetes
Por otro lado, los objetos que no son de esquema pueden incluir: [ 6 ]
- usuarios
- roles
- contextos
- objetos de directorio
Los objetos de esquema no tienen una correspondencia uno a uno con los archivos físicos en disco que almacenan su información. Sin embargo, las bases de datos Oracle almacenan los objetos de esquema lógicamente dentro de un espacio de tablas de la base de datos. Los datos de cada objeto se encuentran físicamente en uno o más archivos de datos del espacio de tablas . Para algunos objetos (como tablas, índices y clústeres), un administrador de base de datos puede especificar cuánto espacio en disco asigna el sistema de gestión de bases de datos relacionales (RDBMS) de Oracle para el objeto dentro de los archivos de datos del espacio de tablas.
No existe una relación necesaria entre esquemas y espacios de tablas: un espacio de tablas puede contener objetos de diferentes esquemas, y los objetos de un mismo esquema pueden residir en diferentes espacios de tablas. Sin embargo, la especificidad de la base de datos Oracle impone el reconocimiento de diferenciales de secuencia no homogeneizados por parte de la plataforma, lo que se considera un factor limitante crucial en las aplicaciones virtualizadas. [ 7 ]
Microsoft SQL Server
En Microsoft SQL Server , el esquema predeterminado de cada base de datos es el esquema dbo. [ 8 ]
Véase también
Referencias
- 1 2 Rybinski, H. (1987). "Sobre bases de datos de lógica de primer orden" . ACM Transactions on Database Systems . 12 (3): 325– 349. doi : 10.1145/27629.27630 . S2CID 2439329 .
- ↑ Imielinski, T. ; Lipski, W. (1982). «Un enfoque sistemático de la teoría de bases de datos relacionales». Actas de la conferencia internacional ACM SIGMOD de 1982 sobre gestión de datos - SIGMOD '82 . Nueva York, NY: ACM. págs. 8–14 . doi : 10.1145/582353.582356 . ISBN 978-0897910736. S2CID 2034345 .
- 1 2 3 4 5 Pottinger, P.; Berstein, P. (2008). "Fusión de esquemas y creación de mapas para fuentes relacionales". Actas de la 11.ª conferencia internacional sobre la extensión de la tecnología de bases de datos: avances en la tecnología de bases de datos . Nueva York, NY: ACM. págs. 73–84 . CiteSeerX 10.1.1.405.2990 . doi : 10.1145/1353343.1353357 . ISBN 9781595939265. S2CID 15742995 .
- ↑ Ashdown, Lance; Kyte, Tom (febrero de 2010). Oracle Database Concepts 11g Release 2 (11.2) . et al . Oracle Corporation. Archivado del original el 29 de enero de 2010. Recuperado el 14 de abril de 2010. Un esquema de base de datos es un contenedor lógico para estructuras de datos, llamadas objetos de esquema. Ejemplos de objetos de esquema son las tablas y los
índices.
- ↑ Oracle Database Concepts 10g Release 2 (10.2) Número de pieza B14220-02 . Consultado el 26 de noviembre de 2012. Un
esquema es una colección de estructuras lógicas de datos, u objetos de esquema. Un esquema pertenece a un usuario de la base de datos y tiene el mismo nombre que dicho usuario. Cada usuario posee un único esquema. Los objetos de esquema se pueden crear y manipular con SQL.
- ↑ Ashdown, Lance; Kyte, Tom (febrero de 2010). Oracle Database Concepts 11g Release 2 (11.2) . et al. Oracle Corporation. Archivado del original el 29 de enero de 2010. Recuperado el 14 de abril de 2010. Otros
tipos de objetos también se almacenan en la base de datos y se pueden crear y manipular con sentencias SQL, pero no están contenidos en un esquema. Estos objetos incluyen usuarios de la base de datos, roles, contextos y objetos de directorio.
- ↑ McDougall, R (2010). "Rendimiento de la virtualización: perspectivas y desafíos futuros". ACM SIGOPS Operating Systems Review . 44 (4). doi : 10.1145/1899928.1899933 . S2CID 16112550 .
- ↑ VanMSFT (9 de mayo de 2024). "Propiedad y separación de esquemas de usuario en SQL Server - SQL Server" . learn.microsoft.com . Consultado el 31 de octubre de 2024 .
Enlaces externos
- Consejo/Truco: Biblioteca de ejemplos de esquemas de bases de datos en línea
- Ejemplos de esquemas de bases de datos
- Diseño de la base de datos con esquema de estrella
- Gestión de datos
- Modelo relacional
- Modelado de datos