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

Описание иерархической модели данных, которая представляет собой совокупность элементов, связанных между собой по определенным правилам и образующих ориентированный граф (перевернутое дерево). Понятие БД и СУБД. Язык описания данных иерархической модели.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 03.02.2011
Размер файла 308,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Содержание

Введение

1. База данных и модели данных

1.1 Определение данных и моделей данных

1.2 Понятие БД и СУБД

1.3 Концепция моделей данных

1.4 Объекты базы данных

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

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

2.2 Сегмент иерархической модели

2.3 Язык описания данных иерархической модели

Заключение

Список сокращений

Список используемых источников

Введение

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

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

По мере развития систем баз данных, менялись принципы организации данных в них: первоначально данные представлялись на основе иерархической, а в последствии сетевой модели. В конце 1970-х - начале 1980-х годов начали появляться первые реляционные продукты.

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

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

Передо мной были поставлены следующие задачи:

-дать обзор современному состоянию теории баз данных, основным моделям СУБД, применяемым в ПК;

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

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

При написании курсовой работы был произведен комплексный анализ. Основными методами в работе явились методы описания, историко-функциональный и сравнительно-сопоставительный метод.

1. База данных и модели данных

1.1 Определение данных и моделей данных

Похоже, всякая попытка дать четкое определение термина «данные» не лишена тавтологичности. Рассмотрим несколько таких определений:

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

Данные - это информация, предназначенная к обработке. А информация, в свою очередь - это знания о фактических данных. Данные - это сведения, полученные путем измерения, наблюдения и т.п.

Данные, хранящиеся в памяти ЭВМ, представляют собой совокупность нулей и единиц (битов). Биты объединяются в последовательности: байты, слова и т.д. Каждому участку оперативной памяти, который может вместить один байт или слово, присваивается порядковый номер (адрес).

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

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

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

Некоторые структуры:

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

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

Рисунок 1.1 Классификация типов данных.

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

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

Любая модель данных должна содержать три компоненты:

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

-набор допустимых операций, выполняемых на структуре данных. Модель данных предполагает, как минимум, наличие языка определения данных (ЯОД), описывающего структуру их хранения, и языка манипулирования данными (ЯМД), включающего операции извлечения и модификации данных.

-ограничения целостности - механизм поддержания соответствия данных предметной области на основе формально описанных правил.

1.2 Понятие БД и СУБД

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

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

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

Понятия база данных - БД (database -- DB) и СУБД (Database Management System -- DBMS) появились в компьютерном мире в середине 60-х годов, когда ЭВМ начали активно использоваться в управлении и программисты стали переходить от решения отдельных задач к комплексной автоматизации управления, увязывая все задачи в единое целое общей целью. Раньше приходилось вводить и выводить одни и те же данные по многу раз. Например, при управлении предприятием персональные сведения используются в задачах кадрового учета, начисления зарплаты, оперативного планирования и т. д. Естественно ввести эти данные один раз, создав базу данных, и предоставив всем прикладным программам право черпать необходимые сведения из этой базы.

Преимущества нового подхода:

-однократный ввод данных, что приводит к резкому сокращению затрат труда;

-независимость программ от данных, что дает возможность независимо менять те и другие. Допустим, в базе персональных данных появилось поле «гражданство» и исчезла графа «национальность». Раньше пришлось бы переписывать все прикладные программы под новую структуру данных, при наличии СУБД этого делать не нужно, изменятся только программы, непосредственно работающие с этими полями;

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

Рисунок 1.2 - Создание СУБД.

Хорошая СУБД должна обеспечить выполнение ряда базовых функций.

-Описание логической структуры базы данных. Для описания данных в любой СУБД имеется специальный язык описания данных -- ЯОД (Data Description Language -- DDL). При этом описание данных возможно с двух точек зрения:

* с точки зрения администратора базы данных, владеющего всей информацией обо всех данных, хранящихся в системе. Это описание называется схемой БД;

* с точки зрения некоторой конкретной задачи, решаемой над СУБД, и нуждающейся только в части данных. Такое описание называется подсхемой.

