Название: Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML (Токмаков Г. П.)

Жанр: Информационные системы и технологии

Просмотров: 1420


2.2.4. внешние  ключи

 

Столбец одной таблицы, значения в котором совпадают со значениями столбца, являющегося первичным ключом другой таблицы, называется внеш- ним (вторичным) ключом. На 0 столбец ID_OFC представляет собой внешний ключ для таблицы OFFISY. Значения, содержащиеся в этом столбце, представ- ляют собой идентификаторы офисов. Эти значения соответствуют значениям в столбце ID_OFC, который является первичным ключом таблицы OFFISY. Сово- купно первичный и внешний ключи создают между таблицами такое же отно- шение предок/потомок, как и в иерархической базе данных.

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

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

 

 

 

 

 

 
что количество столбцов и их типы данных в первичном и внешнем ключах совпадают.

 

ID_CLN

COMPANY

 

 

 

 

2117

«Базальт»

 

 

 

 

 

 

ID_SLZH

FAMILY

NAME

 

 

 

 

 

196

Федоров

Федор

 

 

 

 

 

 

 
ID_MFR          ID_PRD           DESCRIPTION

 

УАЗ     2А34   Деталь кузова

 

№ ORDER      DATE_ORDER           ID_CLN          ID_SLZH         ID_MFR          ID_PRD

 

112961            17.12.99          2117    196      УАЗ     2А34

 

Рис. 2.10. Множественные отношения предок/потомок в реляционной базе данных

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

– столбец ID_CLN является внешним ключом для таблицы CLIENTY и связывает каждый заказ с клиентом, сделавшим его;

– столбец ID_SLZH является внешним ключом для таблицы SLUZHASCHIE и свя-

зывает каждый заказ со служащим, принявшим его;

– столбцы ID_MFR и ID_PRD совокупно представляют собой составной внешний ключ для таблицы TOVARY, который связывает каждый заказ с заказанным товаром.

Внешние ключи являются неотъемлемой частью реляционной модели, по-

скольку реализуют отношения между таблицами базы данных.