Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Теоретические основы автоматизированного управления

..pdf
Скачиваний:
17
Добавлен:
13.11.2023
Размер:
24.2 Mб
Скачать

независимую параллельную обработку;

синхронизированную обработку.

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

Средства проектирования и оценочные критерии используются на всех стадиях разработки. Любой метод проектирования (аналити­ ческий, эвристический, процедурный), реализованный в виде про­ граммы, становится инструментальным средством проектирования, практически не подверженным влиянию стиля проектирования.

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

Количественные критерии: время ответа на запрос, стоимость мо­ дификации, стоимость памяти, время на создание, стоимость на ре­ организацию.

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

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

Предназначение хранилища данных — информационная под­ держка принятия решений, а не оперативная обработка данных. По-

содержимого склада

содержимого склада

Периодическое

обновление содержимого склада

базы данных

базы данных

Рис. 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).

Соседние файлы в папке книги