Способы организации баз данных иерархический сетевой реляционный

Типы моделей баз данных (иерархическая, сетевая, реляционная)

Иерархическая модель данных — это модель данных, где используется представление базы данных в виде древовидной (иерархической) структуры, состоящей из объектов (данных) различных уровней.

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

Базы данных с иерархической моделью одни из самых старых, и стали первыми системами управления базами данных для мейнфреймов. Разрабатывались в 1950-х и 1960-х, например, Information Management System (IMS) [1] фирмы IBM.

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

В этой модели запрос, направленный вниз по иерархии, прост (например, какие заказы принадлежат этому покупателю); однако запрос, направленный вверх по иерархии, более сложен (например, какой покупатель поместил этот заказ). Также, трудно представить не-иерархические данные при использовании этой модели.

Иерархической базой данных является файловая система, состоящая из корневого каталога, в котором имеется иерархия подкаталогов и файлов.

Структурная часть иерархической модели

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

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

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

Управляющая часть иерархической модели

В рамках иерархической модели выделяют языковые средства описания данных (ЯОД) и средства манипулирования данными (ЯМД). Каждая физическая база описывается набором операторов, обусловливающих как её логическую структуру, так и структуру хранения БД. При этом способ доступа устанавливает способ организации взаимосвязи физических записей.

Определены следующие способы доступа:

  • иерархически последовательный;
  • иерархически индексно-последовательный;
  • иерархически прямой;
  • иерархически индексно-прямой;
  • индексный.

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

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

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

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

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

  • найти и удержать для дальнейшей модификации единственный экземпляр сегмента, удовлетворяющий условию поиска;
  • найти и удержать для дальнейшей модификации следующий экземпляр сегмента с теми же условиями поиска;
  • найти и удержать для дальнейшей модификации следующий экземпляр для того же родителя.

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

  • вставить новый экземпляр сегмента в указанную позицию;
  • обновить текущий экземпляр сегмента;
  • удалить текущий экземпляр сегмента.

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

Известные иерархические СУБД[править | править вики-текст]

Примерами баз данных с иерархической моделью являются [2] :

  • Типичным представителем (наиболее известным и распространенным) является Information Management System (IMS) [1] фирмы IBM (1966-1968 г.).
  • Time-Shared Date Management System (TDMS) [3] компании System Development Corporation;
  • Mark IV MultiAccess Retrieval System компании Control Data Corporation;
  • System 2000 разработки SAS Institute [1] ;
  • InterSystems Caché [4] .

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

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

Сетевая БД состоит из набора экземпляров определенного типа записи и набора экземпляров определенного типа связей между этими записями.

Тип связи определяется для двух типов записи: предка и потомка. Экземпляр типа связи состоит из одного экземпляра типа записи предка и упорядоченного набора экземпляров типа записи потомка. Для данного типа связи L с типом записи предка P и типом записи потомка C должны выполняться следующие два условия:

  • каждый экземпляр типа записи P является предком только в одном экземпляре типа связи L;
  • каждый экземпляр типа записи C является потомком не более чем в одном экземпляре типа связи L.

Сетевая СУБД — СУБД, построенная на основе сетевой модели данных.

К основным понятиям сетевой модели базы данных относятся: уровень, элемент (узел), связь.

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

Сетевые базы данных подобны иерархическим, за исключением того, что в них имеются указатели в обоих направлениях, которые соединяют родственную информацию.

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

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

Реляционная система управления базами данных (РСУБД), реже — система управления реляционными базами данных (СУРБД) — СУБД, управляющая реляционными базами данных

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

Отношения обладают следующими свойствами:

· каждый элемент таблицы – один элемент данных;

· каждый кортеж таблицы – данные об одном экземпляре объекта предметной области, например, в таблице «Сотрудники» строка сведений о конкретном сотруднике;

Читайте также:  Как уберечь машину от угона все способы

· все элементы поля имеют одинаковый тип и длину, определёны на одном домене;

· каждое поле имеет уникальное имя;

