El esquema de la base de datos es la estructura de una base de datos descrita en un lenguaje formal respaldado típicamente por 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 modelo de cómo se construye la base de datos (dividida en tablas de base de datos 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 (oraciones) llamadas restricciones de integridad impuestas a una base de datos. [ cita necesaria ] Estas restricciones de integridad garantizan la compatibilidad entre 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 base de datos . [1] Los estados de un esquema conceptual creado se transforman en un mapeo explícito, 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 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 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 como un objeto matemático . Por lo tanto, un esquema puede contener fórmulas que representen restricciones de integridad específicamente para una aplicación y restricciones específicas para un tipo de base de datos, todas expresadas 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 , desencadenadores , tipos , secuencias , vistas materializadas , sinónimos , enlaces de bases de datos, directorios , esquemas XML y otros elementos.
Una base de datos generalmente almacena su esquema en un diccionario de datos . Aunque un esquema se define en lenguaje de base de datos de texto, el término se utiliza 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 de la base de datos.
En un sistema de base de datos Oracle , el término "esquema" tiene una connotación ligeramente diferente.
Los requisitos enumerados a continuación influyen en la estructura detallada de los esquemas que se producen. Ciertas aplicaciones no requerirán que se cumplan todas estas condiciones, pero estos cuatro requisitos son los más ideales.
Supongamos que queremos un esquema mediado para integrar dos bases de datos de viajes, Go-travel y Ok-flight.
Go-travel
tiene dos relaciones:
Ir-vuelo(número de vuelo, hora, comida(sí/no))Go-price(número de vuelo, fecha, precio)
Ok-flight
tiene una sola relación:
Ok-vuelo(número de vuelo, fecha, hora, precio, sin escalas(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)
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 separado con cada usuario de la base de datos . [5] Un esquema comprende una colección de objetos de esquema. Ejemplos de objetos de esquema incluyen:
Por otro lado, los objetos que no son de esquema pueden incluir: [6]
Los objetos de esquema no tienen una correspondencia uno a uno con los archivos físicos en el disco que almacenan su información. Sin embargo, las bases de datos Oracle almacenan objetos de esquema de forma lógica dentro de un espacio de tabla de la base de datos. Los datos de cada objeto están contenidos físicamente en uno o más archivos de datos del espacio de tabla . Para algunos objetos (como tablas, índices y clústeres), un administrador de base de datos puede especificar cuánto espacio en disco asigna Oracle RDBMS para el objeto dentro de los archivos de datos del espacio de tabla.
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 único esquema pueden residir en diferentes espacios de tablas. Sin embargo, la especificidad de la base de datos Oracle impone el reconocimiento de la plataforma de diferenciales de secuencia no homogeneizados, lo que se considera un factor limitante crucial en las aplicaciones virtualizadas. [7]
Un esquema de base de datos es un contenedor lógico para estructuras de datos, llamados objetos de esquema.
Ejemplos de objetos de esquema son tablas e índices.
Un esquema es una colección de estructuras lógicas de datos u objetos de esquema.
Un esquema es propiedad de un usuario de base de datos y tiene el mismo nombre que ese usuario.
Cada usuario posee un único esquema.
Los objetos de esquema se pueden crear y manipular con SQL.
Otros tipos de objetos también se almacenan en la base de datos y se pueden crear y manipular con declaraciones SQL, pero no están contenidos en un esquema.
Estos objetos incluyen usuarios de bases de datos, roles, contextos y objetos de directorio.