-Манипулирование данными, то есть выполнение всех операций с данными -- ввод, проверка правильности, выборка, составление отчетов. Для описания операций с данными в СУБД имеется язык манипулирования данными -- ЯМД (Data Manipulating Language -- DML). Этот язык может быть реализован в двух вариантах:

-в виде расширения базового языка программирования (Кобола, Паскаля, Си) набором библиотечных функций;

-в виде самостоятельного ЯМД, который в этом случае называется языком запросов.

-Обеспечение целостности БД (database integrity). Целостность (непротиворечивость) данных -- это способность данных правильно отражать объект. Нарушения целостности могут быть из-за ошибок человека (например, где-то сменили название объекта, а где-то забыли) или из-за машинных сбоев. Обеспечение целостности данных дается дорогой ценой. В частности, для защиты от машинных сбоев в хороших СУБД ведутся журналы учета всех обращений, по которым можно восстановить данные при авариях.

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

Защита данных от несанкционированного доступа. Могут защищаться отдельные поля, записи, блоки данных, для чего используются разнообразные ключи, пароли, шифры и т. п.

1.3 Концепция моделей данных

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

Очевидные требования к модели:

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

-Модель должна допускать автоматическую обработку данных, т.е. должна быть реализуема программными средствами.

-Модель должна быть наглядной, «прозрачной». Поскольку задача описания структуры данных средствами выбранной модели возлагается на разработчика (человека), чем сложнее модель - тем труднее избежать ошибок при проектировании.

Различают три основных типа моделей данных:

-иерархическая,

-сетевая,

-реляционная.

Иерархическая структура представляет собой совокупность элементов, в которой данные одного уровня подчинены данным другого уровня, а связи между элементами образуют древовидную структуру. В такой структуре исходные элементы порождают другие элементы, причем эти элементы в свою очередь порождают следующие элементы и т.д. Существенно то, что каждый порожденный элемент имеет только одного «родителя». В качестве примера иерархической структуры (рис.1.3) приведена организация хранения информации о музыкальных альбомах группы «Ace of Base». Группа «Ace of Base» может быть подчиненной для объектов более высокого уровня иерархии, например страны, стиля или носителя.

Рисунок 1.3- Пример иерархической организации данных

Примером иерархической базы данных может служить генеалогическое древо вашей семьи.

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

-в каком альбоме больше песен;

-число альбомов, выпущенных группой;

-есть ли в альбомах одинаковые песни и т.д.

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

Пример схемы простейшей сетевой БД показан на рис. 1.4. Типы связей здесь обозначены надписями на соединяющих линиях.

Рисунок 1.4 - Пример сетевой организации данных

И сетевые и иерархические структуры можно свести к простым двумерным таблицам.

Наиболее удобным и для пользователя, и для компьютера является представление данных в виде двумерной таблицы - подавляющее большинство современных информационных систем работает именно с такими таблицами. Базы данных, которые состоят из двумерных таблиц, называются реляционными (по-английски «relation» - отношение). Основная идея реляционного подхода состоит в том, чтобы представить произвольную структуру данных в виде простой двумерной таблицы.

1.4 Объекты базы данных

иерархическая граф язык

Microsoft Access (MS Access) - одна из наиболее популярных СУБД. Данная СУБД входит в широко распространенный интегрированный пакет фирмы Microsoft - MS Office Pro. MS Access применяется для разработки относительно небольших информационных систем, содержащих, как правило, не более 50000 записей и функционирующих в локальных вычислительных сетях, объединяющих 1 - 15 компьютеров. MS Access работает в операционной системе Windows. Имеются версии данной СУБД: 2.0 - для Windows 3.1; 7.0 (95), 97, 2000 - для Windows 95, 98, 2000 и Windows NT. Большим преимуществом MS Access является наличие средств разработки информационных систем для пользователей различной квалификации: от начинающих до профессионалов.

В приложении А показана структура и взаимосвязи основных элементов СУБД MS Access.

Кратко охарактеризуем основные структурные элементы, приведенные на схеме.

Таблица является основным элементом всякой реляционной базы данных, в том числе и СУБД MS Access. Эти объекты предназначены для хранения данных.

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

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

