- •Свойства полей
- •Подстановка
- •Создание новых таблиц и модификация структуры существующих таблиц Режимы работы с таблицами. Кнопка переключения режимов
- •Создание таблицы
- •Изменение структуры таблицы
- •Работа со связями, ключевыми полями и индексами Выбор первичного ключа таблицы
- •Индексирование таблицы
- •Связи между таблицами
- •Создание полей подстановки
- •Отношения между таблицами
- •Добавление, изменение и проверка корректности данных в таблицах
- •Перемещение по таблице
- •Ввод и изменение данных
- •Выделение и копирование записей
- •Сортировка, поиск и фильтрация данных в таблицах Сортировка данных
- •Фильтрация
- •Поиск данных
- •Изменение вида таблицы
- •Порядок и методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
Работа со связями, ключевыми полями и индексами Выбор первичного ключа таблицы
Для каждой таблицы должно существовать поле или комбинация нескольких полей, которые однозначно определяют запись в таблице. Такое поле или набор полей называется ключом-кандидатом. Ключ-кандидат из одного поля называется простым, а состоящий из нескольких полей – составным.
Иногда, хотя и не часто, таблица имеет несколько возможных ключей-кандидатов. В этом случае проектировщик БД по своему усмотрению выбирает один из них в качестве первичного ключа (Primary key), а оставшиеся ключи-кандидаты будут являться альтернативными ключами. Если же ключ-кандидат один, то он и является первичным ключом.
ПРИМЕЧАНИЕ. Когда единственно возможный ключ-кандидат чересчур громоздок (например, состоит из слишком многих полей или слишком велик), вы можете использовать специальный тип данных Счетчик, который поддерживается механизмом баз данных для создания искусственных ключей. В таких искусственных ключах хранятся значения, генерируемые самой системой. Поля этого типа очень удобны для создания идентификаторов строк. При этом подразумевается, что вы не будете пытаться связать поле этого типа с какой-нибудь конкретной сущностью предметной области. Такие поля не более чем ярлыки. Ничто не гарантирует, что значения содержащихся в них величин будут строго последовательными; вы практически не можете контролировать процесс их генерации системой. Так что не пытайтесь использовать их для чего-либо еще, кроме нумерации, иначе столкнетесь с массой проблем.
В Microsoft Access первичные ключи устанавливаются в таблицах в режиме Конструктора. Для этого необходимо:
-
выделить строки, содержащие ключевые поля,
-
щелкнуть по кнопке Ключевое поле .
Слева от имен полей, входящих в первичный ключ, появится изображение ключа (рис. 2.7).
Рис. 2.7 Значок Ключевое поле около имени поля
Индексирование таблицы
Индексы позволяют ускорить поиск данных в тех полях таблицы, по которым она проиндексирована. Индексы можно построить как по одному полю, так и по нескольким полям сразу. Например, для ускорения поиска сотрудника в БД крупной фирмы можно в таблице Сотрудники проиндексировать отдельно поля Фамилия и Имя, а можно построить общий индекс, состоящий из полей Фамилия, Имя и Отчество, назвав его, например, ФИО.
При назначении первичного ключа Access автоматически формирует уникальный индекс под именем PrimaryKey.
Для построения индекса по одному полю достаточно открыть таблицу Сотрудники в режиме Конструктора, встать на поле, которое будет индексироваться и выбрать из списка подходящее значение для свойства Индексированное поле
Для построения индекса по нескольким полям необходимо:
-
открыть таблицу в режиме Конструктора,
-
открыть окно Индексы (рис. 2.8) щелчком мыши по кнопке Индексы ,
-
на первой свободной строке в столбце Индекс ввести имя индекса,
-
в столбце Имя поля выбрать имена полей, которые войдут в индекс,
-
изменить там, где требуется, направление сортировки на обратное, для чего необходимо:
-
в столбце Порядок сортировки щелкнуть по строке с именем поля, для которого будем изменять направление сортировки,
-
выбрать из списка значение По убыванию.
Рис. 2.8 Индексы таблицы Список
Таблица Список на рис. 2.8 имеет 3 индекса:
-
PrimaryKey, автоматически установленный СУБД Access при создании первичного ключа и состоящий из поля Табельный номер,
-
ФИО, созданный с помощью окна Индексы и состоящий из полей Фамилия, Имя и Отчество,
-
Фамилия, созданный в окне Конструктора таблиц присвоением свойству Индексированное поле значения Да (Допускаются совпадения).