Скачиваний:
79
Добавлен:
02.05.2014
Размер:
2.54 Mб
Скачать

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.2.

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

  • Используемые домены содержат переменные значения или константы, которые используются для представления объектов "реального мира" (точнее, в некоторой интерпретации, в смысле, который подразумевался в разделе 23.4). Таким обра­зом, они соответствуют "пространству рассуждений".

  • Переменные-отношения (точнее, их заголовки) представляют набор предикатов, или открытых WFF-формул, которые должны быть интерпретированы в этом про­странстве. Например, заголовок переменной-отношения SP представляет предикат "Поставщик Si поставляет деталь Pi в количестве QTY".

  • Каждый кортеж данной переменной-отношения представляет собой экземшмр соот­ветствующего предиката, т.е. однозначно истинное в пространстве рассуждений ут­верждение (закрытую WFF-формулу, которая не содержит никаких переменных).

  • Ограничения целостности также являются закрытыми WFF-формулами и интер­претируются в том же пространстве. Поскольку данные не нарушают (т.е. не должны нарушать!) ограничений целостности, эти ограничения также всегда яв­ляются истинными.

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

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

Однако если предположить, что в базе данных не содержится явным образом никакой от­рицаемой информации (например, утверждения наподобие "NOT Si('S9')", где 'S9' не явля­ется номером поставщика), то возможно существование "минимального" или канонического значения, которое является пересечением всех возможных моделей [23.10]. Более того, как уже отмечалось, в данном случае это каноническое значение будет таким же, как и значение, кото­рое приписывается базе данных доказательно-теоретическим представлением.

Для того чтобы применить правила вывода, описанные в разделах 23.3 и 23.4, необ­ходимо использовать новую точку зрения, в соответствии с которой база данных явным образом рассматривается как некая логическая теория, т.е. как набор аксиом. "Смыс­ловым значением" этой базы данных становится набор истинных утверждений, которые могут быть выведены из аксиом и их различных комбинаций, т.е. набора теорем, дока­зуемых на основе этих аксиом. Так, в целом, выглядит доказательно-теоретический подход, в котором выполнение запроса представляет собой доказательство некой теоре­мы (во всяком случае на уровне концепции, хотя, как показано в разделе 23.7, для боль­шей эффективности в системе, вероятнее всего, следует использовать традиционные технологии выполнения запросов).

Замечание. Из сказанного следует, что отличие между моделыю-теоретическим и доказательно-теоретическим подходами состоит в том, что, в то время как с модельно-теоретической точки зрения база данных может иметь несколько "смысловых значений", с доказательно-теоретической точки зрения она обычно обладает в точности одним "смысловым значением". Это верно за исключением двух случаев: когда, как уже упоми­налось ранее, единственное значение является каноническим с модельно-теоретической точки зрения, а также когда единственное значение с доказательно-теоретической точки зрения прекращает быть истинным, если в базе данных содержатся какие-либо отрицае­мые аксиомы [23.9], [23.10].

Ниже в неформальном виде перечислены аксиомы рассматриваемой в данном приме­ре базы данных [23.15] (с доказательно-теоретической точки зрения).

  1. Основные аксиомы, соответствующие значениям доменов и кортежей в базовых переменных-отношениях, которые называются экстенсиональной базой данных (extensional database).

  2. "Аксиома дополнения" для каждой переменной-отношения, которая утверждает, что для любого кортежа, отличного от допустимого для данной переменной-отношения, соответствующее ей утверждение является ложным. (Фактически эти аксиомы дополнения, взятые вместе, составляют допущение о замкнутости мира, которое уже рассматривалось в главе 5.) Например, если в переменную-отношение поставщиков S не включен кортеж ('S6', 'White', 45, 'Rome'), то утверждение "Существует поставщик с номером 'S6' по имени 'White', который имеет статус 45 и проживает в городе 'Rome'" является ложным.

  3. Аксиома "уникального имени", которая утверждает, что каждая константа отлична от других (т.е. обладает уникальным именем).

  4. Аксиома "замкнутости доменов", которая утверждает, что не существует никаких других констант, кроме упомянутых в доменах базы данных.

  5. Набор аксиом (по сути стандартных) для определения встроенного предиката ра­венства "=". Эти аксиомы обязательны, поскольку в аксиомах 2-4 используется предикат равенства.

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

■ Аксиомы 2-5 из приведенного выше перечня согласно доказательно-теоретическому подходу указывают, что некоторые допущения являются явны­ми, хотя с точки зрения модельно-теоретического подхода они неявные [23.15]. Вообще говоря, явное задание аксиом довольно удобно и, более того, даже не­обходимо для явного задания дополнительных аксиом, которые используются для таких общих методов доказательства, как описанный в разделах 23.3 и 23.4 метод резолюции.

  • Следует отметить, что в аксиомах не упоминаются ограничения целостности. Дело в том, что с доказательно-теоретической точки зрения при добавлении таких ограни­чений СУБД становится дедуктивной. Подробнее об этом речь идет в разделе 23.6.

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

  • С помощью доказательно-теоретического подхода можно решать проблемы, кото­рые невозможно решить на основе реляционных систем, например обрабатывать дизъюнктивную информацию типа "Поставщик с номером 'S6' проживает либо в городе 'Paris', либо в городе 'Rome'", извлекать отрицаемую информацию напо­добие "Кто не является поставщиком?" и обрабатывать рекурсивные запросы, ко­торые будут описаны ниже. Однако в отношении последнего случая (как минимум) нет никаких принципиальных ограничений для соответствующего расширения клас­сической реляционной системы с целью выполнения таких запросов. Более того, в нескольких коммерческих продуктах их поддержка уже реализована (см. также при­ложение Б). Подробнее эти вопросы рассматриваются в разделах 23.6 и 23.7.

  • Наконец, цитируя работу Рейтера (Reiter) [23.15], можно сказать, что доказатель­но-теоретический подход "обеспечивает корректную обработку расширений реля­ционной модели для более широкого включения семантики реального мира" (как уже отмечалось в разделе 23.22).

Соседние файлы в папке Дейт К. Дж. Введение в системы баз данных [7 издание]