Введение в системы БД (542480), страница 236
Текст из файла (страница 236)
Хронологические версии других реляционных операторов (например, 1 301Н) могут быть определены аналогично. В частности, специальные версии операторов ОРОАТЕ и ОЕЬЕТЕ, описанные в разделе 22.10, подразумевают неявное использование хронологической версии операции выборки.
Замечание. Возможно, следовало бы объяснить, почему в этой главе больше внимания уделялось именно сокращению 1 М1ННЯ. Дело в том, что сокращение 1 И1КОБ включает развертывание, в то время как другие хронологические реляционные операторы (как мы уже убедились) обычно его не включают'а, и желательно, где это возможно, избегать таких развертываний. М Исключение — операция БОИИАВ1БЕ (см. ответ к упр. 22.6). 89б Часть )'.
Дополнительные аспекты 22лк Вот возможное решение. 1Р 1Б ЕМР21 ( Я 00К1М6 ИНЕКЕ Я$ = Я$ ('Я1'] АМ0 ЯЕАТОБ = 20 АЮ ЕМ0 ( 00К1М6 ) = 010 ) ТКЕМ 1МЯЕК? 1МРО Я 00К1М6 ( ЕХ1ЕМО ( Я 00К1М6 ИНЕКЕ Я$ = Я$ ('Я1') АЮ ЕЮ ( 00К1М6 ) - "с(10 ) ( А1Ь В02 00К1М6 ) АМО 1М2ЕКЧАЬ ( ( 011, с)15 ] ) АБ 00К1М6 ) еьБе ОРОАте я 00к1м6 ияеке я$ = я$ ('я1') АЮ ЕЮ ( 00К1М6 ) = 010 00К1М6 := 1МТЕКЧАЬ ( [ БТАК7 ( 00К1М6 ), с(15 ] )) 22.4. Животные отличаются между собой диапазоном частоты света и звуковых волн, которые воспринимают их глаза и уши.
Сушествуют различные природные явления, и можно измерять в диапазонах глубину почвы или моря либо высоту над уровнем моря. Тот факт, что чай пьют во второй половине дня, между 16.00 и 17,00, — это тоже хронологическое наблюдение, но оно сушественно отличается от примеров в этой главе (чем именно?), Не вызывает сомнения, что можно придумать множество подобных примеров, на которых могут основываться интересные приложения баз данных. 22.5.
Животные отличаются между собой диапазоном частоты света и звуковых волн, которые воспринимают их глаза и уши! Кроме того, как только мы соединим два хронологических отношения Н1(А, В) и К2(А, С), где В и С вЂ” интервальные атрибуты, будет получен результат (хотя и промежуточный), который имеет больше одного интервального атрибута. 22.б. ИРЕН БР 00К1М6 0МРОЬО 00К1М6 АЯ ЯР ОМРОЬОЕО : ( ЯОММАК1ХЕ ЯР ОМРОЬОЕО РЕК БР ОМРОЬОЕО ( 00К1М6 ] А00 МАХ ( БРАТОЯ ) АБ ЯМАХ ) СОАЬЕБСЕ 00К1М6 22.7.
( ( ЕХРЕМО НИ ( НЕ16НР, ИЕ16?Н ] АОО 1МРЕКЧАЬ ( ( НЕ16Н?, НЕ16НТ ] ) АБ НК ) ( ие16тн, нк ) ) сОАьеБсе нк 22.8. Утверждение а, как нетрудно заметить, допустимо. Утверждение б, как мы сейчас убедимся, недопустимо. Пусть переменная-отношение К будет иметь следуюший вид. Тогда результирующее отношение 0 выражений (К ОМРОЬО 11) ОМРОЬО 12 и (К 0МРОЬО 12) ОМРОЬО 11 будет иметь такой вид. 897 Глава 22.
Хронологические базы данных Однако результат выпоянения выражения (О СОАЬЕБСЕ 11) СОАЬЕБСЕ 12 будет следующим. Результат выполнения выражения (О СОАЬЕБСЕ 12) СОАЬЕБСЕ 11будеттаким. Предлагаем вам проверить сказанное выше, записав результаты выполнения выражений О СОАЬЕБСЕ 11 и О СОАЬЕБСЕ 12, а затем свернув полученные результаты по атрибутам 12 и 11 соответственно. Также мы предлагаем следующие сокрашения. ° К ОНГОЬО 11,?2 — (К ОБГОЬЭ 11) ОМГОЬР 12 ° К СОАЬЕБСЕ 11,12 и (К СОАЬЕБСЕ 11) СОА1ЕБСЕ 12 898 Часть г'. Дополнительные аспекты Глава 23 Логические системы управления базами данных 23.1.
Введение В середине 80-х годов в области исследования баз данных сформировалось мощное направление, предметом изучения которого стали системы управления базами данных, основанные на логике. В научной литературе по этой тематике довольно часто встречаются такие выражения, как логическая база оанных, экспертная СУБД, дедуктивная СУБД база знаний, система управления базой знаний логика как модель данных, выполнение рекурсивных запросов и т.д. Однако смысл этих терминов не всегда прозрачен, т.е.
их употребление в том или ином контексте не всегда легко связать с привычной терминологией, что усложняет понимание идей с точки зрения традиционного подхода к исследованию баз данных. Вот почему необходимо разъяснить эти представления на основе обычных идей и принципов построения баз данных. Назначение приведенного здесь материала — объяснить сущность логических баз данных читателям, знакомым с обычными базами данных, но не совсем знакомым с основами логики. Причем каждая новая логическая идея по возможности будет разъясняться с помощью традиционных терминов.
Конечно, некоторые логические идеи уже были представлены в этой книге, в частности в главе 7 при обсуждении реляционного исчисления, которое непосредственно базируется на логике. Однако, как показано ниже, под логическими базами данных подразумевается нечто большее, чем просто одно из приложений реляционного исчисления. Структура этой главы такова. После краткого введения следует раздел 23.2 с небольшим обзором обсуждаемой темы и основных предпосылок ее возникновения. Затем в разделах 23.3 и 23.4 приводится элементарное и весьма упрощенное описание исчисления высказываний (вычислений на основе логических утверждений) и исчисчвния предикатов.
После этого в разделе23.5 представлен так называемый доказательно-теоретический подход, а в разделе 23.6 описывается дедуктивная СУБД. Далее в разделе 23.7 рассматриваются некоторые подхолы к проблеме выполнения рекурсивных запросов, и наконец в разделе 23.8 преллагаются резюме и несколько заключительных замечаний. 23.2.
Обзор основных концепций Исследования связей между базами ланных и логикой начались еще в конце 70-х годов, н о них можно прочесть в работах [23.51, [23.71 и [23.13). Однако интерес к этой теме значительно возрос после публикации в 1984 году работы Рейтера (кепег) [23.151. В ней традиционное представление баз ланных характеризуется как модельно-теоретическое. Проще говоря, это означает следующее.
899 Глава 23. Логические системы управления базами данных 1. База данных в любой момент может рассматриваться как набор явно заданных (т.е. базовых) отношений, каждое из которых включает набор явно заданных кортежей. 2. Выполнение запроса может рассматриваться как вычисление некоторой особой формулы (т.е, выражения с логическим значением), представляющей собой комбинацию этих явно заданных отношений и кортежей.
Замечание, Более точное определение термина "модельно-теоретический" будет лана в разделе 23,5, В работе Рейтера наряду с модельно-теоретическим подходом рассматривается более предпочтительная в некоторых отношениях альтернатива — доказательно-теоретическое представление. Особенности этого представления заключаются в следующем. 1. База данных рассматривается как набор аксиом ("основных" аксиом, соответствующих значениям домена и кортежам базовых отношений, а также определенных "дедуктивных'* аксиом, которые более подробно описаны ниже). 2. Выполнение запроса рассматривается как доказательство того, что некоторая заданная формула является логической последовательностью этих аксиом, т.е. теоремой.
Замечание. Более точное определение термина "доказательно-теоретический" будет дано в разделе 23.5, хотя можно сразу отметить, что доказательно-теоретическое представление очень близко к описанию базы данных как набора ищнинных высказываний, которое приводилось в разделе 1.3 главы 1 (см.
также [! .2!). Теперь полезно будет привести какой-нибудь конкретный пример. Рассмотрим следующий сформулированный в реляционном исчислении запрос к рассматриваемой ранее базе данных поставщиков и деталей. ЯРХ ИНЕНЕ ЯРХ.()ТУ > 250 (Здесь ЯРХ вЂ” это, конечно, переменная кортежа, принимающая значения из отношения поставок.) В традиционной, т.е. модельно-теоретической, интерпретации необходимо последовательно проверить все кортежи с данными о поставках и оценить для каждого из них результат вычисления формулы ()ТУ > 250. При выполнении этого запроса будут извлечены все кортежи с описанием поставок, для которых данное выражение будет исыинным.
В противоположность этому при доказательно-теоретической интерпретации кортежи с описанием поставок (а также некоторые дополнительные объекты) рассматриваются как аксиомы некой логической теории. Затем при обработке запроса применяется доказательно-теоретический метод с целью выяснения, для каких возможных значений переменной ЯРХ формула ЯРХ.ЯТУ>250 является логическим следствием аксиом этой теории.
Результатом выполнения запроса будут отдельные значения переменной- отношения ЯРХ. Конечно, приведенный выше пример настолько прост, что с его помощью трудно обнаружить существенные различия между двумя этими интерпретациями. Однако дело в том, что ход рассуждений, лежащих в основе этого доказательства (в доказательно- теоретической интерпретации), конечно же, гораздо сложнее, чем можно было бы продемонстрировать с помощью данного примера. Как будет показано ниже, такой ход рассуждений помогает справиться с проблемами, которые невозможно решить с помощью классических реляционных систем. Более того, доказательно-теоретический подход обладает целым рядом дополнительных преимушеств, перечисленных ниже [23.15). 900 Часть Р.
Дополнительные аспекты ° Единство представления. Появляется возможность задать единый язык для всей базы данных, согласно которому доменные значения, кортежи базовых отношений, "дедуктивные аксиомы", запросы и ограничения целостности будут представлены одинаковым образом. ° Единство действия. Предоставляется единая основа для решения различных задач, включая оптимизацию запросов (особенно — семантическую оптимизацию), обеспечение ограничений целостности, проектирование базы данных (теория зависимостей), доказательство корректности программ и др.
° Семантическое моделирование. Появляется твердая основа для построения множества "семантических" расширений основной модели. ° Расширенное применение. Наконец, обеспечивается основа дяя решения таких проблем, с которыми не могут справиться системы на основе классических подходов, например для работы с диэьюнктивной иифориачией наподобие "Поставщик с номером 'ЕЕ' поставляет либо деталь с номером 'Р!', либо деталь с номером 'Р2 ', но какую именно, точно неизвестно".