Размер шрифта
-
+

Oracle SQL. 100 шагов от новичка до профессионала. 20 дней новых знаний и практики - стр. 16


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

Вторичный ключ также называют внешним ключом таблицы.

Теория и практика

В нашем примере есть две таблицы (таблица CITY, MAN по колонке CITYCODE), в таблице CITY CITYCODE является первичным ключом.

В таблице MAN CITYCODE будет вторичным ключом.


Синтаксис создания первичного ключа:

CREATE TABLE TABLE_NAME

(

column1 DATAtype NULL/NOT NULL,

column2 DATAtype NULL/NOT NULL,

CONSTRAINT constraINt_NAME PRIMARY KEY (column1, column2, … column_n)

);

Также возможно создание первичного ключа с помощью конструкции ALTER TABLE:

ALTER TABLE TABLE_NAME ADD CONSTRAINT constraINt_NAME PRIMARY KEY (column1, column2, … column_n);

Синтаксис создания вторичного ключа:

CREATE TABLE TABLE_NAME (

column1 DATAtype NULL/NOT NULL,

CONSTRAINT fk_column

FOREIGN KEY (column1, column2, … column_n)

REFERENCES parent_TABLE (column1, column2, … column_n));

Добавление вторичного ключа с помощью конструкции ALTER TABLE:

ALTER TABLE TABLE_NAME

ADD CONSTRAINT constraINt_NAME

FOREIGN KEY (column1, column2, … column_n)

REFERENCES parent_TABLE (column1, column2, … column_n);

Важные замечания

Первичный ключ может состоять из одной или нескольких колонок.

Пример:

ALTER TABLE TABLE_NAME ADD CONSTRAINT constraINt_NAME PRIMARY KEY (column1);

или же

ALTER TABLE TABLE_NAME ADD CONSTRAINT constraINt_NAME PRIMARY KEY (column1, columnN);

Вопросы учеников

Обязательно ли обозначать внешний ключ? Почему это не будет работать просто так?

Будет работать, но для поддержания ссылочной целостности необходимо использование конструкций SQL для первичных и вторичных ключей.

Контрольные вопросы и задания для самостоятельного выполнения

1. Повторите материалы данного шага.
2. Поясните, в чем отличие первичного и вторичного ключей.

Шаг 9. Ограничения

Введение

Для колонок таблицы в базе данных можно создавать ограничения.

Ограничения – это специальные синтаксические конструкции уровня колонок таблицы, которые предназначены для поддержания ссылочной целостности данных или для вставки правильных данных согласно бизнес-логике приложения.

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

Теория и практика

Все ограничения, которые используются в ORACLE SQL, можно разделить на следующие группы:

1. Ограничения на вставку пустых значений NOT NULL

Подобный вид ограничений создается, чтобы огранить вставку пустых значений в базу данных.

Страница 16