Иерархическая модель данных: структуры, ограничения целостности, операции. Достоинства и недостатки иерархической МД.



Иерархическая модель данных

Допустимые структуры

Допустимая структура — дерево, ацикличный граф, удовлетворяющий следующим свойствам:

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

2. Любой узел имеет любое число порожденных и лишь один родительский узел. Таким образом, на уровне экземпляров, БД представляет собой «лес».

Присутствуют аномалии как при 1NF. Если нужно отобразить связь типа М:М то придется либо не использовать ИМД, либо дублировать данные и отказаться от минимальной избыточности + спец. утилиты для синхронизации дублированных данных.

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

Прямой запрос: перечислить всех студентов группы 1 по производительности сильно отличается от запроса:" на каком факультете учится студент1" (в худшем случае полный перебор).

Ограничения целостности

Внутренним ограничением целостности в иерархической МД является поддержка связи только 1-М.

Явные ограничения целостности:

1. Уникальность первичного ключа.

2. Ограничения на диапазон допустимых значений.

Допустимые операции

В традиционной ИМД все операции являются навигационными. Для выполнения какой-либо операции необходимо предварительно осуществить операцию навигации до нужного места в БД. В последствии в модель был встроен язык спецификационного типа - SQL.

Ввиду того, что порядок обхода вершины значим, в модель встроены операции «взять предыдущий», «взять следующий».

Преимущества: -min надстройка над функциями ОС по обработке взаимосвяз. файлов гарантирует самую высокую эффективность по сравнению с другими типами СУБД;

- на уровне структуры контролируется связь 1:М;

-..Поддержка определенного уровня независимости данных...

 

Недостатки:

- не поддерживается связь М:М;

- негибкость прямых-обратных запросов;

- не такая простая модель с точки зрения пользователя и недостаточно высокий уровень интерфейса.


 

Сетевая модель данных. Структура, ограничения целостности, операции. Достоинства и недостатки сетевой МД

 

В отличие от традиционным моделей данных, в сетевых МД описание объектов и связей разделено на уровне структуры. Для сравнения, в реляционной модели и объекты и связи представляются единообразно в виде плоских таблиц, в иерархической модели взаимосвязанные объекты объединяются в одно дерево, причём дуги не метятся. В сетевой модели объекты представляются записями, а для представления записей имеются специальные конструкции, которые называются SET (от англ. set — набор, множество).

Определение: набор - это множество поименованных записей, в котором выделяется 1 тип записей - владельца набора и 0,1... типов записей членов набора. Таким образом, между записями типа «владелец набора» и записями типа «член набора» на уровне структуры поддерживается взаимосвязь 1-М. На уровне экземпляров это означает, что один и тот же экземпляр записи владельца не может присутствовать более чем в одном экземпляре набора данного типа, но может быть владельцем в экземплярах набора другого типа, а так же членом любого количества экземпляров набора разного типа. В отличие от иерархической модели, связи именуются, причем именами этих типов наборов.

Пример:

SET name IS «Обучаться»

OWNER IS «Факультет»

MEMBER IS «Студент»

Помимо простых наборов, в сетевой модели допускаются многочленные наборы, которые реализуют n-арную связь между информационными объектами. В наборах поддерживается свойство уникальности владения, следовательно для представления взаимосвязи M-M необходимо создать два типа набора с общим объектом-связкой, который будет для обоих наборов членом набора (иногда у этих дополнительных объектов связки нет соответствующей семантики предметной области). На физическом уровне, например в известной сетевой модели DB_vista, наборы данных реализуются двухсвязными циклическими списками.

В традиционной сетевой модели не допускались рекурсивные связи, но в дальнейшем были добавлены. Также был реализован единственный сингулярный набор. Сетевая модель данных была первой, на которую был разработан стандарт. Для удобства разграничения доступа к данным на логическом уровне имелось понятие области, т.е. пользователь имел возможность под одним именем определить какое-то подмножество записей, наборов (или их частей) и манипулировать этим подмножеством при помощи операций открытия, закрытия с тем, чтобы сохранять под одним именем контекст своей работы, а также разграничить доступ к данным (в настоящее время этому соответствует понятие подсхемы или представления).

Ограничения целостности

В сетевой модели данных наборы явных ограничений целостности шире, чем в традиционной или иерархической. Существуют специальные ограничения целостности, связанные с типом членства записи в наборе. Ограничение целостности, связанное с вариантом удаления записи из набора и отражает степень зависимости записи по существованию данных о записях членов от записи владельца (фиксированный тип членства, обязательный и необязательный, например, при удалении записи о больнице должны автоматически удалиться все записи о её палатах).

Аналогично с обязательным типом членства необходимо обязательное включение в некоторый другой набор, например факультет-студент – при удалении факультета, переводим студента на другой факультет. При фиксированном членстве запись не будет включена в базу как объект, если она при этом не будет включена в состав всех наборов с фиксированным членством, в которых она объявлена. Варианты включения записей – автоматический и ручной. Таким образом ограничения целостности всевозможных комбинаций представляет собой пару <обязательный/необязательный>, <автоматический/ручной>.

В традиционной сетевой модели изначально были разрешены только навигационные операции, в дальнейшем были добавлены спецификационные операции (операции языка SQL). В отличие от навигационных операций иерархической модели, где связи не именуются и представление объектов взаимосвязано (неразрывно от представления их связей), в сетевой модели существуют отдельные операции для доступа к объектам непосредственно, минуя наборы (не учитывая связи), а также возможность доступа к данным через наборы.

Характерным свойством сетевой структуры является то, что доступ к записи не однозначен. Один и тот же экземпляр записи может являться одновременно членом многих экземпляров наборов разного типа, а также владельцем каких-то наборов, поэтому при навигации по базе данных необходимо указать путь к записи через соответствующие наборы для однозначности. Кроме того, существуют отдельные операции для вставки, удаления, изменения записей с учетом набора и без таковых.

Преимущества Сетевой Модели

1. Явная поддержка отношений типа многие со многими

2. Наличие более развитого набора явных ограничений целостности

3. Раздельное представление объектов и связей, что позволяет избежать проблем, связанных с первой нормальной формой

4. Высокая эффективность реализации

5. Наличие средств стандартного описания

Недостатки Сетевой Модели

1. Сложное представление данных на внешнем уровне

2. Несмотря на то что комитет CODASYL1 впервые предложил многоуровневую архитектуру СУБД, которая потом стала стандартом для других СУБД, собственная реализация этого подхода на уровне технологий того времени не гарантировали полной поддержки логической и физической независимости данных. Постоянные обмены с внешней памятью и преобразование абсолютных адресов в относительные на том уровне техники приводили к постоянным сбоям. Поэтому высокий уровень независимости данных гарантировался лишь для стабильной предметной области, в которой не требовалось вносить изменения в структуру данных и их связи. Реструктуризация приводила к загрузке схемы БД заново и исполнению специальных утилит для загрузки данных из старой БД под новую структуру

3. Язык неспецификационного типа


Дата добавления: 2018-05-13; просмотров: 1008; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!