Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИИ_УД.doc
Скачиваний:
74
Добавлен:
16.11.2019
Размер:
2.38 Mб
Скачать

1.2 Модели данных

В соответствии с архитектурой ANSI/SPARC различают три разновидности моделей данных:

  • внешнюю модель данных;

  • концептуальную модель данных;

  • внутреннюю модель данных.

Рассмотрим модели данных, которые используются на первом и втором уровнях. К числу классических моделей относятся: иерархическая, сетевая и реляционная.

Иерархическая модель. Древовидные иерархические структуры широко используются в повседневной человеческой деятельности. Например, многие данные естественным образам иерархичны: компания состоит из отделов (один уровень), в отделах работают сотрудники (второй уровень), которые обладают определенными специальностями (третий уровень).

Иерархическая модель содержит узлы (Рис.6), которые определенным образом соединяются между собой ребрами (дугами).

Модель должна удовлетворять следующим условиям:

  • иерархия начинается с корневого узла;

  • на первом уровне находится только один корневой узел;

  • на нижних уровнях находится порожденные (зависимые) узлы;

  • каждый порожденный узел, находящийся на уровне i, связан только с одним непосредственно исходным узлом (непосредственно родительским узлом), находящемся на более верхнем (i-1)-м уровне иерархии;

  • каждый исходный узел может иметь один или несколько непосредственно порожденных узлов, которые называются подобными;

  • доступ к каждому порожденному узлу выполняется через его исходный узел;

  • существует единственный иерархический путь доступа к любому узлу, начиная от корня дерева.

Рис.6. Структура иерархического дерева

Каждый экземпляр корневого узла образует начало записи логической базы данных, т.е. иерархическая БД состоит из нескольких деревьев (Рис.7).

Рис.7. Пример двух экземпляров дерева

Экземпляры b1, b2, b3 являются «близнецами», так как они порождаются одним и тем же экземпляром предка (a1). Экземпляр b4 подчинен другому экземпляру предка (a2) и он не является «близнецом» по отношению к экземплярам b1, b2, b3.

Набор всех экземпляров узлов иерархического дерева, подчиненных одному экземпляру корневого узла называется физической записью.

Имеем две записи:

Запись 1 a1, b1, b2, b3, c1, d1, d2, e1.

Запись 2 a2, b4, b5, c2, c3, d3, d4, e2, e3, e4.

На рис. 8 и рис. 9 показаны структуры иерархического дерева и его экземпляров: служащие различных отделов имеют различные специальности и назначаются на выполнение определенных проектов.

Рис.8. Пример структуры иерархического дерева

Рис.9. Пример экземпляров дерева

Сетевая модель данных. Сети – естественный способ представления отношений между объектами. Сети широко применяются в математике, исследовании операций и др., в том числе при описании баз данных.

Сеть состоит из узлов (типов данных) и ребер (отношений один к одному или один ко многим).

Конференция по языкам данных (Conference on Data System Languages, CODASYL) в конце 60-х годов поручила группе, названной Database Task Group (DBTG), разработать стандарты систем управления базами данных. Группа опубликовала отчеты о своей работе в 1969, 1971, 1978, 1981, 1984 годах.

Документ 1971 г. остается основной формулировкой сетевой модели.

Типы записей – совокупность логически связанных элементов данных. Например, тип записи КЛИЕНТ может включать следующие элементы данных: ИД Клиента, Имя, Адрес и т.д.

Наборы – выражают отношение один ко многим (один к одному) между двумя типами записей. Таким образом, КЛИЕНТ может иметь ноль, один или пять неоплаченных счетов.

Тип записи со стороны «один» - это тип записи владельца.

Тип записи со стороны «много» - это тип записи члена.

Рис.10,а. Пример диаграммы структуры данных

Рис.10,б.

В отличие от иерархической модели данных у типа записи ЗАКАЗ есть два владельца, а не один. Имя набора – это метка присвоения стрелке.

Рис.11. Диаграмма экземпляров сетевой структуры данных

На этом рисунке показаны действительные значения записей, которые называются вхождениями или экземплярами.

В простых сетях все отношения имеют мощность один к одному или один ко многим.

Сложные сети содержат одно или несколько отношений многие ко многим. Они не могут быть напрямую реализованы в модели DbTG. Однако существует способ преобразования сложной сети в простую сетевую форму.

Рис.12. Структура данных

Здесь создан новый (третий) тип записи – связи (СТ - С), состоящий из полей ИД – студента, ИД – семинара.

Этот тип записи разделяет отношение многий ко многим или два отношения один ко многим. Тип записи СТ – С становится членом двух наборов: набора «Студент посещает семинар» и «Семинар посещают студенты».

Рис.13. Пример отношения многий ко многим или два отношения один ко многим

Студент Сидоров является владельце сразу трех записей типа СТ – С: по одной для каждого семинара Математика, Физика, Химия. Аналогично Математика владеет тремя записями СТ – С по одной для каждого посещающего семинар студента.

Для хранения записей СТ – С необходимо иметь дополнительный объем памяти. После этого сетевая модель системы имеет простую сетевую форму.

Товары продаются в различных странах в разное время.

Рис.14. Пример преобразования трехстороннего отношения

Сетевое представление.

Рис.15. Структура иерархического дерева

Рис.16. Экземпляры дерева

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]