SQL — Внешний ключ

SQL — Внешний ключ

От автора: внешний ключ SQL — это ключ, используемый для объединения двух таблиц. Иногда его также называют ссылочным ключом. Внешний ключ — это столбец или комбинация столбцов, значения которых соответствуют Первичному ключу в другой таблице.

Связь между двумя таблицами задается через соответствие Первичного ключа в одной из таблиц внешнему ключу во второй. Если для таблицы первичный ключ задан в определенном поле, то в этом поле не может содержаться двух записей с одинаковыми значениями.

Пример

Рассмотрим структуру следующих двух таблиц.

Таблица CUSTOMERS

CREATE TABLE CUSTOMERS(
  ID INT NOT NULL,
  NAME VARCHAR (20) NOT NULL,
  AGE  INT NOT NULL,
  ADDRESS  CHAR (25) ,
  SALARY DECIMAL (18, 2), 
  PRIMARY KEY (ID)
);

Таблица ORDERS

CREATE TABLE ORDERS (
  ID INT NOT NULL,
  DATE DATETIME, 
  CUSTOMER_ID INT references CUSTOMERS(ID),
  AMOUNT double,
  PRIMARY KEY (ID)
);

Если таблица ORDERS уже создана и для нее еще не установлен внешний ключ, используйте синтаксис изменения внешнего ключа через изменение таблицы.

ALTER TABLE ORDERS 
  ADD FOREIGN KEY (Customer_ID) REFERENCES CUSTOMERS (ID);

Удаление ограничения FOREIGN KEY

Чтобы отменить ограничение FOREIGN KEY, используйте следующий синтаксис SQL.

Фреймворк YII2. Быстрая разработка с современным PHP фреймворком

Узнай тонкости современной веб-разработки с помощью фреймворка YII2

Узнать подробнее
ALTER TABLE ORDERS
  DROP FOREIGN KEY;

Источник: https://www.tutorialspoint.com/

Редакция: Команда webformyself.

Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Хотите изучить MySQL?

Прямо сейчас посмотрите 24-х часовой курс по базе данных MySQL!

Смотреть курс

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree