Базы данных. Язык SQL. Дьяков И.А. - 43 стр.

UptoLike

Составители: 

primary keyэто первичный ключ построений по столбцу или столбцам.
Столбцы должны иметь значение not null. Первичный ключ служит для установления связи в внеш-
ним ключом (foreign key) дочерней таблицы и определяет ссылочную целостность между родительской
и дочерней таблицами.
5.4 Уникальный ключ
Строится по столбцу (столбцам) когда столбец не входит в первичный ключ и имеет уникальное
значение /нет одинаковых значений/
Create table klient (
Imja_klienta varchar (20) not null primary key,
Nom_scheta varchar (50) not null,
Unique (nom_scheta));
Или nom_scheta varchar (50) not null unique.
5.5 Внешний ключ
Строится в дочерней таблице для соединения с родительской.
Форматы:
Foreign key (<список _ст_внешнего_ключа>)
references <имя_род_табл>
[<cписок_ст_род_табл>]
[on delete {no action | cascade | set default | set null}]
[on update {no action | cascade | set default | set null}]
список_ст_внешнего_ключастолбцы дочерней таблицы;
имя_род_таблтаблица, в которой описан первичный ключ (или столбец с атрибутом unique);
список_ст_род_таблне обязателен при ссылке на первичный ключ родительской таблицы, в дру-
гих случаях необходим.
On delete, on updateспособ изменения записей дочерней таблицы при удалении или изменении
поля связи в родительской таблице.
No actionзапрет;
Cascadeназвание;
Set defaultв поле дочерней таблицы заносится значение, определенное ранее по умолчанию;
Set nullзаносится значение null.
Пример: определим две таблицы.
Родительская detal с полями name_det (имя детали) и zena_ed (цена за единицу), первичный ключ по
полю name_det.
Дочерняя prihod (приход со склада) с полями n_prihod (номер прихода), date_prihod (дата прихода),
name_det (имя детали), kolvo (количество деталей в приходе). Первичный ключ по n_prihod, внешний
name_det.
Detal Prihod
Name_det Zena_ed N_prihod Date_prihod Name_det kolvo
… …
… …
… …
Create table detal (
Name_det varchar (20) not null
1
,
Zena_ed integer not null,
primary key (name_det));
Create table prihod (
N_prihod integer not null primary key,
Date_prihod date not null,
Name_det varchar (20) not null
1
,
1
Должны быть описаны одинаково.