Составной ключ в аксесс - IT Новости
Microclimate.su

IT Новости
116 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

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

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

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

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

В этой статье

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Простой ключ

Ключевые поля

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

Читать еще:  Аксесс экспорт в эксель

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

Счетчик

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

Код группыФакультетКурсГруппаКоличество студентовСпециальность
ЭЭФ2-2507 16 00
ЭЭФ2-2921 04 00
ЭЭФ3-3021 04 00

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

Код группыФакультетКурсГруппаКоличество студентовСпециальность
ЭЭФ2-2507 16 00
ЭЭФ2-2921 04 00
ЭЭФ3-3021 04 00

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

Код группыФакультетКурсГруппаКоличество студентовСпециальность
ЭЭФ2-2507 16 00
ЭЭФ2-2921 04 00
ЭЭФ3-3021 04 00

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

Связи между таблицами

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

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

Отношение «один-ко-многим»

Отношение «один-ко-многим» является наиболее часто используемым типом связи между таблицами. В отношении «один-ко-многим» каждой записи в таблице A могут соответствовать несколько записей в таблице B, но запись в таблице B не может иметь более одной соответствующей ей записи в таблице A.

Отношение «многие-ко-многим»

При отношении «многие-ко-многим» одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B несколько записей в таблице A. Этот тип связи возможен только с помощью третьей (связующей) таблицы, первичный ключ которой состоит из двух полей, которые являются внешними ключами таблиц A и B. Отношение «многие-ко-многим» по сути дела представляет собой два отношения «один-ко-многим» с третьей таблицей.

Отношение «один-к-одному»

При отношении «один-к-одному» запись в таблице A может иметь не более одной связанной записи в таблице B и наоборот. Отношения этого типа используются не очень часто, поскольку большая часть сведений, связанных таким образом, может быть помещена в одну таблицу. Отношение «один-к-одному» может использоваться для разделения очень широких таблиц, для отделения части таблицы по соображениям защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.

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

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

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

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

Читать еще:  Конвертировать в powerpoint онлайн

3. На панели инструментов нажмите кнопку Схема данных.

4. Если в базе данных никаких связей не определено, автоматически будет открыто диалоговое окно Добавление таблицы. Если нужно добавить таблицы для создания связей, а диалогового окна Добавление таблицы на экране нет, нажмите кнопку Отобразить таблицу на панели инструментов. Если таблицы, между которыми нужно создать связь, уже отображены, перейдите к шагу 6.

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

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

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

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

Дата добавления: 2015-05-09 ; Просмотров: 1841 ; Нарушение авторских прав?

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

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

Имеется таблица (см. скрин).
Поле «ИмяЗаписи» допускает одинаковые значения.
Поле «ДатаВремя» допускает одинаковые значения.

Как сделать чтобы нельзя было вставить запись запись типа см. таблицу «Таблица. Вариант 1»?
Таблица. Вариант 1

ДатаВремя ИмяЗаписи
ДатаВремя_1 ИмяЗаписи_1
ДатаВремя_1 ИмяЗаписи_1

Т.е. таблица должна содержать записи типа:
«Таблица. Вариант 2»

ДатаВремя ИмяЗаписи
ДатаВремя_1 ИмяЗаписи_1
ДатаВремя_2 ИмяЗаписи_1
ДатаВремя_1 ИмяЗаписи_2
ДатаВремя_2 ИмяЗаписи_2

Вложения

Сотав ключ.zip (20.3 Кб, 2 просмотров)
01.01.2019, 19:17

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

Составной ключ и изменение связи
У меня вот так вот получается: А как сделать так.

Составной первичный или уникальный ключ, что выбрать?
Всем доброго времени суток. Имеется простая БД, вот её схема: Теперь я хочу сделать так.

Как сделать составной первичный ключ с пом. Hibernate (аннотация many-to-many)?
Здравствуйте. Подскажите пожалуйста как правильно делается составной первичный ключ с помощью.

01.01.2019, 19:282

Решение

Поле Код исключите из комбинации, иначе комбинация всегда будет уникальна, ведь Код — счетчик.

01.01.2019, 19:303

Решение

01.01.2019, 19:38401.01.2019, 19:475

Да вроде я этого не скрывал, . лет на Прикладной математике в МЭИ отработал.

01.01.2019, 19:546
01.01.2019, 19:54
01.01.2019, 19:54

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как ссылатся на составной ключ?
Здравствуйте, у меня есть таблица create table ДовідникТипівАґентів ( НазваАґента varchar(30).

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

Составной ключ
Доброго времени! Помогите пожалуйста создать вот такую вот конструкцию (на снимке): Есть две.

Составной первичный ключ
Добрый день! Выполняю академическое задание — создание БД. Дата-логическая модель представлена на.

Определение ключевых полей

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

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

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