Clave primaria compuesta de postgrés

Clave primaria compuesta de postgrés
En este artículo, el concepto de la clave primaria compuesta se discutirá en PostgreSQL. Una clave principal es un campo asignado a una fila con valores únicos en la tabla de una base de datos, pero cuando una tabla tiene más de un valor único, utilizamos una clave primaria compuesta para estos atributos que los distinguirán para la distinción. PostgreSQL permite a sus usuarios tener claves primarias compuestas en sus tablas. Discutiremos varios ejemplos del concepto de clave primaria compuesta en PostgreSQL para comprender mejor este concepto.

Sintaxis de la tecla primaria compuesta en PostgreSQL

Antes de saltar directamente a la implementación del concepto de clave primaria compuesta, debemos saber sobre la sintaxis para hacer de 2 o más atributos una clave primaria en la tabla. Por lo tanto, una clave primaria compuesta se declara al igual que una primaria normal se declara cuando estamos creando una tabla. La sintaxis para la clave primaria compuesta se describe a continuación, junto con sus características o nombres de columnas:

>> Crear tabla name_of_table
(Tipo de datos de column_1,
Tipo de datos de column_2,
… ,
Tipo de datos de column_n
Clave primaria (column_1, column_2));

En esta consulta, estamos inicializando una tabla con varias columnas, y en lugar de inicialización de clave primaria única en línea para las columnas, las iniciamos por separado después de haber definido el nombre de la columna y el tipo de datos de la columna. Utilizamos la palabra clave de "clave principal" con un soporte en el que escribimos los nombres de las columnas separados con comas para especificarlas como una clave primaria compuesta.

Inicializar una clave primaria compuesta en PostgreSQL

Como la sintaxis nos es familiar ahora, podemos ver algunos ejemplos para crear una tabla con múltiples claves primarias. Así que primero, abriremos nuestro editor de consultas y crearemos una mesa.

>> Crear tabla empleado1 (
e_id int,
e_type int,
e_name varchar,
e_sal int);

Ahora, podemos crear una tabla a partir de esta consulta, pero hay un problema en esta tabla, ya que no se ha especificado ninguna columna para ser una clave principal. En esta tabla, puede haber más de una clave principal según las necesidades, como qué si el salario debe agregarse con bonos a ciertos empleados con ciertos tipos y nombres, por lo que todos tienen que ser una clave principal. ¿Qué pasa si inicializamos a cada uno de ellos como una clave primaria por separado?? Veamos cómo resulta esto cuando realizamos esto en PostgreSQL.

Crear tabla empleado1 (
e_id int primaria clave,
e_type int primario,
e_name varchar,
e_sal int);

La salida se adjunta en la imagen adjunta.

Como sugiere la salida, no podemos crear más de una clave principal en nuestras tablas si usamos el método de una línea. Este método no está permitido en el entorno PostgreSQL y solo puede usarse cuando tenemos que declarar solo una columna como clave principal. Entonces, ahora veremos el método correcto para declarar más de una clave principal en una tabla en PostgreSQL.

Declarar dos columnas como la clave principal

En esta situación, haremos que dos columnas de la tabla sean claves principales al mismo tiempo. Hacemos que la columna de identificación sea una clave principal y el tipo de columna de empleados una clave principal en nuestra tabla. Debemos construir esta consulta de la siguiente manera para que se ejecute con éxito:

>> Crear tabla empleado1 (
e_id int,
e_type int,
e_name varchar,
e_sal int,
Clave primaria (E_ID, E_TYPE)
);

La salida se adjunta en la imagen adjunta.

Como puede ver, la salida sugiere que la tabla se creó con éxito, y podemos usarla para insertar valores. Ahora verifiquemos que en nuestro entorno Postgres.

>> Insertar en los valores de Employee1 (011,1, 'Josh', 10000),
(021,1, 'John', 18800),
(031,1, 'James', 17000),
(041,2, 'Harry', 13000),
(051,2, 'Alex', 14000),
(061,2, 'Ron', 15000);
seleccionar * de Employee1;

