Модели данных
Традиционно СУБД делятся по типу модели данных на иерархические, сетевые и реляционные. Такое деление моделей и СУБД основывается на характере связей между записями. При всей разнице в терминологии можно считать, что основными компонентами любой из этих моделей являются файлы, которые состоят из записей. Различают внутризаписную и межзаписную структуры. В отличие от моделей внутризаписная структура может быть линейной либо иерархической. При линейной структуре запись состоит из простых элементов, следующих один за другим. Такая структура считается нормализованной. Иерархическая структура включает простые и составные компоненты, например векторы, повторяющиеся и допускает многоуровневость.
Состав записей в структуре может быть постоянным или переменным. Например, если один из сотрудников окончил университет и имеет ученую степень и ученое звание с данными их присвоения, то другой сотрудник может их вообще не иметь. Это значит, что поля в соответствующих записях просто отсутствуют. Основными характеристиками записи являются ее тип (символьный, числовой, дата, логический и т.д.) и длина (фиксированная, переменная и неопределенная).
Межзаписная структура или модель данных, как было уже отмечено, бывает иерархической, сетевой и реляционной. Рассмотрим их более подробно.
Иерархическая модель
В классических иерархических моделях имеется один файл, который является входом в структуру (корень дерева). Остальные файлы связаны друг с другом таким образом, что каждый из них за исключением корневой вершины имеет ровно одну исходную вершину ("предок") и любое число подчиненных вершин ("потомков"). Между записью файла-"предка" и записями порожденного файла имеется отношение "один ко многим" (1:М). Как частный случай может быть отношение "один к одному". Различают также тип связи "многие ко многим" (М:М).
Типичным представителем иерархических СУБД можно считать систему IMS (Information Management System). Иерархическая БД состоит из упорядоченного набора деревьев, а точнее из упорядоченного наборов нескольких экземпляров одного типа дерева.
Пример схемы иерархической БД "Деталь" показан на рис. 2. Здесь отдел является предком ("родителем") для начальника и сотрудников, а начальник и сотрудники -потомки отдела.
Рисунок 2. Иерархическая база данных «Деталь»
Состав информации базы данных "Деталь":
1 Для каждой детали: шифр детали (уникальный), название и краткое описание назначения детали, информация о технических характеристиках и наличии на складе;
2 Характеристики детали включают необходимые технические данные, в примере это вес детали, материал и ее габаритные размеры;
3 Получение деталей на склад характеризуется датой получения, количеством деталей и уникальным номером накладной;
4 Для каждой детали существует предприятие-изготовитель, имеющее почтовый адрес, название и шифр;
5 Деталь может быть куплена через посредников, поэтому отдельно записывается название поставщика, его почтовый адрес, цена за одну деталь и шифр поставщика. Таким образом, в базе данных есть 5 типов сегментов: Деталь, Характеристики, Приход, Изготовитель, Поставщик. Деталь – корневой сегмент. Остальные – подчиненные типы сегментов. Каждому подчиненному типу сегмента соответствует исходный тип сегмента. Каждому исходному типу сегмента соответствует по крайней мере один порожденный тип сегмента.
