Diferentes sistemas de gestión de bases de datos definen esquema a su manera. Esto puede dificultar que los desarrolladores de bases de datos determinen exactamente qué es un esquema, especialmente al cambiar entre diferentes DBMS.
Este artículo proporciona definiciones utilizadas por los tres principales sistemas de bases de datos.
MySQL
La documentación de MySQL define un esquema tanto desde un punto de vista conceptual como físico.
Conceptuales
Conceptualmente, un esquema es un conjunto de objetos de base de datos interrelacionados, como tablas, columnas de tablas, tipos de datos de las columnas, índices, claves foráneas, etc. Estos objetos están conectados a través de la sintaxis SQL, porque las columnas forman las tablas, las claves foráneas se refieren a tablas y columnas, etc. Idealmente, también están conectados lógicamente, trabajando juntos como parte de una aplicación unificada o un marco flexible. Por ejemplo, el information_schema y esquema_de_rendimiento Las bases de datos usan "esquema" en sus nombres para enfatizar las estrechas relaciones entre las tablas y las columnas que contienen.
Físico
Luego se señala que, desde un punto de vista físico, no hay distinción entre esquemas y bases de datos:
En MySQL, físicamente, un esquema es sinónimo de base de datos . Puede sustituir la palabra clave SCHEMA
en lugar de DATABASE
en la sintaxis MySQL SQL, por ejemplo usando CREATE SCHEMA
en lugar de CREATE DATABASE
.
Fuente:"Glosario MySQL". Manual de referencia de MySQL 5.7. MySQL. Consultado el 6 de junio de 2016.
Servidor SQL
Glosario
Esquema de base de datos
Los nombres de tablas, campos, tipos de datos y claves primarias y externas de una base de datos.
Fuente: “Glosario”. Documentación técnica de SQL Server 2016. Red de desarrolladores de Microsoft. Consultado el 6 de junio de 2016.
Artículo técnico de SQL Server
Este artículo sobre esquemas de objetos de bases de datos, traza explícitamente la distinción entre un usuario de base de datos y un esquema (esto contrasta con la forma en que Oracle define los esquemas, a continuación).
Un esquema es un espacio de nombres distinto para facilitar la separación, administración y propiedad de los objetos de la base de datos.
y
Un objeto propiedad de un usuario de la base de datos ya no está vinculado a ese usuario. El objeto ahora pertenece a un esquema, un contenedor que puede contener muchos objetos de base de datos.
y
Esta separación significa que se pueden crear objetos y esquemas antes de agregar usuarios a la base de datos. También significa que se puede eliminar a un usuario sin eliminar específicamente los objetos que pertenecen a ese usuario.
Fuente:"Prácticas recomendadas de SQL Server:implementación de esquemas de objetos de bases de datos". Artículo de Microsoft TechNet. Publicado:noviembre de 2008. Consultado el 6 de junio de 2016.
Base de datos de Oracle
El sistema de esquema de Oracle Database es bastante diferente a los otros sistemas. El esquema de Oracle está muy ligado al usuario de la base de datos.
Un esquema es una colección de estructuras lógicas de datos u objetos de esquema. Un esquema es propiedad de un usuario de la base de datos y tiene el mismo nombre que ese usuario. Cada usuario posee un solo esquema.
Oracle distingue entre objetos de esquema y objetos no esquema . En otras palabras, algunos objetos de la base de datos no se pueden incluir en un esquema.
Objetos de esquema
En Oracle Database, objetos de esquema incluir lo siguiente:
- Clústeres
- Restricciones
- Enlaces de bases de datos
- Activadores de base de datos
- Dimensiones
- Bibliotecas de procedimientos externos
- Tablas organizadas por índices
- Índices
- Tipos de índice
- Clases de Java, recursos de Java, fuentes de Java
- Vistas materializadas
- Registros de vistas materializados
- Modelos de minería
- Tablas de objetos
- Tipos de objetos
- Vistas de objetos
- Operadores
- Paquetes
- Secuencias
- Funciones almacenadas, procedimientos almacenados
- Sinónimos
- Mesas
- Vistas
Objetos sin esquema
En Oracle Database, los siguientes objetos son objetos que no son de esquema :
- Contextos
- Directorios
- Ediciones
- Puntos de restauración
- Funciones
- Revertir segmentos
- Espacios de tabla
- Usuarios
Fuente:"Objetos de la base de datos". Documentación en línea de Oracle Database 12c, versión 1 (12.1). Centro de ayuda de Oracle. Consultado el 6 de junio de 2016.