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

Автор: Ольга Благовестова, 22 Сентября 2010 в 00:01, курсовая работа

Описание работы

Термин «модель данных» был введен американским математиком Коддом в 1970 г. при обосновании реляционной модели данных. Это понятие соответствует такому смысловому аспекту термина «модель», который понимается как средство, инструмент для моделирования.
В этом широком смысле любая система машинных команд, любой язык программирования, любая СУБД как инструмент для моделирования информации о предметной области, является моделью данных, так как предоставляет свои средства для описания, организации данных и их обработки.
В ГОСТе понятие модели данных для СУБД определяется как «совокупность правил порождения структур данных в базах данных, операций над ними, а также ограничений целостности, определяющих допустимые связи и значения данных, последовательности их изменения».
Таким образом, в понятие «модель данных» входят три составляющие:
средства для организации данных;
операции для обработки, манипулирования данными;
ограничения, обеспечивающие целостность данных.

Содержание

Введение 3
Базы и модели данных
1.1. Данные и компьютер 5
1.2. Базы данных 7
1.3. Объекты базы данных 9
1.4. Концепция баз данных 11
2. Иерархическая модель данных
2.1. Иерархическая модель данных 14
2.2. Сегмент иерархической модели данных 16
2.3. Сравнение сетевой и иерархической модели данных 20
2.4. Язык описания данных иерархической модели 22
2.5. Пример иерархической БД 24
Заключение 29
Список сокращений 31
Глоссарий 32
Список использованных источников 35
Приложение 1 Список основных команд операций 37
Приложение 2 Уровни моделей данных 38

Работа содержит 1 файл

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

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

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

     Это специальные объекты баз данных, реализованных в последней версии СУБД  Microsoft Access (Access 2000). Правда, более корректно их называть страницами доступа к данным. Физически это особый объект, выполненный в коде HTML, размещаемый на Web-странице и передаваемый клиенту вместе с ней. Сам по себе этот объект не является базой данной, но содержит компоненты, через которые осуществляется связь переданной Web-страницы с базой данных, остающейся на сервере. Пользуясь этими компонентами, посетитель Web-узла может просматривать записи базы в полях страницы доступа. Таким образом, страницы доступа к данным осуществляют интерфейс между клиентом, сервером и базой данных, размещенной на сервере. Эта база данных не обязательно должна быть базой данных Microsoft Access. Страницы доступа, созданные средствами Microsoft Access, позволяют работать также с базами данных Microsoft SQL Server.

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      

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

 

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

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

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

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

 

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

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

     Иерархическая модель данных имеет много общих  черт с сетевой моделью данных, хронологически она появилась даже раньше, чем сетевая. Допустимыми информационными конструкциями в иерархической модели данных являются отношение, веерное отношение и иерархическая база данных. В отличие от ранее рассмотренных моделей данных, где предполагалось, что информационным отображением одной предметной области является одна база данных, в иерархической модели данных, допускается отображение одной предметной области в несколько иерархических баз данных. [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 экземпляра иерархического дерева соответствующей структуры.

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