Cizí klíč SQL: Vše, co potřebujete vědět o operacích s cizím klíčem



Tento článek o cizím klíči SQL je komplexní průvodce omezeními cizího klíče a popisuje různé operace s příklady.

Na dnešním trhu, kde mnoho nadnárodních společností používá relační databáze ke zpracování dat, je velmi důležité pochopit, jak může každá tabulka navzájem souviset. Takže v tomto článku o cizím klíči „Budu diskutovat o cizím klíči v tabulkách, abyste pochopili vztah mezi tabulkami.

V tomto článku se budeme zabývat následujícími tématy:





  1. Co je omezení cizího klíče?
  2. Pravidla pro cizí klíč
  3. Zahraniční klíčové operace:

Co je omezení cizího klíče?

Cizí klíč je typ klíče, který se používá k propojení dvou tabulek v databázi. Cizí klíč je tedy atribut nebo soubor atributů v jedné tabulce, který odkazuje na primární klíč v jiné tabulce.



Například pokud tabulka A a tabulka B spolu souvisejí, pak pokud tabulka A sestává z primárního klíče, tato tabulka by se nazývala odkazovaná tabulka nebo nadřazená tabulka. Podobně, pokud tabulka B sestává z cizího klíče, je tato tabulka známá jako odkazovací tabulka nebo podřízená tabulka.Viz následující obrázek:

Cizí klíč - Cizí klíč SQL - Edureka

co je parametr v tablo

Nyní, když víte, co je cizí klíč, vám v tomto článku o cizím klíči SQL porozumíme pravidlům cizího klíče.



Pravidla pro cizí klíč

Pravidla cizího klíče jsou následující:

  1. Tabulka s cizím klíčem se nazývá podřízená tabulka a tabulka, na kterou se cizí klíč odkazuje, se nazývá nadřazená tabulka.
  2. V cizím klíči jsou povoleny nulové hodnoty
  3. Cizí klíče lze duplikovat
  4. V tabulce může být více než jeden cizí klíč
  5. Vztah mezi tabulkami je známý jako referenční integrita

Nyní, když víte, jaká jsou pravidla cizího klíče, se v dalším článku o cizím klíči SQL podívejme na operace cizího klíče.

Zahraniční klíčové operace:

Chcete-li porozumět různým operacím přítomným na cizím klíči, zvažte následující dvě tabulky:

Tabulka zákazníků:

Zákaznické identifikační číslo Jméno zákazníka Telefonní číslo
jedenRohan9876543210
2Sonali9876567864
3Ajay9966448811
4Geeta9765432786
5Shubham9944888756

Tabulka kurzů:

CourseID

Název kurzu

Zákaznické identifikační číslo

c01

DevOps

2

c02

Strojové učení

4

c03

RPA

jeden

c04

Deska

rozdíl mezi ansible a chef

3

java převést dvojité na celé číslo

c05

AWS

2

Pokud nyní sledujete, sloupec customerID v tabulce kurzů odkazuje na sloupec customerID v tabulce zákazníků.Sloupec customerID z tabulky zákazníků je primární klíč a sloupec customerID z tabulky kurzů je cizí klíč této tabulky.

Počínaje první operací:

Cizí klíč na vytvoření tabulky

Následující syntaxi můžete použít k vytvoření cizího klíče ve sloupci „ID zákazníka“, když vytváříte tabulku „Kurzy“:

#Pro kurzy SQL Server / MS Access / Oracle CREATE TABLE (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))

Použít cizí klíč na více sloupců

Chcete-li použít cizí klíč na více sloupců, zatímco vytvoření tabulky , viz následující příklad:

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

Dále se v tomto článku o cizím klíči SQL podívejme, jak použít cizí klíč na Alter Table.

Cizí klíč na pozměněném stole

Následující syntaxi můžete použít k vytvoření cizího klíče ve sloupci „customerID“, když je tabulka „courses“ již vytvořena a chcete ji pouze změnit:

Kurzy ALTER TABLE PŘIDAT ZAHRANIČNÍ KLÍČ (customerID) REFERENCE zákazníci (customerID)

Pokud chcete přidat název do omezení cizího klíče a definovat ho ve více sloupcích, použijte následující syntaxi SQL:

ALTER TABLE courses ADD CONSTRAINT FK_CustomerCourse ZAHRANIČNÍ KLÍČ (ID zákazníka) REFERENCE Zákazníci (ID zákazníka)

Dále v tomto článku o cizím klíči SQL pochopíme, jak zrušit cizí klíč

Pustit cizí klíč

Chcete-li cizí klíč zrušit, můžete použít následující příklad:

#Pro SQL Server / MS Access / Oracle Kurzy ALTER TABLE DROP CONSTRAINT FK_CustomerCourse Pro kurzy MYSQL ALTER TABLE DROP FOREIGN KEY FK_CustomerCourse

Tímto ukončujeme tento článek. Doufám, že jste pochopili, jak používat cizí klíč v SQL. Pokud se chcete dozvědět více o MySQL a seznamte se s touto relační databází open-source, pak se podívejte na naši který přichází s živým tréninkem vedeným instruktorem a zkušenostmi z reálného projektu. Toto školení vám pomůže porozumět MySQL do hloubky a pomůže vám dosáhnout zvládnutí předmětu.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů tohoto článku na téma „Cizí klíč SQL“ a ozvu se vám.