Chiave primaria composito di Postgres

Chiave primaria composito di Postgres
In questo articolo, il concetto della chiave primaria composita sarà discusso in PostgreSQL. Una chiave primaria è un campo assegnato a una riga con valori univoci nella tabella di un database, ma quando una tabella ha più di un valore univoco, utilizziamo una chiave primaria composita per questi attributi che li distingueranno per la distinzione. PostgreSQL consente ai suoi utenti di avere chiavi primarie composite nelle loro tabelle. Discuteremo diversi esempi del concetto di chiave primaria composita in Postgresql per comprendere meglio questo concetto.

Sintassi della chiave primaria composita in PostgreSQL

Prima di saltare direttamente all'implementazione del concetto di chiave primaria composita, dovremmo conoscere la sintassi per rendere 2 o più attributi una chiave primaria nella tabella. Quindi, una chiave primaria composita viene dichiarata proprio come viene dichiarata una normale primaria quando stiamo creando una tabella. La sintassi per la chiave primaria composita è descritta di seguito, insieme alle sue caratteristiche o ai nomi delle colonne:

>> Crea Name_Table tabella
(Tipo di dati colonnario_1,
Tipo di dati colonnario_2,
.. ,
Tipo di dati colonnario_n
Chiave primaria (column_1, column_2));

In questa query, stiamo inizializzando una tabella con diverse colonne e invece dell'inizializzazione della chiave primaria singola in linea per le colonne, le stiamo inizializzando separatamente dopo aver definito il nome del nome della colonna e il tipo di colonna. Usiamo la parola chiave "chiave primaria" con una staffa in cui scriviamo i nomi delle colonne separate con virgole per specificarli come una chiave primaria composita.

Inizializzazione di una chiave primaria composita in PostgreSQL

Poiché la sintassi ci è familiare ora, possiamo esaminare alcuni esempi per la creazione di una tabella con più chiavi primarie. Quindi prima apriremo il nostro editor di query e creeremo una tabella.

>> Crea Table Employee1 (
e_id int,
e_type int,
e_name varchar,
e_sal int);

Ora, possiamo creare una tabella di questa query, ma in questa tabella c'è un problema in quanto non è stata specificata alcuna colonna per essere una chiave primaria. In questa tabella, può esserci più di una chiave primaria secondo le esigenze, come se lo stipendio dovesse essere aggiunto con bonus a determinati dipendenti con determinati tipi e nomi, quindi tutti devono essere una chiave primaria. E se inizializziamo ciascuno di essi come una chiave primaria separatamente? Vediamo come risulta questo quando eseguiamo questo in postgresql.

Crea Table Employee1 (
e_id int chiave primaria,
e_type int Key primario,
e_name varchar,
e_sal int);

L'output è allegato nell'immagine aggiunta.

Come suggerisce l'output che non possiamo creare più di una chiave primaria nelle nostre tabelle se utilizziamo il metodo One-Liner. Questo metodo non è consentito nell'ambiente PostgreSQL e può essere utilizzato solo quando dobbiamo dichiarare solo una colonna come chiave primaria. Quindi ora, esamineremo il metodo corretto per dichiarare più di una chiave primaria in una tabella di PostgreSQL.

Dichiarare due colonne come la chiave primaria

In questa situazione, faremo due colonne della tabella come tasti primari contemporaneamente. Renderemo la colonna ID una chiave primaria e il tipo di colonna dei dipendenti una chiave primaria nella nostra tabella. Dobbiamo costruire questa query come segue per funzionare correttamente:

>> Crea Table Employee1 (
e_id int,
e_type int,
e_name varchar,
e_sal int,
Chiave primaria (E_ID, E_TYPE)
);

L'output è allegato nell'immagine aggiunta.

Come puoi vedere che l'output suggerisce che la tabella è stata creata correttamente e possiamo usarla per inserire valori. Ora verifichiamo che nel nostro ambiente Postgres.

>> Inserisci nei valori di 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);
Seleziona * da Employee1;

