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

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


курсовая работа Иерархические базы данных

Информация:

Тип работы: курсовая работа. Добавлен: 23.05.2012. Сдан: 2011. Страниц: 7. Уникальность по antiplagiat.ru: < 30%

Описание (план):


СОДЕРЖАНИЕ 

ВВЕДЕНИЕ 3
1. Понятие модели данных. Обзор разновидностей
моделей данных 5
1.1. Модель данных 5
1.2. Разновидности моделей данных 6
2. Иерархическая модель данных 9
2.1. Структурная часть иерархической модели 9
2.2. Структура данных 13
2.3. Управляющая часть иерархической модели и представление связей 15
ЗАКЛЮЧЕНИЕ 18
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 19 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Введение 

     Развитие  средств вычислительной техники  обеспечило для сотворения и широкого использования систем обработки данных разнообразного назначения. Разрабатываются информационные системы для обслуживания разных систем деятельности, всевозможные тренажеры и обучающие системы. Одной из принципиальных предпосылок сотворения таковых систем стала возможность оснащения их «памятью» для скопления, хранения и систематизация огромных размеров данных. Другой значимой предпосылкой необходимо признать разработку подходов, а также создание программных и технических средств конструирования систем, предназначенных для коллективного использования. В данной связи потребовалось создать особые способы и механизмы управления такового рода вместе используемыми ресурсами данных, которые стали называться базами данных.
     Исследования  и разработки, связанные с проектированием, созданием и эксплуатации баз данных, а также нужных для этих целей языковых и программных инструментальных средств, привели к появлению самостоятельной ветки информатики, получившей заглавие системы управления данными.
     В настоящее время разработаны  и употребляются на персональных компьютерах около двадцати систем управления базами данных.
     Начиная с 60-х годов для работы с данными, стали употреблять особенные программные комплексы, называемые системами управления базами данных (СУБД). Системы управления базами данных отвечают за:
     ? физическое размещение данных и их описаний;
     ? поиск данных;
     ? поддержание баз данных в актуальном состоянии;
     ? защиту данных от некорректных обновлений и несанкционированного доступа.
     Историю технологии БД принято отсчитывать  с начала 1960-х гг., когда появились первые попытки создания специальных программных средств управления базами данных. За прошедшие десятилетия возникали и использовались различные подходы к организации баз данных.
     Для описания и сравнения некоторых из них мы воспользуемся понятием модели данных, предложенным в 1969 г. Эдгаром Коддом. Кодд ввел это понятие для описания конкретного реляционного подхода к организации баз данных (БД). Именно поэтому реляционную модель данных часто называют моделью Кодда. Понятие модели данных удобно не только для описания реляционного подхода и сравнения реализаций реляционных СУБД, но и для реализационно-независимого представления и сопоставления других подходов к организации баз данных.
     Иерархическая модель данных (МД) была исторически  первой структурой БД, видимо, из-за того, что древовидные иерархические структуры широко используются в повседневной человеческой деятельности. Это всевозможные классификаторы, ускоряющие поиск требуемой информации, иерархические функциональные структуры управления. Наиболее известной иерархической СУБД до сих пор остается IMS. 
 
 
 
 
 
 
 
 
 
 
 
 
 

