En PostgreSQL , un esquema es un espacio de nombres que contiene objetos de base de datos con nombre, como tablas , vistas, índices, tipos de datos , funciones y operadores.
Para acceder a un objeto de un esquema, los usuarios deben calificar su nombre con el nombre del esquema como prefijo, como se muestra a continuación:
Syntax: schema_name.object_name
Una base de datos puede contener uno o varios esquemas, mientras que cada esquema pertenece a una sola base de datos. Dos esquemas pueden tener diferentes objetos que comparten el mismo nombre. Por ejemplo, puede tener un sales
esquema que tenga una staff
tabla y el esquema público que también tenga la staff
tabla. Cuando te refieras a la staff
tabla debes calificarla de la siguiente manera:
public.staff or, sales.staff
Hay varios escenarios en los que se deben utilizar esquemas:
- Los esquemas permiten a los usuarios organizar los objetos de la base de datos, por ejemplo, tablas en grupos lógicos para hacerlos más manejables.
- Los esquemas permiten que varios usuarios utilicen una base de datos sin interferir entre sí.
esquema público
PostgreSQL genera un esquema con el nombre public
de todas las bases de datos. Cualquier objeto que los usuarios creen sin especificar el nombre del esquema, PostgreSQL lo colocará automáticamente en este public
esquema. Por lo tanto, las siguientes afirmaciones son iguales:
CREATE TABLE table_name(...); and CREATE TABLE public.table_name(...);
Esquemas y privilegios
Los usuarios solo pueden acceder a objetos en los esquemas de los que son propietarios. Significa que no pueden acceder a ningún objeto de los esquemas que no les pertenezca. Para permitir que los usuarios accedan a los objetos del esquema que no son de su propiedad, debe otorgar el privilegio USAGE a los usuarios del esquema, como se muestra en la siguiente declaración:
GRANT USAGE ON SCHEMA schema_name TO user_name;
Para permitir que los usuarios creen objetos en el esquema que no son de su propiedad, debe otorgarles el privilegio CREAR en el esquema.
GRANT CREATE ON SCHEMA schema_name TO user_name;
Nota: De manera predeterminada, cada usuario tiene CREAR y USAR en el esquema público.
Operaciones de esquema
PostgreSQL permite las siguientes operaciones:
- Para crear un nuevo esquema, utilice la sentencia CREATE SCHEMA.
- Para cambiar el nombre de un esquema o cambiar su propietario, utilice la instrucción ALTER SCHEMA.
- Para descartar un esquema, utilice la sentencia DROP SCHEMA.
Publicación traducida automáticamente
Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA