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

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

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

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

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

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

В этой статье

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

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

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

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

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

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

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

Показаны первичный ключ и внешний ключ в двух таблицах 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. Определение первичного ключа, используя инструкции из раздела Определение первичного ключа.

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

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

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

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

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

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

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

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

×