Основи на съвременните бази данни Предговор


Лекция 23. Системы баз от данни, основанные на правилах



страница17/17
Дата17.08.2018
Размер1.71 Mb.
#80209
1   ...   9   10   11   12   13   14   15   16   17

Лекция 23. Системы баз от данни, основанные на правилах


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

23.1. Экстенсиональная и интенсиональная части базы от данни


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

Информация первого и второго вида в совокупности явно описывает обекти (същности) реального мира, моделируемые в базе от данни. Другими словами, это явные факты, предоставленные потребителями за хранения в БД. Эту часть базы от данни принято называть экстенсиональной.

Информация третьего вида служит за ръководства СУБД при изпълнении различного рода операций, задаваемых потребителями. Ограничения целостности могут блокировать изпълнение операций обновления базы от данни, тригеры вызывают автоматическое изпълнение специфицированных действий при возникновении специфицированных условий, определения представлений вызывают явную или косвенную материализацию представляемых таблиц при их използовании. Эту часть базы от данни принято называть интенсиональной; она съдържит не непосредственные факты, а информацию, характеризующую семантику предметной области.

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


23.2. Активные базы от данни


По определению БД се нарича активной, ако СУБД по отношению к ней изпълнява не только те действия, които явно указывает потребитель, но и дополнительные действия в съответствии с правилами, заложенными в саму БД.

Легко видеть, что основа этой идеи съдържалась в езике SQL времени System R. На самом деле, что есть определение тригера или условного воздействия, как не введение в БД правила, в съответствии с которым СУБД должна производить дополнительные действия? Плохо лишь то, что на самом деле тригеры не были напълно реализованы ни в одной из известных систем, даже и в System R. И это не случайно, потому что реализация такого аппарата в СУБД очень сложна, накладна и не напълно понятна.

Среди вопросов, ответы на които до сих пор не получены, следующие. Как эффективно определить набор вспомогательных действий, вызываемых прямым действием потребителя? Каким образом распознавать циклы в цепочке "действие-условие-действие-..." и что делать при возникновении таких циклов? В рамках какой транзакции выполнять дополнительные условные действия и к бюджету какого потребителя относить возникающие накладные расходы?

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

Вместе с тем, по нашему мнению, гораздо важнее в практических целях реализовать в релационных СУБД аппарат тригеров. Заметим, что в проекте стандарта SQL3 предусматривается съществование езиковых средств определения условных воздействий. Их реализация и будет первым практическим стъпкаом к активным БД (уже появились съответствующие коммерческие реализации).

23.3. Дедуктивные базы от данни


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

Легко видеть, что при таком общем определении SQL-ориентированную релационную СУБД можно отнести к дедуктивным системам. Действительно, что есть определенные в схеме релационной БД представления, как не интенциональная часть БД. В конце концов не так уж важно, какой конкретный механизм използуется за вывода новых фактов на основе съществуващих. В случае SQL основным елементом определения представления является оператор выборки езика SQL, что вполне естественно, поскольку резултатом оператора выборки является порождаемая таблица. Обеспечивается и необходимая расширяемость, поскольку представления могут определяться не только над базовыми таблицами, но и над представлениями.

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

Мы не будем здесь более подробно рассматривать конкретные проблемы, применяемые ограничения и използуемые методы в дедуктивных системах. Отметим лишь, что обикновено езики заявките и определения интенциональной части БД являются логическими (поэтому дедуктивные БД часто наричат логическими). Имеется прямая связь дедуктивных БД с базами знаний (интенциональную часть БД можно рассматривать как БЗ). Более того, трудно провести грань между этими двумя същностями; по крайней мере, общего мнения по этому поводу не съществует.

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

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



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





Каталог: tadmin -> upload -> storage
storage -> Литература на факта. Аналитизъм. Интерпретативни стратегии. Въпроси и задачи
storage -> Лекция №2 Същност на цифровите изображения Въпрос. Основни положения от теория на сигналите
storage -> Лекция 5 система за вторична радиолокация
storage -> Толерантност и етничност в медийния дискурс
storage -> Ethnicity and tolerance in media discourse revisited Desislava St. Cheshmedzhieva-Stoycheva abstract
storage -> Тест №1 Отбележете невярното твърдение за подчертаните думи
storage -> Лекции по Въведение в статистиката
storage -> Търсене на живот във вселената увод
storage -> Еп. Константинови четения – 2010 г някои аспекти на концептуализация на богатството в руски и турски език


Сподели с приятели:
1   ...   9   10   11   12   13   14   15   16   17




©obuch.info 2024
отнасят до администрацията

    Начална страница