Перейти к содержимому

Как сделать ключевое поле в 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), при этом кнопка должна принять положение Выкл., а из области выделения должен исчезнуть значок (значки) ключевого поля.

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

22 ответа

Привет! Вот подборка тем с ответами на Ваш вопрос: как выбрать два ключевых поля в access?

Как сделать несколько ключевых полей в Access?ОЧЕНЬ надо.

Надым Поличка как сделать вино из винограда в домашних условиях ?

Вино Как сделать Как сделать спавн для карты в майнкрафт? Как сделать подчеркивание в Word-е на пустом месте, а не под словами?

InformatikUrok

Как определить ключевое поле в таблице.Как определить ключевое поле в таблице.

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

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

  • Иванов Иван Иванович
  • Иванов Иван Иванович

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

Ключевое поле — это атрибут или группа атрибутов, которые обеспечивают уникальность каждой строки (записи).

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

Ключевые поля бывают тех видов:

  • счетчик;
  • простой ключ;
  • составной ключ.

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

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

  • для связи таблиц между собой;
  • для быстрого поиска информации в таблицах.

Давайте на примере конкретной таблицы попробуем определить ключевое поле. Пример подробно рассмотрен в видеоуроке:

  • Если атрибут Фамилия сделать ключевым полем, то в таблице не должно быть двух одинаковых фамилия, что в реальной жизни невозможно, т.к. в классе, например, учатся брат и сестра с одинаковыми фамилиями.
  • Если использовать в качестве первичного ключа (Фамилия, Домашний_Адрес), то не должно быть одинаковых адресов в записях таблицы, что так же невозможно, т.к. в одном классе могут учиться брат и сестра, проживающие по одному адресу.
  • Перебрав все атрибуты на кандидаты в первичный ключ, приходим к выводу, что нужно ввести дополнительное поле, которое будем использовать в качестве ключа.
  • Напомню, если название поля состоит из двух слов, то пробелы использовать не рекомендуется. Лучше в этом случае использовать нижнее подчеркивание для соединения слов.

P.S. Театр начинается с вешалки, а таблица с ключевого поля. Очень важно правильно научиться определять ключевое поле.

Напомню, что есть несколько способов создания БД, которые рассмотрены в уроке «Введение в Access», есть также несколько способов создания таблиц. В уроке «Способы создания таблиц в Access» подробно рассмотрены первые два способа: с помощью мастера и ввода в таблицу.

  1. Способы создания таблиц в Access
  2. Введение в Access

MS Access составной ключ

введите сюда описание изображения

  1. Выделите в конструкторе таблицы с Ctrl 2 поля для ключа.
  2. Поставьте ключ на эти выделенные поля.

введите сюда описание изображения

Отслеживать
ответ дан 17 ноя 2018 в 23:42
173 1 1 серебряный знак 8 8 бронзовых знаков

  • база-данных
  • ms-access
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Как сделать ключевое поле в access

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

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

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

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

Ø Связываемые поля должны иметь одинаковые типы данных, кроме исключений из этого правила:

· Поле Счётчика (Код) разрешается связывать с Числовым полем, если в числовом поле в свойствах Размер поля задано значение Длинное целое ( Long Integer );

· Поле Счётчика (Код) разрешается связывать с Числовым полем, если для обоих полей в свойстве Размер поля задано значение Код репликации ( Replication ID – идентификатор связи).

Ø Связываемые поля Числового типа должны иметь одинаковые значения свойства Размер поля.

Ø Для полей, содержащие данные типа OLE и MEMO , первичный ключ назначить невозможно.

В сбалансированной структуре реляционной базы данных каждая запись в любой таблице должна уникально идентифицироваться, т.е. значения некоторых полей в таблице не должны повторяться во всём множестве записей. Этот уникальный идентификатор называется первичным ключом . Как вы заметили, после создания таблиц в Access 2010 в режиме Конструктор, при выполнении операций «Закрыть» или «Сохранить», система делает напоминание: . В том случае, если нажать на кнопку «Нет», то ключевого поля система создавать не будет (в рассмотренных примерах дано объяснение, почему удобнее ключ устанавливать позже). При создании таблицы в режиме Таблица, система автоматически создаёт первое поле, которое называется «Код» с типом данных «Счётчик». Это поле является ключевым, например, на рисунке 60 показан вариант создаваемой таблицы вручную, при вводе данных в поле «Стаж…» система автоматически в поле «Код» устанавливает порядковые номера записей, а после закрытия таблицы поле «Код» становится ключевым.