L'output è allegato nell'immagine aggiunta.

Come puoi vedere, abbiamo creato correttamente una tabella e inserito valori mentre avevamo due chiavi primarie assegnate alle colonne della tabella. Quindi, in questa tabella, le chiavi primarie sono "e_id" e "e_type", e li abbiamo definiti come attributi unici per la tabella denominata "Employee1".

Dichiarare tre colonne come chiave primaria

In questa situazione, faremo tre colonne della tabella per diventare le chiavi primarie allo stesso tempo. Renderemo la colonna ID una chiave primaria, il nome del dipendente verrà impostato come chiave primaria e anche il tipo di colonna dipendente per essere una chiave primaria nella nostra tabella. Per far eseguire questa query con successo, dovremo metterla insieme in questo modo:

>> Crea Table Employee1 (
e_id int,
e_type int,
e_name varchar,
e_sal int,
Chiave primaria (e_id, e_type, e_name)
);

L'output è allegato nell'immagine aggiunta.

Come puoi vedere che l'output suggerisce che la tabella è stata creata correttamente e possiamo usarla per inserire valori. Ora verifichiamo se l'inserimento è applicabile nel nostro ambiente Postgres o no.

Inserisci i valori dei dipendenti1 (011,1, 'James', 10000),
(041,2, 'Harry', 13000),
(061,2, 'Ron', 15000),
(031,1, 'James', 17000),
(051,2, 'Alex', 14000),
(021,1, 'John', 18800);
Seleziona * da Employee1;

L'output è allegato nell'immagine aggiunta.

Come puoi vedere, abbiamo creato correttamente una tabella e inserito i dati in essa assegnando tre chiavi primarie alle colonne della tabella. Quindi, in questa tabella, le chiavi primarie sono "e id", "tipo e" e "e nome" e li abbiamo designati come attributo univoco per la tabella "Employee1".

Dichiarare tutte le colonne come chiave primaria

In questa situazione, faremo tutte e quattro le colonne della tabella essere le chiavi primarie contemporaneamente. Affinché questa domanda sia eseguita con successo, dobbiamo scrivere così come mostrato di seguito:

Crea Table Employee1 (
e_id int,
e_type int,
e_name varchar,
e_sal int,
Chiave primaria (E_ID, E_TYPE, E_NAME, E_SAL)
);

L'output è allegato nell'immagine aggiunta.

Come puoi vedere, il risultato indica che la tabella è stata creata correttamente e ora possiamo usarla per inserire i valori. Ora vediamo se l'inserimento funziona nel nostro ambiente Postgres.

>> Inserisci nei valori di 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);
Seleziona * da Employee1;

L'output è allegato nell'immagine aggiunta.

Come puoi vedere, abbiamo creato una tabella, riempita di dati e assegnato quattro chiavi principali alle colonne della tabella. Le chiavi principali in questa tabella sono "e_id", "e_type", "e_name" e "e_sal". Sono stati dichiarati come un attributo unico per la tabella "Employee1".

Abbiamo concluso che PostgreSQL ci consente di avere più di una chiave primaria nella nostra tabella. Possiamo ridimensionarlo fino a quante più colonne possibili utilizzando la funzione chiave primaria composita o addirittura assegnare la chiave primaria unicità a tutte le colonne della tabella.

Conclusione

In questo articolo, abbiamo appreso il concetto di chiave primaria composita in PostgreSQL. Quindi, se contrasta una situazione in cui dobbiamo dichiarare più di una chiave primaria, possiamo usare la funzione chiave primaria composita per quella situazione con l'aiuto di questo articolo. La sintassi per la dichiarazione della chiave primaria composita è stata discussa anche in un breve dettaglio in Postgres, poiché tutti gli aspetti della funzione sono stati discussi in parti. Quindi abbiamo anche implementato questo concetto nell'ambiente PostgreSQL. Il modo corretto per dichiarare due, tre o anche più di 3 chiavi primarie in una singola tabella in PostgreSQL è utilizzando la funzione chiave primaria composita.