I dagens marknad där många multinationella företag använder relationsdatabaser för att hantera data, är det mycket viktigt att förstå hur varje tabell kan relateras till varandra. Så i den här artikeln om Foreign Key SQL kommer jag att diskutera den främmande nyckeln i tabeller för att få dig att förstå förhållandet mellan tabeller.
Följande ämnen kommer att behandlas i den här artikeln:
- Vad är utländsk nyckelbegränsning?
- Regler för främmande nyckel
- Utländska nyckeloperationer:
- SQL främmande nyckel på Skapa tabell
- SQL främmande nyckel på Alter Table
- Släpp främmande nyckel
Vad är en utländsk nyckel?
En främmande nyckel är en typ av nyckel som används för att länka två tabeller i en databas. Så en främmande nyckel är ett attribut eller en samling attribut i en tabell som refererar till primärnyckeln i en annan tabell.
Till exempel, om Tabell A och Tabell B är relaterade till varandra, om Tabell A består av primärnyckeln, skulle denna tabell kallas den refererade tabellen eller överordnade tabellen. På liknande sätt, om Tabell B består av en främmande nyckel, är den tabellen känd som referenstabellen eller underordnad tabell. Se bilden nedan:
Nu när du vet vad som är främmande nyckel, nästa i den här artikeln om främmande nyckel SQL, låt oss förstå reglerna för den främmande nyckeln.
Regler för främmande nyckel
Reglerna för främmande nyckel är följande:
- Tabellen med den främmande nyckeln kallas den underordnade tabellen och tabellen som den främmande nyckeln refererar till kallas den överordnade tabellen.
- Nullvärden är tillåtna i en främmande nyckel
- Främmande nycklar kan dupliceras
- Det kan finnas mer än en enda främmande nyckel i en tabell
- Släktskapet mellan tabellerna kallas referensintegritet
Nu när du vet vad som är reglerna för en främmande nyckel, nästa i den här artikeln om främmande nyckel SQL, låt oss se hur den främmande nyckeln fungerar.
Utländska nyckeloperationer:
För att förstå de olika operationerna som finns på främmande nyckel, överväg följande två tabeller:
Kundtabell:
Kund-ID | Kundnamn | Telefonnummer |
1 | Rohan | 9876543210 |
2 | Sonali | 9876567864 |
3 | Ajay | 9966448811 |
4 | Geeta | 9765432786 |
5 | Shubham | 9944888756 |
Kurstabell:
Kurs-ID | Kursnamn | Kund-ID |
c01 | DevOps | 2 |
c02 | Machine Learning | 4 |
c03 | RPA | 1 |
c04 | Tableau | 3 |
c05 | AWS | 2 |
Nu, om du observerar, hänvisar kolumnen kundID i kurstabellen till kolumnen kundID i kundtabellen. Kund-ID-kolumnen från kundens tabell är den primära nyckeln och kund-ID-kolumnen från kurstabellen är den främmande nyckeln för den tabellen.
Börjar med den första operationen:
Främmande nyckel på Skapa tabell
Du kan använda följande syntax för att skapa en främmande nyckel i kolumnen "kund-ID" när du skapar tabellen "kurser":
#For SQL Server/ MS Access/ Oracle CREATE TABLE courses ( courseID varchar NOT NULL PRIMARY KEY, courseName varchar NOT NULL, customerID int FOREIGN KEY REFERENCES customers(customerID) ); #For MySQL CREATE TABLE courses ( courseID varchar NOT NULL PRIMARY KEY, courseName varchar NOT NULL, customerID int PRIMARY KEY (courseID), FOREIGN KEY (customerID) REFERENCES customers(customerID) );
Använd främmande nyckel på flera kolumner
För att använda främmande nyckel på flera kolumner när du skapar en tabell, se följande exempel:
CREATE TABLE courses ( courseID varchar NOT NULL, courseName varchar NOT NULL, customerID int, PRIMARY KEY (courseID), CONSTRAINT FK_CustomerCourse FOREIGN KEY (customerID) REFERENCES customers(customerID) );
Låt oss sedan i den här artikeln om Foreign Key SQL se hur man använder den främmande nyckeln på Alter Table.
Främmande nyckel på Alter Table
Du kan använda följande syntax för att skapa en främmande nyckel i kolumnen "kund-ID" när tabellen "kurser" redan är skapad och du bara vill ändra tabellen:
ALTER TABLE courses ADD FOREIGN KEY (customerID) REFERENCES customers(customerID);
Om du vill lägga till ett namn till begränsningen för främmande nyckel och definiera den i flera kolumner, använd följande SQL-syntax:
ALTER TABLE courses ADD CONSTRAINT FK_CustomerCourse FOREIGN KEY (customerID) REFERENCES Customers(customerID);
Låt oss sedan i den här artikeln om Foreign Key SQL förstå hur man släpper en främmande nyckel
Släpp främmande nyckel
För att ta bort den främmande nyckeln kan du hänvisa till följande exempel:
#For SQL Server/ MS Access/ Oracle ALTER TABLE courses DROP CONSTRAINT FK_CustomerCourse; For MYSQL ALTER TABLE courses DROP FOREIGN KEY FK_CustomerCourse;
Med detta kommer vi till ett slut på den här artikeln. Jag hoppas att du förstod hur man använder Foreign Key i SQL. Om du vill lära dig mer om MySQL och lär känna denna relationsdatabas med öppen källkod, kolla sedan in vår MySQL DBA-certifieringsutbildning som kommer med instruktörsledd liveutbildning och verklig projektupplevelse. Den här utbildningen hjälper dig att förstå MySQL på djupet och hjälper dig att behärska ämnet.
Har du en fråga till oss? Nämn det i kommentarsfältet i den här artikeln om "Foreign Key SQL" så återkommer jag till dig.