Объединение локальных представлений носит итеративный характер, в процессе которого выявляются противоречия между локальными представлениями, вызванные некорректностью требований, ошибками, неполнотой спецификаций.
Процесс объединения моделей включает удаление объектных множеств, отношений и атрибутов, которые являются избыточными, и образование новых абстрактных объектных множеств более высокого порядка путем определения новых отношений и продолжается до тех пор, пока не будут устранены все противоречия. В результате проектирования получаем концептуальную модель ПО, оформленную в виде диаграмм.
Данный процесс требует плотного взаимодействия разработчиков и пользователей БД. Следующим этапом проектирования БД является выбор модели данных, которая определяет правила порождения допустимых структур данных, возможные операции над такими структурами, а также классы представимых средствами этой системы ограничений целостности данных.
Модель предметной области состоит, как правило, из описания конкретных фактов, а также некоторых общих понятий и закономерностей. Первые образуют базу данных, вторые - базу знаний (БЗ).
К знаниям относят информацию о логике решения задач, а к данным - информацию, которая должна быть проанализирована в соответствии с этой логикой.
Выделяют специфические признаки, отличающие данные от знаний:
1) внутренняя интерпретируемость, т.е. в знаниях находится информация, раскрывающая смысл элементов знаний - информационная и описательная части. Фиксируются все сведения об информационной единице, которые могут понадобиться системе или пользователю для работы с ней;
2) структурированность - свойство декомпозиции сложных объектов в более простые и установление соответствующих связей между ними;
3) связность - в знаниях отражаются закономерности относительно фактов, процессов, явлений и причинно-следственные связи между ними;
4) активность - знания обладают способностью порождения новых знаний, например, при обнаружении неполноты или противоречивости знаний. В качестве информационных единиц, характеризующих некоторое знание, могут выступать присоединенные или встроенные процедуры, что позволяет активизировать эти процедуры в результате появления в базе тех или иных информационных единиц или связей между ними. Это свойство определяется активностью знаний, их первичностью по отношению к процедурам, что не характерно для данных, играющих по отношению к процедурам пассивную роль.
В различных системах для задания запроса (например, поискового) из программы пользователя к СУБД применяются разные методы. Можно сказать, что каждая СУБД имеет свои языковые средства, называемые языком данных (ЯД). При этом необходимо учитывать, что ЯД не язык программирования в традиционном смысле. Язык данных задает правила обработки запроса (например, поиска), а также указывает элементы данных, т.е. ЯД предполагает определенную структуризацию данных (средства описания данных) и средства описания действий, которые необходимо выполнять над данными (средства манипулирования данными). Совокупность средств описания и средств манипулирования называется моделью данных.
Модель знаний содержит набор формальных правил записи знаний (модель данных и семантическое соответствие) и примитивы манипулирования знаниями (правила логического вывода)
В настоящее время широко известны три типа моделей данных: иерархическая, сетевая и реляционная. Наиболее перспективной для дальнейшего развития и применения считается реляционная модель представления данных. Основные исследования всех трех типов моделей данных закончены, и они показали, что все три типа равномощны.
Необходимо заметить, что появилась еще одна модель данных – объектно-ориентированная.
Иерархическая модель данных возникла из практики. Впервые СУБД, использующие эту модель данных, были созданы в 1960 -х годах для поддержки лунного проекта Аполлон. Основной посылкой создания стала необходимость управления миллионами деталей, связанных друг с другом иерархическим образом. Иерархические модели удобны и используются для построения рубрикаторов и классификаторов. В основе модели лежит граф типа дерево.
Граф – это объект, состоящий из двух множеств: множества вершин X={x1, x2, . . . ,x3} и множества линий, соединяющих эти вершины, называемых множеством ребер или дуг.
Применительно к модели данных вершины используются для интерпретации сущностей, а линии - для интерпретации связей между типами сущностей.
Древовидная структура или граф типа дерево- это связный граф, не имеющий циклов. Обычно выделяют вершину, в которую не заходит ни одна линия, в этом случае граф становится ориентированным.
КОРЕНЬ1 уровень исходная вершина
2 уровень порожденная вершина
3 уровень
4 уровень концевые вершина (листья)
Рисунок 14 Иерархическая структура
Иерархическая структура удовлетворяет следующим условиям:
1. Иерархия начинается с корневой вершины.
2. Каждая вершина соответствует одному или нескольким атрибутам.
3. На уровнях с большим номером находятся порожденные вершины.
4. Доступ к каждой вершине происходит через корневую по единственному пути.
5. Каждая вершина, находящаяся на i -том уровне, связана только с одной вершиной (i-1) -го уровня.
6. Корневая вершина связана с одной или несколькими порожденными (зависимыми) вершинами.
7. Существует произвольное количество вершин каждого уровня.
В терминологии иерархической модели существует несколько основных понятий:
- Тип сегмента – это поименованная совокупность типов элементов данных, в него входящих, соответствует объекту.
- Экземпляр сегмента образуется из конкретных значений полей или сегментов данных, в него входящих.
Набор всех экземпляров сегментов, подчиненных одному экземпляру корневого сегмента, называется физической записью.
Количество экземпляров потомков может быть различным для разных экземпляров родительских сегментов, поэтому в общем случае физические записи имеют различную длину.
На рисунках 14, 15 представлена иерархическая структура, соответствующая отношениям в ВУЗе. В ВУЗе несколько факультетов. В примере на рисунке 15 их указано четыре. В реальной жизни их может быть другое количество. Каждый факультет "содержит" разное количество кафедр.
Рисунок 14
Рисунок 15
Неудобство такой системы представления данных заключается в том, что реальный мир не может быть легко представлен в виде древовидной структуры с единственным корнем. Примерно в это же время сформировалась другая модель данных – сетевая.
Сетевые модели данных также базируются на использовании графовой модели представления информации. Вершины соответствуют типам, дуги - связям типов.
В сетевой модели допускаются произвольные связи между сущностями. Одно из основных достижений сетевой модели данных состоит в том, что впервые были введены языки представления данных (Data Definition Language, DDL) и языки манипулирования данными (Data Manipulation Language, DML).
При реализации сетевой модели можно применять различные представления данных, но основой описания является понятие набора.
Кроме понятия набора данных в сетевых БД применяется понятия: элемент данных, агрегат данных и запись. Элемент данных – это минимальная единица информации, доступная пользователю с использованием СУБД. Агрегат данных соответствует следующему уровню обобщения модели и представляет собой вектор или повторяющуюся группу. Совокупность агрегатов или элементов данных образует запись.
Набор представляет собой поименованное двухуровневое дерево. Исходная запись (1-й уровень) называется владельцем набора, а порожденные записи - членами этого набора. Каждый из членов одного набора может быть объявлен владельцем другого набора. Фактически наличие подобных возможностей позволяет промоделировать отношения МНОГИЕ_КО_МНОГИМ. Таким образом, можно описать достаточно сложную сетевую структуру.
Среди всех наборов данных выделяю специальный тип набора, называемый «Сингулярным набором», владельцем которого формально определена вся система.
Принципиальное значение в сетевой модели имеет то положение, что предусматривается обработка (одновременная обработка) только одиночных объектов из базы данных.
Механизмы доступа к данным и навигация сложны, так как необходимо, двигаясь по структуре:
а) найти нужную запись;
б) сделать ее текущей;
в) извлечь в рабочий буфер;
г) изменить данные;
д) записать содержимое буфера в БД.
Возможен переход от представления одной структуры данных к другой. Приёмы просты, но приводят к избыточности в логическом представлении данных.
3.4. Реляционные модели данных
Теоретической основой этой модели данных стала теория отношений. Было показано, что множество отношений замкнуто относительно некоторых специальных операций, т.е. образует вместе с этими операциями абстрактную алгебру.
Реляционная модель была предложена в 1970 году Коддом. Основу реляционной модели данных составляет совокупность данных, сформированных в виде таблицы. Такая форма привычна для специалистов, пользующихся различного рода справочной литературой. Формальным аналогом таблицы выступает отношение.
Пусть дана совокупность множеств D1, D2, …Dn . Декартово произведение D1 x D2 x . . . x Dn - множество всех возможных кортежей <d1,d2, . . . dn> таких, что di є Di , i = 1,…,n .