1. Понятие модели  данных. Обзор разновидностей 
моделей данных 

     1.1. Модель данных 

     Ядром любой базы данных является модель данных. Модель данных представляет собой  множество структур данных, ограничений целостности и операций манипулирования данными. С помощью модели данных могут быть представлены объекты предметной области и взаимосвязи между ними.
     В модели данных описывается некоторый  набор родовых понятий и признаков, которыми должны обладать все конкретные СУБД и управляемые ими базы данных, если они основываются на этой модели. Наличие модели данных позволяет сравнивать конкретные реализации, используя один общий язык.
     Хотя  понятие модели данных было введено  Коддом, наиболее распространенная трактовка модели данных, принадлежит Кристоферу Дейту, который воспроизводит ее (с различными уточнениями) применительно к реляционным БД практически во всех своих книгах. Согласно Дейту реляционная модель состоит из трех частей, описывающих разные аспекты реляционного подхода: структурной части, манипуляционной части и целостной части.
     Модель  данных ? это совокупность структур данных и операций их обработки.
     Модели  данных определяются:
     ? способами организации данных.
     ? ограничением ценности данных.
     ? операциями с данными.
     В структурной части модели данных фиксируются основные логические структуры  данных, которые могут применяться  на уровне пользователя при организации БД, соответствующих данной модели. Например, в модели данных SQL основным видом структур базы данных являются таблицы, а в объектной модели данных – объекты ранее определенных типов.
     Манипуляционная часть модели данных содержит спецификацию одного или нескольких языков, предназначенных  для написания запросов к БД. Эти  языки могут быть абстрактными, не обладающими точно проработанным синтаксисом (что свойственно языками реляционной алгебры и реляционного исчисления, используемым в реляционной модели данных), или законченными производственными языками (как в случае модели данных SQL). Основное назначение манипуляционной части модели данных – обеспечить эталонный «модельный» язык БД, уровень выразительности которого должен поддерживаться в реализациях СУБД, соответствующих данной модели.
     В целостной части модели данных (которая явно выделяется не во всех известных моделях) специфицируются механизмы ограничений целостности, которые обязательно должны поддерживаться во всех реализациях СУБД, соответствующих данной модели. Например, в целостной части реляционной модели данных категорически требуется поддержка ограничения первичного ключа в любой переменной отношения, а аналогичное требование к таблицам в модели данных SQL отсутствует.
     СУБД  основывается на использовании ряда моделей, на комбинации этих моделей  или на некотором их подмножестве. 

     1.2. Разновидности моделей данных 

     Рассмотрим общие подходы к организации трех типов ранних систем, а именно, систем, основанных на инвертированных списках, иерархических и сетевых систем управления базами данных. В целом ранние системы можно охарактеризовать следующим образом:
     1. Эти системы активно использовались в течение многих лет, задолго до появления работоспособных реляционных СУБД. На самом деле некоторые из ранних систем используются даже в наше время, накоплены громадные базы данных, и одной из актуальных проблем информационных систем является использование этих систем совместно с современными.
     2. Все ранние системы не основывались на каких-либо абстрактных моделях. Как мы упоминали, понятие модели данных фактически вошло в обиход специалистов в области БД только вместе с реляционным подходом. Абстрактные представления ранних систем появились позже на основе анализа и выявления общих признаков у различных конкретных систем.
     3. В ранних системах доступ к БД производился на уровне записей. Пользователи этих систем осуществляли явную навигацию в БД, используя языки программирования, расширенные функциями СУБД. Интерактивный доступ к БД поддерживался только путем создания соответствующих прикладных программ с собственным интерфейсом.
     4. Можно считать, что уровень средств ранних СУБД соотносится с уровнем файловых систем примерно так же, как уровень языка Cobol соотносится с уровнем языков ассемблера. Заметим, что при таком взгляде уровень реляционных систем соответствует уровню языков Ада или APL.
     5. Навигационная природа ранних систем и доступ к данным на уровне записей заставляли пользователей самих производить всю оптимизацию доступа к БД, без какой-либо поддержки системы.
     6. После появления реляционных систем большинство ранних систем было оснащено «реляционными» интерфейсами. Однако в большинстве случаев это не сделало их по-настоящему реляционными системами, поскольку оставалась возможность манипулировать данными в естественном для них режиме.
     Перечисленные характеристики в полной мере относятся и к другим не реляционным подходам к организации баз данных, которые возникли до появления реляционного подхода или почти одновременно с ним. В частности, подобными свойствами обладают системы, основанные на подходах MUMPS (наиболее известной в России является реализация этого подхода в СУБД Cache компании Intersystems) и Pick (этот подход реализован во многих СУБД, в частности, в СУБД UniVerse и UniData семейства U2 компании IBM).
     К ранним моделям данных относятся:
     1. Модель данных инвертированных  таблиц
     К числу наиболее известных и типичных представителей систем, в основе которых  лежит эта модель данных, относятся  СУБД Datacom/DB, выведенная на рынок в  конце 1960-х гг. компанией Applied Data Research, Inc. (ADR) и принадлежащая в настоящее время компании Computer Associates, и Adabas (ADAptable DAtabase System), которая была разработана компанией Software AG в 1971 г. и до сих пор является ее основным продуктом.
     Организация доступа к данным на основе инвертированных  таблиц используется практически во всех современных реляционных СУБД, но в этих системах пользователи не имеют непосредственного доступа к инвертированным таблицам (индексам). Рассматривая внутренние интерфейсы реляционных СУБД, можно увидеть, что они очень близки к пользовательским интерфейсам систем, основанных на инвертированных таблицах.
     2. Иерархическая модель данных.
     Типичным  представителем (наиболее известным  и распространенным) является СУБД IMS (Information Management System) компании IBM. Первая версия системы появилась в 1968 г.
     Иерархические базы данных поддерживают древовидную организацию информации. Связи между записями выражаются в виде отношений предок/потомок, а у каждой записи есть ровно одна родительская запись. Это помогает поддерживать ссылочную целостность. Когда запись удаляется из дерева, все ее потомки также должны быть удалены.
     3. Сетевая модель данных.
     Типичным  представителем систем, основанных на сетевой модели данных, является СУБД IDMS (Integrated Database Management System), разработанная компанией Cullinet Software, Inc. и изначально ориентированная на использования на мейнфреймах компании IBM. Архитектура системы основана на предложениях Data Base Task Group (DBTG) организации CODASYL (COnference on DAta SYstems Languages), которая отвечала за определение языка программирования COBOL. Отчет DBTG был опубликован в 1971 г., и вскоре после этого появилось несколько систем, поддерживающих архитектуру CODASYL, среди которых присутствовала и СУБД IDMS. В настоящее время IDMS принадлежит компании Computer Associates.
     Сетевой подход к организации данных является расширением иерархического подхода. В иерархических структурах запись-потомок должна иметь в точности одного предка; в сетевой структуре данных у потомка может иметься любое число предков.
