ЧАСТЬ 2

ИНФОРМАТИКА

Электронное учебно-методическое пособие

 

 
 


3.3.2. Ключевые поля и связи

Первичный и внешний ключи

Каждая таблица в реляционной базе данных должна иметь хотя бы одно поле (столбец), значения в котором однозначно идентифицируют каждую её запись (строку). Такое поле называется полем первичного ключа, или первичным ключом (primary key).

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

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

Данное поле во вспомогательной таблице носит название внешнего ключевого поля, или внешнего ключа (foreign key).

Таким образом, через ключевые поля (первичный и внешний ключи) обеспечивается взаимосвязь таблиц [10].


Типы связей

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

Наиболее часто используемым типом связи является тип связи (отношение) «один ко многим», при котором одной записи в одной таблице (называемой в данном случае главной) соответствует несколько записей в другой таблице (подчинённой).

При отношении «многие ко многим» одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B несколько записей в таблице A.

Этот тип связи возможен только с помощью третьей (связующей) таблицы и по сути представляет собой два отношения «один ко многим» с третьей таблицей С.

Например, отношение «многие ко многим» между таблицами «Заказы» (А) и «Товары» (В) определяется путём создания двух отношений «один ко многим» с таблицей «Заказано» (С). В одном заказе может быть много товаров, а каждый товар может появляться в нескольких заказах.

«Один к одному» – обычно, когда необходимо данные об одном объекте разнести по разным таблицам [11].


3.3.3. Целостность данных

Для защиты от случайного удаления или изменения связанных данных должны выполняться следующие условия:

  • невозможно ввести в поле внешнего ключа связанной таблицы значение, не содержащееся в ключевом поле главной таблицы. Возможен только ввод значений Null. Например, нельзя сохранить запись, регистрирующую заказ, сделанный несуществующим клиентом, но можно создать запись для заказа, который пока не отнесён ни к одному из клиентов, если ввести значение Null в поле «Код_Клиента»;

  • не допускается удаление записи из главной таблицы, если существуют связанные с ней записи в подчинённой таблице;

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


3.3.4. Типы данных

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

Типы данных, используемые в Microsoft Access, приведены в таблице [11].

 


 

 


© Сибирская государственная геодезическая академия (СГГА), 2011