sql >> Database >  >> RDS >> Database

Foreign Key SQL:alles wat u moet weten over Foreign Key Operations

In de huidige markt waar veel multinationale bedrijven relationele databases gebruiken om gegevens te verwerken, is het erg belangrijk om te begrijpen hoe elke tabel met elkaar in verband kan worden gebracht. Dus, in dit artikel over Foreign Key SQL, zal ik de refererende sleutel in tabellen bespreken om je de relatie tussen tabellen te laten begrijpen.

De volgende onderwerpen komen in dit artikel aan bod:

  1. Wat is beperking voor externe sleutels?
  2. Regels voor buitenlandse sleutel
  3. Foreign Key Operations:
    • SQL externe sleutel op tabel aanmaken
    • SQL Foreign Key op Alter Table
    • Laat externe sleutel vallen

Wat is een beperking voor een externe sleutel?

Een externe sleutel is een type sleutel dat wordt gebruikt om twee tabellen in een database te koppelen. Een externe sleutel is dus een attribuut of een verzameling attributen in de ene tabel die verwijst naar de primaire sleutel in een andere tabel.

Als bijvoorbeeld Tabel A en Tabel B aan elkaar gerelateerd zijn, en als Tabel A uit de primaire sleutel bestaat, wordt deze tabel de tabel waarnaar wordt verwezen of de bovenliggende tabel genoemd. Evenzo, als tabel B uit een externe sleutel bestaat, staat die tabel bekend als de referentietabel of onderliggende tabel. Raadpleeg de onderstaande afbeelding:

Nu u weet wat een externe sleutel is, gaan we in dit artikel over SQL met externe sleutels de regels van de externe sleutel begrijpen.

Regels voor buitenlandse sleutel

De regels voor Foreign Key zijn als volgt:

  1. De tabel met de externe sleutel wordt de onderliggende tabel genoemd en de tabel waarnaar wordt verwezen door de externe sleutel, wordt de bovenliggende tabel genoemd.
  2. Null-waarden zijn toegestaan ​​in een externe sleutel
  3. Buitenlandse sleutels kunnen worden gedupliceerd
  4. Er kan meer dan één externe sleutel in een tabel staan
  5. De relatie die tussen de tabellen tot stand komt, staat bekend als referentiële integriteit

Nu u weet wat de regels zijn van een externe sleutel, laten we in dit artikel over SQL met externe sleutels de bewerkingen van de externe sleutel bekijken.

Buitenlandse toetsbewerkingen:

Beschouw de volgende twee tabellen om de verschillende bewerkingen op de externe sleutel te begrijpen:

Klantentabel:

Klant-ID Klantnaam Telefoonnummer
1 Rohan 9876543210
2 Sonali 9876567864
3 Ajay 9966448811
4 Geeta 9765432786
5 Shubham 9944888756

Cursussentabel:

CourseID

Cursusnaam

Klant-ID

c01

DevOps

2

c02

Machine learning

4

c03

RPA

1

c04

Tableau

3

c05

AWS

2

Als je nu kijkt, verwijst de klant-ID-kolom in de cursustabel naar de klant-ID-kolom in de klantentabel. De kolom klant-ID uit de tabel met klanten is de primaire sleutel en de kolom klant-ID uit de tabel met cursussen is de vreemde sleutel van die tabel.

Vanaf de eerste bewerking:

Buitenlandse sleutel op tabel maken

U kunt de volgende syntaxis gebruiken om een ​​externe sleutel te maken in de kolom "klant-ID" wanneer u de tabel "cursussen" maakt:

#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)
);

Foreign key toepassen op meerdere kolommen

Raadpleeg het volgende voorbeeld om een ​​externe sleutel op meerdere kolommen toe te passen tijdens het maken van een tabel:

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)
);

Laten we vervolgens in dit artikel over Foreign Key SQL kijken hoe we de externe sleutel in Alter Table kunnen gebruiken.

Vreemde sleutel op wijzigingstabel

U kunt de volgende syntaxis gebruiken om een ​​refererende sleutel in de kolom "klant-ID" te maken als de tabel "cursussen" al is gemaakt en u de tabel alleen wilt wijzigen:

ALTER TABLE courses
ADD FOREIGN KEY (customerID) REFERENCES customers(customerID);

Als u een naam wilt toevoegen aan de Foreign Key-beperking en deze voor meerdere kolommen wilt definiëren, gebruikt u de volgende SQL-syntaxis:

ALTER TABLE courses
ADD CONSTRAINT FK_CustomerCourse
FOREIGN KEY (customerID) REFERENCES Customers(customerID);

Laten we vervolgens in dit artikel over Foreign Key SQL begrijpen hoe u een externe sleutel kunt laten vallen

Laat externe sleutel vallen

Als u de externe sleutel wilt verwijderen, kunt u het volgende voorbeeld raadplegen:

#For SQL Server/ MS Access/ Oracle
ALTER TABLE courses
DROP CONSTRAINT FK_CustomerCourse;
For MYSQL
ALTER TABLE courses
DROP FOREIGN KEY FK_CustomerCourse;

Hiermee komen we tot een einde aan dit artikel. Ik hoop dat je hebt begrepen hoe je Foreign Key in SQL moet gebruiken. Als je meer wilt weten over MijnSQL en leer deze open-source relationele database kennen, bekijk dan onze MySQL DBA-certificeringstraining die wordt geleverd met een door een instructeur geleide live training en real-life projectervaring. Deze training zal u helpen MySQL diepgaand te begrijpen en u te helpen het onderwerp onder de knie te krijgen.

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van dit artikel over "Foreign Key SQL" en ik neem contact met je op.


  1. Hoe u de huidige tijd in SQLite kunt krijgen

  2. Grootte van groot object ophalen in PostgreSQL-query?

  3. LogMiner gebruiken om huidige wijzigingen te vinden

  4. Een kolom hernoemen in SQL