I dagens marked, hvor mange multinationale virksomheder bruger relationelle databaser til at håndtere data, er det meget vigtigt at forstå, hvordan hver eneste tabel kan relateres til hinanden. Så i denne artikel om fremmednøgle SQL vil jeg diskutere den fremmede nøgle i tabeller for at få dig til at forstå forholdet mellem tabeller.
Følgende emner vil blive dækket i denne artikel:
- Hvad er Foreign Key Constraint?
- Regler for fremmednøgle
- Udenlandske nøgleoperationer:
- SQL udenlandsk nøgle på Opret tabel
- SQL fremmednøgle på Alter Table
- Drop udenlandsk nøgle
Hvad er begrænsning for fremmednøgle?
En fremmednøgle er en type nøgle, der bruges til at forbinde to tabeller i en database. Så en fremmednøgle er en attribut eller en samling af attributter i en tabel, der refererer til den primære nøgle i en anden tabel.
For eksempel, hvis tabel A og tabel B er relateret til hinanden, så hvis tabel A består af den primære nøgle, vil denne tabel blive kaldt den refererede tabel eller overordnede tabel. På samme måde, hvis tabel B består af en fremmednøgle, er denne tabel kendt som referencetabellen eller underordnet tabel. Se billedet nedenfor:
Nu hvor du ved, hvad der er fremmednøgle, lad os næste gang i denne artikel om fremmednøgle SQL forstå reglerne for den fremmede nøgle.
Regler for fremmednøgle
Reglerne for fremmed nøgle er som følger:
- Tabellen med den fremmede nøgle kaldes den underordnede tabel, og den tabel, der refereres til af den fremmede nøgle, kaldes den overordnede tabel.
- Nul-værdier er tilladt i en fremmednøgle
- Fremmednøgler kan duplikeres
- Der kan være mere end en enkelt fremmednøgle i en tabel
- Forholdet mellem tabellerne er kendt som referentiel integritet
Nu hvor du ved, hvad reglerne for en fremmed nøgle er, så lad os i denne artikel om fremmednøgle SQL se operationerne for den fremmede nøgle.
Udenlandske nøgleoperationer:
For at forstå de forskellige operationer, der findes på fremmednøgle, skal du overveje følgende to tabeller:
Kundetabel:
Kunde-id | Kundenavn | Telefonnummer |
1 | Rohan | 9876543210 |
2 | Sonali | 9876567864 |
3 | Ajay | 9966448811 |
4 | Geeta | 9765432786 |
5 | Shubham | 9944888756 |
Tabel over kurser:
Kursus-id | Kursusnavn | Kunde-id |
c01 | DevOps | 2 |
c02 | Machine Learning | 4 |
c03 | RPA | 1 |
c04 | Tableau | 3 |
c05 | AWS | 2 |
Nu, hvis du observerer, refererer kundeID-kolonnen i kurstabellen til kunde-ID-kolonnen i kundernes tabel. Kunde-id-kolonnen fra kundernes tabel er den primære nøgle, og kunde-id-kolonnen fra kurser-tabellen er den udenlandske nøgle for den pågældende tabel.
Starter med den første handling:
Udenlandsk nøgle på Opret tabel
Du kan bruge følgende syntaks til at oprette en fremmednøgle i kolonnen "kunde-ID", når du opretter "kurser"-tabel:
#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) );
Anvend fremmednøgle på flere kolonner
For at anvende fremmednøgle på flere kolonner, mens du opretter en tabel, se følgende eksempel:
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) );
Lad os derefter i denne artikel om Foreign Key SQL se, hvordan man bruger den fremmede nøgle på Alter Table.
Udenlandsk nøgle på Alter Table
Du kan bruge følgende syntaks til at oprette en fremmednøgle på "customerID"-kolonnen, når "kurser"-tabellen allerede er oprettet, og du blot ønsker at ændre tabellen:
ALTER TABLE courses ADD FOREIGN KEY (customerID) REFERENCES customers(customerID);
Hvis du ønsker at tilføje et navn til Foreign Key-begrænsningen og definere det på flere kolonner, skal du bruge følgende SQL-syntaks:
ALTER TABLE courses ADD CONSTRAINT FK_CustomerCourse FOREIGN KEY (customerID) REFERENCES Customers(customerID);
Lad os derefter i denne artikel om Foreign Key SQL forstå, hvordan man slipper en fremmednøgle
Drop udenlandsk nøgle
For at slippe fremmednøglen kan du se følgende eksempel:
#For SQL Server/ MS Access/ Oracle ALTER TABLE courses DROP CONSTRAINT FK_CustomerCourse; For MYSQL ALTER TABLE courses DROP FOREIGN KEY FK_CustomerCourse;
Med dette kommer vi til en ende på denne artikel. Jeg håber, du forstod, hvordan du bruger Foreign Key i SQL. Hvis du ønsker at lære mere om MySQL og lær denne open source relationsdatabase at kende, så tjek vores MySQL DBA-certificeringsuddannelse som kommer med instruktørledet livetræning og projekterfaring i det virkelige liv. Denne træning vil hjælpe dig med at forstå MySQL i dybden og hjælpe dig med at opnå beherskelse over emnet.
Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne artikel om "Foreign Key SQL", så vender jeg tilbage til dig.