Каждая таблица должна содержать столбец или набор столбцов для однозначного определения каждой строки таблицы. Как правило, в этих целях используется уникальный идентификационный номер, например код сотрудника или серийный номер. В базе данных такие сведения носят название первичного ключа таблицы. В Access первичные ключи служат для быстрого связывания данных из нескольких таблиц и их отображения для пользователя.
Если в таблице имеется уникальный идентификатор, например номер читательского билета, который однозначно определяет каждого читателя, его можно использовать в качестве первичного ключа таблицы, но значения этого столбца должны быть различными для всех записей. Первичный ключ не должен содержать повторяющихся значений. Например, не следует использовать в качестве первичного ключа имена людей, т. к. они не являются уникальными. В одной таблице могут существовать две записи с одинаковыми именами.
Первичный ключ должен всегда иметь значение. Если столбец допускает отсутствующее значение, его не следует использовать в качестве компонента первичного ключа.
Значение первичного ключа не должно меняться. В базе данных с несколькими таблицами первичный ключ одной таблицы может использоваться в качестве ссылки в других таблицах. Если первичный ключ изменяется, это изменение необходимо применить ко всем ссылкам на этот ключ. Благодаря использованию первичного ключа с постоянным значением снижается вероятность нарушения синхронизации с другими таблицами.
Часто в качестве первичного ключа используется произвольное уникальное числовое значение. Например, каждой книге можно присвоить уникальный номер для однозначного определения книги. Этот номер не подлежит изменению.
Если не удается выбрать столбец или набор столбцов для использования в качестве первичного ключа, можно использовать столбец с типом данных Счетчик. При использовании такого столбца в Access автоматически назначаются значения. Такой код не содержит сведений; в нем нет описания строки, которую он представляет. Бессодержательные коды идеально подходят для использования в качестве первичного ключа, т. к. они не изменяются. Первичный ключ, содержащий фактические данные о строке, например номер телефона или имя читателя, более подвержен изменениям, т. к. фактические сведения могут измениться.
В некоторых случаях в качестве первичного ключа таблицы требуется использовать два и более полей. Например, для таблицы сведений о читателях книги, в которой хранятся элементы строк для выданных книг, в первичном ключе можно использовать три столбца: код книги, номер читательского и дата выдачи книги. Первичный ключ из нескольких столбцов называется составным.
В базе данных библиотеки можно создать столбец счетчика для первичного ключа для таблицы Книги – Инв№ (инвентарный номер). Для таблицы Читатели можно назначить первичным ключом поле Номер читательского.
Создание связей между таблицами
После распределения данных по таблицам необходимо получить возможность объединять их. Например, изображенная ниже форма включает сведения из нескольких таблиц.
Рисунок 1. Пример формы, включающей данные из двух таблиц
Access — это система управления реляционными базами данных. В реляционной базе данных сведения распределяются по отдельным, тематически организованным таблицам. Для объединения данных используются связи между таблицами.