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

Автор: Пользователь скрыл имя, 01 Декабря 2011 в 17:56, курсовая работа

Краткое описание

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

Оглавление

ВВЕДЕНИЕ………………………………………………………………………..3
БАЗЫ И МОДЕЛИ ДАННЫХ…………………………………………….5
1.1. Данные и компьютер…………………………………………………..5
1.2. Базы данных……………………………………………………………7
1.3. Объекты базы данных…………………………………………………9
1.4. Концепция баз данных……………………………………………….11
2. ИЕРАРХИЧЕСКАЯ МОДЕЛЬ ДАННЫХ……………………………….14
2.1. Иерархическая модель данных……………………………………...14
2.2. Сегмент иерархической модели данных……………………………17
2.3. Сравнение сетевой и иерархической модели данных………....…...20
2.4. Пример иерархической БД…………………………………………..22
ЗАКЛЮЧЕНИЕ………………………………………………………………….27
СПИСОК СОКРАЩЕНИЙ……………………………………………………...29
БИБЛИОГРАФИЧЕСКИЙ СПИСОК……………

Файлы: 1 файл

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

— 610.50 Кб (Скачать)

     Принцип линейной записи иерархических графов

     Как видно из примера, физические записи в иерархической модели различаются  по длине и структуре.

     2.3. Сравнение иерархической и сетевой модели данных

 

     Стандарт  сетевой модели впервые был определен  в 1975 году организацией CODASYL (Conference of Data System Languages), которая определила базовые понятия модели и формальный язык описания. Сетевая модель описывает элементарные данные и отношения между  ними  в виде ориентированной сети. Это такие отношения между объектами, когда каждый порожденный элемент имеет более одного исходного и может быть связан с любым другим элементом структуры.

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

     Для сетевых моделей стоит выделить следующие проблемы:

   1. Сетевые модели не имеют общей  теории.

   2. Много эвристики.

   3. Проблема эффективности процедур  работы с сетями.

   4. Много видов сетей, в том  числе рассчитанных на аппаратную  реализацию.

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

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

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

     Отличительные особенности иерархической и  сетевой моделей: основной единицей обработки в них является запись; в иерархической модели данные организованы в иерархические структуры и обработка начинается только с корневой записи, а доступ к не корневым обеспечивается только по иерархическому пути; в сетевой модели данных обработка может быть начата с записи любого типа независимо от её расположения в БД, и от извлеченной записи возможны переходы, как к её подчиненным записям, так и к тем, которым она подчинена; при отображении сетевых структур предметной области в иерархической БД необходимо дублирование данных, при этом семантическая целостность автоматически не поддерживается.

     2.4. Пример иерархической БД

 

     Организация занимается производством и продажей компьютеров, в рамках производства, организация комплектует компьютеры из готовых деталей по индивидуальным заказам. У организации существует несколько базовых моделей, которые продаются без предварительных заказов по наличию на складе. В организации существуют несколько филиалов (рис. 2.5) и несколько складов, на которых хранятся комплектующие. Задание: необходимо вести учет продаваемой продукции. [8]

Рис. 2.5 Физическая БД «Филиалы»

     Примерные задачи, которые надо решить в ходе разработки приложения.

  • При приеме заказа мы должны выяснить, какую модель заказывает заказчик: типичную или индивидуальную комплектацию.
  • Если заказывается типичная модель, то выясняется, какая модель и есть ли она в наличии, если модель есть, то надо уменьшить количество компьютеров данной модели в данном филиале на покупаемое количество. На этом будем считать заказ выполненным, однако при оформлении заказа может потребоваться задание полной спецификации покупаемого изделия.
  • Если заказывается индивидуальная модель, то требуется описать весь состав новой модели.

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

  Рис. 2.6. Физическая модель «Склады» 

Перечень  операторов поиска данных:

Синтаксис:

     GET UNIQUE <имя сегмента> WHERE <список  поиска>

     Список  поиска состоит из последовательности условий вида <имя сегмента>.<имя поля>ОС <constant или имя другого поля данного сегмента или имя переменной>; ОС — операция сравнения; условия могут быть соединены логическими операциями И и ИЛИ {& , V}.

Назначение:

     Получить  единственное значение.

Пример:

     Найти типовую модель стоимостью не более $600, которая существует не менее чем в 10 экземплярах.

     GET UNIQUE ТИПОВЫЕ МОДЕЛИ WHERE Типовые модели. Стоимость <= $600 AND Типовые модели. Количество на складе >= 10

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