-ввода данных в таблицу;

-отображения отобранных данных в заданном виде на экране и при выводе на печать;

-в качестве панели управления для открытия других форм, отчетов, таблиц, запросов;

-в качестве окна диалога.

Источниками данных для форм служат: таблицы; запросы; данные, заложенные в макете формы. По внешнему виду формы делятся на табличные, ленточные, простые. В простой форме видны поля, относящиеся только к одной записи. Табличная и ленточная формы выводят сразу несколько записей. Ленточная форма обладает более разнообразными возможностями отображения данных по сравнению с табличной.

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

Макросы - это набор стандартных инструкций (макрокоманд), позволяющих управлять элементами базы данных. Примеры макрокоманд: открыть/закрыть таблицу; открыть/закрыть форму; открыть/закрыть запрос; печать; предварительный просмотр; выход и т.д.

Макросы имеют имена и вызываются к выполнению при наступлении событий. Например, макрос Autoexec - это набор инструкций, обрабатываемый при открытии базы данных.

Макросы являются простым и эффективным способом автоматизации приложения.

Модули - это объекты, содержащие программы, написанные на языке Visual Basic for Applications (VBA). Модули позволяют разбить некоторый процесс на несколько небольших процедур и найти ошибки, которые нельзя было бы найти при использовании макросов.

В MS Access встречаются два вида модулей: 1) независимые объекты, содержащие функции, вызываемые из любого места приложения; 2) непосредственно “привязанные” к отдельным формам или объектам для реакции на те или иные происходящие в них изменения (события).

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

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

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

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

А Уровень 1

В1 В2 В3 В4 Уровень 2

С1 С2 С3 С4 С5 С6 С7 С8 Уровень 3

Рисунок 2.1 -Иерархическая структура

К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь.

Узел - это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево имеет только одну вершину (корень дерева), не подчинённую никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчинённые) узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базах данных определяется числом корневых записей.

Для записи базы данных существует только 1 иерархический путь от корневой записи. Например, как видно на рисунке 2.1 для записи С4 путь проходит через записи А и В3.

Пример, представленный на рисунке 2.2, иллюстрирует использование иерархической модели базы данных. Для рассматриваемого примера иерархическая структура правомерна, т.к. каждый студент учится в определённой (только одной) группе, которая относится к определённому (только одному) институту.

Институт (специальность, название, ректор)

Группа (номер, староста)

Студент (номер зачётной книжки, фамилия, имя, отчество)

Рисунок 2.2 - Пример иерархической структуры бах данных

Типичным представителем СУБД, поддерживаемых данный вид моделей (наиболее известным и распространенным), является Information Management System (IMS) фирмы IBM. Первая версия появилась в 1968 г. и была создана для поддержки лунного проекта «Аполлон» (управление огромного количества деталей, иерархически связанных между собой).

Рассмотрим следующую модель данных предприятия (см. рис. 2.3): предприятие состоит из отделов, в которых работают сотрудники. В каждом отделе может работать несколько сотрудников, но сотрудник не может работать более чем в одном отделе.

Поэтому, для информационной системы управления персоналом необходимо создать групповое отношение, состоящее из родительской записи ОТДЕЛ (НАИМЕНОВАНИЕ_ОТДЕЛА, ЧИСЛО_РАБОТНИКОВ) и дочерней записи СОТРУДНИК (ФАМИЛИЯ, ДОЛЖНОСТЬ, ОКЛАД). Это отношение показано на рис. (а) (Для простоты полагается, что имеются только две дочерние записи).

Для автоматизации учета контрактов с заказчиками необходимо создание еще одной иерархической структуры : заказчик - контракты с ним - сотрудники, задействованные в работе над контрактом. Это дерево будет включать записи ЗАКАЗЧИК(НАИМЕНОВАНИЕ_ЗАКАЗЧИКА, АДРЕС), КОНТРАКТ(НОМЕР, ДАТА,СУММА), ИСПОЛНИТЕЛЬ (ФАМИЛИЯ, ДОЛЖНОСТЬ, НАИМЕНОВАНИЕ_ОТДЕЛА) (рис. (b)).

