Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по БД на транспорте ТИМ.doc
Скачиваний:
19
Добавлен:
25.12.2018
Размер:
2.63 Mб
Скачать
      1. Модели данных логического уровня

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

Рис. 2.7. Сокращенная ER-модель атрибутивных данных ИТС

В литературе предложено и опубликовано достаточно много моделей данных. Они подразделяются на модели данных на основе записей (record-basedобъектные (object-based) и используются для описания данных на концептуальном уровне [Дейт К. Дж. Введение в системы баз данных].

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

В модели данных на основе записей база данных содержит записи фиксированного формата, которые могут иметь разные типы. Существует три основных типа логических моделей данных на основе записей: сетевая модель данных (network data model), иерархическая модель данных (hierarchical data model) и реляционная модель данных (relational data model).

Сетевая модель данных

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

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

Любая сетевая структура может быть приведена к более простому виду путем введения избыточности. Например, сеть может быть преобразована в дерево, если указать некоторые имена дважды.

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

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

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

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

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

Иерархические структуры реализуют отображения 1:1 и 1:М, однако, представление связи M:N имеет избыточность, т. к. возникает дублирование информации.

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

Рис. 2.8. Иерархическая модель БД

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

Недостатками являются избыточность при реализации связей типа M:N и проблемы, возникающие при манипулировании данными: удаление узла-предка регламентирует удаление всех узлов-потомков, невозможно хранить порожденный узел без исходного - нужен пустой исходный узел [Автоматизация проектирования вычислительных систем. Языки, моделирование и базы данных // Под ред. М. Брейера].

Реляционная модель данных

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

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

Элементами отношения являются кортежи – строки таблицы. Кортежи могут располагаться в любом порядке, при этом отношение будет оставаться тем же самым и иметь тот же смысл.

Степень отношения определяется количеством атрибутов, которое оно содержит. Унарное отношение имеет степень 1 и содержит один атрибут. Отношение с двумя атрибутами – бинарное, для отношений с большим количеством атрибутов используется термин n-арное.

Список имен атрибутов отношения называют схемой отношения. Схема отношения «Транспортное_Средство» представлена в табл. 1.

Таблица 1.

Схема отношения «Транспортное_Средство»

Государственный_номер

Марка

Цвет

. . .

Х371ОО 63 rus

ВАЗ 21102

Серебристый

. . .

A001BC 77 rus

ГАЗ 21102

Синий

. . .

. . .

. . .

. . .

. . .

Реляционная база данных – это совокупность взаимосвязанных отношений. Каждое отношение в компьютере представляется в виде файла. В таблице 2 приведено соответствие понятий, используемых в реляционных моделях.

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

  • поле – наименьшая поименованная единица данных;

  • запись – поименованная совокупность полей;

  • файл – поименованная совокупность экземпляров записей одного типа;

  • набор файлов или библиотека – поименованная совокупность файлов, обладающая семантическим единством.

Таблица 2.

Соответствие понятий реляционных моделей

Машинная реализация

Наглядное представление

Реляционный алгоритм

Концептуальный уровень

Файл

Таблица

Отношение

Сущность

Запись

Строка

Кортеж

Экземпляр сущности

Файл

Столбец

Подмножество домена

Атрибут

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

Объектно-ориентированная модель данных

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

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

Объектно-ориентированная СУБД обладает возможностями:

  • предоставления функциональных средств базы данных;

  • поддержки идентичности объектов;

  • обеспечения инкапсуляции и наследования.

Таким образом, «объектно-ориентированный подход» = «абстрактные типы данных» + «наследование» + «идентичность объектов»; «объектно-ориентированная СУБД» = «объектно-ориентированный подход» + «возможности базы данных». Дополнительные требования, предъявляемые к объектно-ориентированным СУБД:

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

  • поддержка перманентности и сохранение неразрывности транзакций, обеспечиваемые механизмами управления параллельным выполнением и восстановлением;

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