Модель данных. Основные виды моделей. Сравнение моделей данных

 

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

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

Основой базы данных является модель данных. Различают модели данных трех типов:

• иерархическая;

• сетевая;

• реляционная.

Иерархической базой данных (рис. 10.1) называется множество отношений и веерных отношений, для которых соблюдаются два условия:

- существует единственное отношение, называемое корневым, которое не является зависимым ни в одном веерном отношении;

- все остальные отношения (за исключением корневого) являются зависимыми отношениями только в одном веерном отношении.

Для сетевой модели данных характерно ограничение в формулировке веерного отношения. Способ реализации этого ограничения не одинаков у различных сетевых СУБД. Сетевые базы данных (рис. 10.2) в зависимости от ограничений на вхождение отношений в веерные отношения разделяются на двухуровневые и многоуровневые сети.

 

 

 


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

 

Ограничение двухуровневых сетей состоит в том, что каждое отношение может существовать в одной из перечисленных ниже ролей:

§ вне каких-либо веерных отношений;

§ в качестве основного отношения в любом количестве веерных отношений;

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

Запрещается существование одного и того же отношения в качестве основного в одном контексте и одновременно в качестве зависимого в другом контексте.

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

 

 


Рис. 10.2. Сетевая модель данных.

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

- название таблицы и перечень названий граф соответствуют схеме отношений;

- строке таблицы соответствует кортеж отношения;

- все строки таблицы (и соответственно все кортежи) различны;

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

Реляционная база данных представляет собой множество отношений.

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

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

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

 

- условие вида:
<Имя_атрибута> <знак_сравнения> <Значение>.
Например
, "Цена" > 1000;

- условие вида:
<Имя атрибута><знак сравнения><Имя атрибута>
Например, "Цена" < "Себестоимость".

 

Имена атрибутов должны содержаться в структуре исходного отношения. Условия выборки и проекции могут присутствовать одновременно. Но атрибуты условия выборки должны включаться в условие проекции.

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

Объединение содержит строки, присутствующие в каком-либо из отношений (все строки одного и все строки другого отношения).

Пересечение содержит строки, присутствующие одновременно в обоих исходных отношениях.

Вычитание содержит строки, которые присутствуют в первом исходном отношении и отсутствуют во втором.

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

<Имя атрибута 1 > <знак сравнения> <Имя атрибута 2>,

где Имя атрибута 1 находится в одном исходном отношении, а Имя атрибута 2 - в другом.

Практически наиболее важный случай соединения называется натуральным соединением и имеет следующие особенности:

- знаком сравнения в условии соединения является "=";

- Имя атрибута 1 и Имя атрибута 2 должны совпадать;

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

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

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

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

Сравнение моделей данных

Достоинства реляционного подхода:

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

- теоретическое обоснование. Наличие теоретически обоснованных методов нормализации отношений и проверки ацикличности структуры позволяет получать базы данных с заданными характеристиками;

- независимость данных. Кода необходимо изменить структуру реляционной БД, это, как правило, приводит к минимальным изменениям в прикладных программах.

Недостатки реляционной модели:

- низкая скорость при выполнении операции соединения;

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

Достоинства иерархической модели данных:

- простота. Иерархический принцип соподчиненности понятий является естественным для многих экономических задач;

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

Недостатки иерархической модели:

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

- допустимость только навигационного принципа доступа к данным;

- доступ к данным производится только через корневое отношение.

Преимущества сетевой модели данных:

- универсальность. Выразительные возможности сетевой модели данных являются наиболее обширными в сравнении с остальными моделями;

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

Недостатки сетевой модели данных:

- сложность. Обилие понятий, вариантов их взаимосвязей и особенностей реализации;

- допустимость только навигационного принципа доступа к данным.

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

В последнее время реляционные СУБД заняли преимущественное положение, как средство разработки экономических информационных систем. Недостатки реляционной модели компенсируются ростом быстродействия и ресурсов памяти современных ЭВМ. Вследствие процессов децентрализации управления в экономике многие БД экономических информационных систем имеют простую структуру, которая легко трансформируется в понятные системы таблиц (отношений).