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

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

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

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

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

В этой статье

Общие сведения о первичных ключах в Access

Определение первичного ключа в Access с помощью имеющихся полей

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

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

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

Общие сведения о первичных ключах в Access

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

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

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

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

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

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

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

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

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

  • Ключ должен однозначно определять каждую строку.

  • В нем не должно быть пустых или отсутствующих значений — он всегда содержит значение.

  • Ключ крайне редко изменяется (в идеале — никогда).

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

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

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

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

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

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

Причина

Имя

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

Телефон

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

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

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

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

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

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

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

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

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

  • Некоторые люди не имеют ИНН

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

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

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

Определение первичного ключа в Access с помощью имеющихся полей

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    4. В диалоговом окне Добавление таблицы выберите таблицы, которые нужно добавить, и нажмите кнопку Добавить, а затем — Закрыть.

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

    5. Щелкните линию связи между таблицами, которую необходимо удалить (выделенная линия становится жирной), а затем нажмите клавишу DEL.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×