Автор работы: Пользователь скрыл имя, 26 Мая 2011 в 13:20, курсовая работа
Развитие средств вычислительной техники обеспечило для сотворения и широкого использования систем обработки данных разнообразного назначения. Разрабатываются информационные системы для обслуживания разных систем деятельности, всевозможные тренажеры и обучающие системы. Одной из принципиальных предпосылок сотворения таковых систем стала возможность оснащения их «памятью» для скопления, хранения и систематизация огромных размеров данных.
ВВЕДЕНИЕ 3
1. Понятие модели данных. Обзор разновидностей
моделей данных 5
1.1. Модель данных 5
1.2. Разновидности моделей данных 6
2. Иерархическая модель данных 9
2.1. Структурная часть иерархической модели 9
2.2. Структура данных 13
2.3. Управляющая часть иерархической модели и представление связей 15
ЗАКЛЮЧЕНИЕ 18
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 19
В то же время, место объекта в иерархическом дереве − не более чем условное обозначение связи с другими объектами. Иерархическая структура всего лишь помогает сохранить, упорядочить и найти объект.
Иерархия − это разновидность сети, являющаяся совокупностью деревьев (лесом), в которой все связи направлены от отца к сыну. Рассматривая этот тип моделей, можно использовать терминологию сетевых моделей, введя дополнительное понятие − «тип виртуальной логической записи» (необходим, когда надо поместить какой-либо тип записи в два или более деревьев иерархии или в нескольких местах в одном дереве). Такая логическая запись представляет собой указатель на логическую запись некоторого типа и устраняет избыточность.
Иерархическая структура представляет совокупность элементов, связанных между собой по определенным правилам. Объекты, связанные иерархическими отношениями, образуют ориентированный граф (перевернутое дерево), вид которого представлен ниже на рисунке 1.
К
основным понятиям иерархической структуры
относятся: уровень, элемент (узел), связь.
Рисунок
1 − Иерархические отношения
Узел − это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчинённые) узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базе данных определяется числом корневых записей.
К каждой записи базы данных существует только один (иерархический) путь от корневой записи. Например, как видно из рисунка 1, для записей С4 путь проходит через записи В3 и А.
Основными информационными единицами в иерархической модели данных являются сегмент и поле.
Поле данных определяется как наименьшая неделимая единица данных, доступная пользователю.
Для сегмента определяются тип сегмента и экземпляр сегмента. Экземпляр сегмента образуется из конкретных значений полей данных. Тип сегмента − это поименованная совокупность входящих в него типов полей данных. Иерархическая модель данных базируется на графовой форме построения данных, и на концептуальном уровне она является просто частным случаем сетевой модели данных. В иерархической модели данных вершине графа соответствует тип сегмента или просто сегмент, а другим − типы связей предок − потомок. В иерархических структуpax сегмент − потомок должен иметь в точности одного предка.
Структурные связи определяются подчиненностью, в силу чего сегмент более низкого уровня называют порожденным, а более высокого уровня − исходным. Сегмент самого верхнего уровня носит название «корневой». Именно через него осуществляется доступ к иерархической БД (точка входа). Экземпляр порожденного сегмента не может существовать в отсутствие экземпляра исходного сегмента. В силу этого положения при удалении экземпляра исходного сегмента удаляются и все экземпляры порожденных сегментов.
Иерархическая
модель представляет собой связный
неориентированный гpaф
Древовидная структура (дерево) − это связный неориентированный граф, который не содержит циклов (петель) из замкнутых путей. Обычно при работе с деревом выделяют конкретную вершину, которую определяют как корень дерева, и рассматривают ее особо: в нее не заходит ни одно ребро. В этом случае дерево становится ориентированным. Корневое дерево можно определить следующим образом:
1) имеется единственная особая вершина, называемая корнем, в которую не заходит ни одно ребро;
2)
во все остальные вершины
3) не имеется циклов.
В программировании используется другое определение дерева, позволяющее при решении задач рассматривать дерево как структуру, состоящую из меньших деревьев (или поддеревьев), т.е. как рекурсивную структуру.
Рекурсивно дерево определяется как конечное множество T, состоящее из одного или более узлов (вершин), таких, что:
1) существует один специально выделенный узел, называемый корнем дерева;
2) остальные узлы разбиты на m ≥ 0 непересекающихся подмножеств Т1 , Т2 , ..., Тm , каждое из которых в свою очередь является деревом.
Деревья Т1 , Т2 , ..., Тm называются поддеревьями корня.
Из определения следует, что любой узел дерева является корнем некоторого поддерева, содержащегося в полном дереве. Число поддеревьев узла называют степенью узла. Узел называется концевым, если он имеет нулевую степень. Иногда концевые узлы называют листьями, а ребра − ветвями. Узел, не являющийся ни корнем, ни концевым узлом, называется узлом ветвления.
Таким образом, иерархическая древовидная структура, ориентированная от корня, удовлетворяет следующим условиям:
− узел состоит из одного или нескольких атрибутов;
− иерархия всегда начинается с корневого узла;
− на верхнем уровне может находиться только один узел - корневой;
− на нижних уровнях находятся порожденные (зависимые) узлы: они могут добавляться в вертикальном и горизонтальном направлениях без ограничения;
− каждый порожденный узел, находящийся на уровне i, связан только с одним непосредственно исходным узлом (непосредственным родительским узлом), находящимся на верхнем уровне (i-1) иерархии дерева;
− каждый исходный узел может иметь один или несколько непосредственно порожденных узлов, которые называются подобными (связи 1:M);
− доступ к каждому порожденному узлу выполняется через его непосредственно исходный узел;
− существует единственный иерархический путь доступа к любому узлу начиная от корня дерева (рис. 2), например путь ABEI.
Поскольку
узлы, входящие в иерархический путь,
могут встретиться не более одного
раза, иерархические пути в древовидной
структуре линейны.
Рисунок
2 − Структура иерархической БД
Любой узел, находящийся на иерархическом пути выше рассматриваемого узла, является для последнего исходным узлом (родительским). Любой узел, находящийся на иерархическом пути ниже рассматриваемого узла, является для него порожденным узлом.
Примером
простого иерархического представления
может служить административная
структура высшего учебного заведения:
институт – отделение – факультет – студенческая
группа.
2.2. Структура данных
Организация данных в СУБД иерархического типа определяется в терминах: элемент, агрегат, запись (группа), групповое отношение, база данных.
Атрибут (элемент данных) − наименьшая единица структуры данных. Обычно каждому элементу при описании базы данных присваивается уникальное имя. По этому имени к нему обращаются при обработке. Элемент данных также часто называют полем.
Запись − именованная совокупность атрибутов. Использование записей позволяет за одно обращение к базе получить некоторую логически связанную совокупность данных. Именно записи изменяются, добавляются и удаляются. Тип записи определяется составом ее атрибутов. Экземпляр записи − конкретная запись с конкретным значением элементов.
Групповое отношение − иерархическое отношение между записями двух типов. Родительская запись (владелец группового отношения) называется исходной записью, а дочерние записи (члены группового отношения) − подчиненными. Иерархическая база данных может хранить только такие древовидные структуры.
Корневая запись каждого дерева обязательно должна содержать ключ с уникальным значением. Ключи некорневых записей должны иметь уникальное значение только в рамках группового отношения. Каждая запись идентифицируется полным сцепленным ключом, под которым понимается совокупность ключей всех записей от корневой по иерархическому пути.
При
графическом изображении
Для
групповых отношений в
Существует ряд операций над данными, определенные в иерархической модели:
ДОБАВИТЬ в базу данных новую запись. Для корневой записи обязательно формирование значения ключа.
ИЗМЕНИТЬ значение данных предварительно извлеченной записи. Ключевые данные не должны подвергаться изменениям.
УДАЛИТЬ некоторую запись и все подчиненные ей записи.
ИЗВЛЕЧЬ
корневую запись по ключевому значению,
допускается также
извлечь следующую запись (следующая запись извлекается в порядке левостороннего обхода дерева).
В операции ИЗВЛЕЧЬ допускается задание условий выборки (например, извлечь сотрудников с окладом более 1 тысячи руб.)
Все
операции изменения применяются
только к одной «текущей» записи
(которая предварительно извлечена из
базы данных). Такой подход к манипулированию
данных получил название «навигационного».
2.3. Управляющая часть
иерархической модели и представление
связей
В рамках иерархической модели выделяют языковые средства описания данных (ЯОД) и средства манипулирования данными (ЯМД). Каждая физическая база описывается набором операторов, обусловливающих как ее логическую структуру, так и структуру хранения БД. При этом способ доступа устанавливает способ организации взаимосвязи физических записей.
Определены следующие способы доступа:
− иерархически последовательный;
− иерархически индексно-последовательный;
− иерархически прямой;
− иерархически индексно-прямой;
− индексный.
Помимо задания имени БД и способа доступа описания должны содержать определения типов сегментов, составляющих БД, в соответствии с иерархией, начиная с корневого сегмента. Каждая физическая БД содержит только один корневой сегмент, но в системе может быть несколько физических БД. Среди операторов манипулирования данными можно выделить операторы поиска данных, операторы поиска данных с возможностью модификации, операторы модификации данных. Набор операций манипулирования данными в иерархической БД невелик, но вполне достаточен.
Представление связей в иерархической модели выглядят следующим образом.
Тип «дерево» является составным. Он включает в себя подтипы («поддеревья»), каждый из которых, в свою очередь, является типом «дерево». Каждый из типов «дерево» состоит из одного «корневого» типа и упорядоченного набора (возможно пустого) подчиненных типов. Каждый из элементарных типов, включенных в тип «дерево», является простым или составным типом «запись». Простая «запись» состоит из одного типа, например, числового, а составная «запись» объединяет некоторую совокупность типов, например, целое, строку символов и указатель (ссылку).
В иерархической модели данных автоматически поддерживается целостность ссылок между предками и потомками. Основное правило: никакой потомок не может существовать без своего родителя. Заметим, что аналогичная поддержка целостности по ссылкам между записями без связи «предок-потомок», не обеспечивается.