Un esquema de base de datos es una colección de metadatos que describe las relaciones entre los objetos y la información en una base de datos. Una forma fácil de visualizar un esquema es pensar en él como una caja que contiene tablas, procedimientos almacenados, vistas y activos de datos relacionados. Un esquema define la infraestructura de esta caja.
Conclusión
En su nivel básico, un esquema sirve como contenedor para activos de datos. Sin embargo, diferentes proveedores de bases de datos estructuran sus esquemas de diferentes maneras. Oracle, por ejemplo, trata cada esquema como una cuenta de usuario. Para crear un nuevo esquema, un administrador de base de datos crea un nuevo usuario de base de datos con el nombre de esquema previsto.
Por qué importan los esquemas
Debido a que los esquemas constituyen una característica estructural básica de una base de datos, la mayoría de los entornos de bases de datos aplican permisos de acceso a los objetos en un nivel de esquema.
Por ejemplo, la base de datos de una empresa puede contener una serie de usuarios. Cada usuario incurre en un esquema, pero el acceso a diferentes esquemas se otorga individualmente y con la granularidad de los permisos a los usuarios fuera del esquema de inicio.
La mayoría de las herramientas de administración de bases de datos no incluyen esquemas; en su lugar, enumeran las bases de datos y los usuarios.
Por ejemplo, una empresa crea cuentas de usuario (esquemas) para Bob y Jane. También crea cuentas para departamentos como Recursos Humanos y Marketing. Luego, le da a un analista en cada departamento acceso a la cuenta de esquema de su departamento.
El analista de recursos humanos crea tablas y vistas dentro del esquema de recursos humanos y otorga acceso a Bob para leer (pero no escribir) una tabla de recursos humanos que enumera los nombres de los empleados y los números de identificación de los empleados. Además, el analista de recursos humanos puede otorgar acceso a Jane para leer y escribir en una tabla de recursos humanos que enumera los números de teléfono de los empleados.
Al otorgar acceso de esta manera, solo los roles y usuarios correctos pueden leer, escribir o modificar los datos en un activo de datos autónomo dentro de la base de datos más grande.
Cada motor de base de datos considera los esquemas como el método fundamental para segregar datos en un entorno multiusuario.
Diferentes motores de bases de datos tratan a los usuarios y esquemas de manera diferente. Consulte la documentación de su motor de base de datos para descubrir la sintaxis y los modelos lógicos que rodean a los usuarios, los esquemas y las concesiones de permisos.
Creación de esquemas
Un esquema se define formalmente mediante el lenguaje de consulta estructurado (SQL). Por ejemplo, en Oracle, crea un esquema creando la cuenta de usuario que lo posee:
CREAR USUARIO bob
IDENTIFICADO POR contraseña_temporal
ESPACIO DE MESA PREDETERMINADO ejemplo
CUOTA 10M ON ejemplo
ESPACIO DE MESA TEMPORAL temp
CUOTA 5M EN sistema
PERFIL app_user
PASSWORD EXPIRE;
Otros usuarios tienen acceso a nuevos esquemas en virtud de su nombre de usuario o por uno o más roles a los que se ha agregado la cuenta de usuario.
Esquemas frente a modelos de datos
Al igual que un modelo de datos, un esquema no está intrínsecamente estructurado para hacer nada. En cambio, es una infraestructura para admitir permisos de segmentación en una base de datos.
Un modelo de datos es una colección de tablas y vistas unidas en claves específicas. Estos activos de datos, juntos, cumplen un propósito comercial. Es aceptable aplicar un modelo de datos a un esquema: para modelos de datos grandes y complejos, asociarlos con esquemas hace que la administración de la base de datos sea inteligente. Pero no es lógicamente necesario usar un esquema para un modelo de datos o tratar un modelo de datos como un esquema.
Por ejemplo, el departamento de recursos humanos podría incluir en su esquema un modelo de datos para las revisiones de desempeño de los empleados. En lugar de crear un esquema para estas revisiones, el modelo de datos puede ubicarse en el esquema de recursos humanos (junto con otros modelos de datos) y permanecer lógicamente distinto a través de los prefijos de la tabla y ver los nombres de los objetos en el modelo de datos.
El modelo de datos puede obtener un nombre informal, como evaluaciones de desempeño, y luego todas las tablas y vistas pueden tener el prefijo pr_ Se puede hacer referencia a la tabla de listado de empleados como hr.pr_employee sin requerir un nuevo esquema para las revisiones de desempeño.
Preguntas Frecuentes
¿Cuál es la diferencia entre un esquema de base de datos y un estado de base de datos?
Un esquema de base de datos describe la base de datos. El estado de una base de datos se refiere al contenido de una base de datos en un momento dado y puede considerarse una extensión del esquema de la base de datos.
¿Qué es un esquema relacional de una base de datos?
Un esquema relacional describe las relaciones entre las tablas y los elementos que están asociados entre sí. Un esquema puede ser una ilustración gráfica o un gráfico, o puede estar escrito en código SQL.