Рисунок 2.3 - Пример иерархической структуры бах данных

Из этого примера видны недостатки иерархических БД:

Частично дублируется информация между записями СОТРУДНИК и ИСПОЛНИТЕЛЬ (такие записи называют парными), причем в иерархической модели данных не предусмотрена поддержка соответствия между парными записями.

Иерархическая модель реализует отношение между исходной и дочерней записью по схеме 1:N, то есть одной родительской записи может соответствовать любое число дочерних. Допустим теперь, что исполнитель может принимать участие более чем в одном контракте (т.е. возникает связь типа M:N). В этом случае в базу данных необходимо ввести еще одно групповое отношение, в котором ИСПОЛНИТЕЛЬ будет являться исходной записью, а КОНТРАКТ - дочерней (рис. (c)). Таким образом, мы опять вынуждены дублировать информацию.

2.2 Сегмент иерархической модели

Основными информационными единицами являются сегмент, поле, дерево.

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

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

Сегмент (DBTS) -называется записью.

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

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

1) имеется единственная особая вершина, называемая корнем, в которую не заходит ни одно ребро;

2) во все остальные вершины заходит только одно ребро, а исходит произвольное (0, 1, 2, ..., n) количество ребер;

3) не имеется циклов.

В программировании используется другое определение дерева, позволяющее при решении задач рассматривать дерево как структуру, состоящую из меньших деревьев (или поддеревьев), т.е. как рекурсивную структуру.

Рекурсивно дерево определяется как конечное множество T, состоящее из одного или более узлов (вершин), таких, что:

1) существует один специально выделенный узел, называемый корнем дерева;

2) остальные узлы разбиты на m ? 0 непересекающихся подмножеств Т1 , Т2 , ..., Тm , каждое из которых в свою очередь является деревом.

Деревья Т1 , Т2 , ..., Тm называются поддеревьями корня.

Из определения следует, что любой узел дерева является корнем некоторого поддерева, содержащегося в полном дереве. Число поддеревьев узла называют степенью узла. Узел называется концевым, если он имеет нулевую степень. Иногда концевые узлы называют листьями, а ребра - ветвями. Узел, не являющийся ни корнем, ни концевым узлом, называется узлом ветвления.

Таким образом, иерархическая древовидная структура, ориентированная от корня, удовлетворяет следующим условиям:

-узел состоит из одного или нескольких атрибутов;

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

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

-на нижних уровнях находятся порожденные (зависимые) узлы: они могут добавляться в вертикальном и горизонтальном направлениях без ограничения;

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

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

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

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

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

Рисунок 2.4 - Пример структуры иерархического дерева

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

Основное правило контроля целостности: потомок не может существовать без родителя, а у некоторых родителей не может быть потомка.

Механизмы поддержания целостности между отдельными деревьями отсутствуют.

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

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

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

Пример типа дерева (схемы иерархической БД):

Рисунок 2.5- Пример схемы иерархической БД

Здесь Отдел является предком для Начальник и Сотрудники, а Начальник и Сотрудники - потомки Отдел. Между типами записи поддерживаются связи.

База данных с такой схемой могла бы выглядеть следующим образом (мы показываем один экземпляр дерева):

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

Примерами типичных операторов манипулирования иерархически организованными данными могут быть следующие:

-Найти указанное дерево БД (например, отдел 310);

-Перейти от одного дерева к другому;

-Перейти от одной записи к другой внутри дерева (например, от отдела - к первому сотруднику);

-Перейти от одной записи к другой в порядке обхода иерархии;

-Вставить новую запись в указанную позицию;

-Удалить текущую запись.

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

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

-Физическая упорядоченность строк всех таблиц может определяться и для всей БД (так делается, например, в Datacom/DB).

-Для каждой таблицы можно определить произвольное число ключей поиска, для которых строятся индексы. Эти индексы автоматически поддерживаются системой, но явно видны пользователям.

2.3 Язык описания данных иерархической модели

В рамках иерархической модели выделяют языковые средства описания данных (ЯОД) и средства манипулирования данными (ЯМД). Каждая физическая база описывается набором операторов, обусловливающих как ее логическую структуру, так и структуру хранения БД. При этом способ доступа устанавливает способ организации взаимосвязи физических записей.

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

