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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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