· одинаковые строки в таблице отсутствуют;

· порядок следования строк и столбцов может быть произвольным.

Для приведения отношения ко второй нормальной форме следует разбить его на проекции, при этом должно быть соблюдено условие восстановления исходного отношения без потерь. Такими проекциями могут быть два отношения Должности и Оклады (таблицы 2 – 3)

Хранилища и витрины данных

Храни́лище да́нных (англ. Data Warehouse) — предметно-ориентированная информационная база данных, специально разработанная и предназначенная для подготовки отчётов и бизнес-анализа с целью поддержки принятия решений в организации. Строится на базе систем управления базами данных и систем поддержки принятия решений. Данные, поступающие в хранилище данных, как правило, доступны только для чтения.

Данные из OLTP-системы (OLTP (англ. Online Transaction Processing), транзакционная система — обработка транзакций в реальном времени. Способ организации БД, при котором система работает с небольшими по размерам транзакциями, но идущими большим потоком, и при этом клиенту требуется от системы минимальное время отклика.) копируются в хранилище данных таким образом, чтобы при построении отчётов и OLAP-анализе не использовались ресурсы транзакционной системы и не нарушалась её стабильность. Есть два варианта обновления данных в хранилище:

  • полное обновление данных в хранилище. Сначала старые данные удаляются, потом происходит загрузка новых данных. Процесс происходит с определённой периодичностью, при этом актуальность данных может несколько отставать от OLTP-системы;
  • инкрементальное обновление — обновляются только те данные, которые изменились в OLTP-системе.

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰).

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого.

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

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

Источник

Иерархические, сетевые и реляционные модели данных.

Дата добавления: 2013-12-23 ; просмотров: 25827 ; Нарушение авторских прав

Базы данных.

Лекция №12.

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

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

По моделям представления, базы данных делятся на:

Иерархические базы данных – это самая первая модель представления данных, в которой все записи базы данных представлены в виде дерева, с соотношением предок-потомок (рис. 30).

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

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

Рис. 30. Иерархическая база данных.

Однако иерархическая модель не является оптимальной. Допустим, что один и тот же тип болтов используется в автомобиле 300 раз в различных узлах. При использовании иерархической модели, данный тип болтов будет фигурировать в базе данных 1 раз, а 300 раз (в каждом узле — отдельно). В данном случае, будет прослеживаться дублирование информации. Чтобы устранить этот недостаток была введена сетевая модель представления данных.

Читайте также:  Способы финансирования бюджетных расходов

Сетевая база данных – это база данных, в которой одна запись может участвовать в нескольких отношениях предок-потомок (рис. 31). Т.е. фактически, база данных представляет собой не дерево, а граф.

Рис. 31. Сетевая база данных.

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

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

В реляционной базе данных вся информации представляется в виде таблиц, и любые операции над данными – это операции над таблицами. Таблицы строят из строк и столбцов. Строки – это записи, а столбцы представляют собой структуру записи (каждый столбец имеет определенный тип данных и длину данных). Строки в таблице не упорядочены – не существует первой или десятой строки. Однако поскольку на строки необходимо как-то ссылаться, то вводится понятие «первичный ключ».

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

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

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

Так, например, на рис. 32 столбец «Ответственный» таблицы «Мероприятия» является внешним ключом для таблицы «Сотрудники» (первичный ключ – столбец «Фамилия»).

Рис. 32. Отношения предок-потомок в реляционных базах данных.

Важным моментом является также использование значения NULL в таблицах реляционной базе данных. NULL – это отсутствующее значение, отсутствие информации по данной позиции. Не допускается использование 0 или пробела вместо NULL: понятно, что «нулевой» объем продаж – это не тоже самое, что «неизвестный» объем продаж. По этой же причине, ни одно значение NULL не равно другому значению NULL. В реляционной базе данных, при запросах, группировке, сравнениях, и т.д., значения NULL обрабатываются особым образом.

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

Источник

Оцените статью
Разные способы