Nel mercato odierno in cui molte società multinazionali utilizzano database relazionali per gestire i dati, è molto importante capire come ciascuna tabella può essere correlata tra loro. Quindi, in questo articolo su Foreign Key , Discuterò la chiave esterna nelle tabelle per farti capire la relazione tra le tabelle.
I seguenti argomenti verranno trattati in questo articolo:
Che cos'è il vincolo di chiave esterna?
Una chiave esterna è un tipo di chiave utilizzata per collegare due tabelle in un database. Quindi, una chiave esterna è un attributo o una raccolta di attributi in una tabella che fa riferimento alla chiave primaria in un'altra tabella.
Ad esempio, se la tabella A e la tabella B sono correlate l'una all'altra, se la tabella A è costituita dalla chiave primaria, questa tabella sarebbe chiamata tabella di riferimento o tabella padre. Allo stesso modo, se la tabella B è costituita da una chiave esterna, tale tabella è nota come tabella di riferimento o tabella figlia.Fare riferimento all'immagine sottostante:
Ora che sai cos'è la chiave esterna, nel prossimo articolo su SQL chiave esterna, comprendiamo le regole della chiave esterna.
Regole per la chiave esterna
Le regole della chiave esterna sono le seguenti:
- La tabella con la chiave esterna è chiamata tabella figlia e la tabella a cui fa riferimento la chiave esterna è chiamata tabella padre.
- I valori nulli sono consentiti in una chiave esterna
- Le chiavi esterne possono essere duplicate
- Può esserci più di una singola chiave esterna in una tabella
- La relazione stabilita tra le tabelle è nota come integrità referenziale
Ora che sai quali sono le regole di una chiave esterna, nel prossimo articolo su SQL chiave esterna, vediamo le operazioni della chiave esterna.
Operazioni chiave esterne:
Per comprendere le varie operazioni presenti sulla chiave esterna, considerare le seguenti due tabelle:
Tabella clienti:
Identificativo del cliente | Nome del cliente | Numero di telefono |
uno | Rohan | 9876543210 |
2 | Sonali | 9876567864 |
3 | Ajay | 9966448811 |
4 | Geeta | 9765432786 |
5 | Shubham | 9944888756 |
Tabella Corsi:
CourseID come ottenere la lunghezza dell'array in javascript | Nome del corso | Identificativo del cliente |
c01 | DevOps | 2 |
c02 | Apprendimento automatico | 4 cos'è sqoop in hadoop |
c03 | RPA | uno |
c04 | Quadro | 3 |
c05 | AWS | 2 |
Ora, se osservi, la colonna ID cliente nella tabella dei corsi fa riferimento alla colonna ID cliente nella tabella dei clienti.La colonna customerID della tabella dei clienti è la chiave primaria e la colonna customerID della tabella dei corsi è la chiave esterna di quella tabella.
A partire dalla prima operazione:
Chiave esterna su Crea tabella
È possibile utilizzare la seguente sintassi per creare una chiave esterna nella colonna 'ID cliente' quando si crea la tabella 'corsi':
#Per SQL Server / MS Access / Oracle CREATE TABLE corsi (courseID varchar NOT NULL PRIMARY KEY, courseName varchar NOT NULL, customerID int FOREIGN KEY REFERENCES customers (customerID)) #For MySQL CREATE TABLE corsi (courseID varchar NOT NULL PRIMARY KEY, courseName varchar NOT NULL, customerID int PRIMARY KEY (courseID), FOREIGN KEY (customerID) REFERENCES customers (customerID))
Applica chiave esterna su più colonne
Per applicare la chiave esterna su più colonne while creare una tabella , fare riferimento al seguente esempio:
CREATE TABLE corsi (courseID varchar NOT NULL, courseName varchar NOT NULL, customerID int, PRIMARY KEY (courseID), CONSTRAINT FK_CustomerCourse FOREIGN KEY (customerID) REFERENCES customers (customerID))
Successivamente, in questo articolo su SQL chiave esterna, vediamo come utilizzare la chiave esterna su Alter Table.
Chiave esterna su Alter Table
È possibile utilizzare la seguente sintassi per creare una chiave esterna sulla colonna 'ID cliente' quando la tabella 'corsi' è già creata e si desidera solo modificare la tabella:
Corsi ALTER TABLE AGGIUNGI CHIAVE ESTERA (customerID) REFERENZE clienti (customerID)
Se desideri aggiungere un nome al vincolo di chiave esterna e definirlo su più colonne, utilizza la seguente sintassi SQL:
Corsi ALTER TABLE ADD CONSTRAINT FK_CustomerCourse FOREIGN KEY (customerID) REFERENZE Clienti (customerID)
Successivamente, in questo articolo su SQL della chiave esterna, vediamo come eliminare una chiave esterna
differenza tra override del metodo e override
Elimina chiave esterna
Per rilasciare la chiave esterna, puoi fare riferimento al seguente esempio:
#Per i corsi ALTER TABLE di SQL Server / MS Access / Oracle DROP CONSTRAINT FK_CustomerCourse Per i corsi MYSQL ALTER TABLE DROP FOREIGN KEY FK_CustomerCourse
Con questo, arriviamo alla fine di questo articolo. Spero che tu abbia capito come utilizzare la chiave esterna in SQL. Se desideri saperne di più su MySQL e impara a conoscere questo database relazionale open source, quindi dai un'occhiata al nostro che viene fornito con formazione dal vivo con istruttore e esperienza di progetto nella vita reale. Questa formazione ti aiuterà a comprendere in profondità MySQL e a raggiungere la padronanza dell'argomento.
Hai domande per noi? Per favore, menzionalo nella sezione commenti di questo articolo su 'SQL chiave esterna' e ti ricontatterò.