Авторитетность издания
Добавить в закладки
Следующий номер на сайте
Опыт объектно-ориентированного проектирования баз данных
Аннотация:
Abstract:
Авторы: Кеменов А.Ф. () - , Кошелева Т.Н. () - | |
Ключевое слово: |
|
Ключевое слово: |
|
Количество просмотров: 13489 |
Версия для печати Выпуск в формате PDF (1.30Мб) |
В настоящее время большое влияние на проектирование информационных систем оказывает концепция MDA (Model driven architecture, дословно: архитектура, управляемая моделью). Суть этой концепции – подход к спецификации информационных систем (ИС), который отделяет спецификацию функциональности ИС от реализации этой функциональности на определенной технологической платформе [1]. Независимая спецификация составляет основу PIM (Platform independent model – модели, независимой от платформы). На последующих этапах разработки PIM трансформируется в PSM (Platform specific model – модель, специфическую для целевой платформы). Далее на основе PSM формируется реализация ИС для целевой платформы. Для описания PIM и PSM консорциум OMG (Object management group), развивающий концепцию MDA, предлагает использовать язык UML (Unified modelling language – унифицированный язык моделирования [2]). Язык UML хорошо подходит для моделирования программных средств, поскольку поддерживает объектно-ориентированный подход – ведущую парадигму разработки программного обеспечения. Однако при описании предметной области для построения баз данных (БД) язык UML – не самый лучший вариант: его графическая нотация громоздка и невыразительна. На наш взгляд, для объектно-ориентированного описания предметной области больше подходит онтологическое моделирование, которое состоит в описании иерархии классов предметной области и связей между ним (в этом плане онтологическая модель весьма близка к диаграмме классов UML). Наиболее популярным средством онтологического моделирования является свободно распространяемый редактор онтологий Protégé [3] разработки Стенфордского университета (http://protege.stanford.edu/index.html, текущая версия 3.1). Общий вид Protégé с загруженной моделью PIM представлен на рисунке 1. При моделировании классов слева располагается дерево классов, а справа – панель описания слотов текущего класса. Классы верхнего уровня иерархии наследуются от абстрактного базового класса THING, от которого наследуют также служебные классы Protégé. Понятие «слот» объединяет в себе атрибуты и связи классов. Перечень допустимых типов атрибутов ограничивается строковыми (String), числовыми (Integer, Float), логическими (Boolean), перечислениями (Symbol) и произвольными (Any). Связи характеризуются слотами с типами Instance (экземпляр) и Class. Двухсторонние связи характеризуются также инверсными слотами. Кроме того, слоты могут характеризоваться признаком кардинальности (Cardinality), отражающим их множественный характер (multiple) и обязательность (required). При создании класса, унаследованного от уже существующего, унаследованные слоты маркируются прямоугольником в скобках (например, слот «регистрационный номер» на рисунке 1). Однако Protégé позволяет описывать не только классы, но и их экземпляры (объекты), что позволяет тут же проверять проектные решения и при необходимости исправлять их. В соответствии с концепцией MDA следующий шаг в проектировании БД – трансформация подготовленной с помощью Protégé онтологической модели (PIM) в модель PSM, удобную для формирования схемы реляционной БД. Инструментальные средства для такой трансформации отсутствуют, поэтому авторами изготовлена несложная утилита, позволяющая вручную перенести онтологическую модель в модель PSM, для хранения которой используется целевая БД. Совокупность таблиц БД для хранения модели показана на рисунке 2. Назначение таблиц соответствует их названию: в таблице Classes хранятся описание классов, в таблицах Atrdef и Linkdef – описание их атрибутов и связей. Значками и на схеме маркированы поля таблиц, являющиеся первичными или вторичными ключами, а стрелками обозначены ссылки между таблицами (от вторичного ключа к первичному). Поля name и code, присутствующие в каждой таблице, позволяют одновременно хранить как полные наименования элементов модели, так и специальные, формируемые с учетом ограничений целевой платформы. В поле inherits таблицы Classes помещается код наследуемого класса. На основании модели PSM вышеупомянутой утилитой генерируются скрипты DDL (Data definition language – язык определения данных) для создания структур хранения объектов. Для отображения объектной структуры на реляционную избрана схемозависимая стратегия [4], при которой каждый класс (или иерархия классов) объектов отображаются в отдельную таблицу БД, атрибуты отображаются в поля таблицы, связи между классами типа «один-к-одному» и «один-ко-многим» реализуются соответствующими ссылками между таблицами, а для связей «многие-ко-многим» создаются специальные связующие таблицы. Cхемозависимая стратегия позволяет сформировать схему БД, для которой легко настраивается библиотека объектно-реляционного отображения Hibernate. После создания структур для хранения данных модель PSM может использоваться в качестве классификатора хранящихся в БД объектов, что облегчает эксплуатацию и сопровождение БД. Подобный классификатор может использоваться и как связующее звено, объединяющее схемозависимый и схемонезависимый фрагменты БД (в частности, схемонезависимый фрагмент может быть построен по схеме Тенцера [5]). Заключительный этап проектирования БД – настройка объектно-ориентированного доступа к данным. Для этого авторами использована библиотека объектно-реляционного отображения Hibernate (http://www.hibernate.org, текущая версия 3.1). В основе долгосрочного реляционного хранения объектов, поддержку которого обеспечивает Hibernate, лежит декларативное описание отображения между классами JavaBean и таблицами БД (файлы маппинга). На основе такого отображения Hibernate может создавать объекты Java, которые предоставляют объектный интерфейс к БД [6]. Среди СУБД, поддерживаемых Hibernate, присутствуют все основные БД. Для формирования и отладки файлов маппинга и классов JavaBean использовалось специальное инструментальное средство – консоль Hibernate, функционирующая в среде Eclipse. Результирующие файлы маппинга и классы JavaBean объединялись в пакет, который передавался разработчикам приложений. Таким образом, концепция MDA может быть успешно использована при объектно-ориентированном проектировании БД на основе онтологического моделирования предметной области. Выявленный разрыв в технологической цепочке стимулирует дальнейшее развитие инструментов MDA. Список литературы 1. MDA Guide Version 1.0.1. - OMG, 2003 (http:// www.omg.org/docs/omg/03-06-01.pdf). 2. Буч Г., Рамбо Дж., Джекобсон А. Язык UML. Руководство пользователя. – М.: ДМК, 2000. 3. Natalya F. Noy and Deborah L. McGuinness, Ontology Development 101: A Guide to Creating Your First Ontology. Stanford Knowledge Systems Laboratory Technical Report KSL-01-05 and Stanford Medical Informatics Technical Report SMI-2001-0880, March 2001. (http://protege.stanford.edu/publications/ontology_development/ ontology101.html). 4. Семенов В.А. и др. Стратегии объектно-реляционного отображения: систематизация и анализ на основе паттернов. // Тр. Ин-та системного программирования РАН. - 2004. 5. Тенцер А. База данных – хранилище объектов. // КомпьютерПресс. – 2001. - № 8. 6. Bauer Christian, King Gavin. Hibernate in Action. - Manning Publications Co., 2005. |
Постоянный адрес статьи: http://swsys.ru/index.php?id=442&page=article |
Версия для печати Выпуск в формате PDF (1.30Мб) |
Статья опубликована в выпуске журнала № 4 за 2006 год. |
Возможно, Вас заинтересуют следующие статьи схожих тематик:
- Интеллектуальная поддержка реинжиниринга конфигураций производственных систем
- Системы компьютерной поддержки процессов анализа, синтеза и планирования решений в условиях неопределенности
- ДИНАМИКА-2 - программа для решения осесимметричных и плоских задач
- Параллельная обработка в алгоритмах визуализации с трассировкой лучей
- Методы поисковой адаптации на основе механизмов генетики, самообучения и самоорганизации
Назад, к списку статей