Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 семестр - ИПОВС / БД / БД / лабы / ОтчётЛаб1.docx_1
Скачиваний:
58
Добавлен:
31.12.2017
Размер:
2.2 Mб
Скачать

5. Найти статьи, в которых объясняются понятия “первичный ключ”, “внешний ключ”, и включить сведения об этих понятиях в текстовый документ ОтчетЛаб1.Docx.

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

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

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

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

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

Задание первичных ключей

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

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

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

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

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

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

Столбец с типом данных «Счетчик» — удобный первичный ключ. Коды продуктов никогда не совпадают.

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

В базе данных продаж можно создать столбец счетчика для первичного ключа всех таблиц: «КодТовара» для таблицы товаров, «КодЗаказа» для таблицы заказов, «КодКлиента» для таблицы клиентов и «КодПоставщика» для таблицы поставщиков.

Соседние файлы в папке лабы