Применение того или иного вида взаимосвязей определило три основные модели баз данных: иерархическую, сетевую и реляционную.
Для пояснения логической структуры основных моделей баз данных рассмотрим простую задачу: необходимо разработать логическую структуру БД для хранения данных о трёх поставщиках П1, П2 и П3, которые могут поставлять товары Т1, Т2 и Т3 в следующих комбинациях: поставщик П1 – все три товара, поставщик П2 – товары Т1 и Т3, поставщик П3 – товары Т2 и Т3. Вначале построим логическую модель БД, основанную на иерархическом подходе.
Иерархическая модель представляется в виде древовидного графа, в котором объекты выделяются по уровням соподчиненности (иерархии) объектов (рис. 7.1).
Рис.7.1. Иерархическая модель БД
На верхнем уровне находится информация об объекте «поставщики» (П), на втором – о конкретных поставщиках П1, П2 и П3, на нижнем, третьем уровне – о товарах, которые могут поставлять конкретные поставщики. В иерархической модели должно соблюдаться правило: каждый порождённый узел не может иметь больше одного порождающего узла (только одна входящая стрелка); в структуре может быть только один непорождённый узел (корень). Узлы, не имеющие выходных стрелок, носят название листьев. Узел – это запись. Для поиска необходимой записи нужно двигаться от корня к листьям, т.е. сверху вниз, что значительно упрощает доступ.
Достоинство иерархической модели данных состоит в том, что она позволяет описать их структуру как на логическом так и на физическом уровне. Недостатками данной модели являются жесткая фиксированность взаимосвязей между элементами данных, вследствие чего любые изменения связей требуют изменения структуры, а также жесткая зависимость физической и логической организации данных.Быстрота доступа в иерархической модели достигнута за счёт потери информационной гибкости (за один проход по дереву невозможно получить информацию о том, какие поставщики поставляют, например, товар Т1). Указанные недостатки ограничивают применение иерархической структуры.
|
В иерархической модели используется вид связи между элементами данных «один ко многим». Если применяется взаимосвязь вида «многие ко многим», то приходят к сетевой модели данных.
Сетевая модель базы данных для поставленной задачи представлена в виде диаграммы связей (рис.7.2). На диаграмме указаны независимые (основные) типы данных П1, П2 и П3, т.е. информация о поставщиках, и зависимые – информация о товарах Т1, Т2 и Т3. В сетевой модели допустимы любые виды связей между записями и отсутствует ограничение на число обратных связей. Но должно соблюдаться одно правило: связь включает основную и зависимую записи.
Достоинство сетевой модели БД – большая информационная гибкость по сравнению с иерархической моделью. Однако сохраняется общий для обеих моделей недостаток – достаточно жёсткая структура, что препятствует развитию информационной базы ИС. При необходимости частой реорганизации информационной базы (например, при использовании настраиваемых базовых информационных технологий) применяют более совершенную модель БД – реляционную, в которой отсутствуют различия между объектами и взаимосвязями.
Рис. 7.2. Сетевая модель БД
В реляционной модели базы данных взаимосвязи между элементами данных представляются в виде двумерных таблиц, называемых отношениями. Отношения обладают следующими свойствами: каждый элемент таблицы представляет собой один элемент данных (повторяющиеся группы отсутствуют); элементы столбца имеют одинаковую природу, и столбцам однозначно присвоены имена; в таблице нет двух одинаковых строк; строки и столбцы могут просматриваться в любом порядке вне зависимости от их информационного содержания.
|
Преимущества реляционной модели БД являются простота логической модели (таблицы привычны для представления информации); гибкость системы защиты (для каждого отношения может быть задана правомерность доступа); независимость данных; возможность построения простого языка манипулирования данными с помощью математически строгой теории реляционной алгебры (алгебры отношений). Собственно, наличие строгого математического аппарата для реляционной модели баз данных и обусловило её наибольшее распространение и перспективность в современных информационных системах.
Для приведенной выше задачи логическая структура реляционной БД будет содержать три таблицы (отношения): R1, R2, R3, состоящие соответственно из записей о поставщиках, о товарах и о поставках товаров поставщиками (рис.7.3).
R1(поставщики) | R3(поставки товаров) | |||
П1 | П1 | Т1 | ||
П2 | П1 | Т2 | ||
П3 | П1 | Т3 | ||
R2(товары) | П2 | Т1 | ||
Т1 | П2 | Т3 | ||
Т2 | П3 | Т2 | ||
Т3 | П3 | Т3 |
Рис. 7.3. Реляционная модель БД
Более подробно эту модель данных изучим на следующей лекции.