Рис. 60. Пример созданной таблицы в режиме Таблица

В том случае, если ключевое поле не было установлено в таблице, то понадобится установить ключ самостоятельно (в рассматриваемых примерах, для таблиц «Личные сведения» и «Доплаты» ключи не устанавливались). Для добавления первичного ключа к таблице или для его удаления, необходимо таблицу открыть в режиме Конструктор. Рассмотрим на примере правила создания первичного ключа.

1. Откройте в режиме Конструктор таблицу «Личные сведения».

2. Выделите строку с наименованием поля «Фамилия».

3. На вкладке «Работа с таблицами» щёлкните по надписи .

4. Сохраните таблицу.

Понятно, что убрать ключ из таблицы можно выполнив те же действия. Проверьте, существуют ли ключи в других таблицах, которые были созданы на предыдущих этапах («Надбавка за стаж», «Номенклатура должностей» и «Доплаты»). Если в режиме Конструктор попытаться открыть таблицу, , которая является связанной с внешним файлом, то система выдаст сообщение, текст которого представлен на рисунке 61.

Рис. 61. Сообщение системы о том, что даненая таблица является связанной

1. Может ли Access 2010 самостоятельно устанавливать связи между таблицами, при каких условиях это происходит?

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

3. Каким типам полей не удаётся установить первичный ключ?

4. Можно ли полю с типом данных Текстовый назначать первичный ключ?

5. Как понимать термин «Уникальное значение записей»?

6. В каких случаях Access 2010 самостоятельно создаёт ключевое поле?

7. Что необходимо сделать, чтобы переназначить ключевое поле в таблице?

Для отображения, корректировки и удаления связей между таблицами в Access предложено прекрасное визуальное средство – Схема данных. Для того, чтобы увидеть, какие связи между таблицами существуют, достаточно закрыть все таблицы, активизировать вкладку «Работа с базами данных», а затем нажать на пиктограмму «Схема данных», которая показана в начале раздела слева. Часто разработчик базы данных изменяет наименования ключевых полей, что потребует от него проведения операции создания связи вручную или её удаление. В некоторых версиях Access 2010 система не создаёт связей. Поэтому, полезно ознакомиться с последовательностью установления связей вручную.

1. Закройте все таблицы в базе данных.

2. Выделите одну из таблиц, например, «Доплаты», при этом появится вкладка «Работа со связями».

3. Щёлкните по пиктограмме , будет открыто окно для добавления таблиц при создании схемы данных. Нажмите на кнопку . Обратите внимание, что ещё имеются способы добавления таблицы на поле «Схема данных». Например, можно в области переходов ухватить левой клавишей мыши нужную таблицу, а затем перетащить её в поле «Схема данных», либо на поле «Схема данных» щёлкнуть правой кнопкой мыши, а затем выбрать из списка . На рисунке 62 представлен пример добавления таблицы «Личные сведения» на поле «Схема данных» методом выбора из списка. Как видите, связи можно устанавливать не только с таблицами, а и с запросами, которые на выходе формируют новые таблицы (о создании запросов будет сказано ниже). Добавьте на поле «Схема данных» таблицы, которые были созданы ранее.

Рис. 62. Пример добавления таблиц на поле «Схема данных»

4. Добавьте все таблицы, созданные ранее, на поле «Схема связей». Проведите операцию установление связей между таблицами «Доплаты» (родительская таблица) и «Личные сведения» (Дочерняя таблица). Для выполнения установления связей левой кнопкой мыши выделите в таблице «Доплаты» поле , а затем переместите указатель мыши на поле таблицы «Личные сведения», когда освободите указатель мыши, появится окно «Изменение связей» (Рис. 63).

Рис. 63. Окно для установления параметров связей между таблицами

