Реляционная зависимость нас всех погубит!!!

Введение

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

Анализ реляционной модели данных

Реляционная модель данных была создана Эдгаром Франк Кодд на основе теории алгебраических систем A. И. Мальцева. Э. Ф. Кодд предложил представлять данные в виде таблиц где основным представлением предметной области является отношение (relation) n-го порядка. Отношение n-го порядка – математическое множество, в котором порядок строк не имеет значения. Нужно уточнить, что понятие реляционная БД несколько шире, чем табличная: во втором случае предполагается, что к строке можно добраться по номеру, следовательно, порядок строк имеет значение. Традиционно позиционирование данных определялось адресами в памяти, в реляционной модели адресный способ выбора данных заменен ассоциативным.

Рисунок 1.1 – Пример табличного представления данных

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

  1. доменов – совокупности однотипных значений данных, которые совместимы в семантическом плане;
  2. отношений n-го порядка, концептуально представленных таблицами;
  3. атрибутов – атомарных данных, определяющих столбцы таблицы, т.е. среди значений домена не могут содержаться множества (отношения);
  4. кортежей – строк таблицы;
  5. потенциальных (возможных) ключей – атрибутов, однозначно определяющих кортеж в отношении;
  6. первичных ключей – для отношения это один из возможных ключей.

Рисунок 1.2 – реляционное представление данных

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

Среди положительных качеств такого подхода можно выделить:

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

Но это влечёт за собой ряд недостатков:

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

Такой подход вызывает ещё большие сомнения при рассмотрении его использования на распределённых базах данных, где многократно возрастает сложность представления и формализации предметной области.

Анализ фреймовой модели данных

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

В психологии и философии известно понятие абстрактного образа. Например, слово «комната» вызывает у слушающих образ комнаты: «жилое помещение с четырьмя стенами, полом, потолком, окнами и дверью, площадью 6-20 м2». Из этого описания ничего нельзя убрать (например, убрав окна, получим уже чулан, а не комнату), но в нем есть «дырки», или «слоты», — это незаполненные значения некоторых атрибутов — количество окон, цвет стен, высота потолка, покрытие пола и др. В этой теории такой абстрактный образ называется фреймом.

Формально фреймом называют формализованную модель, передаваемого с помощью данных образа.

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

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

Рисунок 2.1 – Пример фреймового представления данных

Существует два основных типов фрейма:

  1. фрейм-образец (прототип, протофрейм) - множество сущностей, имеющих общую структуру и поведение. Фрейм-образец выступает шаблоном, на основе которого создаются конкретные сущности (фреймы-экземпляры);
  2. фреймы-экземпляр – конкретная сущность, характеризуемая индивидуальностью (идентичностью), состоянием и поведением. Индивидуальность – свойство сущности, с помощью которого ее можно отличить от других (т.е. фрейм-экземпляр имеет уникальный идентификатор). Конкретные значения слотов (характеристик, атрибутов, свойств) определяют текущее состояние фрейма-экземпляра. Набор демонов и присоединенных процедур, а также их алгоритмическая реализация определяют поведение фреймов.

Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через:

В общем случае фрейм задается следующими параметрами:

  1. Имя фрейма. Служит для идентификации фрейма и должно быть уникальным. Фрейм представляет собой совокупность слотов (атрибутивная составляющая, декларативные знания) и присоединенных процедур (поведенческая составляющая, процедурные знания).
  2. Имя слота. Представляет собой идентификатор атрибута сущности, который наделен определенной семантикой. Должно быть уникальным в пределах фрейма. В качестве имени слота может выступать произвольный текст (например, «Количество студентов в группе», «Возраст») или зарезервированное обозначение. Примеры имен системных слотов (зарезервированных обозначений): IS-A (это), PART-OF (является частью), RELATIONS (относиться к) и т.д. Системные слоты служат для редактирования БЗ и управления выводом во фреймовой системе.

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

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

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

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

Вывод

Проанализировав реляционную и фреймовою модели можно сделать вывод, что фреймовая модель имеет большую совместимость с распределёнными базами данных благодаря лучшей адаптивности к изменениям концептуальной модели. К сожалению переход от реляционной модели к фреймовой несёт в себе большие затраты из-за сложности технической и концептуальной разработки последней. Среди возможных решений данной проблемы можно предложить объектно-ориентированный подход к созданию реляционных баз данных.