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

Автор: Пользователь скрыл имя, 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 Кб (Скачать)

     Эти категории объектов предназначены  как для автоматизации повторяющихся  операций при работе с СУБД, так  и для создания новых функций  путем программирования. В СУБД Microsoft Access макросы состоят из последовательности внутренних команд СУБД и являются одним из средств автоматизации работы с базой. Модули создаются средствами внешнего языка программирования, в данном случае языка Visual Basic for Applications. Это одно из средств, с помощью которых разработчик базы может заложить в нее нестандартные функциональные возможности, удовлетворить специфическое требование заказчика, повысить быстродействие системы управления, а также уровень ее защищенности. [4]

 

      1.4. Концепция баз данных

 

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

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

      Пусть, например, требуется хранить расписание движения самолетов и ряд других данных, связанных с организацией работы аэропорта (БД "Аэропорт"). Используя для этого одну из современных "русифицированных" СУБД, можно подготовить следующее описание расписания: [2]

      СОЗДАТЬ ТАБЛИЦУ Расписание

        Номер_рейса        Целое

         Дни_недели         Текст (8)

         Пункт_отправления  Текст (24)

         Время_вылета       Время

         Пункт_назначения   Текст (24)

         Время_прибытия     Время

         Тип_самолета       Текст  (8)

         Стоимость_билета   Валюта;

      и ввести его вместе с данными в БД "Аэропорт".

      Язык  запросов СУБД позволяет обращаться за данными, как из программ, так  и с терминалов (рис. 1.1). Сформировав запрос

      ВЫБРАТЬ  Номер_рейса, Дни_недели, Время_вылета

      ИЗ  ТАБЛИЦЫ  Расписание

      ГДЕ  Пункт_отправления = 'Москва'

        И  Пункт_назначения  = 'Киев'

        И  Время_вылета > 17;

      получим расписание "Москва-Киев" на вечернее время, а по запросу 

      ВЫБРАТЬ  КОЛИЧЕСТВО (Номер_рейса)

      ИЗ  ТАБЛИЦЫ  Расписание

      ГДЕ  Пункт_отправления = 'Москва'

        И  Пункт_назначения  = 'Минск';

      получим количество рейсов "Москва-Минск".  

      

      Рис. 1.1 Связь программ и данных при использовании СУБД

 

       Эти запросы не потеряют актуальности и при расширении таблицы:

          ДОБАВИТЬ  В ТАБЛИЦУ Расписание

          Длительность_полета  Целое;

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

 

2. ИЕРАРХИЧЕСКАЯ  МОДЕЛЬ ДАННЫХ

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

 

     Иерархическая модель данных имеет много общих  черт с сетевой моделью данных, хронологически она появилась даже раньше, чем сетевая. На ее основе в конце 60-х-начале 70-х годов были разработаны первые профессиональные СУБД - СУБД IMS (Information Management System) фирмы IBM, СУБД Total для компьютеров НР3000. К иерархическим СУБД также относятся отечественные промышленные СУБД 70-80-х годов «ОКА» и «ИНЭС». Появление иерархической модели связано с тем, что в реальном мире очень многие связи соответствуют иерархии, когда один объект выступает как родительский, а с ним может быть связано множество подчиненных объектов. Иерархия проста и естественна в отображении взаимосвязи между классами объектов. Допустимыми информационными конструкциями в иерархической модели данных являются отношение, веерное отношение и иерархическая база данных. В отличие от ранее рассмотренных моделей данных, где предполагалось, что информационным отображением одной предметной области является одна база данных, в иерархической модели данных, допускается отображение одной предметной области в несколько иерархических баз данных. [12]

     Понятия отношения и веерного отношения  в иерархической модели данных не изменяются.

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

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

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

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

Рис. 2.1 Пример структуры иерархической базы данных 

     В графических иллюстрациях структуры  приводятся ключи соответствующих  отношений. [5]

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

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

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

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

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

 

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

 

     Сегмент в терминологии Американской Ассоциации по базам данных DBTG (Data Base Task Group) называется записью, при этом в рамках иерархической модели определяются два понятия: тип сегмента или тип записи и экземпляр сегмента или экземпляр записи (рис. 2.2).  
 

     

     Рис. 2.2 Пример иерархических связей между сегментами
 

     Тип сегментаэто поименованная совокупность типов элементов данных, в него входящих. Экземпляр сегмента образуется из конкретных значений полей или элементов данных, в него входящих. Каждый тип сегмента в рамках иерархической модели образует некоторый набор однородных записей. Для возможности различия отдельных записей в данном наборе каждый тип сегмента должен иметь ключ или набор ключевых атрибутов (полей, элементов данных). Ключом называется набор элементов данных, однозначно идентифицирующих экземпляр сегмента. Например, рассматривая тип сегмента, описывающий сотрудника организации, мы должны выделить те характеристики сотрудника, которые могут его однозначно идентифицировать в рамках БД предприятия. Если предположить, что на предприятии могут работать однофамильцы, то, вероятно, наиболее надежным будет идентифицировать сотрудника по его табельному номеру. Однако если мы будем строить БД, содержащую описание множества граждан, например нашей страны, то, скорее всего, нам придется в качестве ключа выбрать совокупность полей, отражающих его паспортные данные. [10]

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

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

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

   Очень важно понимать различие между сегментом и типом сегмента — оно такое же, как между типом переменной и самой переменной: сегмент является экземпляром типа сегмента. Например, у нас может быть тип сегмента Группа (Номер, Староста) и сегменты этого типа, такие как (4305, Петров Ф. И.) пли (383, Кустова Т. С.).

     Между экземплярами сегментов также существуют иерархические связи. Рассмотрим иерархический граф представленный на рис. 2.3

Рис. 2.3 Пример структуры иерархического дерева

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

Рис. 2.4 Пример двух экземпляров данного дерева 

     На  рис. 2.4 представлены 2 экземпляра иерархического дерева соответствующей структуры.

     Экземпляры-потомки  одного типа, связанные с одним  Экземпляром сегмента-предка, называют «близнецами». Так, для нашего примера экземпляры b1, b2 и b3 являются «близнецами», но экземпляр b4 подчинен другому экземпляру родительского сегмента, и он не является «близнецом» по отношению к экземплярам b1, b2 и b3. Набор всех экземпляров сегментов, подчиненных одному экземпляру корневого сегмента, называется физической записью. Количество экземпляров-потомков может быть разным для разных экземпляров родительских сегментов, поэтому в общем случае физические записи имеют разную длину. Так, используя принцип линейной записи иерархических графов, можно представив в виде двух записей:

     Таблица 1

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