2. Иерархическая модель данных 

     2.1. Структурная часть иерархической модели 

     «Иерархические  структуры» наиболее подробно описывают положительные и отрицательные черты иерархической модели. Воспринимая окружающий мир, наше сознание в процессе мышления манипулирует иерархическими понятиями. При работе с иерархиями используется «семейная» терминология (родители, внуки, предки, потомки), поскольку семья является самым распространённым примером объектов (в данном случае ? людей), объединенных иерархическими отношениями («родитель» может иметь множество «детей», но не наоборот), организована в виде иерархического дерева.
     В то же время, место объекта в иерархическом дереве ? не более чем условное обозначение связи с другими объектами. Иерархическая структура всего лишь помогает сохранить, упорядочить и найти объект.
     Иерархия  ? это разновидность сети, являющаяся совокупностью деревьев (лесом), в  которой все связи направлены от отца к сыну. Рассматривая этот тип  моделей, можно использовать терминологию сетевых моделей, введя дополнительное понятие ? «тип виртуальной логической записи» (необходим, когда надо поместить какой-либо тип записи в два или более деревьев иерархии или в нескольких местах в одном дереве). Такая логическая запись представляет собой указатель на логическую запись некоторого типа и устраняет избыточность.
     Иерархическая структура представляет совокупность элементов, связанных между собой по определенным правилам. Объекты, связанные иерархическими отношениями, образуют ориентированный граф (перевернутое дерево), вид которого представлен ниже на рисунке 1.
     К основным понятиям иерархической структуры  относятся: уровень, элемент (узел), связь.  


