![](/user_photo/_userpic.png)
книги / Теоретические основы автоматизированного управления
..pdf•независимую параллельную обработку;
•синхронизированную обработку.
Сложность реализации этапа размещения БД определяется мно говариантностью. Поэтому на практике рекомендуется в первую оче редь рассмотреть возможность использования определенных допу щений, упрощающих функции СУБД, например допустимость вре менного рассогласования БД, осуществление процедуры обновления БД из одного узла и др. Такие допущения оказывают большое влия ние на выбор СУБД и рассматриваемую фазу проектирования.
Средства проектирования и оценочные критерии используются на всех стадиях разработки. Любой метод проектирования (аналити ческий, эвристический, процедурный), реализованный в виде про граммы, становится инструментальным средством проектирования, практически не подверженным влиянию стиля проектирования.
В настоящее время неопределенность при выборе критериев яв ляется наиболее слабым местом в проектировании БД. Это связано с трудностью описания и идентификации бесконечного числа альтер нативных решений. При этом следует иметь в виду, что существует много признаков оптимальности, являющихся неизмеримыми свой ствами, которые трудно выразить в количественном представлении или в виде целевой функции. Поэтому оценочные критерии принято делить на количественные и качественные. Наиболее часто исполь зуемые критерии оценки БД, сгруппированные в такие категории, представлены ниже.
Количественные критерии: время ответа на запрос, стоимость мо дификации, стоимость памяти, время на создание, стоимость на ре организацию.
Качественные критерии: гибкость, адаптивность, доступность для новых пользователей, совместимость с другими системами, возмож ность конвертирования в другую вычислительную среду, возмож ность восстановления, возможность распределения и расширения.
Трудность в оценке проектных решений связана также с различ ной чувствительностью и временем действия критериев. Например, критерий эффективности обычно является краткосрочным и чрезвы чайно чувствительным к проводимым изменениям, а такие понятия, как адаптируемость и конвертируемость, проявляются надлительных временных интервалах и менее чувствительны к воздействию внеш ней среды.
Предназначение хранилища данных — информационная под держка принятия решений, а не оперативная обработка данных. По-
содержимого склада |
содержимого склада |
Периодическое
обновление содержимого склада
базы данных |
базы данных |
Рис. 7.5. Архитектура ХД
этому база данных и склад данных не являются одинаковыми поня тиями. Архитектура хранилища данных (ХД) представлена на рис. 7.5.
Основные принципы организации хранилищ данных следующие [45].
1.Предметная ориентация. В оперативной базе данных обычно поддерживается несколько предметных областей, каждая из которых может послужить источником данных для ХД. Например, для магази на, торгующего видео- и музыкальной продукцией, интерес пред ставляют следующие предметные области: клиенты, видеокассеты, CD-диски и аудиокассеты, сотрудники, поставщики. Явно просле живается аналогия между предметными областями ХД и классами объектов в объектно-ориентированных базах данных. Это говорит о возможности применения методов проектирования, применяемых в объектно-ориентированных СУБД.
2.Средства интеграции. Приведение разных представлений од них и тех же сущностей к некоторому общему типу.
3.Постоянство данных. В ХД не поддерживаются операции моди фикации в смысле традиционных баз данных. В ХД поддерживается модель «массовых загрузок» данных, производимых в заданные мо менты времени по установленным правилам в отличие от традицион ной модели индивидуальных модификаций.
4. Хронология данных. Благодаря средствам интеграции реализу ется определенный хронологический временной аспект, присущий содержимому ХД.
Основные функции репозитариев:
•парадигма включения/выключения и некоторые формальные процедуры для объектов;
•поддержка множественных версий объектов и процедуры управ ления конфигурациями для объектов;
•оповещение инструментальных и рабочих систем об интересую щих их событиях;
•управление контекстом и разные способы обзора объектов ре позитария;
•определение потоков работ.
Рассмотрим кратко основные направления научных исследова ний в области баз данных:
•развитие теории реляционных баз данных;
•моделирование данных и разработка конкретных моделей раз нообразного назначения;
•отображение моделей данных, направленных на создание мето дов преобразования моделей данных и конструирования коммута
тивных отображений, разработку архитектурных аспектов отображе ния моделей данных и спецификаций определения отображений для конкретных моделей данных;
•создание СУБД с мультимодельным внешним уровнем, обеспе чивающих возможности отображения широко распространенных моделей;
•разработка, выбор и оценка методов доступа;
•создание самоописываемых баз данных, позволяющих приме нять единые методы доступа для данных и метаданных;
•управление конкурентным доступом;
•развитие систем программирования баз данных и знаний, кото рые обеспечивали бы единую эффективную среду как для разработки приложений, так и для управления данными;
•совершенствование машины баз данных;
•разработка дедуктивных баз данных, основанных на примене нии аппарата математической логики и средств логического програм мирования в области баз данных;
•разработка пространственно-временных баз данных;
•интеграция неоднородных информационных ресурсов.
7.2. РАЗВИТИЕ ИНФОРМАЦИОННОГО ОБЕСПЕЧЕНИЯ АВТОМАТИЗИРОВАННОГО
УПРАВЛЕНИЯ НА ОСНОВЕ
ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ
И ОБЪЕКТНО-РЕЛЯЦИОННЫХ БАЗ ДАННЫХ
7.2.1. Объектно-ориентированные базы данных
Серьезные недостатки реляционной модели данных привели к необходимости поиска других моделей. Такой прогрессивной и пер спективной моделью данных является объектно-ориентированная модель данных. В ней собственно база данных, интерфейс пользова теля и алгоритм приложения построены с использованием объект но-ориентированного подхода.
Автор реляционной модели данных З.Ф . Кодд первоначально сформулировал дюжину требований к БД, чтобы она могла называть ся реляционной. В дальнейшем этот перечень увеличился до 333 тре бований. Им, несмотря на широкое распространение реляционных баз данных, не удовлетворяет ни одна из известных СУБД.
Более того, при значительных объемах данных начинают прояв ляться недостатки реляционных баз данных. К этим недостаткам от носятся: сложность структуры, вызванная необходимостью проведе ния нормализации; низкая производительность из-за поиска по клю чу, что в 3—5 раз увеличивает количество операций доступа; ограни ченный набор типов данных; представление данных только в виде двумерных таблиц и невозможность реализации таблиц с нелинейной структурой; невозможность послойного рассмотрения данных (на пример, «работающие» — в одном слое, «научные сотрудники» и «преподаватели» — в другом, подчиненном слое); нестыковка с принципами все более широко применяемого объектно-ориентиро ванного подхода; невозможность задать для определенного типа дан ных набор операторов-методов, которые приходится вводить в кон кретном приложении; возникновение конфузии — утраты при много численных обновлениях третьей (а порой и второй) нормальной фор мы; сложность совмещения с другой парадигмой хранилищ данных.
Одним из способов устранения указанных недостатков является построение объектно-ориентированной базы данных (ООБД). Ее по явление стимулировано и требованиями большой быстродействую щей памяти (свыше 20 Гбайт) для систем конструирования/производства (CAD/CAM).
В соответствии с «Манифестом ООБД», опубликованным в 1989 г., используется формула
ООСУБД = СУБД + ООЯП,
где сокращения 0 0 и ЯП означают объектно-ориентированный и язык про1раммирования. ООСУБД должна поддерживать объекты с нелинейной структурой (сложные объекты, в том числе с иерархией типов), что достигается инкапсуляцией и наследованием. Легко поддер живаются расширяемость, вычислительная полнота, языки запроса.
В 1991 г. была сформирована группа Object Database Management Group (ODMG), перед которой была поставлена цель построить стандарты для ООБД хотя бы на уровне стандартов для реляционных БД. В 1993 г. эта группа предложила своеобразный стандарт для ООБД, названный 0DM G -3, который включал:
1)объектную модель Object Data Model (ODM);
2)язык определения объектов Object Definition Language (ODL);
3)объектный язык запроса Object Query Language (OQL);
4) интерфейсы языков программирования (СГ+ и др.).
В настоящее время насчитывается свыше 300 объектно-ориенти рованных СУБД (ООСУБД), данные некоторых из них приведены в табл. 7.2. Сфера их применения указана в табл. 7.3.
Фирма-производи |
Название |
||
тель |
|
ООСУБД |
|
Objectivity |
|
Obiectivitv/DB |
|
Poet Software |
Poet |
||
Object |
Design |
Object Store |
|
Ontos |
Inc. |
|
— |
Versant |
Object |
Ontos DB, Versant |
|
Technology |
|
Jasmine |
|
Computer |
|
||
Associate |
|
|
|
НПЦ «Интелтек ODB-Jupiter |
|||
Плюс» |
|
|
02 |
02 Technology |
|||
GemStone |
Inc. |
GemStone |
|
InterSystems |
CACHE |
|
|
|
Таблица 7.2 |
Средства разработ |
Подход к разра |
||
|
ки |
ботке |
|
C, C+\ SOL, Java |
Расширение объ- |
||
C,C++, ODBC, Java ектно-ориентиро- |
|||
C, C+\ Java |
ванных |
библиотек |
|
классов |
|
||
C*\ |
Java |
|
|
|
|
||
C+\ |
Java |
|
|
C++, Java |
|
|
|
C*+ |
|
|
|
C*\ |
Java, |
Вставка объектно- |
|
|
|
ориентированного |
|
|
|
языка БД в обычный |
|
|
|
базовый язык |
|
C*\ |
Java |
Расширение язы |
|
|
|
ка (С") |
возможно |
|
|
стями работы с БД |
|
Semantic Informa |
Новый язык базы |
tion Manager, Cache данных или модели ObjectScript данных
Область применения |
Versant |
GemSton |
02 |
ObjectSto |
РОЕТ |
|
|
е |
|
ГУ |
|
Моделирование |
+ |
+ |
+ |
+ |
+ |
САПР |
+ |
+ |
+ |
+ |
+ |
Управление производством |
— |
+ |
+ |
+ |
+ |
Обработка изображения |
+ |
+ |
— |
+ |
+ |
CASE |
+ |
+ |
— |
+ |
+ |
Планирование |
+ |
— |
— |
— |
— |
Гипертекстовые системы |
+ |
— |
+ |
+ |
+ |
Издательство |
— |
— |
— |
+ |
— |
Экспертные системы |
+ |
— |
— |
+ |
Н. д. |
Суть объектно-ориентированной БД определяется объектно-ори ентированным подходом (рис. 7.6), который подразумевает объект но-ориентированное проектирование и объектно-ориентированное программирование.
Объектно-ориентированное проектирование — методология про ектирования, соединяющая в себе процесс объектной декомпозиции и приемы представления логических и физических, а также статиче ских и динамических моделей проектируемой системы.
Объектно-ориентированное программирование — методология программирования, основанная на представлении программ в виде связанной совокупности объектов, каждый из которых является эк земпляром определенного класса, а классы образуют иерархию по на следованию. Объектно-ориентированное проектирование предпола гает не только деление (декомпозицию) базы знаний или базы данных на составные части (рис. 7.7), но и рассмотрение общей этапности реализации БД, выбор инструмента реализации с учетом оговорен ных в техническом задании вариантов реализации.
Рис. 7.6. Объектно-ориентированный подход
Объектно-ориентированное програм |
|
|||
мирование (рис. 7.8) берет за основу мо |
|
|||
дель атомарного элемента. Дело в том, что |
|
|||
несмотря на мощные средства отладки |
|
|||
программ, для |
повышения |
производи |
|
|
тельности процедуры программирования |
|
|||
целесообразно |
отлаживать |
программы |
|
|
последовательно, по блокам. Программа в |
|
|||
целом отлаживается быстрее, если блоки |
|
|||
были отлажены заранее. Эти предпосыл |
Рис. 7.7. Объектно-ориенти |
|||
ки и положены в основу объектно-ориен |
||||
рованное проектирование |
||||
тированного программирования. |
||||
|
||||
Выделяется |
несколько |
специфиче |
|
ских понятий. Данные называют свойствами, а алгоритмы — метода ми. Доступ к классу осуществляется через свойства — в статическом режиме написания и отладки программы или через методы — в про цессе выполнения (работы) программы.
Начало работы класса задается с помощью специальных внутрен них (например, нажатие кнопки) или внешних (вызов из другой под программы) сигналов, называемых событиями.
Программную реализацию класса называют компонентом. Реа лизация компонента в некоторой программе получила название объ екта.
В объектно-ориентированном программировании используют три основных принципа: инкапсуляция, наследование, полиморфизм.
Инкапсуляция — выделение класса с доступом к нему через свой ства или методы.
Наследование — трансформация класса путем изменения свойств и методов с помощью методов, называемых конструктором и дест руктором.
Рис. 7.8. Классы и методы объектно-ориентированного проектирования
Все классы (компоненты) строятся по иерархическому принципу с происхождением от некоторого исходного класса.
Полиморфизм позволяет использовать метод с одним именем как в базовом, так и в производных классах. Дело в том, что количество классов значительно: уже сейчас оно приближается к ста и продолжа ет расти. Если для производных классов применять для однотипных, «похожих» методов (например, начертание квадрата и окружности) разные имена, пользователю, особенно начинающему, будет сложно освоиться с таким разнообразием имен.
Приведем основные положения ООБД, базирующиеся на объект но-ориентированном подходе.
1.В качестве значения столбца может быть использован произ вольный кортеж. Иными словами, столбец может являться как бы не которой другой таблицей. Таким образом, создается возможность реализации таблиц с нелинейной структурой.
2.Процедура манипуляции данными позволяет присоединять процедуры, определенные значениями столбцов.
3.Данные столбцов могут наследоваться.
4.Элементами отношений могут служить не только отдельные элементы, как в реляционных БД, но и множества.
5.Формируются классы данных, которые организуют столбцы в иерархию.
Базовым языком ООБД чаще всего является С++. Для работы с та кими ООБД разрабатывается новый вариант языка программирова ния SQL, получивший название SQL3 и содержащий внутри себя в качестве частного случая реляционную модель (SQL2). Если SQL2 определяет семь способов связывания со стандартными языками программирования, в SQL3 это количество предполагается увели чить.
Втехнологии разработки ООБД конкурируютдва направления:
1)Distributed Object Linking and Embedding (OLE) фирмы Microsoft.
2)Common Object Request Broker Architecture (CORBA) группы OBDMG, поддерживаемое фирмами IBM, Novell, DEC, с ориентаци ей на все платформы. В рамках этого направления выделены и сфор мированы указанные ранее язык определения объектов Object Definition Language (ODL); объектный язык запроса Object Query Language (OQL); язык определения интерфейсов Interface Definition Language (IDL).
Во втором направлении обычно выделяют [52] два стандарта управления БД:
•ODL/OQL, в котором объекты и методы формируются обычно с помощью языка программирования С;
•язык программирования SQL3.
Необходимо отметить, что к объектно-ориентированным воз можно отнести только те базы данных, у которых все структурные элементы реализации построены с использованием объектно-ориен тированного подхода. Если хотя бы один структурный элемент реали зации не использует объектно-ориентированный подход, говорят об
объектно-реляционной базе данных (ОРБД).
Таким образом, чтобы воспользоваться объектно-ориентирован ным подходом в построении собственно БД, необходимо:
1)провести инкапсуляцию данных, т. е. выделить классы и объ
екты;
2)определить возможные виды структуры реализуемыхтаблиц:
3)создать наследование классов данных;
4)обеспечить полиморфизм.
Реализация даже первой позиции неоднозначна и различна, на пример, в ООСУБД и ОРСУБД. Имеется некоторое отличие даже в рамках различных ООСУБД.
По сравнению с реляционными БД ООБД обладают следующими преимуществами:
•лучшими возможностями моделирования систем из блоков, об ладающих произвольными связями;
•легкой расширяемостью структуры за счет создания новых ти пов данных (свойств), наследования, установления новых связей и корректировки методов;
•возможностью использования рекурсивных методов при нави
гационном методе доступа к большим объемам данных;
• повышением производительности в 10 — 30 раз;
•более широкой сферой применения (например, использование
вмультимедийных системах).
Преимущества ООБД [42] приведут, видимо, к очень широкому их распространению. Однако прежде следует решить ряд задач по уст ранению недостатков ООБД: создать гибкую структуру БД; постро ить четкий язык программирования; отработать синтаксис разбора запросов, в том числе — вложенных; определить несколько методов доступа к данным; отработать вопросы одновременного доступа (раз решение конфликтов при множественном наследовании); опреде лить сложный перебор данных; отработать защиту и восстановление данных; уточнить семантику (действия) операторов при динамиче ских изменениях; встроить изменение атрибутовдочерних объектов.
Однако и после устранения названных недостатков переход к ООБД будет носить, видимо, эволюционный характер, поскольку сразу отказаться от значительного количества действующих реляци онных БД нельзя. Безболезненный переход возможен, если первона чально в ООСУБД будет присутствовать не только объектная, но и ре ляционная составляющая.
7.2.2 Объектно-реляционные базы данных
Переход к объектно-ориентированным моделям данных связан с процессом «перекачки» в них огромных объемов информации, кото рая в настоящее время хранится преимущественно в реляционных ба зах данных. Чтобы упростить этот процесс, сформирована объект но-реляционная модель данных, в которой выделяются две разновид ности — гибридные и расширенные.
Вгибридных объектно-реляционных базах данных объект но-ориентированный подход используется в создании интерфейса пользователя и алгоритма приложения. В то же время система таблиц формируется в рамках реляционной модели данных.
Врасширенных объектно-реляционных базах данных объект но-ориентированный подход используется прежде всего при по строении системы таблиц. Для этого разработана модификация язы ка SQL2, получившая название языка программирования SQL3.
«Промежуточной» моделью данных между реляционными и объ ектно-ориентированными базами данных является объектно-реля ционная модель (ОРБД), появление которой вызвано двумя причи нами:
•сложностью построения новой модели данных «с листа». Удоб нее это делать на основе имеющихся проверенных разработок;
•преемственностью с широко используемыми реляционными моделями, которые нельзя мгновенно заменить на объектно-ориен тированные БД.
Как отмечалось ранее, различают две разновидности ОРБД — гибридные и расширенные.
1. В гибридных ОРБД [42, 56] интерфейс пользователя и алгоритм приложения выполнены с учетом объектно-ориентированного под хода, тогда как собственно БД является реляционной. Примерами могут служить СУБД Paradox и InterBase в рамках программного про дукта Delphi. В каком-то смысле гибридной можно считать СУБД Access при использовании языка программирования Visual Basic for Application (VBA).