Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб раб 2 Таблицы 2010.doc
Скачиваний:
2
Добавлен:
03.05.2019
Размер:
866.3 Кб
Скачать

Работа со связями, ключевыми полями и индексами Выбор первичного ключа таблицы

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

Иногда, хотя и не часто, таблица имеет несколько возможных ключей-кандидатов. В этом случае проектировщик БД по своему усмотрению выбирает один из них в качестве первичного ключа (Primary key), а оставшиеся ключи-кандидаты будут являться альтернативными ключами. Если же ключ-кандидат один, то он и является первичным ключом.

ПРИМЕЧАНИЕ. Когда единственно возможный ключ-кандидат чересчур громоздок (например, состоит из слишком многих полей или слишком велик), вы можете создать дополнительное поле со специальным типом данных Счетчик, который поддерживается механизмом баз данных для создания искусственных ключей. В таких искусственных ключах хранятся значения, генерируемые самой системой. Поля этого типа очень удобны для создания идентификаторов строк. При этом подразумевается, что вы не будете пытаться связать поле этого типа с какой-нибудь конкретной сущностью предметной области. Такие поля не более чем ярлыки. Ничто не гарантирует, что значения содержащихся в них величин будут строго последовательными; вы практически не можете контролировать процесс их генерации системой. Так что не пытайтесь использовать их для чего-либо еще, кроме нумерации, иначе столкнетесь с массой проблем.

В Microsoft Access первичные ключи устанавливаются в таблицах в режиме Конструктора. Для этого необходимо:

  • выделить строки, содержащие ключевые поля,

  • щелкнуть по кнопке Ключевое поле  .

Слева от имен полей, входящих в первичный ключ, появится изображение ключа (рис. 2.7).

Рис. 2.7 Значок Ключевое поле около имени поля

Индексирование таблицы

Индексы позволяют ускорить поиск данных в тех полях таблицы, по которым она проиндексирована. Индексы можно построить как по одному полю, так и по нескольким полям сразу. Например, для ускорения поиска сотрудника в БД крупной фирмы можно в таблице Сотрудники проиндексировать отдельно поля Фамилия и Имя, а можно построить общий индекс, состоящий из полей Фамилия, Имя и Отчество, назвав его, например, ФИО.

При назначении первичного ключа Access автоматически формирует уникальный индекс под именем PrimaryKey.

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

Для построения индекса по нескольким полям необходимо:

  • открыть таблицу в режиме Конструктора,

  • открыть окно Индексы (рис. 2.8) щелчком мыши по кнопке Индексы ,

  • на первой свободной строке в столбце Индекс ввести имя индекса,

  • в столбце Имя поля выбрать имена полей, которые войдут в индекс,

  • изменить там, где требуется, направление сортировки на обратное, для чего необходимо:

  • в столбце Порядок сортировки щелкнуть по строке с именем поля, для которого будем изменять направление сортировки,

  • выбрать из списка значение По убыванию.

Рис. 2.8 Индексы таблицы Список

Таблица Список на рис. 2.8 имеет 3 индекса:

  • PrimaryKey, автоматически установленный СУБД Access при создании первичного ключа и состоящий из поля Табельный номер,

  • ФИО, созданный с помощью окна Индексы и состоящий из полей Фамилия, Имя и Отчество,

  • Фамилия, созданный в окне Конструктора таблиц присвоением свойству Индексированное поле значения Да (Допускаются совпадения).