Добавление и изменение первичного ключа таблицы в Access
Применяется к
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

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

В этой статье

Обзор первичных ключей в Access

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

Показаны первичный ключ и внешний ключ в двух таблицах Access

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

2. Внешний ключ

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

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

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

Создание приемлемого первичного ключа

Чтобы правильно выбрать первичный ключ, следует учитывать несколько характеристик.

  • Он однозначно идентифицирует каждую строку.

  • Он никогда не является пустым или null — он всегда содержит значение .

  • Содержащиеся в нем значения редко (в идеале никогда) изменяются.

Если не удается определить хороший ключ, создайте поле AutoNumber для использования в качестве ключа. Поле "Счетчик" заполняется автоматически созданными значениями при первом сохранении каждой записи. Таким образом, поле "Счетчик" соответствует всем трем характеристикам приемлемого первичного ключа. Дополнительные сведения о добавлении поля autoNumber см. в разделе Добавление поля autoNumber в качестве первичного ключа.

Первичный ключ с типом данных "Счетчик", обозначенный как "ИД" в таблице Access в режиме конструктора

Поле с типом данных "Счетчик" является хорошим первичным ключом.

Примеры неудачных первичных ключей

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

Неподходящий первичный ключ

Причина

Имя

Может быть не уникальным и может изменяться

Телефон

Может изменяться.

Адрес электронной почты

Может изменяться.

Почтовый индекс

Почтовый индекс может соответствовать нескольким контактным данным

Сочетание фактов и цифр

Факты могут изменяться, тем самым усложняя работу. Если фактическая часть повторяется в виде отдельного поля, это может привести к путанице. Например, не следует соединять название города и порядковый номер (например, САМАРА0579), если название города уже указано в отдельном поле.

Номера социального страхования или ИНН

  • Личные сведения запрещено указывать в государственных учреждениях и некоторых организациях.

  • У некоторых людей нет SSN

  • На одного человека может быть зарегистрировано несколько ИНН на протяжении жизни

Составные ключи: использование сочетания нескольких полей в качестве первичного ключа

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

Задайте первичный ключ с помощью полей, уже имеющихся в Access

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

  1. Откройте базу данных, которую нужно изменить.

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

    Совет: Если область навигации не отображается, нажмите клавишу F11.

  3. Выберите поле или поля, которые требуется использовать в качестве первичного ключа.

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

    Чтобы выбрать несколько полей для создания составной клавиши, удерживайте нажатой клавишу CTRL и выберите селектор строк для каждого поля.

  4. На вкладке Конструктор таблиц в группе Сервис выберите Первичный ключ.

    Группа "Сервис" на вкладке "Конструктор"

    Индикатор ключа будет добавлен слева от поля или полей, определенных как первичный ключ.

Удаление первичного ключа в Access

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

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

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

    1. Закройте связанные таблицы, если они открыты. Связь между открытыми таблицами удалить невозможно.

    2. На вкладке Работа с базами данных в группе Связи выберите Связи.

      Изображение ленты Access

    3. Выберите Добавить таблицы.

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

    5. На вкладке Конструктор связей в группе Связи нажмите кнопку Закрыть.

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

    Совет: Если область навигации не отображается, нажмите клавишу F11.

  3. Выберите селектор строк для текущего первичного ключа.

    Если первичный ключ состоит из одного поля, выберите селектор строк для этого поля.

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

  4. На вкладке Конструктор таблиц в группе Сервис выберите Первичный ключ.

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

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

Изменение первичного ключа в Access

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

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

  2. Определите первичный ключ в соответствии с инструкциями в разделе Определение первичного ключа.

Дополнительные сведения

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

К началу страницы

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.