Автор: Пользователь скрыл имя, 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
БИБЛИОГРАФИЧЕСКИЙ СПИСОК……………
Принцип линейной записи иерархических графов
Как видно из примера, физические записи в иерархической модели различаются по длине и структуре.
Стандарт сетевой модели впервые был определен в 1975 году организацией CODASYL (Conference of Data System Languages), которая определила базовые понятия модели и формальный язык описания. Сетевая модель описывает элементарные данные и отношения между ними в виде ориентированной сети. Это такие отношения между объектами, когда каждый порожденный элемент имеет более одного исходного и может быть связан с любым другим элементом структуры.
Сетевая модель данных (далее СМД) замышлялась как инструмент для пользователей баз данных - программистов. В связи с этим в СМД больше внимания уделяется структуризации данных, чем развитию ее операционных возможностей. [6]
Для сетевых моделей стоит выделить следующие проблемы:
1. Сетевые модели не имеют общей теории.
2. Много эвристики.
3.
Проблема эффективности
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. Операции в ИМД имеют аналогичный сетевой модели данных "позаписный" характер. Аппарат перемещения по структуре в графовых моделях служит для установки тех объектов данных, к которым будет применяться очередная операция манипулирования данными. Такие объекты называются текущими. Механизмы доступа к данным и перемещения по структуре данных в таких моделях достаточно сложны и существенным образом опираются на концепцию текущего состояния механизма доступа.
В связи с тем, что иерархическая модель обладает большим количеством недостатков, она не будет применяться для моделирования АСИС.
Также следует отметить принципы иерархии:
АСИС - Автоматическая справочно-информационная служба.
БД - база данных.
ИМД - иерархическая модель данных.
ОСД - описание структуры данных.
СМД - сетевая модель данных.
СУБД - система управления базами данных.
ФБД - физическая база данных.