Каждая физическая база описывается набором операторов, определяющих как ее логическую структуру, так и структуру хранения БД. Описание начинается с оператора DBD (Data Base Definition):

DBD Name = < имя БД>, ACCESS = < способ доступа>

Способ доступа определяет способ организации взаимосвязи физических записей. Определено 5 способов доступа:

HSAM -- hierarchical sequential access method (иерархически последовательный метод),

HISAM -- hierarchical index sequential access method (иерархически индексно-последовательный метод),

EDAM -- hierarchical direct access method (иерархически прямой метод),

HID AM -- hierarchical index direct access method (иерархически индексно-прямой метод),

INDEX -- индексный метод.

После описания всей физической БД идет описание типов сегментов, ее составляющих, в соответствии с иерархией. Описание сегментов всегда начинается с описания корневого сегмента.

Заканчивается описание схемы вызовом процедуры генерации:

-DBDGEN -- указывает на конец последовательности управляющих операторов описания БД;

-FINISH -- устанавливает ненулевой код завершения при обнаружении ошибки;

-END -- конец.

В системе может быть несколько физических БД (ФБД), но каждая из них описывается отдельно своим DBD и ей присваивается уникальное имя. Каждая ФБД содержит только один корневой сегмент. Совокупность ФБД образует концептуальную модель данных.

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

Представление внешней модели называется логической базой данных и определяется совокупностью блоков связи данного приложения с физическими БД, входящими в концептуальную схему БД. Блок связи -- PCB, program communication bloc -- описывает связь с одной физической БД по следующим правилам:

DBD NAME = < имя логической БД (подсхемы)> ,

ACCESS = LOGICAL

DATA SET = LOGICAL.

SEGM NAME = <имя сегмента в подсхеме>,

PARENT =<имя родительского сегмента в подсхеме>,

SOURSE =(Имя соответствующего сегмента ФБД, имя ФБД)

DBDGEN

FINISH

END

Совокупность блоков PCB образует полное внешнее представление данного приложения, называемое "блоком спецификации программ" (PSB, program specification block).

Базовыми языками иерархической БД по-прежнему могут быть COBOL, PL/I, Assembler.

Заключение

В данной курсовой работе была рассмотрена тема «Иерархические модели данных».

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

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

К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь.

Иерархическая древовидная структура, ориентированная от корня, удовлетворяет следующим условиям:

-узел состоит из одного или нескольких атрибутов;

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

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

-на нижних уровнях находятся порожденные (зависимые) узлы: они могут добавляться в вертикальном и горизонтальном направлениях без ограничения;

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

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

Передо мной были поставлены следующие задачи:

-дать обзор современному состоянию теории баз данных, основным моделям СУБД, применяемым в ПК;

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

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

В первой главе были рассмотрены вопросы основ баз данных и моделей данных. Были даны определения данных, модели данных, БД, СУБД, приведена классификация моделей данных, описаны объекты баз данных.

Во второй главе была более подробно описана иерархическая модель данных: была рассмотрена сущность и структура данной модели, описан принцип функционирования и языковые средства описания данных (ЯОД) и средства манипулирования данными (ЯМД).

При написании курсовой работы был произведен комплексный анализ. Основными методами в работе явились методы описания, историко-функциональный и сравнительно-сопоставительный метод.

Список сокращений

БД - база данных

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

СУБД - система управления базами данных

ФБД - физическая база данных

ЯОД -язык описания данных

ЯМД -язык манипулирования данными

Список используемых источников

1.Аладьев, В.В. Основы информатики [Текст]: учебное пособие/ В.В. Аладьев, Ю.Я. Хунт, М.Л. Шишаков, М., 2000. -ISBN 5-001-35831-1

2.Бойко, В.В. Проектирование баз данных информационных систем[Тескт]/ В.В. Бойко, В.М. Савинков, М., Финансы и статистика, 2000 . -ISBN 5-239-35831

3.Девис, У. Операционные системы[Тескт]/ У. Девис, М., Мир, 2000. -ISBN 5-037-23876

