Введение
Для полноценной и эффективной работы предприятиям необходимо внедрение автоматизированных систем документооборота. Такие системы при функционировании чаще всего используют базы данных, которые должны представлять в формализованном виде взаимодействие с этими данными. На основе представленных данных проводиться анализ и управление предприятием, тем самым повышая важность построения и поддержания баз данных. В настоящие время наблюдается тенденция внедрения распределённых баз данных, обусловленная ростом численности диверсифицированных фирм. Но на данный момент не существует чёткой формализованной модели для этой архитектуры, что создаёт проблемы в построении распределенных баз данных. Основной проблемой является обширное использование реляционной модели, которая накладывает жёсткие ограничения на представление данных в распределённом виде. Существование данной проблемы подтверждает актуальность темы данной работы.
Анализ реляционной модели данных
Реляционная модель данных была создана Эдгаром Франк Кодд на основе теории алгебраических систем A. И. Мальцева. Э. Ф. Кодд предложил представлять данные в виде таблиц где основным представлением предметной области является отношение (relation) n-го порядка. Отношение n-го порядка – математическое множество, в котором порядок строк не имеет значения. Нужно уточнить, что понятие реляционная БД несколько шире, чем табличная: во втором случае предполагается, что к строке можно добраться по номеру, следовательно, порядок строк имеет значение. Традиционно позиционирование данных определялось адресами в памяти, в реляционной модели адресный способ выбора данных заменен ассоциативным.
Рисунок 1.1 – Пример табличного представления данных
Каждая единица информации в реляционных БД ассоциируется с уникальной тройкой: именем отношения, значением ключа, именем атрибута (рис.1.2). При таком подходе закладывается непроцедурный путь доступа к данным. Структурная часть реляционной модели состоит из следующих компонентов:
- доменов – совокупности однотипных значений данных, которые совместимы в семантическом плане;
- отношений n-го порядка, концептуально представленных таблицами;
- атрибутов – атомарных данных, определяющих столбцы таблицы, т.е. среди значений домена не могут содержаться множества (отношения);
- кортежей – строк таблицы;
- потенциальных (возможных) ключей – атрибутов, однозначно определяющих кортеж в отношении;
- первичных ключей – для отношения это один из возможных ключей.
Рисунок 1.2 – реляционное представление данных
Для каждого отношения, по крайней мере, полный набор его атрибутов является первичным ключом. Атрибуты, представляющие собой копии ключей других отношений, называются внешними ключами.
Среди положительных качеств такого подхода можно выделить:
- простота и доступность для понимания;
- объекты и связи представляются единым образом в виде отношений (плоских таблиц);
- встроенная оптимизация реализации алгоритмов поиска данных;
- наличие формального аппарата конструирования концептуальной модели и способов поиска данных (реляционная алгебра и реляционное исчисление).
Последний пункт больше остальных повлиял на распространение реляционной модели так как на основе теории нормализации возможно автоматизировать процесс построения концептуальных моделей, что является наиболее трудоемким процессом при разработке баз данных.
Но это влечёт за собой ряд недостатков:
- Невозможность полного семантического выделения объектов в модели, как следствие использования для их выделения только синтаксических свойств функциональных и многозначных зависимостей;
- Возможность нарушения логической независимости данных при изменении ограничений в моделируемой предметной области, вследствие изначальной статичности реляционной модели;
- Несоблюдение требования минимальной избыточности данных;
- Существующая потребность в использовании методов;
Основная проблема лежит в концепции теории нормализации, которая предполагает, что нормализованная реляционная модель статична и не нуждается в концептуальных изменениях. Однако, такой подход не позволяет базе данных корректно отображать предметную область и адекватно реагировать на ход времени и изменения, идущие вместе с ним, что сильно уменьшает жизненный цикл базы данных.
Такой подход вызывает ещё большие сомнения при рассмотрении его использования на распределённых базах данных, где многократно возрастает сложность представления и формализации предметной области.
Анализ фреймовой модели данных
Фреймовая модель представления знаний – была предложена М.Минским в 1979 г. как структура знаний для восприятия пространственных сцен. Эта модель, как и семантическая сеть, имеет глубокое психологическое обоснование.
В психологии и философии известно понятие абстрактного образа. Например, слово «комната» вызывает у слушающих образ комнаты: «жилое помещение с четырьмя стенами, полом, потолком, окнами и дверью, площадью 6-20 м2». Из этого описания ничего нельзя убрать (например, убрав окна, получим уже чулан, а не комнату), но в нем есть «дырки», или «слоты», — это незаполненные значения некоторых атрибутов — количество окон, цвет стен, высота потолка, покрытие пола и др. В этой теории такой абстрактный образ называется фреймом.
Формально фреймом называют формализованную модель, передаваемого с помощью данных образа.
Основной структурной единицей фрейма является слот – вложенная во фрейм структура данных. Слоты – это некоторые незаполненные подструктуры фрейма, после заполнения которых конкретными данными, фрейм будет представлять ту или иную ситуацию, явление или объект предметной области. При конкретизации фрейма ему и его слотам присваиваются конкретные имена и происходит заполнение слотов.
В качестве значений слотов могут выступать имена других фреймов, что обеспечивает построение сети фреймов.
Рисунок 2.1 – Пример фреймового представления данных
Существует два основных типов фрейма:
- фрейм-образец (прототип, протофрейм) - множество сущностей, имеющих общую структуру и поведение. Фрейм-образец выступает шаблоном, на основе которого создаются конкретные сущности (фреймы-экземпляры);
- фреймы-экземпляр – конкретная сущность, характеризуемая индивидуальностью (идентичностью), состоянием и поведением. Индивидуальность – свойство сущности, с помощью которого ее можно отличить от других (т.е. фрейм-экземпляр имеет уникальный идентификатор). Конкретные значения слотов (характеристик, атрибутов, свойств) определяют текущее состояние фрейма-экземпляра. Набор демонов и присоединенных процедур, а также их алгоритмическая реализация определяют поведение фреймов.
Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через:
- фреймы-структуры, использующиеся для обозначения объектов и понятий (компьютер, автомобиль, вексель);
- фреймы-роли (менеджер, кассир, клиент);
- фреймы-сценарии (банкротство, собрание акционеров, празднование именин);
- фреймы-ситуации (тревога, авария, штатный режим работы устройства) и др.
В общем случае фрейм задается следующими параметрами:
- Имя фрейма. Служит для идентификации фрейма и должно быть уникальным. Фрейм представляет собой совокупность слотов (атрибутивная составляющая, декларативные знания) и присоединенных процедур (поведенческая составляющая, процедурные знания).
- Имя слота. Представляет собой идентификатор атрибута сущности, который наделен определенной семантикой. Должно быть уникальным в пределах фрейма. В качестве имени слота может выступать произвольный текст (например, «Количество студентов в группе», «Возраст») или зарезервированное обозначение. Примеры имен системных слотов (зарезервированных обозначений): IS-A (это), PART-OF (является частью), RELATIONS (относиться к) и т.д. Системные слоты служат для редактирования БЗ и управления выводом во фреймовой системе.
Преимущества фреймовой модели:
- Представление сложных объектов в виде единой сущности. Фреймы позволяют оперировать объектами в одних случаях как неделимыми сущностями, а в других — учитывать детали их внутренней структуры;
- организация четко выраженной иерархии знаний. Фреймовая модель позволяет естественным образом представлять стереотипные сущности (фреймы-образцы), наследование, полиморфизм и т.п.;
- Развитая процедура наследования значений слотов;
- Определение на системном уровне фундаментальных отношений между фреймами: «общее - частное» (AKO, ISA) и «часть - целое» (PART OF);
- Процедурные вложения являются важным свойством фреймов, так как они позволяют тесно связать процедурные и декларативные (атрибутивные) знания об объекте, т.е. соединить информационную, функциональную и поведенческие составляющие объекта в единое целое;
- Возможность организации процедур контроля ссылочной целостности знаний;
Фреймовый подход к разработке концептуальной модели данных позволяет полностью отразить все детали предметной области и гибко подстраиваться под её изменения, что в значительной мере облегчает поддержание корректного состояния распределённой базы данных.
К сожалению, у данного метода нет чётко формализованного подхода, основанного на математических законах, к построению концептуальных моделей, что перекладывает всю ответственность на разработчика и его виденье предметной области.
Так же отсутствует механизма управления выводом, в связи с чем, разработчики должны реализовать данный механизм с помощью присоединенных процедур.
Вывод
Проанализировав реляционную и фреймовою модели можно сделать вывод, что фреймовая модель имеет большую совместимость с распределёнными базами данных благодаря лучшей адаптивности к изменениям концептуальной модели. К сожалению переход от реляционной модели к фреймовой несёт в себе большие затраты из-за сложности технической и концептуальной разработки последней. Среди возможных решений данной проблемы можно предложить объектно-ориентированный подход к созданию реляционных баз данных.