Ключ представляет собой поле (или комбинацию полей), данные в которых однозначно определяют (идентифицируют) каждую запись в таблице. Поля, по которым построен ключ, называют ключевыми и значения этих полей не могут повторяться!!! В таблице может быть только один ключ. Ключ также называют первичным ключом или первичным индексом (главным Primary).
Кроме первичного индекса существует вторичный индекс (в дальнейшем просто индекс). Индекс, как и ключ, строится по полям таблицы, однако он может допускать повторение значений составляющих его полей – в этом и состоит его основное отличие от ключа. Он применяется для ускорения доступа при нахождении данных в отношении (в таблице), а также для выборки и сортировки данных. Таким образом, индексом называется дополнительный объект, который создается по одному или нескольким столбцам (полям) таблицы для облегчения быстрого доступа к данным.
Из двух логически связанных таблиц (отношений)одну называют главной таблицей (или master-отношением), а другую подчиненной таблицей(detail-отношением).
Индексирование полей может быть выполнено как в процессе описания их структуры (т.е. в процессе создания структуры таблицы), так и после сохранения таблицы как файла.
На предыдущей лабораторной работе Вами была создана база данных из трех таблиц ОТДЕЛЫ, и СЕМЬЯ СОТРУДНИКА. Назовем эту базу данных «Предприятие». Эта БД реляционная, т.е таблицы между собой связаны логическими связями. Однако, обратите внимание на тот факт, что в самой папке DATA таблицы хранятся как отдельные файлы и ни как между собой не связаны. При создании в Delphi приложения по управлению БД «Предприятие» нам придется самим, с помощью определенных свойств определенных компонентов устанавливать механизм связи между нашими таблицами. Работа этого механизма возможна только в том случае, если поля, по которым настраивается связь проиндексированы (т.е., то ли это поле - первичный ключ Primary à*, то ли проиндексированное поле – вторичный индекс).
ОТДЕЛЫ
СОТРУДНИКИ
СЕМЬЯ СОТРУДНИКА
Отдел
№ П/П
№ П/П
Телефон
ФИО сотрудника
Статус
Руководитель
Год рождения
ФИО
Отдел
Год рождения
ИД
Структурная схема БД «Предприятие»
ВЫПОЛНИТЬ
Проиндексировать поля: СОТРУДНИКИ и ИД . Поля: Отдел в таблице ОТДЕЛЫ и №ПП в двух остальных таблицах должны быть указаны как ключевые (первичный ключ Primary à*).
Для присвоения полям вторичного индекса (Secondary Index) необходимо:
- открыть через утилиту Database Desktop таблицу, поле в которой надо проиндексировать и перевести ее в режим, отображающий структуру таблицы.
- выбрать из списка свойств Table properties, значение Secondary Index,а затемщелкнуть по кнопке Define (рис. 1.).
Рис.1.
Далее, воспользовавшись кнопкой со стрелкой è, перенести необходимое поле из списка полей Fields в список полей Index Fields (рис.2). В случае, если создается комплексный индекс для группы полей (реализация отношения многие ко многим), то необходимо в окно Index Name переместить все поля, участвующие в групповой выборке.
Рис.2
После подтверждения (выполнения команды OK) будет выведено окно присвоения имени индексу (рис.3). Имя индекса выбирается произвольно (мы ввели имя Otd).
Рис.3
Индексированную таблицу необходимо сохранить, выполнив команду Save ( или SaveAs, если это первичное сохранение).
При защите лабораторной работы знать:
- что такое ключ (в терминологии БД) и для чего он нужен;
- что такое индекс (в терминологии БД) и для чего он нужен;
- чем ключ отличается от индекса;
- как проиндексировать поле в уже созданной таблице;
- как называется поле, у которого индекс имеет имя Primary;
- в каждой ли таблице, построенной на платформе Paradox, имеется поле, проиндексированное индексом Primary;
- где должно быть расположено поле с индексом Primary при создании структуры таблицы;