D. Sc. T. Семенов И.А.
Международный Университет Фундаментального Обучения, Россия
Современный подход к организации хранения данных
в БД связан с построением структур данных, позволяющих лучше выразить
предметную область в, приближенных к реальным, информационных структурах данных.
Структура данных, построенная на принципах выбранной модель данных - это образ предметной
области, её мета-описание, представляющая все ее сущности в определенных
форматах выбранной модели данных, на основе которой строятся процессы работы с
данными.
Структура данных определяется совокупностью
описаний элементов (сущностей), из которых она построена, из их отношений, а
также совокупностью описаний свойств и поведения этих элементов. Понятие
структуры в свою очередь, входит неразрывной частью в существо внешнего их
представления, поэтому естественное стремление к использованию структуры
данных, непосредственно соответствующей структуре объекта, имеет важное
значение, как с позиции преобразования входных данных, так и с позиции
эффективности обработки.
При проектировании структур данных важно
понимать природу, модель поведения объектов, которую мы хотим перенести в
информационную модель. Объекты могут быть разные, не обязательно иметь
материальную природу, хотя часто встречается утверждения о том, что объекты
могут быть только дискретными.
Разрабатывая структуру данных необходимо
оперировать понятиями предметной области, которые делятся на объекты, свойства,
события, связи. Создание структуры, это преобразование этих понятий в
информационные сущности. На практике часто используется унифицированная модель
представления данных, основанная на понятиях «сущность» и «связь»[2].
Сущность – это объект предметной
области, обладающий набором идентифицирующих свойств отличающих его от других
однотипных объектов.
Связь – это отношение между
двумя и более сущностями. Связь может быть как между однотипными сущностями,
так и разнотипными. Например, между сущностями «Контрагент» и «Сотрудник» существует
связь «сотрудник компании». Сущность может иметь связь сама на себя,
обеспечивая рекурсивную связь. Связь может иметь вес и набор свойств
идентифицирующих отношение более детально.
Модель сущность-связь является наиболее
адаптируемой к предметной области, на её основе можно реализовать другие модели
– иерархическую, сетевую, объектную. Так или иначе, классические модели[3], как
правило, задают систематику в проектируемых структурах, максимально
классифицируют онтологию реальной модели предметной области в терминах модели
данных. Это приводит к тому, что семантика сохраняется только на момент
проектирования и, является актуальной в одной плоскости, временно’м срезе
видимом проектировщиками системы на момент проектирования.
Классические модели данных – это, как правило,
набор квадратных и прямоугольных матриц и методы работы с ними. В такой
концепции представляется возможность построить динамическую систему управления
матрицами, но не объектами реального мира.
Рассмотрим принципы построения модели данных для
систем с динамическими объектами.
Все сложные объекты могут быть разделены на
классы или быть представлены набором более простых объектов. Каждый простой
объект, в свою очередь, может быть представлен ещё более малым набором
объектов. Следовательно, понятия иерархия,
наследование и полиморфизм являются неотъемлемыми для представления структурных
отношений в объектах, и относится к первому принципу построения модели
данных в самоструктурирующихся системах.
В реальном мире сложные объекты без исключений
образуют группы сущностей схожих по физическим или логическим свойствам. При
этом объекты могут входить в разные логические группы. Следовательно, понятие сети также является неотъемлемым (второй
принцип). Причём для описания объекта
во всем его взаимодействии с реальным миром может потребоваться большое
количество разнотипных связей, что, практически, дает возможность бесконечного
роста знаний, внутри каждой сущности, как информационного объекта.
Именно эта модель позволяет сохранить
семантические представления предметных областей реального мира и предоставит логическое отображение
данных в БД, за счёт хранения логики и семантики связи сущностей друг с другом.
Одним из положительных свойств такой модели является то, что сущности и связи
между ними достаточный инструмент для описания взаимосвязи данных, позволяют
формировать сеть или иерархию сущностей.
Одним из главных аспектов при проектировании структуры
данных является задача, которая исключает противоречия, возникающие между
спроектированной базой, отражающей, как правило, статичное состояние предметной
области и реальной моделью взаимодействия пользователя или какого-либо объекта с
предметной областью в её динамике. Именно эта задача приводит к созданию модели
основанной на динамических параметрах и связях, способной к адаптации под
реальный мир. Т.о., рождается третий принцип, когда любой объект информационной системы
должен иметь возможность реструктуризироваться и накапливать новые знания о его
взаимодействие с внешним миром. Этот принцип порождает четвертый, когда любой объект информационной системы
должен содержать в себе информацию о своей динамической структуре, который
предоставляет возможность объектам системы быть воспроизводимыми в различных
системах представления знаний.
Основная черта модели основанной на этих
принципах заключается в отсутствие предварительного и жесткого проектирования
основного ядра описывающего предметную область в информационно-логическую
модель, основанную на понятии «сущность» и «связь», заложенного в каркасе
модели. Как следствие, отсутствие предварительного проектирования на основе
этой модели структуры БД. Объекты такой БД становятся слабоструктурированными,
бессхемными (schemaless), а структура – самоструктурирующейся. Слабоструктурированность
в нашем случае означает концепцию модели основанную на описании структур
сущностей не в табличном виде, а в объектном или, например, на основе документов.
В этой концепции, модель должна представить возможность описывать
непроизвольное количество атрибутов каждой сущность, отношений и
подчиненностей. Явно выраженной структурной схемы в модели данных нет, отсюда и
понятие бессхемности и самоописываемой структуры или самоструктурируемости.
Вспомним определение понятия документ. Документ
- материальный носитель с зафиксированной на нём в любой форме информацией в
виде текста, звукозаписи, изображения и (или) их сочетания, который имеет
реквизиты, позволяющие его идентифицировать, и предназначен для передачи во
времени и в пространстве в целях общественного использования и хранения [5]. C информационно
точки зрения документ - это совокупность атрибутов и их значений или набор разного
типа пар ключ-значение.
Конечному пользователю представлять данные как
документы привычнее и понятнее, чем представлять их как набор нарезанных
реляционные таблиц. Если не рассматривать реляционные БД в качестве хранения
документов, то на рынке не так уж мало платформ и технологий позволяющих работать
с сущностями такого рода. Из самого простого, те же xml и json форматы, очень
гибки для хранения документо-ориентированных (объектных) данных. На рынке
существует набор СУБД предназначенных для этих целей: CouchDB, MongoDB, Redis, Riak,
Berkeley DB и др. Каждая технология базируется на принципе описания
произвольного документа, т.е. движется в сторону сохранения большей семантики и
более естественного представления данных. Эти технологии обладают своими
достоинствами и недостатками, кое какие еще не готовы для коммерческого
использования, но рынок развивается и движется в правильном направлении.
Основа новой модели данных должна предоставлять
возможность описывать объекты, а не
проектировать. Структура данных в такой системе должна обладать свойством
перестраивания по мере накопления новых знаний и данных. Такая структура,
представляющая собой совокупность информационных объектов и связей между ними, формируется
не на основе субъективных представлений проектировщика о предметной области, а
на основе объективно существующей информации, поступающей от предметной
области.
Все объекты предметной области отображаются в системе
хранения данных и знаний, в структуры определенного формата, в которых хранится
вся семантика объектов и их семантические связи. Это условие придает объектам в
системе свойство самодостаточности, когда вся информация об их сущности
хранится в них же самих. Смысл сказанного
заключается в том, что реализуется принцип, когда информационный объект
содержит в себе информацию о том, как им управлять, т.е., с точки зрения систем
управления такими объектами, манипуляция и обработка этих данных заложена в
самом объекте, а не в программе управления. Т.о., мы отделяем данные от
систем управления, и они начинают управлять поведением программ, а не наоборот [4].
Модель данных такой системы, основанной на самоструктурирующихся структурах, рассматривается
как динамическая структура данных (ДСД), не привязанная к конкретной парадигме
и способная видоизменяться (реструктурироваться) с изменениями предметной
области. Она управляема как внешними, так и внутренними потоками данных, путём
их обмена между собой.
Подводя итог, рассмотрим требования к системе
управления динамическими информационными объектами, перечислим три основных
требования, которые должны обеспечить подобные системы:
1. «Информационная
горизонталь». Объекты БД в этом случае не статичны, а динамичны, обладают
определённым количеством атрибутов общих для всех объектов, и каждый объект
может иметь определённый набор дополнительных атрибутов и связей, принадлежащих
только ему и пополняемых по мере необходимости.
2. «Информационная» и «процедурная
вертикаль». Модели объектов способны менять свои структуры, вслед за
изменениями предметной области.
3. Универсальную систему
представления знаний, способную отображать не только данные БД в виде таблиц,
деревьев, сети или их совокупности, но и способная показывать пользователю динамические
объекты (модель ДСД) на данный момент времени или её историческое состояние.
1.
Дейт
К. Дж. Введение в системы баз данных. - 8-е изд. - М.: «Вильямс», 2006. - 1328
с.
2.
Peter Pin-Shan Chen. The
Entity-Relationship Model-Toward a Unified View of Data. ACM Transactions on
Database Systems, Volume 1, Number 1, 1976
3.
Сергей
Кузнецов, Базы данных. Вводный курс, 2008 г., http://citforum.ru/database/advanced_intro/.
4. Ерофеев А.А., Поляков
А.О. Интеллектуальные системы управления. СПб: Издательство СПбГТУ, 1999.
5. Федеральный закон №
77-ФЗ «Об обязательном экземпляре документов» от 23.11.1994 г. (с изменениями,
внесенными Федеральным законом от 26.03.2008 № 28-ФЗ)
6.
Семёнов
И.А. Представление знаний в объектно-ориентированной базе. International Conference "Intelligent Systems and Information
Technologies in Control". IS&ITC-2000. St.Petersburg/Pskov. SPbSTU Publishers
2000. (Pskov, June 19-23, 2000).
7. Семенов И.А.
«Объектно-ориентированное проектирование самоструктурирующихся баз». SCM'99 - International Conference on Soft Computing and measurements. Санкт-Петербург, 25-28 мая 1999 г.
8. Семенов И.А.
«Представление знаний в объектно-ориентированной базе». International
Conference "Intelligent Systems and Information Technologies in
Control". IS&ITC-2000. St.Petersburg/Pskov. SPbSTU Publishers 2000.
9. С. Осуга, «Приобретение знаний», М. «Мир», 1990.
10. В. Дюк, А. Самойленко.
«DataMining», Санкт-Петербург, «Питер», 2001.