Database
 sql >> база данни >  >> RDS >> Database

SQL с чужд ключ:Всичко, което трябва да знаете за операциите с чужд ключ

На днешния пазар, където много мултинационални компании използват релационни бази данни за обработка на данни, е много важно да се разбере как всяка таблица може да бъде свързана една с друга. И така, в тази статия за SQL за външния ключ ще обсъдя външния ключ в таблици, за да ви накарам да разберете връзката между таблиците.

Следните теми ще бъдат разгледани в тази статия:

  1. Какво е ограничение на външния ключ?
  2. Правила за външния ключ
  3. Операции с външни ключове:
    • SQL външен ключ при създаване на таблица
    • Външен ключ на SQL на Alter Table
    • Пуснете външния ключ

Какво е ограничение на външния ключ?

Външният ключ е тип ключ, използван за свързване на две таблици в база данни. И така, външният ключ е атрибут или колекция от атрибути в една таблица, която се отнася до първичния ключ в друга таблица.

Например, ако таблица A и таблица B са свързани помежду си, тогава ако таблица A се състои от първичен ключ, тази таблица ще се нарича реферирана таблица или родителска таблица. По същия начин, ако таблица B се състои от външен ключ, тогава тази таблица е известна като референтна таблица или дъщерна таблица. Вижте изображението по-долу:

Сега, когато знаете какво е външния ключ, следващата статия за SQL за външния ключ ни нека разберем правилата на външния ключ.

Правила за външния ключ

Правилата на външния ключ са както следва:

  1. Таблицата с външния ключ се нарича дъщерна таблица, а таблицата, към която се позовава външният ключ, се нарича родителска таблица.
  2. Във външен ключ са разрешени нулеви стойности
  3. Външните ключове могат да бъдат дублирани
  4. В таблица може да има повече от един външен ключ
  5. Връзката, установена между таблиците, е известна като референтна цялост

Сега, когато знаете какви са правилата на външния ключ, следващата в тази статия за 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 на външния ключ“ и аз ще се свържа с вас.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Неструктурирано съдържание:неизползван източник на гориво за AI и машинно обучение

  2. Въпроси за интервю за инженер по данни с Python

  3. Как да класифицирате, намирате и маскирате PII в бази данни...

  4. Как да изчислим абсолютна стойност в SQL

  5. Как да напишете заявка с множество поведения