На днешния пазар, където много мултинационални компании използват релационни бази данни за обработка на данни, е много важно да се разбере как всяка таблица може да бъде свързана една с друга. И така, в тази статия за SQL за външния ключ ще обсъдя външния ключ в таблици, за да ви накарам да разберете връзката между таблиците.
Следните теми ще бъдат разгледани в тази статия:
- Какво е ограничение на външния ключ?
- Правила за външния ключ
- Операции с външни ключове:
- SQL външен ключ при създаване на таблица
- Външен ключ на SQL на Alter Table
- Пуснете външния ключ
Какво е ограничение на външния ключ?
Външният ключ е тип ключ, използван за свързване на две таблици в база данни. И така, външният ключ е атрибут или колекция от атрибути в една таблица, която се отнася до първичния ключ в друга таблица.
Например, ако таблица A и таблица B са свързани помежду си, тогава ако таблица A се състои от първичен ключ, тази таблица ще се нарича реферирана таблица или родителска таблица. По същия начин, ако таблица B се състои от външен ключ, тогава тази таблица е известна като референтна таблица или дъщерна таблица. Вижте изображението по-долу:
Сега, когато знаете какво е външния ключ, следващата статия за SQL за външния ключ ни нека разберем правилата на външния ключ.
Правила за външния ключ
Правилата на външния ключ са както следва:
- Таблицата с външния ключ се нарича дъщерна таблица, а таблицата, към която се позовава външният ключ, се нарича родителска таблица.
- Във външен ключ са разрешени нулеви стойности
- Външните ключове могат да бъдат дублирани
- В таблица може да има повече от един външен ключ
- Връзката, установена между таблиците, е известна като референтна цялост
Сега, когато знаете какви са правилата на външния ключ, следващата в тази статия за SQL за външния ключ, нека видим операциите на външния ключ.
Операции с външни ключове:
За да разберете различните операции, присъстващи във външния ключ, разгледайте следните две таблици:
Таблица с клиенти:
CustomerID | Име на клиента | PhoneNumber |
1 | Рохан | 9876543210 |
2 | Сонали | 9876567864 |
3 | Аджай | 9966448811 |
4 | Гийта | 9765432786 |
5 | Shubham | 9944888756 |
Таблица с курсове:
CourseID | Име на курс | CustomerID |
c01 | DevOps | 2 |
c02 | Машинно обучение | 4 |
c03 | RPA | 1 |
c04 | Таблица | 3 |
c05 | AWS | 2 |
Сега, ако забележите, колоната customerID в таблицата с курсове се отнася до колоната customerID в таблицата на клиентите. Колоната customerID от таблицата на клиентите е първичният ключ, а колоната customerID от таблицата с курсове е външният ключ на тази таблица.
Започвайки с първата операция:
Външен ключ при създаване на таблица
Можете да използвате следния синтаксис, за да създадете външен ключ в колоната „customerID“, когато създавате таблица „курсове“:
#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) );
Прилагане на външен ключ към множество колони
За да приложите външен ключ към множество колони, докато създавате таблица, вижте следния пример:
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) );
След това, в тази статия за SQL за външния ключ, нека видим как да използваме външния ключ в Alter Table.
Външен ключ в таблицата за промяна
Можете да използвате следния синтаксис, за да създадете външен ключ в колоната „customerID“, когато таблицата „courses“ вече е създадена и просто искате да промените таблицата:
ALTER TABLE courses ADD FOREIGN KEY (customerID) REFERENCES customers(customerID);
Ако искате да добавите име към ограничението на външния ключ и да го дефинирате в множество колони, използвайте следния SQL синтаксис:
ALTER TABLE courses ADD CONSTRAINT FK_CustomerCourse FOREIGN KEY (customerID) REFERENCES Customers(customerID);
След това, в тази статия за SQL за външния ключ, нека разберем как да премахнем външен ключ
Пуснете външния ключ
За да пуснете външния ключ, можете да се обърнете към следния пример:
#For SQL Server/ MS Access/ Oracle ALTER TABLE courses DROP CONSTRAINT FK_CustomerCourse; For MYSQL ALTER TABLE courses DROP FOREIGN KEY FK_CustomerCourse;
С това стигаме до края на тази статия. Надявам се, че сте разбрали как да използвате външния ключ в SQL. Ако искате да научите повече за MySQL и се запознайте с тази релационна база данни с отворен код, след което разгледайте нашата Обучение за сертифициране на MySQL DBA който идва с обучение на живо от инструктор и реален опит с проекти. Това обучение ще ви помогне да разберете MySQL в дълбочина и ще ви помогне да постигнете майсторство по темата.
Имате въпрос към нас? Моля, споменете го в секцията за коментари на тази статия за „SQL на външния ключ“ и аз ще се свържа с вас.