
- •20.7. Средства sql
- •20.8. Резюме
- •21.1. Введение
- •21.2. Некоторые аспекты технологам поддержки принятия решений
- •21.3. Проектирование базы данных поддержки принятия решений
- •21.5. Хранилища данных и магазины данных
- •21.6. Оперативная аналитическая обработка
- •21.7. Разработка данных
- •21.8. Резюме
- •22.1. Введение
- •22.2. Хронологические данные
- •22.3. Основная проблема хронологических баз данных
- •22.4. Интервалы
- •22.5. Интервальные типы
- •22.6. Скалярные операторы для интервалов
- •22.7. Операторы обобщения для интервалов
- •22.8. Реляционные операторы для обработки интервалов
- •22.9. Ограничения, включающие интервалы
- •22.10. Операторы обновления, включающие интервалы
- •22.11. Проектирование базы данных
- •22.12. Резюме
- •23.1. Введение
- •23.2. Обзор основных концепций
- •23.3. Исчисление высказываний
- •23.4. Исчисление предикатов
- •23.5. Базы данных с точки зрения доказательно-теоретического подхода
- •23.6. Дедуктивные субд
- •23.7. Обработка рекурсивных запросов
- •23.8. Резюме
- •Часть VI
- •24.1. Введение
- •24.2. Объекты, классы, методы и сообщения
- •24.3. Еще раз об объектах и объектных классах
- •Cdo для класса set (ref(emp))
- •24.4. Простой пример
- •1 | Course с001 , с001 0ffs , с001 ny offs |
- •24.5. Дополнительные аспекты
- •24.6. Резюме
- •25.1. Введение
- •X2 rational, y2 rational ) ... ;
- •25.2. Первая грубейшая ошибка
- •25.3. Вторая грубейшая ошибка
- •25.4. Вопросы реализации
- •25.5. Преимущества реального сближения двух технологий
- •25.6. Резюме
23.5. Базы данных с точки зрения доказательно-теоретического подхода
Как говорилось в разделе 23.4, предложением является выражение следующего вида. Al AND А2 AND ... AND Am => Bl OR B2 OR ... OR Bn
Здесь все А и В являются термами указанного ниже вида, где г— предикат, a xl, х2, xt — его аргументы.
г ( xl, х2, xt ),
В соответствии с [23.12] рассмотрим несколько важных типов этой общей конструкции.
■ Случай I. ш = 0, n = 1.
В данном случае предложение может быть сведено к следующему простому виду. => В1
Его можно также записать в другом виде без символа импликации для некоторого предиката г с набором аргументов xl, х2,xt.
г ( xl, х2, xt)
Если все аргументы являются константами, то предложение представляет собой основную аксиому, т.е. утверждение, которое однозначно является истинным. В терминах базы данных такое утверждение соответствует кортежу некоторой переменной-отношения R2. Как неоднократно отмечалось в этой книге, предикат г соответствует "смысловому значению" переменной-отношения R. Например, в базе данных поставщиков и деталей существует отношение SP, которое означает, что заданный поставщик (St) поставляет указанную деталь (Pi) в определенном количестве (QTY). Обратите внимание, что это значение соответствует открытой WFF-формуле, так как содержит несколько свободных переменных (Si, Pi и QTY). И наоборот, кортеж ('SI', 'Р1', 300), в котором все аргументы являются константами, представляет собой основную аксиому, или закрытую WFF-формулу, которая однозначно утверждает, что поставщик с номером 'S1' поставляет деталь с номером 'Р1' в количестве 300.
■ Случай 2. Ш > 0, n = 1.
В этом случае предложение принимает вид Al AND А2 AND ... AND Am => В
и может рассматриваться как дедуктивная аксиома. Она дает, возможно, неполное определение предиката справа от знака следования в терминах, которые представлены слева (см. в качестве примера определение предиката GRANDM0THER_0F).
Кроме того, данное предложение может рассматриваться и как ограничение целостности — ограничение переменной-отношения, если использовать терминологию главы 8. Предположим, что в нашем примере отношение S содержит только два атрибута: Si и CITY. Тогда приведенное ниже предложение выражает ограничение: атрибут CITY функционально зависит от атрибута Si.
S ( s, cl ) AND S ( s, с2 ) => cl = с2
Здесь следует обратить внимание на использование встроенного предиката "=".
2
Или значению в
некотором
домене.
Традиционное представление базы данных может считаться модельно-теорети-ческим. Согласно этой точке зрения база данных рассматривается как набор явных именованных переменных-отношений, каждая из которых содержит явный набор кортежей и явный набор ограничений целостности. Рассмотрим, почему такое представление может характеризоваться как модельно-теоретическое.
Используемые домены содержат переменные значения или константы, которые используются для представления объектов "реального мира" (точнее, в некоторой интерпретации, в смысле, который подразумевался в разделе 23.4). Таким образом, они соответствуют "пространству рассуждений".
Переменные-отношения (точнее, их заголовки) представляют набор предикатов, или открытых WFF-формул, которые должны быть интерпретированы в этом пространстве. Например, заголовок переменной-отношения SP представляет предикат "Поставщик Si поставляет деталь Pi в количестве QTY".
Каждый кортеж данной переменной-отношения представляет собой экземшмр соответствующего предиката, т.е. однозначно истинное в пространстве рассуждений утверждение (закрытую WFF-формулу, которая не содержит никаких переменных).
Ограничения целостности также являются закрытыми WFF-формулами и интерпретируются в том же пространстве. Поскольку данные не нарушают (т.е. не должны нарушать!) ограничений целостности, эти ограничения также всегда являются истинными.
Кортежи и ограничения целостности вместе могут рассматриваться как набор аксиом, задающих определенную логическую теорию (попросту говоря, под термином "теория" в логике подразумевается набор аксиом). Поскольку в данной интерпретации все аксиомы истинны, такая интерпретация по определению является моделью этой логической теории в смысле, подразумеваемом в разделе 23.4. Следует заметить, что, как уже отмечалось в настоящем разделе, модель может быть не уникальной, т.е. база данных может иметь несколько возможных интерпретаций, каждая из которых допустима с логической точки зрения.
Следовательно, с модельно-теоретической точки зрения "смысловым значением" базы данных является модель в изложенном выше смысле термина "модель". А поскольку существует несколько возможных моделей, в принципе, существует и несколько возможных смысловых значений3. Более того, обработка запросов в модельно-теоре-тическом представлении является по существу процессом вычисления некоторой открытой формулы для определения, какие значения свободных переменных в этой WFF-формуле сводят ее к значению истина в данной модели.
Однако
если предположить, что в базе данных
не содержится явным образом никакой
отрицаемой информации (например,
утверждения наподобие "NOT
Si('S9')",
где 'S9'
не
является номером поставщика), то
возможно существование "минимального"
или канонического
значения,
которое является пересечением всех
возможных моделей [23.10]. Более того, как
уже отмечалось, в данном случае это
каноническое значение будет таким же,
как и значение, которое приписывается
базе данных доказательно-теоретическим
представлением.
Замечание. Из сказанного следует, что отличие между моделыю-теоретическим и доказательно-теоретическим подходами состоит в том, что, в то время как с модельно-теоретической точки зрения база данных может иметь несколько "смысловых значений", с доказательно-теоретической точки зрения она обычно обладает в точности одним "смысловым значением". Это верно за исключением двух случаев: когда, как уже упоминалось ранее, единственное значение является каноническим с модельно-теоретической точки зрения, а также когда единственное значение с доказательно-теоретической точки зрения прекращает быть истинным, если в базе данных содержатся какие-либо отрицаемые аксиомы [23.9], [23.10].
Ниже в неформальном виде перечислены аксиомы рассматриваемой в данном примере базы данных [23.15] (с доказательно-теоретической точки зрения).
Основные аксиомы, соответствующие значениям доменов и кортежей в базовых переменных-отношениях, которые называются экстенсиональной базой данных (extensional database).
"Аксиома дополнения" для каждой переменной-отношения, которая утверждает, что для любого кортежа, отличного от допустимого для данной переменной-отношения, соответствующее ей утверждение является ложным. (Фактически эти аксиомы дополнения, взятые вместе, составляют допущение о замкнутости мира, которое уже рассматривалось в главе 5.) Например, если в переменную-отношение поставщиков S не включен кортеж ('S6', 'White', 45, 'Rome'), то утверждение "Существует поставщик с номером 'S6' по имени 'White', который имеет статус 45 и проживает в городе 'Rome'" является ложным.
Аксиома "уникального имени", которая утверждает, что каждая константа отлична от других (т.е. обладает уникальным именем).
Аксиома "замкнутости доменов", которая утверждает, что не существует никаких других констант, кроме упомянутых в доменах базы данных.
Набор аксиом (по сути стандартных) для определения встроенного предиката равенства "=". Эти аксиомы обязательны, поскольку в аксиомах 2-4 используется предикат равенства.
В заключение следует перечислить принципиальные различия между двумя точками зрения — модельно-теоретической и доказательно-теоретической. Но прежде всего следует отметить, что с чисто практической точки зрения между ними нет существенной разницы, по крайней мере в понятиях современных СУБД.
■ Аксиомы 2-5 из приведенного выше перечня согласно доказательно-теоретическому подходу указывают, что некоторые допущения являются явными, хотя с точки зрения модельно-теоретического подхода они неявные [23.15]. Вообще говоря, явное задание аксиом довольно удобно и, более того, даже необходимо для явного задания дополнительных аксиом, которые используются для таких общих методов доказательства, как описанный в разделах 23.3 и 23.4 метод резолюции.
Следует отметить, что в аксиомах не упоминаются ограничения целостности. Дело в том, что с доказательно-теоретической точки зрения при добавлении таких ограничений СУБД становится дедуктивной. Подробнее об этом речь идет в разделе 23.6.
Доказательно-теоретическое представление, в отличие от модельно-теоретического, обладает некоторой элегантностью, состоящей в едином представлении нескольких конструкций, которые обычно рассматриваются как в какой-то мере разные: базовые данные, запросы, ограничения целостности (несмотря на сказанное в предыдущем пункте), виртуальные данные и т.д. Это позволяет создавать в большей степени единообразные интерфейсы и приложения.
С помощью доказательно-теоретического подхода можно решать проблемы, которые невозможно решить на основе реляционных систем, например обрабатывать дизъюнктивную информацию типа "Поставщик с номером 'S6' проживает либо в городе 'Paris', либо в городе 'Rome'", извлекать отрицаемую информацию наподобие "Кто не является поставщиком?" и обрабатывать рекурсивные запросы, которые будут описаны ниже. Однако в отношении последнего случая (как минимум) нет никаких принципиальных ограничений для соответствующего расширения классической реляционной системы с целью выполнения таких запросов. Более того, в нескольких коммерческих продуктах их поддержка уже реализована (см. также приложение Б). Подробнее эти вопросы рассматриваются в разделах 23.6 и 23.7.
Наконец, цитируя работу Рейтера (Reiter) [23.15], можно сказать, что доказательно-теоретический подход "обеспечивает корректную обработку расширений реляционной модели для более широкого включения семантики реального мира" (как уже отмечалось в разделе 23.22).