Введение в системы БД (542480), страница 241
Текст из файла (страница 241)
"Смыс- З Однако если предпалажить, чпю в базе данных не содержится явным абрагам никакой атрицаемай информации (наприлгер, утверждена» наподобие "гл07 Бч ( гЯ9') ", где лЯ9' не является намераи поставщика), та важюжна существование мингллгальнага или канонического значения, камаров является пересечением всех ваэмажных моделей (23. ) 0). Более того. как уже атлгечалась, в данном случае эта каноническое значение будет таким же, как и значение, капюрае приписьтаепгся базе данны даказательча-теоретически.ч представлениелг 916 Часпгь (г. дополнительные аспекты ловым значением" этой базы данных становится набор истинных утверждений, которые могут быть выведены из аксиом и их различных комбинаций, т.е.
набора теорем, доказуемых на основе этих аксиом. Так, в целом, выглядит доказательно-теоретический подход, в котором выполнение запроса представляет собой доказательство некой теоремы (во всяком случае на уровне концепции, хотя, как показано в разделе 23.7, для большей эффективности в системе, вероятнее всего, следует использовать традиционные технологии выполнения запросов). Замечание.
Из сказанного следует, что отличие между модвльна-теоретическим и доказательна-теоретическим подходами состоит в том, что, в то время как с модельнотеоретической точки зрения база данных может иметь несколько "смысловых значений", с доказательно-теоретической точки зрения она обычно обладает в точности одним "смысловым значением". Это верно за исключением двух случаев: когда, как уже упоминалось ранее, единственное значение является каноническим с модельно-теоретической точки зрения, а также когда единственное значение с доказательно-теоретической точки зрения прекращает быть истинным, если в базе данных содержатся какие-либо отрицаемые аксиомы [23.9], [23.10].
Ниже в неформальном виде перечислены аксиомы рассматриваемой в данном примере базы данных [23.15] (с доказательно-теоретической точки зрения). 1. Основные аксиомы, соответствующие значениям доменов и кортежей в базовых переменных-отношениях, которые называются экстенсиональной базой данных (ех1епвдопа! дагаЬазе). 2. "Аксиома дополнения" для каждой переменной-отношения, которая утверждает, что для любого кортежа, отличного от допустимого для данной переменной- отношения, соответствующее ей утверждение является ложны.м. (Фактически эти аксиомы дополнения, взятые вместе, составляют допущение о замкнутости мира, которое уже рассматривалось в главе 5.) Например, если в переменную-отношение поставщиков Я не включен кортеж ('Яб', ''яйле', 45, 'Коже'), то утверждение "Существует поставщик с номером 'ЯЯ' по имени 'нйзбе', который имеет статус 45 и проживает в городе 'йоде'" является лажным.
3. Аксиома "уникального имени", которая утверждает, что каждая константа отлична от других (т.е. обладает уникальным именем). 4. Аксиома "замкнутости доменов", которая утверждает, что не существует никаких других констант, кроме упомянутых в доменах базы данных. 5. Набор аксиом (по сути стандартных) для определения встроенного предиката равенства "=". Эти аксиомы обязательны, поскольку в аксиомах 2-4 используется предикат равенства. В заключение следует перечислить принципиальные различия между двумя точками зрения — модельно-теоретической и доказательно-теоретической. Но прежде всего следует отметить, что с чисто практической точки зрения между ними нет существенной разницы, по крайней мере в понятиях современных СУБД.
° Аксиомы 2 — 5 из приведенного выше перечня согласно доказательно- теоретическому подходу указывают, что некоторые допущения являются явными, хотя с точки зрения модельно-теоретического подхода они неявные [23.15]. Вообще говоря, явное задание аксиом довольно удобно и, более того, даже не- Глава 23. Пагические системы управления базами данных 917 обходимо для явного задания дополнительных аксиом, которые используются для таких общих методов доказательства, как описанный в разделах 23.3 и 23гй метод резолюции.
° Следует отметить, что в аксиомах не упоминаются ограничения целостности. Дело в том, что с доказательно-теоретической точки зрения при добавлении таких ограничений СУБД становится дедуктивной. Подробнее об этом речь идет в разделе 23.6. ° Доказательно-теоретическое представление, в отличие от модельнотеоретического, обладает некоторой элегантностью, состоящей в едином представлении нескольких конструкций, которые обычно рассматриваются как в какой-то мере разные: базовые данные, запросы, ограничения целостности (несмотря на сказанное в предыдущем пункте), виртуальные данные и т.д.
Это позволяет создавать в большей степени единообразные интерфейсы и приложения. ° С помощью доказательно-теоретического подхода можно решать проблемы, которые невозможно решить на основе реляционных систем, например обрабатывать дизьюнктивную информацию типа "Поставщик с номером '86' проживает либо в городе 'Рагхв', либо в городе 'Нове'*', извлекать отрицаемую информацию наподобие "Кто не является поставщиком7*' и обрабатывать рекурсивные запросы, которые будут описаны ниже. Однако в отношении последнего случая (как минимум) нет никаких принципиальных ограничений для соответствующего расширения классической реляционной системы с целью выполнения таких запросов. Более того, в нескольких коммерческих продуктах их поддержка уже реализована (см, также приложение Б). Подробнее эти вопросы рассматриваются в разделах 23.6 и 23.7. ° Наконец, цитируя работу Рейтера (Нейег) (23.15), можно сказать, что доказательно-теоретический подход "обеспечивает корректную обработку расширений реляционной модели для более широкого включения семантики реального мира" (как уже отмечалось в разделе 23.22).
23.6. Дедуктивные СУБД Дедуктивная СУБД вЂ” это СУБД, в которой поддерживается доказательно-теоретический подход к базам данных и которая, в частности, позволяет вывести дополнительные факты из экстенсиональной базы данных с помощью специализированных дедуктивных аксиом, или правил вывода, примененных к известным фактамв. Дедуктивные аксиомы вместе с ограничениями целостности (они будут описаны ниже) образ)тот интенсиональную базу данных (!пгепэ!опа! да1аЬаэе). Экстенсиональная и интенсиональная базы данных вместе составляют дедуктивную базу данных (зто не совсем удачное название, поскольку на самом деле выводы делает именно СУБД, а не база данных).
Как отмечалось выше, дедуктивные аксиомы образуют одну часть интенсиональной базы данных, тогда как другая ее часть состоит из дополнительных аксиом, представляющих ограничения целостности (т.е, правила, используемые, прежде всего, для ограничения обновлений, хотя в действительности такие правила могут использоваться и в процессе дедукции для получения новых фактов). В этой свяэи стоит эаметиты что еще в /974 году Кодд утверэкдал, что одной иэ задач реляционной людели является, несомненно, "поглощение фактов выборки и управления файловыми поляии для пополнения в дальнейшем логического сервиса в коммерческолэ л<ире " (7! 2), )25 8).
918 Часть !7. Дополнительные аспекты Рассмотрим, как будет выглядеть база данных поставщиков и деталей, предс вленная на рис, 3.8, в форме "дедуктивной СУБД". Прежде всего следует опрелелить набор основных аксиом, которые задают допустимые значения домена. Заиечание. Далее для лучшей читабельности будут использоваться по существу те же соглашения относительно представления значений, которые применялись, например, на рис. 3.8, и позтому в качестве сокрашения для записи Рту(300) будет использоваться просто 300 и т.д. 'Ропдоп' ) 'Рагтя' ) 'Коже' ) 'А0)зепя' ) ЯТАТРЯ ( 5 ) ятйтбя ( 10 БТАТРЯ ( 15 ) и т.д.
С1ТТ ( сттх ( С1тт ( сттх ( и т.д. и т.д. Затем следует задать основные аксиомы для кортежей базовых отношений. Я ( '81', 'БпШ~', 20, 'Ропбоп' ) Я ( 'Я2', 'Юопея', 10, 'Рагтя' ] и т.д. Р ( 'Р1', 'Мц0', 'Ееб', 12, '1,опбоп' ) и т.д. БР ( '81', 'Р1', 300 ) и т.д. Замечание. Конечно, здесь всерьез не предполагается, что зкстенсиональная база данных будет построена на основе всего лишь явного перечисления всех основных аксиом, как показано выше. Для этого, скорее всего, будет использовано традиционное определение и традиционные методы ввода данных. Иначе говоря, дедуктивные СУБД применяют свои выводы дпя традиционных баз данных, которые уже существуют и построены самым обычным способом.
Однако следует обратить внимание на чрезвычайно важный факт; зкстенсионапьная база данных не нарушает заданных ограничений целостности, поскольку база данных, нарушающая эти ограничения, представляет (на языке логических терминов) несовместимый набор аксиом. Таким образом может быть доказана "истинность" абсолютно любого уа~верждения, какии бы ано ни было (другими словами, могут быть выведены противоречия). По той же причине очень важно, чтобы набор ограничений целостности был совместимыль Теперь перейдем к описанию интенсиональной базы данных.
Для нее существует следующий набор ограничений домена. Я ( я, яп, яя, яс ) =е Я0 ( я ) АМР МАМЕ ( яп ) АМР ЯТАТРБ ( я0 ) АМР С1тт ( яс ) 919 Глава 23. Логические сисгпемвг управления базами данных Б$ ( 'Я1' 8$ ( '82' 84 ( '83' Б$ ( '84' 8$ ! '85' Я$ ( 'Яб' Я$ ( '87' и т.д. МАМЕ ( МАМЕ ( МАМЕ ( МАМЕ ( МАМЕ ( МАМЕ ( МАМЕ ( МАМЕ ( МАМЕ ( и т.д. 'ЯпШз' ) 'допев' ) 'В1а)ге' ) 'С1агй' ) 'Аг(апя' ) 'М)з10е' ) 'Мцс' ) 'Во10' ) 'Бсген' ) Р ( р, рп, р1, рн, рс ) =ь Р( ( р ) АМР МАНЕ ( рп ) АМР СОРОН ( р1 ) АМР МЕ16НТ ( рь ) АМР С1ТУ ( рс ) и т.д. Для интенсиональной базы данных существует также следующий набор ограничений потенциальных ключей. Я ( я, 1, яб1, 1 ) АМР Я ( я, 2, яП2, яс2 ) яп1 = яп2 АМР яб1 = яг2 АМР яс1 = яс2 н т.д.