Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000555.doc
Скачиваний:
31
Добавлен:
30.04.2022
Размер:
19.12 Mб
Скачать

6.7.1. Выбор первичного ключа

Первичный ключэто поле или набор полей таблицы, которое однозначно идентифицируют каждую запись.

Следуя этому определению, к полю, которое претендует на роль первичного ключа, предъявляются довольно жесткие требования, и выбрать первичный ключ из обычного набора полей, которые описывают какой-либо реальный объект, достаточно сложно.

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

С добавлением каждой новой записи в таблицу в это поле заносится специальное значение (как правило, числовое), уникально определяющее запись.

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

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

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

Обычно в таблицу первым полем вводится специальное идентифицирующее поле, например, Key, оно имеет тип – счетчик и выполняет роль первичного ключа.

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

В роли первичного ключа не могут выступать поля типа Поле MEMO, Вложенное Поле объекта OLE и Гиперссылка. (У поля с типом Логический есть шанс стать первичным ключом, однако либо в комбинации с каким-либо другим полем, либо в таблице, где хранятся только две записи со значениями этого поля Да и Нет.)

Если для таблицы определен первичный ключ, программа Access автоматически блокирует ввод в это поле повторяющихся значений или значения Null.

Программа Access автоматически сортирует записи таблицы по первичному ключу.

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

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

  • В режиме конструктора выделите поле (или несколько полей, удерживая нажатой клавишу Ctrl), которое будет играть роль первичного ключа (например, поле Key).

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

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

Для этого щелкните на кнопке Сохранить панели быстрого доступа, в открывшемся диалоговом окне Сохранение введите имя таблицы и щелкните на кнопке ОК.

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

Однако если в режиме конструктора создается или модифицируется структура объектов Access (таблиц, форм, запросов или отчетов), то перед выходом из режима конструктора эти изменения необходимо обязательно сохранить.

Сохранив таблицу, можно либо сразу вводить в нее данные, выбрав в коллекции Вид (группа Представления) команду Режим таблицы, либо закрыть таблицу, щелкнув для этого на служебной кнопке Закрыть (Х), расположенной в правом верхнем углу окна конструктора.

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

Щелкнув в окне сообщения на кнопке Да, вы оставляете выбор ключевого поля за Access, и если в таблице определено поле с типом данных Счетчик, Access сделает это поле ключевым. Если такого поля нет, в таблице появится новое поле с типом данных Счетчик, выполняющее функции первичного ключа.