Рисунок 1 ? Иерархические отношения 

     Узел  ? это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчинённые) узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базе данных определяется числом корневых записей.
     К каждой записи базы данных существует только один (иерархический) путь от корневой записи. Например, как видно из рисунка 1, для записей С4 путь проходит через записи В3 и А.
     Основными информационными единицами в  иерархической модели данных являются сегмент и поле.
     Поле  данных определяется как наименьшая неделимая единица данных, доступная  пользователю.
     Для сегмента определяются тип сегмента и экземпляр сегмента. Экземпляр сегмента образуется из конкретных значений полей данных. Тип сегмента ? это поименованная совокупность входящих в него типов полей данных. Иерархическая модель данных базируется на графовой форме построения данных, и на концептуальном уровне она является просто частным случаем сетевой модели данных. В иерархической модели данных вершине графа соответствует тип сегмента или просто сегмент, а другим ? типы связей предок ? потомок. В иерархических структуpax сегмент ? потомок должен иметь в точности одного предка.
     Структурные связи определяются подчиненностью, в силу чего сегмент более низкого  уровня называют порожденным, а более высокого уровня ? исходным. Сегмент самого верхнего уровня носит название «корневой». Именно через него осуществляется доступ к иерархической БД (точка входа). Экземпляр порожденного сегмента не может существовать в отсутствие экземпляра исходного сегмента. В силу этого положения при удалении экземпляра исходного сегмента удаляются и все экземпляры порожденных сегментов.
     Иерархическая модель представляет собой связный  неориентированный гpaф древовидной  структуры, объединяющий сегменты. Иерархическая база данных состоит из упорядоченного набора деревьев.
     Древовидная структура (дерево) ? это связный неориентированный граф, который не содержит циклов (петель) из замкнутых путей. Обычно при работе с деревом выделяют конкретную вершину, которую определяют как корень дерева, и рассматривают ее особо: в нее не заходит ни одно ребро. В этом случае дерево становится ориентированным. Корневое дерево можно определить следующим образом:
     1) имеется единственная особая  вершина, называемая корнем, в которую не заходит ни одно ребро;
     2) во все остальные вершины заходит  только одно ребро, а исходит  произвольное (0, 1, 2, ..., n) количество ребер;
     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. Управляющая часть иерархической модели и представление связей 

     В рамках иерархической модели выделяют языковые средства описания данных (ЯОД) и средства манипулирования данными (ЯМД). Каждая физическая база описывается набором операторов, обусловливающих как ее логическую структуру, так и структуру хранения БД. При этом способ доступа устанавливает способ организации взаимосвязи физических записей.
     Определены  следующие способы доступа:
     ? иерархически последовательный;
     ? иерархически индексно-последовательный;
     ? иерархически прямой;
     ? иерархически индексно-прямой;
     ? индексный.
     Помимо  задания имени БД и способа  доступа описания должны содержать определения типов сегментов, составляющих БД, в соответствии с иерархией, начиная с корневого сегмента. Каждая физическая БД содержит только один корневой сегмент, но в системе может быть несколько физических БД. Среди операторов манипулирования данными можно выделить операторы поиска данных, операторы поиска данных с возможностью модификации, операторы модификации данных. Набор операций манипулирования данными в иерархической БД невелик, но вполне достаточен.
     Представление связей в иерархической модели выглядят следующим образом.
     Тип «дерево» является составным. Он включает в себя подтипы («поддеревья»), каждый из которых, в свою очередь, является типом «дерево». Каждый из типов «дерево» состоит из одного «корневого» типа и упорядоченного набора (возможно пустого) подчиненных типов. Каждый из элементарных типов, включенных в тип «дерево», является простым или составным типом «запись». Простая «запись» состоит из одного типа, например, числового, а составная «запись» объединяет некоторую совокупность типов, например, целое, строку символов и указатель (ссылку).
     В иерархической модели данных автоматически  поддерживается целостность ссылок между предками и потомками. Основное правило: никакой потомок не может существовать без своего родителя. Заметим, что аналогичная поддержка целостности по ссылкам между записями без связи «предок-потомок», не обеспечивается.
     Чтобы устранить ограничения, свойственные иерархической модели данных, в начале 60-х годов, задолго до появления компьютерных сетей, проектировщики баз данных создают сетевую модель данных, описывающую сети связей между данными.
     К достоинствам иерархической модели данных относятся эффективное использование  памяти компьютера и неплохие показатели времени выполнения основных операций над данными. Иерархическая модель данных удобна для работы с иерархически упорядоченной информацией.
     Недостатком иерархической модели является ее громоздкость для обработки информации с достаточно сложными логическими связями, а также сложность понимания для обычного пользователя.
     На  рисунке 3 показан пример типа дерева (схемы иерархической БД). Здесь тип записи Отдел является предком для типов записи Руководитель и Служащие, а Руководитель и Служащие – потомки типа записи Отдел. Смысл полей типов записей в основном должен быть понятен по их именам. Поле Рук_Отдел типа записи Руководитель содержит номер отдела, в котором работает служащий, являющийся данным руководителем (предполагается, что он работает не обязательно в том же отделе, которым руководит). Между типами записи поддерживаются связи (правильнее сказать, типы связей, поскольку реальные связи появляются в экземплярах типа дерева).  

 

Рисунок 3 ? Пример типа дерева 

     База  данных с такой схемой могла бы выглядеть так, как показано на рис. 4 (мы показываем один экземпляр дерева). 

 

Рисунок 4 ? Пример иерархической базы данных 

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


Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть полный текст работы бесплатно


Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.