La salida se adjunta en la imagen adjunta.

Como puede ver, hemos creado con éxito una tabla e insertado valores en ella mientras teníamos dos claves principales asignadas a las columnas de la tabla. Entonces, en esta tabla, las claves principales son "E_ID" y "E_Type", y las hemos definido como atributos únicos para la tabla llamada "Empleado1".

Declarar tres columnas como clave principal

En esta situación, haremos tres columnas de la tabla para convertirse en claves primarias al mismo tiempo. Hacemos que la columna de identificación sea una clave principal, el nombre del empleado se establecerá como clave principal y, además, el tipo de columna del empleado será una clave principal en nuestra tabla. Para que esta consulta se ejecute con éxito, tendremos que armarlo así:

>> Crear tabla empleado1 (
e_id int,
e_type int,
e_name varchar,
e_sal int,
Clave primaria (E_ID, E_TYPE, E_NAME)
);

La salida se adjunta en la imagen adjunta.

Como puede ver, la salida sugiere que la tabla se creó con éxito, y podemos usarla para insertar valores. Ahora verifiquemos si la inserción es aplicable en nuestro entorno Postgres o no.

Insertar en los valores de Employee1 (011,1, 'James', 10000),
(041,2, 'Harry', 13000),
(061,2, 'Ron', 15000),
(031,1, 'James', 17000),
(051,2, 'Alex', 14000),
(021,1, 'John', 18800);
seleccionar * de Employee1;

La salida se adjunta en la imagen adjunta.

Como puede ver, creamos con éxito una tabla e ingresamos datos en ella mientras asignamos tres claves principales a las columnas de la tabla. Entonces, en esta tabla, las claves principales son "e ID", "tipo e" y "nombre e", y las hemos designado como un atributo único para la tabla "Empleado1".

Declarando todas las columnas como clave principal

En esta situación, haremos que las cuatro columnas de la tabla sean claves principales al mismo tiempo. Para que esta consulta se ejecute con éxito, tenemos que escribir así como se muestra a continuación:

Crear tabla empleado1 (
e_id int,
e_type int,
e_name varchar,
e_sal int,
Clave primaria (E_ID, E_TYPE, E_NAME, E_SAL)
);

La salida se adjunta en la imagen adjunta.

Como puede ver, el resultado indica que la tabla se creó con éxito, y ahora podemos usarla para insertar valores. Ahora veamos si la inserción funciona en nuestro entorno Postgres.

>> Insertar en los valores de Employee1 (011,1, 'Jacob', 8000),
(051,2, 'Alexander', 1400),
(041,2, 'Harry', 100),
(031,1, 'Jake', 17000),
(061,2, 'Ray', 3500),
(021,1, 'Johnathan', 18800);
seleccionar * de Employee1;

La salida se adjunta en la imagen adjunta.

Como puede ver, creamos una tabla, la llenamos con datos y asignamos cuatro claves principales a las columnas de la tabla. Las claves principales en esta tabla son "e_id", "e_type", "e_name" y "e_sal". Han sido declarados como un atributo único para la tabla "Empleado1".

Hemos concluido que PostgreSQL nos permite tener más de una clave principal en nuestra tabla. Podemos escalarlo en tantas columnas como sea posible utilizando la función de clave primaria compuesta o incluso asignando la singularidad de la clave principal a todas las columnas de la tabla.

Conclusión

En este artículo, hemos aprendido sobre el concepto de clave primaria compuesta en PostgreSQL. Entonces, si contrarrestamos una situación en la que tenemos que declarar más de una clave principal, podemos usar la función de clave primaria compuesta en esa situación con la ayuda de este artículo. La sintaxis para la declaración de clave primaria compuesta también se discutió en un breve detalle en Postgres, ya que todos los aspectos de la función se discutieron en partes. Luego también implementamos este concepto en el entorno PostgreSQL. La forma correcta de declarar dos, tres o incluso más de 3 claves principales en una sola tabla en PostgreSQL es mediante la función de clave primaria compuesta.