El esquema de base de datos es la estructura de una base de datos descrita en un lenguaje formal soportado 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 datos como un plano 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 requerida ] Estas restricciones de integridad aseguran 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 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 de las posibles aplicaciones, los hechos que pueden entrar en 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" corresponde estrechamente a una base de datos, que puede verse en cualquier instante del tiempo como un objeto matemático . Por lo tanto, un esquema puede contener fórmulas que representan restricciones de integridad específicamente para una aplicación y las restricciones específicamente 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 , disparadores , tipos , secuencias , vistas materializadas , sinónimos , enlaces de base 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 el lenguaje de bases 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 misma.
En un sistema de base de datos Oracle , el término "esquema" tiene una connotación ligeramente diferente.
Los requisitos que se enumeran a continuación influyen en la estructura detallada de los esquemas que se generan. Algunas 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:
Go-flight(número de vuelo, hora, comida(sí/no))Go-price(número de vuelo, fecha, precio)
Ok-flight
tiene sólo una 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 independiente con cada usuario de la base de datos . [5] Un esquema comprende una colección de objetos de esquema. Algunos ejemplos de objetos de esquema incluyen:
Por otra parte, los objetos no esquemáticos 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 los esquemas y los 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 exige el reconocimiento de la plataforma de los diferenciales de secuencia no homogeneizados, lo que se considera un factor limitante crucial en las aplicaciones virtualizadas. [7]
Ejemplos de objetos de esquema son las tablas y los í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 sentencias SQL, pero no están contenidos en un esquema. Estos objetos incluyen usuarios de base de datos, roles, contextos y objetos de directorio.