5. В окне «Изменение связей» указано откуда и куда проложена связь, если типы данных соединяемых полей совпадают (выполняются правила создания связей), то в поле «Тип отношения» появится сообщение: Один-ко-многим. Обязательно установите отметку в поле , тогда в окне «Схема данных» появится связь. На одном конце будет стоять единица (эти данные являются уникальными, а на другом конце связи будет стоять знак — много). Желательно сделать пометки и в остальных полях, тогда при внесении коррекций в исходную таблицу в записи или их удаление, в запросах произойдёт автоматическое изменение результатов. Нажмите на кнопку .

Почему при устанвлении связей между таблицами не обязательно ставить пометки в полях «Каскадное обновление связанных полей» и «Каскадное удаление связанных полей»? Это естественный вопрос, тем не менее, обратите внимание, если использовать в качестве связываемых полей поле «Счётчик», то это поле невозможно видоизменить пользователем, следовательно, нет смысла ставить в этом случае пометку (напомним, что при установлении ключевого поля «Текстовое», пользователь имеет возможность видоизменять данные в этом поле, например заменить фамилию.). «Каскадное удаление связанных записей» используется для того, чтобы при удалении записи из одной таблицы, в запросах или других связанных таблицах, данные помеченного поля так же будут удаляться.

1. Что следует сделать, чтобы создать схему связей между таблицами?

2. Какими способами можно добавить таблицу на поле схемы данных?

3. Для чего используется окно «Изменение связей»?

4. Для чего ставится пометка в окне «Щбеспечение целостности данных»?

При попытке создать связь между таблицами «Надбавки за стаж» и «Личные сведения» ничего не получится. Ответ ясен, в таблице «Личные сведения» отсутствует поле, которое можно связать с таблицей «Надбавки за стаж». Выходов из положения два. Первый способ – создать поле в таблице «Личные сведения», например, используя приём связанных таблиц, а затем из списка выбрать необходимые данные для заполнения вновь созданного поля. Второй способ – воспользоваться промежуточной таблицей, например, которая будет создана в запросе, этот приём довольно трудоёмкий, но позволяет наращивать базу данных новыми таблицами, а затем использовать их для выполнения вычислений в запросах (этот способ будет рассмотрен ниже). Создадим в таблице «Личные сведения» новое поле, например, «Стаж». Создание вложенных таблиц уже обсуждалось. Напомним, что сначала необходимо определить место нового поля в таблице, затем выбрать режим , далее — , а затем выполнить шаги по подстановки необходимого поля в виде списка из другой таблицы. В результате выполняемых действий будет получена связь между таблицами «Надбавка за стаж» (Родительская) и «Личные сведения» (Дочерняя). На рисунке 64 показан пример автоматического установления связей между таблицами, когда используется метод вложения таблиц. Когда будет раскрыта таблица «Надбавки за стаж», то в ней появляется символ . Если щёлкнуть по символу , то будут отображены строки (записи) из дочерней таблицы (в данном примере показаны записи со сведениями о сотрудниках, которые имеют стаж работы от 1 года до 3-х лет).

Рис. 64. Пример установления связей между таблицами методом вложенния таблиц

Автоматически созданная связь отображает отношение «Один ко многим», действительно, в таблице «Надбавки за стаж» каждая строка является уникальной, в то время как в таблице «Личные сведения» данные о стаже работы сотрудника могут относиться к нескольким строкам.

Для того, чтобы увидеть, какие связи между таблицами существуют, достаточно закрыть все таблицы, активизировать вкладку «Работа с базами данных», а затем нажать на пиктограмму «Схема данных». Часто разработчик базы данных изменяет наименования ключевых полей, что потребует от него проведения операции создания связи вручную или её удаление. На рисунке 65 показана схема связей для рассматриваемого примера.

Рис. 65. Вариант сформированных связей между таблицами в базе данных

1. Каки образом можно удалить имеющуюся связь между таблицами?

2. Что обозначает символ в таблице, которая открыта в режиме Таблица?

3. Что обозначает символ на линии связи между таблицами в окне «Схема связей»?

4. Можно ли в таблице изменять значение в поле «Счётчик»?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *