Как сделать составной ключ в access?

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

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

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

Существуют основные правила, которые приняты для ключей в Access:

– для удобства ключевое поле обычно указывается в структуре таблицы первым;

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

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

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

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

– в режиме конструктора выделите поле, которое будет играть роль первичного ключа;

– кликните по кнопке Ключевое поле панели инструментов Конструктора таблиц или выберите команду главного меню Правка – Ключевое поле (слева возле имени выделенного поля появится символ ключа);

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

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

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

В Microsoft Access можно выделить три типа ключевых полей: счетчик, простой ключ и составной ключ. Рассмотрим каждый из этих типов.

Для создания ключевого поля типа Счетчик необходимо в режиме Конструктора таблиц:

  1. Включить в таблицу поле счетчика.
  2. Задать для него автоматическое увеличение на 1.
  3. Указать это поле в качестве ключевого путем нажатия на кнопку Ключевое поле (Primary Key) на панели инструментов Конструктор таблиц (Table Design).

Если до сохранения созданной таблицы ключевые поля не были определены, то при сохранении будет выдано сообщение о создании ключевого поля. При нажатии кнопки Да (Yes) будет создано ключевое поле счетчика с именем Код (ID) и типом данных Счетчик (AutoNumber).

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

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

  1. Открыть таблицу в режиме Конструктора.
  2. Выделить поля, которые необходимо определить как ключевые.
  3. Нажать кнопку Ключевое поле (Primary Key) на панели инструментов Конструктор таблиц (Table Design).

Замечание

Для составного ключа существенным может оказаться порядок образующих ключ полей. Сортировка записей осуществляется в соответствии с порядком ключевых полей в окне Конструктора таблицы. Если необходимо указать другой порядок сортировки без изменения порядка ключевых полей, то сначала нужно определить ключ, а затем нажать кнопку Индексы (Indexes) на панели инструментов Конструктор таблиц (Table Design). Затем в появившемся окне Индексы (Indexes) нужно указать другой порядок полей для индекса с именем Ключевое поле (Primary Key).

Рассмотрим в качестве примера применения составного ключа таблицу «Заказано» (OrderDetails) базы данных (Northwind) (рис. 2.23).

В данном случае в качестве составного ключа используются поля «Код заказа» (OrderlD) и «КодТовара» (ProductID), т. к. ни одно из этих полей в отдельности не гарантирует уникальность записи. При этом в таблице выводится не код товара, а наименование товара, т. к. поле «КодТовара» (ProductID) данной таблицы содержит подстановку из таблицы «Товары» (Products), а значения полей «КодТовара» (ProductID) этих таблиц связаны отношением «один-ко-многим» (одной записи таблицы «Товары» (Products) может соответствовать несколько записей таблицы «Заказано» (OrderDetails)). Оба поля могут содержать повторяющиеся значения. Так, один заказ может включать в себя несколько товаров, а в разные заказы могут включаться одинаковые товары. В то же время сочетание полей «КодЗаказа» (OrderlD) и «КодТовара» (ProductID) однозначно определяет каждую запись таблицы «Заказы» (OrderDetails).

Чтобы изменить ключ, необходимо:

  1. Открыть таблицу в режиме Конструктора.
  2. Выбрать имеющиеся ключевые поля.
  3. Нажать на кнопку Ключевое поле (Primary Key), при этом кнопка должна принять положение Выкл., а из области выделения должны исчезнуть значки ключевого поля.
  4. Выбрать поле, которое необходимо сделать ключевым.
  5. Нажать на кнопку Ключевое поле (Primary Key). При этом в области выделения должен появиться значок ключевого поля.

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

Чтобы удалить ключ, необходимо:

  1. Открыть таблицу в режиме Конструктора.
  2. Выбрать имеющееся ключевое поле (ключевые поля).
  3. Нажать на кнопку Ключевое поле (Primary Key), при этом кнопка должна принять положение Выкл., а из области выделения должен исчезнуть значок (значки) ключевого поля.

Компьютеры Составной ключ просмотров — 105

Простой ключ

Ключевые поля счетчика

Типы используемых ключевых полей

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

В Microsoft Access можно выделить три типа ключевых полей: счетчик, простой ключ и составной ключ.

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

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

В случаях, когда невозможно гарантировать уникальность значений каждого поля, существует возможность создать ключ, состоящий из нескольких полей. Чаще всœего такая ситуация возникает для таблицы, используемой для связывания двух таблиц в отношении «многие-ко-многим». Примером такой таблицы может служить таблица «Заказано» из демонстрационной базы данных «Борей», связывающая таблицы «Заказы» и «Товары». Ключ в этой таблице состоит из двух полей: «КодЗаказа» и «КодТовара». В таблице «Заказано» может быть представлено много товаров и много заказов, но каждый товар включается в заказ только один раз, в связи с этим комбинация значений полей «КодЗаказа» и «КодТовара» достаточна для образования ключа.

{bml bm219.WMF}

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

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

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

{ewc HLP95EN.DLL, DYNALINK, «Связь с Web или другими источниками»:»acconWhatKindPrimaryKeyDoINeedSW»:1:»Foo»:»Invisible»}

$!AKСодание и изменение ключевых полей

Откройте таблицу в режиме конструктора.

Выделите одно или несколько полей, которые крайне важно определить как ключевые.

Для выделœения одного поля выберите область выделœения строки нужного поля.

Для выделœения нескольких полей нажмите и удерживайте клавишу CTRL и выберите область выделœения для каждого поля.

Нажмите кнопку Ключевое поле на панели инструментов.

Для получения дополнительных сведений о выборе ключевых полей нажмите кнопку .

Примечания

·Допускается назначение ключевым полем поля, содержащего данные, однако, если в этом поле имеются повторяющиеся или пустые значения, будет выведено сообщение об ошибке. Получивший такое сообщение пользователь имеет три возможности: выполнить запрос на поиск повторяющихся записей для поиска записей, содержащих повторяющиеся или пустые значения в поле, и изменить эти значения; выбрать другое поле или добавить поле счетчика и определить его как ключевое. Для получения дополнительных сведений о поиске повторяющихся значений нажмите кнопку .

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

{ewc HLP95EN.DLL, DYNALINK, «Связь с Web или другими источниками»:»achowSetChangePrimaryKeySW»:1:»Foo»:»Invisible»}

Читайте также

— Составной ключ

Простой ключ Ключевые поля счетчика Типы используемых ключевых полей Сила реляционных баз данных, таких как Microsoft Access, заключается в том, что они могут быстро найти и связать данные из разных таблиц при помощи запросов,форм и отчетов. Для этого каждая таблица…

— Составной ключ

Составной транзисторный ключ Остаточные параметры насыщенного транзистора Принципиальная схема составного транзисторного ключа Состав: VT1 ключ-звезда; VT3 ключ ОК; VT2 ключ ОЭ; VD — вспомогательный диод, обеспечивающий запирание VT3. Eпом = -L diскв/dt …