Первичные, альтернативные и внешние ключи

Обобщим материал приведенных примеров. Рассмотрим, например, связь между таблицами Клиенты и Контактные телефоны. В таблице Клиенты столбец «код» является уникальной характеристикой каждого клиента, такой столбец называется первичным ключом (Primary Key - PK). Прилагательное «первичный» добавляется в связи с тем, что уникальных столбцов или уникальных сочетаний нескольких столбцов в реальных таблицах может быть несколько. Например, в таблицу Клиенты можно было бы добавить столбец серия и номер паспорта (или два столбца – серия и номер отдельно) и это был бы альтернативный ключ таблицы (если уникальный ключ состоит из нескольких столбцов, то он называется составным). Заметим, что сочетание фамилии, имени и отчества нельзя считать альтернативным ключом ввиду наличия полных однофамильцев. Сочетания двух столбцов «код» и «фамилия» или «код» и «имя», конечно, обладают свойством уникальности, но это явно избыточные сочетания (фамилию или имя можно отбросить без потери уникальности). Таким образом, ключ таблицы должен удовлетворять двум признакам — уникальности и безизбыточности.

Второе правило Кодда гласит — логический доступ к данным осуществляется по имени таблицы, имени столбца и значению первичного ключа. Эти три составляющих позволяют однозначно получить любой элемент реляционной базы данных. Например, по таблице клиенты, столбцу фамилия и значению кода 2 легко получить фамилию Петров.

Связь главной и подчиненной таблиц обычно осуществляется с помощью первичного ключа главной таблицы, который помещается (экспортируется) в подчиненную таблицу и становится там внешним ключом (Foreign Key - FK). Внешний ключ не обладает свойством уникальности (каждому клиенту может соответствовать несколько номеров телефонов, каждому поставщику – несколько товаров), обычно он является частью составного первичного ключа или неключевым столбцом.

В примере с клиентами и телефонами подчиненная таблица имеет составной первичный ключ «код» и «номер телефона» - вместе они образуют уникальное и безизбыточное сочетание. Связь между таблицами Клиенты и Контактные телефоны называют связью «один ко многим» (тут прямая аналогия с иерархической и сетевой базами данных).

В примере с товарами и поставщиками, как правило, наименования всех товаров и названия всех фирм-поставщиков сами по себе уникальны. Однако введение дополнительных ключевых столбцов, иначе называемых суррогатными ключами, является повсеместной практикой. Допустим, если какая-либо фирма-поставщик изменила название, чтобы отразить это изменение в базе данных, достаточно исправить всего одно значение в таблице Поставщики. Изменять суррогатный ключ при этом не нужно, поэтому информация в таблице-связке останется прежней.








Дата добавления: 2015-08-26; просмотров: 769;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.