In de huidige markt waar veel multinationals relationele databases gebruiken om gegevens te verwerken, is het erg belangrijk om te begrijpen hoe elke tabel met elkaar kan worden gerelateerd. Dus in dit artikel over Foreign Key , Ik zal de externe sleutel in tabellen bespreken om u de relatie tussen tabellen te laten begrijpen.
In dit artikel komen de volgende onderwerpen aan bod:
- Wat is de beperking van de externe sleutel?
- Regels voor Foreign Key
- Buitenlandse sleutelbewerkingen:
Wat is een beperking voor externe sleutels?
Een externe sleutel is een soort sleutel die 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.
hoe je classpath in linux instelt
Als tabel A en tabel B bijvoorbeeld aan elkaar zijn gerelateerd, wordt deze tabel, als tabel A uit de primaire sleutel bestaat, 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 de onderliggende tabel.Raadpleeg de onderstaande afbeelding:
Nu u weet wat de externe sleutel is, laten we ons in dit artikel over externe sleutel SQL de regels van de externe sleutel begrijpen.
Regels voor externe sleutel
De regels van de externe sleutel zijn als volgt:
- De tabel met de externe sleutel wordt de kindtabel genoemd en de tabel waarnaar de externe sleutel verwijst, wordt de bovenliggende tabel genoemd.
- Null-waarden zijn toegestaan in een externe sleutel
- Vreemde sleutels kunnen worden gedupliceerd
- Een tabel kan meer dan één externe sleutel bevatten
- De relatie die tussen de tabellen tot stand is gebracht, staat bekend als referentiële integriteit
Nu u weet wat de regels van een externe sleutel zijn, laten we in dit artikel over externe sleutel SQL de bewerkingen van de externe sleutel bekijken.
Buitenlandse sleutelbewerkingen:
Overweeg de volgende twee tabellen om de verschillende bewerkingen op de externe sleutel te begrijpen:
Klantentafel:
Klanten ID | Klantnaam | Telefoonnummer |
een | Rohan | 9876543210 |
2 | Sonali | 9876567864 |
3 | Ajay | 9966448811 |
4 | Geeta | 9765432786 |
5 | Shubham | 9944888756 |
Cursustafel:
Cursus id | Cursus naam | Klanten ID |
c01 | DevOps | 2 |
c02 | Machine leren wat zijn bonen in java | 4 |
c03 | RPA | een |
c04 | Schoolbord | 3 |
c05 | AWS | 2 |
Als u nu ziet, verwijst de kolom klant-ID in de cursustabel naar de kolom klant-ID in de klantentabel.De kolom klant-ID uit de tabel met klanten is de primaire sleutel en de kolom klant-ID uit de cursustabel is de externe sleutel van die tabel.
Beginnen met de eerste operatie:
Vreemde 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:
#Voor SQL Server / MS Access / Oracle CREATE TABLE-cursussen (courseID varchar NOT NULL PRIMARY KEY, courseName varchar NOT NULL, customerID int FOREIGN KEY REFERENCES customers (customerID)) #Voor MySQL CREATE TABLE-cursussen (courseID varchar NOT NULL PRIMARY KEY, courseName varchar NOT NULL, customerID int PRIMARY KEY (courseID), FOREIGN KEY (customerID) REFERENCES customers (customerID))
Buitenlandse sleutel toepassen op meerdere kolommen
Om een externe sleutel toe te passen op meerdere kolommen while een tafel maken , verwijzen naar het volgende voorbeeld:
CREATE TABLE cursussen (courseID varchar NOT NULL, courseName varchar NOT NULL, customerID int, PRIMARY KEY (courseID), CONSTRAINT FK_CustomerCourse FOREIGN KEY (customerID) REFERENTIES klanten (customerID))
Laten we vervolgens in dit artikel over Foreign Key SQL zien hoe we de externe sleutel op Alter Table kunnen gebruiken.
wat is een instantievariabele
Foreign Key op Alter Table
U kunt de volgende syntaxis gebruiken om een externe sleutel te maken in de kolom 'klant-ID' wanneer de tabel 'cursussen' al is gemaakt en u de tabel alleen wilt wijzigen:
ALTER TABLE cursussen VOEG BUITENLANDSE SLEUTEL TOE (klant-ID) REFERENTIES klanten (klant-ID)
Als u een naam aan de Foreign Key-beperking wilt toevoegen en deze voor meerdere kolommen wilt definiëren, gebruikt u de volgende SQL-syntaxis:
ALTER TABLE-cursussen VOEG BEPERKING TOE FK_CustomerCourse BUITENLANDSE SLEUTEL (klant-ID) REFERENTIES Klanten (klant-ID)
Laten we vervolgens in dit artikel over Foreign Key SQL begrijpen hoe we een externe sleutel kunnen verwijderen
Laat de buitenlandse sleutel vallen
Om de externe sleutel te verwijderen, kunt u het volgende voorbeeld raadplegen:
#Voor SQL Server / MS Access / Oracle ALTER TABLE-cursussen DROP CONSTRAINT FK_CustomerCourse Voor MYSQL ALTER TABLE-cursussen DROP FOREIGN KEY FK_CustomerCourse
Hiermee komen we een einde aan dit artikel. Ik hoop dat je hebt begrepen hoe je Foreign Key in SQL moet gebruiken. Als u meer wilt weten over MySQL en maak kennis met deze open-source relationele database, bekijk dan onze die wordt geleverd met live training onder leiding van een instructeur en real-life projectervaring. Deze training zal je helpen MySQL diepgaand te begrijpen en je te helpen het onderwerp onder de knie te krijgen.
Heeft u een vraag voor ons? Vermeld het in de commentarensectie van dit artikel over 'Foreign Key SQL' en ik neem zo spoedig mogelijk contact met u op.