Синтаксис:

GET NEXT <имя сегмента> WHERE «список аргументов поиска>

Назначение:

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

Пример:

     Напечатать  полный список заказов стоимостью не менее $500.

GET UNIQUE ИНДИВИДУАЛЬНЫЕ МОДЕЛИ WHERE Индивидуальные модели.Стоимость >= $500 WHILE NOT FAIL (пока не конец поиска) DO

     PRINT N заказа, Стоимость, Количество

     GET NEXT ИНДИВИДУАЛЬНЫЕ МОДЕЛИ

END

Синтаксис:

     GET NEXT <имя сегмента> WITHIN PARENT [ where <дополнительные.условия>]

Назначение:

     Получить  следующее для того же исходного.

Пример:

     Получить  перечень винчестеров, имеющихся на складе номер 1, в количестве не менее 10 с объемом 10 Гбайт.

GET UNIQUE СКЛАД WHERE Склад.Номер = 1

GET NEXT ИЗДЕЛИЕ WITHIN PARENT WHCRE Изделие’.Наименование * “Винчестер”

GET NEXT ХАРАКТЕРИСТИКИ WITHIN’PARENT

WHERE ХАРАКТЕРИСТИКИ.Параметр = 10 AND

ХАРАКТЕРИСТИКИ.Единицы  Измерения = ГБ AND

ХАРАКТЕРИСТИКИ.Величина > 10

While Not Fall (пока поиск не завершен) DO

Get Next Wuh-in Parent

End.

     Перечень  операторов поиска данных с возможностью модификации:

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

Синтаксис:

     GET HOLD UNIQUE <имя сегмента> WHERE <список поиска>

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

Синтаксис:

     GET HOLD NEXT [WHERE <дополнительные условия>]

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

Синтаксис:

     GET HOLD NEXT WITHIN PARENT [where <дополнительные.условия>]

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

 

ЗАКЛЮЧЕНИЕ

 

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

     Из  выше написанного следует вывод:

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

     В связи с тем, что иерархическая  модель обладает большим количеством  недостатков, она не будет применяться для моделирования АСИС.

     Также следует отметить принципы иерархии:

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

 

СПИСОК СОКРАЩЕНИЙ

 

     АСИС - Автоматическая справочно-информационная служба.

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

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

     ОСД - описание структуры данных.

     СМД - сетевая модель  данных.

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

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

 

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

 
  1. Аладьев В.В., Хунт Ю.Я., Шишаков М.Л. «Основы информатики», Учебное пособие, М., 2000 г.
  2. Бойко В.В., Савинков В.М., «Проектирование баз данных информационных систем», М., Финансы и статистика, 2000 г.
  3. Дэвис У., «Операционные системы», М., Мир, 2000 г.
  4. Дейт К., «Введение в системы баз данных», М., Наука, 2001 г.
  5. Дейт К., «Руководство по иерархической СУБД», М., Финансы и статистика, 2003 г.
  6. Дубнов П.Ю. «Access 2000: Проектирование баз данных», М., ДМК : Лайт, 2000 г.
  7. Ездов А.А., «Лабораторные работы по физике с использованием компьютерной модели», Информатика и образование, 2002 г.
  8. Ермаков М.Г., Андреева Л.Е., «Вопросы разработки тестирующих программ», Информатика и образование, 2001 г.
  9. Жуков А. А, Федякина Л.А “Система контроля знаний TSTST”, Информатика и образование, 2001 г.
  10. Карпова Т. С. «Базы данных: модели, разработка, реализация», СПб.: Питер, 2001.
  11. Кодд Дж., «Базы данных», Москва. Мир. 2000 г.
  12. Макашарипов С., Горев А., Ахаян Р., «Эффективная работа с СУБД» СПб, Питер , 2000 г.
  13.  
  14. Мейер Д., «Теория иерархических баз данных», М., Мир, 2000 г.
  15. Хилайер С., Мизик Д. «Программирование» /Пер. с англ., 3-е изд., доп.- М. : Изд.-торговый дом "Рус. ред.", 2000 г.
  16. Цикритизис Д., Лоховски Ф., «Модели данных», М., Финансы и статистика, 2000 г.
  17. Шнитман В., Серверы баз данных: проблемы оценки конфигурации системы. СУБД №5-6/02, 2001 г.

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