Иерархические модели данных. 4
Содержание
Введение
Исторически сложившееся развитие вычислительных систем обусловило необходимость хранения в электронном (машиночитаемом) виде все большего количества информации. Одновременно с совершенствованием и дальнейшим развитием вычислительных систем росли объемы информации, подлежащей обработке и хранению. Сложности, возникшие при решении на практике задач структурированного хранения и эффективной обработки возрастающих объемов информации, стимулировали исследования в соответствующих областях. Задачи хранения и обработки данных были формализованы. Была создана теоретическая база для решения задач такого класса, результатом реализации на практике, которой стали системы, предназначенные для организации обработки, хранения и предоставления доступа к информации. Позже такие системы стали называть системами баз данных.
Одновременно
с развитием систем баз данных,
происходило интенсивное
По мере развития систем баз данных, менялись принципы организации данных в них: первоначально данные представлялись на основе иерархической, а в последствие сетевой модели. В конце 1970-х – начале 1980-х годов начали появляться первые реляционные продукты.
Различия между этими классами моделей постепенно стираются, причем, видимо, будут появляться другие классы, что вызывается, прежде всего, интенсивными работами в области баз знаний (БЗ) и объектно-ориентированной инфотехнологией. Каждая из указанных моделей обладает характеристиками, делающими ее наиболее удобной для конкретных приложений.
Целью данной курсовой работы является описание иерархической модели данных.
Передо мной были поставлены следующие задачи:
–дать обзор современному состоянию теории баз данных, основным моделям СУБД, применяемым в ПК;
–изучить принципы функционирования и основные возможности иерархической модели данных;
–рассмотреть язык описания и манипулирования данными в иерархической модели данных.
При
написании курсовой работы был произведен
комплексный анализ. Основными методами
в работе явились методы описания,
историко-функциональный и сравнительно-
Основная часть
1. База данных и модели данных
1.1. Задание
Задание на курсовую работу по дисциплине «Базы данных».
Студент: Козориз Александр Николаевич.
Направление: Информатика и вычислительная техника.
№ контракта: 05400100601004
Тема:
Иерархические модели данных.
Задание выдано:
(число) (подпись)
1.2. Определение данных и моделей данных
Похоже, всякая попытка дать четкое определение термина «данные» не лишена тавтологичности. Рассмотрим несколько таких определений:
Данные – это факты, характеризующие свойства объектов и явлений из некоторой предметной области. Но что такое факты, как не разнообразные данные?
Данные – это информация, предназначенная к обработке. А информация, в свою очередь – это знания о фактических данных. Данные – это сведения, полученные путем измерения, наблюдения и т.п.
Данные, хранящиеся в памяти ЭВМ, представляют собой совокупность нулей и единиц (битов). Биты объединяются в последовательности: байты, слова и т.д. Каждому участку оперативной памяти, который может вместить один байт или слово, присваивается порядковый номер (адрес).
Какой смысл заключен в данных, какими символами они выражены - буквенными или цифровыми, что означает то или иное число - все это определяется программой обработки. Все данные необходимые для решения практических задач подразделяются на несколько типов, причем понятие тип связывается не только с представлением данных в адресном пространстве, но и со способом их обработки.
Любые данные могут быть отнесены к одному из двух типов: основному (простому), форма представления которого определяется архитектурой ЭВМ, или сложному, конструируемому пользователем для решения конкретных задач.
Данные простого типа это - символы, числа и т.п. элементы, дальнейшее дробление которых не имеет смысла. Из элементарных данных формируются структуры (сложные типы) данных.
Некоторые структуры:
Массив (функция с конечной областью определения) - простая совокупность элементов данных одного типа, средство оперирования группой данных одного типа. Отдельный элемент массива задается индексом. Массив может быть одномерным, двумерным и т.д. Разновидностями одномерных массивов переменной длины являются структуры типа кольцо, стек, очередь и двухсторонняя очередь.
Запись
(декартово произведение) - совокупность
элементов данных разного типа. В простейшем
случае запись содержит постоянное количество
элементов, которые называют полями. Совокупность
записей одинаковой структуры называется
файлом. (Файлом называют также набор данных
во внешней памяти, например, на магнитном
диске). Для того, чтобы иметь возможность
извлекать из файла отдельные записи,
каждой записи присваивают уникальное
имя или номер, которое служит ее идентификатором
и располагается в отдельном поле. Этот
идентификатор называют ключом.
Рисунок
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 - Пример сетевой организации данных
И сетевые и иерархические структуры можно свести к простым двумерным таблицам.
Наиболее
удобным и для пользователя, и
для компьютера является представление
данных в виде двумерной таблицы
– подавляющее большинство
1.4 Объекты базы данных
Microsoft Access (MS Access)
- одна из наиболее популярных
СУБД. Данная СУБД входит в
широко распространенный
В приложении А показана структура и взаимосвязи основных элементов СУБД MS Access.
Кратко охарактеризуем основные структурные элементы, приведенные на схеме.
Таблица является основным элементом всякой реляционной базы данных, в том числе и СУБД MS Access. Эти объекты предназначены для хранения данных.
Запросы служат источниками для построения других запросов, форм и отчетов. Запросы позволяют изменять и анализировать данные. Наиболее распространенный тип запроса - запрос на выборку - представляет собой набор правил, по которым отбираются данные из одной или нескольких связанных таблиц. Результаты выполнения запроса на выборку представляются в виде таблицы.
Формы - основное средство обработки, анализа и преобразования данных. Формы используются для:
-ввода данных в таблицу;
-отображения отобранных данных в заданном виде на экране и при выводе на печать;
-в
качестве панели управления
-в качестве окна диалога.
Источниками данных для форм служат: таблицы; запросы; данные, заложенные в макете формы. По внешнему виду формы делятся на табличные, ленточные, простые. В простой форме видны поля, относящиеся только к одной записи. Табличная и ленточная формы выводят сразу несколько записей. Ленточная форма обладает более разнообразными возможностями отображения данных по сравнению с табличной.
Отчеты - это средство для организации вывода данных на печать. С помощью отчета имеется возможность вывести необходимые сведения в нужном виде. Возможен предварительный просмотр отчета перед выводом на печать. Источниками данных для отчетов служат таблицы, запросы, данные, заложенные в макет. Основные элементы управления отчетом такие же, что и у формы.
Макросы
- это набор стандартных
Макросы имеют имена и вызываются к выполнению при наступлении событий. Например, макрос Autoexec - это набор инструкций, обрабатываемый при открытии базы данных.
Макросы являются простым и эффективным способом автоматизации приложения.
Модули - это объекты, содержащие программы, написанные на языке Visual Basic for Applications (VBA). Модули позволяют разбить некоторый процесс на несколько небольших процедур и найти ошибки, которые нельзя было бы найти при использовании макросов.
В MS Access встречаются два вида модулей: 1) независимые объекты, содержащие функции, вызываемые из любого места приложения; 2) непосредственно “привязанные” к отдельным формам или объектам для реакции на те или иные происходящие в них изменения (события).
Модули,
в отличие от макросов, применяются
при разработке более сложных
приложений.
2. Иерархическая модель данных
2.1 Понятие и структура иерархической модели
Иерархическая
структура представляет совокупность
элементов, связанных между собой
по определённым правилам. Объекты, связанные
иерархическими отношениями, образуют
ориентированный граф (перевёрнутое
дерево), вид которого представлен
на рисунке 2.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): предприятие состоит из отделов, в которых работают сотрудники. В каждом отделе может работать несколько сотрудников, но сотрудник не может работать более чем в одном отделе.
Поэтому, для информационной системы управления персоналом необходимо создать групповое отношение, состоящее из родительской записи ОТДЕЛ (НАИМЕНОВАНИЕ_ОТДЕЛА, ЧИСЛО_РАБОТНИКОВ) и дочерней записи СОТРУДНИК (ФАМИЛИЯ, ДОЛЖНОСТЬ, ОКЛАД). Это отношение показано на рис. (а) (Для простоты полагается, что имеются только две дочерние записи).
Для
автоматизации учета контрактов
с заказчиками необходимо создание
еще одной иерархической
Рисунок
2.3 - Пример иерархической структуры
бах данных
Из этого примера видны недостатки иерархических БД:
Частично дублируется информация между записями СОТРУДНИК и ИСПОЛНИТЕЛЬ (такие записи называют парными), причем в иерархической модели данных не предусмотрена поддержка соответствия между парными записями.
Иерархическая
модель реализует отношение между
исходной и дочерней записью по схеме
1:N, то есть одной родительской записи
может соответствовать любое
число дочерних. Допустим теперь, что
исполнитель может принимать участие
более чем в одном контракте, т.е. возникает
связь типа M:N. В этом случае в базу данных
необходимо ввести еще одно групповое
отношение, в котором ИСПОЛНИТЕЛЬ будет
являться исходной записью, а КОНТРАКТ
- дочерней (рис. (c)). Таким образом, мы опять
вынуждены дублировать информацию.

- Иерархические модели данных
- Иерархические структуры управления
- Иерархия использования информационной логистической системы
- Иерархия источников права России
- Иерархия материальных систем
- Иерархия нормативных правовых актов в Российской Федерации
- Иерархия нормативных правовых актов РФ
- Иерархическая модель данных
- Иерархическая модель данных. Предметная область «Склад продовольственных товаров»
- Иерархическая пирамида власти
- Иерархическая структура налоговых органов России
- Иерархические базы данных
- Иерархические модели данных
- Иерархические модели данных