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:
- Wat is beperking voor externe sleutels?
- Regels voor buitenlandse sleutel
- 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:
- 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.
- Null-waarden zijn toegestaan in een externe sleutel
- Buitenlandse sleutels kunnen worden gedupliceerd
- Er kan meer dan één externe sleutel in een tabel staan
- 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.