4.Дейт, К. Введение в системы баз данных[Текст]/ К. Дейт, М., Наука, 2001. -ISBN 5-027-36798-1

5.Дубнов, П.Ю. Access 2000: Проектирование баз данных[Текст]/М., ДМК-Лайт, 2000. -ISBN 5-001-35663-1

6.Ездов, А.А. Лабораторные работы по физике с использованием компьютерной модели[Текст]/А.А. Ездов, М., Информатика и образование, 2002. -ISBN 5-001-27890-1

7.Ермаков, М.Г. Вопросы разработки тестирующих программ[Тескт]/ М.Г. Ермаков, Л.Е. Андреева, М., Информатика и образование, 2001. -ISBN 5-023-33647-01

8.Жуков, А. А. Система контроля знаний TSTST[Тескт]/ А. А. Жуков, Л.А. Федякина, М., Информатика и образование, 2001. -ISBN 5-001-347743-01

9.Кодд, Дж. Базы данных[Тескт]/ Дж. Кодд, М., Мир, 2000. -ISBN 5-239-07698-01

10.Макашарипов, С. Эффективная работа с СУБД[Текст]/ С. Макашарипов, А. Горев, Р. Ахаян, СПб., Питер, 2000. -ISBN 5-001-546783-01

Размещено на Allbest.ru

Приложение А

Схема структуры и взаимосвязи основных функциональных элементов СУБД


Подобные документы

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

    реферат [30,5 K], добавлен 22.02.2011

  • Современные системы управления базами данных (СУБД). Анализ иерархической модели данных. Реляционная модель данных. Постреляционная модель данных как расширенная реляционная модель, снимающая ограничение неделимости данных, хранящихся в записях таблиц.

    научная работа [871,7 K], добавлен 08.06.2010

  • Формы представления моделей: модели материальные и модели информационные. Формализация текстовой информации, представление данных в табличной форме. Граф как совокупность точек, соединённых между собой линиями. Упорядочение информации в форме графа.

    реферат [2,5 M], добавлен 10.04.2010

  • Современные основы информационной технологии. Обоснование выбора и свойства иерархической модели данных. Описание программных модулей и порядок создания системы управления базой данных. Обеспечение хранения и предоставление по требованию информации.

    курсовая работа [1,4 M], добавлен 15.03.2009

  • Преимущества и недостатки иерархической модели данных. Целостная часть реляционной модели данных. Базовые требования целостности сущностей и по ссылкам. Ограничения целостности сущности и по ссылкам. Аксиомы Армстронга, аномалии обновления и их виды.

    контрольная работа [262,3 K], добавлен 05.02.2011

  • Характеристика сетевой модели данных и ее достоинства. Построение иерархической модель данных по принципу иерархического подчинения типов объектов, приведение ее к виду дерева введением избыточности. Реляционная модель, основанная на теории отношений.

    реферат [227,1 K], добавлен 28.11.2011

  • Эволюция концепций баз данных. Требования, которым должна удовлетворять организация базы данных. Модели представления данных. Язык SQL как стандартный язык баз данных. Архитектуры баз данных. Среда Delphi как средство для разработки СУБД.

    дипломная работа [278,9 K], добавлен 26.11.2004

  • Понятие и критерии классификации баз данных. Характеристика совокупностей элементов данных: массив, дерево, запись. Компоненты любой модели данных. Способы размещения значений элементов в физической записи. Методы доступа к данным: дерево, хеширование.

    реферат [84,7 K], добавлен 22.11.2010

  • Классификация баз данных. Выбор системы управления базами данных для создания базы данных в сети. Быстрый доступ и получение конкретной информации по функциям. Распределение функций при работе с базой данных. Основные особенности иерархической модели.

    отчет по практике [1,2 M], добавлен 08.10.2014

  • Понятие базы данных, её структура. Общие принципы хранения информации. Краткая характеристика особенностей иерархической, сетевой и реляционной модели организации данных. Structured Query Language: понятие, состав. Составление таблиц в Microsoft Access.

    лекция [202,8 K], добавлен 25.06.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.