# PostgreSQL schema para combinar varias tablas

En PostgreSQL, un schema se utiliza para agrupar varias tablas y así organizar la base de datos con mayor claridad. El comando `CREATE SCHEMA` se utiliza para la creación. Además, un esquema creado se puede borrar en cualquier momento con `DROP SCHEMA`.

## ¿Qué es un PostgreSQL schema?

En [PostgreSQL](https://www.ionos.com/es-us/digitalguide/servidores/know-how/postgresql/), un schema es una **colección de varias tablas**. Un schema también puede contener índices, secuencias, tipos de datos y funciones, entre otras cosas, y por lo tanto es comparable a un directorio, aunque, a diferencia de este último, no es posible el anidamiento. Este método se utiliza sobre todo para simplificar la gestión de grandes bases de datos con numerosas tablas. En la estructura del [sistema gestor de base de datos](https://www.ionos.com/es-us/digitalguide/hosting/cuestiones-tecnicas/sistema-gestor-de-base-de-datos-sgbd/), existe un PostgreSQL schema entre el nivel de la base de datos y el nivel de las tablas individuales. La estructura jerárquica general es la siguiente:

- Instancia (a menudo denominada “servidor” en PostgreSQL), que puede contener varias bases de datos
- Base de datos
- Schema
- Tabla
- Fila

Para crear en PostgreSQL un schema nuevo, se utiliza el comando `CREATE SCHEMA`. Después, el schema se eliminará con el comando `DROP SCHEMA`. Ambos comandos se describen con más detalle en este artículo.

## PostgreSQL SCHEMA: sintaxis básica

La sintaxis de `CREATE SCHEMA` en PostgreSQL es la siguiente:

```postgresql
CREATE SCHEMA nombre;
```

Esta sintaxis da la instrucción de crear un schema en PostgreSQL y le da a este esquema un nombre propio y único en la base de datos.

## Asignar un PostgreSQL schema a nuevas tablas

Si ahora creas una nueva tabla con el comando [PostgreSQL CREATE TABLE](https://www.ionos.com/es-us/digitalguide/servidores/configuracion/postgresql-create-table/), puedes añadirla a un PostgreSQL schema existente. La sintaxis correspondiente es la siguiente:

```postgresql
CREATE TABLE tuschema.nuevatabla(
... 
);
```

Para ilustrar este proceso, te mostramos cómo crear primero un schema con el nombre “Clientes”. Este es el código:

```postgresql
CREATE SCHEMA clientes;
```

A continuación, crea una nueva tabla llamada “Listadeclientes\_España”, que podrás insertar en el PostgreSQL schema “Clientes”. Para ello, utiliza este código:

```postgresql
CREATE TABLE Clientes.Listadeclientes_España( 
ID INT PRIMARY KEY NOT NULL, 
NOMBRE VARCHAR(50) NOT NULL, 
PAÍS VARCHAR(50), 
DIRECCIÓN VARCHAR(255) 
);
```

Esto te dará una nueva tabla vacía en el PostgreSQL schema especificado como “Clientes”. Ahora puedes completarla con valores usando [PostgreSQL INSERT INTO](https://www.ionos.com/es-us/digitalguide/servidores/configuracion/postgresql-insert-into/).

Nota Si no se especifica ningún esquema, las nuevas tablas se asignan automáticamente al esquema “public” por defecto.

## Eliminar schema con `DROP SCHEMA`

Por supuesto, también tienes la opción de eliminar un PostgreSQL schema de nuevo. Si el esquema está vacío y por lo tanto ya no es necesario, simplemente utiliza el comando `DROP SCHEMA`. Para nuestro ejemplo de arriba, esto se vería así:

```postgresql
DROP SCHEMA clientes;
```

Si deseas eliminar un esquema y todos los objetos que contiene en PostgreSQL, este es el comando apropiado:

```postgresql
DROP SCHEMA clientes CASCADE;
```

No obstante, debes utilizar este comando con precaución para no perder datos valiosos.


This is a markdown version of: [https://www.ionos.com/es-us/digitalguide/servidores/configuracion/postgresql-schema/](https://www.ionos.com/es-us/digitalguide/servidores/configuracion/postgresql-schema/) for AI/LLM consumption.