удк 004.89:004.4
РАЗРАБОТКА РЕЛЯЦИОННЫХ СРЕДСТВ ДЕКОМПОЗИЦИИ ПРЕДИКАТОВ
М.Н. Рудометкина, В.Г. Спицын, В.А. Эттель*
Томский политехнический университет *Карагандинский государственный технический университет E-mail: [email protected]
Статья посвящена разработке новых средств декомпозиции предикатов на основе утверждений о зависимостях из области нормализации реляционных отношений. Дано точное определение процедуре декомпозиции по отношению к реляционным отношениям и к предикатам. Рассмотрены утверждения о зависимостях, позволяющих проводить декомпозицию реляционных отношений; предложены их обобщения. Опираясь на связь между реляционной алгеброй и алгеброй предикатов, сформулированы утверждения о зависимостях, преобразованных в новые средства декомпозиции предикатов.
Ключевые слова:
Алгебра предикатов, декомпозиция, реляционная алгебра, зависимость соединения. Key words:
Predicate algebra, decomposition, relational algebra, dependence of the connection.
Одна из идей алгебраизации математической логики привела к алгебре предикатов, которая активно используется как формульный аппарат описания дискретных отношений. Рассматривается разработка формальных средств построения моделей логических сетей. Эти средства основаны на теоремах из раздела нормализации теории реляционных баз данных и позволяют преобразовывать произвольные уравнения алгебры предикатов в модели логических сетей. Аппаратная реализация логических сетей на программируемых логических интегральных схемах позволит создать новые высокопроизводительные процессоры, обрабатывающие модели естественного языка.
Предикат в базисе дизъюнктивно-конъюнктивной алгебры предикатов (ДКАП) обычно рассматривается как аналитическая запись отношения. Поэтому декомпозиция предиката - это декомпозиция отношения на аналитическом уровне (попросту манипуляция с формулами), когда обрабатываются не сами отношения, а соответствующие им формулы предикатов.
Уточним понятие декомпозиции, как оно понимается в реляционных базах данных. Для этого приведем понятие зависимости соединения, которое используется в теории зависимостей.
Пусть Г={Д,...Д] - семейство подмножеств
1
множества Н. Если Н = и X., то Г называется покрытием множества Н. Покрытие Г называется разбиением множества Н, если множества Х1,.,Х попарно не пересекаются.
Пусть Я - некоторое отношение, а семейство множеств {ХЬ...Д} образует покрытие множества а1;(Я). Отношение Я удовлетворяет зависимости соединения °[Х1,..,Х], если
Я=ВД°ВД°...°ВД. (1)
Выражение (1) является так называемым алгебраическим ограничением целостности [1].
Другие виды зависимостей, которые используются в теории зависимостей - функциональные
и многозначные - являются частными случаями зависимости соединения. Всякая зависимость, выполненная в ЛeRe (Т), позволяет представить Я в виде естественного соединения своих проекций (1). В теории реляционных баз данных обычно именно эту процедуру и называют декомпозицией Я. Исходя из выражения (1) видно, что непосредственно декомпозиция выполняется путем проектирования исходного отношения по разным группам его атрибутов. Это говорит о том, что оператором декомпозиции служит операция проекции, в то время как оператором композиции (обратной сборки) является естественное соединение.
Однако разбиение отношения может осуществляться разными способами: наряду с проекцией в качестве оператора декомпозиции может быть использована выборка. Тогда оператором композиции уже будет не естественное соединение, а операция объединения. Когда в теории баз данных идет речь о декомпозиции отношений, то практически всегда имеется в виду декомпозиция вида (1). Другие виды практически не используются. Тем не менее, для точности декомпозицию отношений в виде (1) иногда будем называть проекционно-со-единительной декомпозицией.
Декомпозиция предиката Р - это получение некоторых предикатов Р1,Р2,.,Р на основе предиката Р с возможностью его обратного восстановления из этих предикатов, которое называется композицией предиката Р. Важным частным случаем декомпозиции является так называемая бинарная декомпозиция предиката Р, характеризующаяся тем, что каждый из предикатов РЬР2,...,Р;, полученных в результате декомпозиции предиката Р, имеет в точности два существенных аргумента. Если оператором композиции (восстановления) служит конъюнкция, то декомпозицию называют конъюнктивной.
Предикатными аналогами реляционных операций проекции являются кванторы существования, аналогом естественного соединения - конъюнк-
ция. Тогда предикатным аналогом проекционно-соединительной декомпозиции будет кванторно-конъюнктивный вид декомпозиции. Его определение заключается в следующем:
Пусть TcVxU- остов с конечным множеством имен переменных V={xbx2,...,x„},
¿'=Domx1xDomx2x...xDomx„. Пусть P - некоторый предикат из Pre (S), а семейство множеств {ХЬХ2,...Д} образует покрытие множества V. Будем говорить, что предикат P удовлетворяет зависимости конъюнкции а{Х1,Х2,.,Х!}, если
311(P) a3Y2(P) a ... лЗ Yt (P) = P, (2)
где Y=V\Xh /=1,..„ I.
Представление предиката P в виде (2) будем называть кванторно-конъюнктивной декомпозицией.
Некоторые методы декомпозиции предикатов сводятся к тому, что исходный предикат P заменяется некоторым вспомогательным предикатом P', который строится на основе исходного P с помощью введения одной или нескольких вспомогательных переменных y1,y2,.,yk. Этот предикат связан с исходным предикатом P равенством
P = 3ylBy2..Byk (P). (3)
Хотя фактически производится кванторно-конъюнктивная декомпозиция вспомогательного предиката P', но исходный предикат P восстанавливается с помощью равенства (3). Принято считать, что произведена декомпозиция предиката P.
Таким образом, декомпозиция предиката может выполняться без помощи вспомогательных переменных, либо с их помощью. В первом случае декомпозиция называется эквивалентной, во втором - неэквивалентной [2. С. 84]. Так, декомпозиция предиката Р'является эквивалентной, а декомпозиция исходного P - неэквивалентной. Кван-торно-конъюнктивная декомпозиция является эквивалентной по определению.
Рассмотрим понятия зависимостей и некоторые утверждения относительно них. Последние позволяют для заданного отношения разрешить вопрос о допустимости той или иной проекционно-соединительной декомпозиции. Рассмотрим частные случаи: функциональные и многозначные зависимости, определения которых взяты из [1].
Сначала рассмотрим понятие функциональной зависимости [1. С. 59].
Пусть задано отношение ReRe(7), аX и Y -произвольные подмножества множества at(R). Говорят, что Y функционально зависит от X, если для любых двух функциональных данных/j, f26Rиз равенства f1[X=f2[X следует равенство /[Y]=f2[Y]. Если Y функционально зависит от X, то пишут X^ Y и говорят, что отношение R удовлетворяет функциональной зависимости X^ Гили, что функциональная зависимость X^ Y выполняется в отношении R.
Непосредственно из определения следует, что если зависимость X^ Y выполняется в R, то она выполняется в любой его проекции, содержащей множество атрибутов Xu Y.
Если ЯeRe(7) - произвольное отношение, то множество пар (X, У) таких, что X^ У в Я, обозначается через FD(Я). Оно называется структурой функциональных зависимостей отношения Я [1. С. 205].
Пусть Я - произвольное отношение. В [1. С. 204, 205] доказано, что структура функциональных зависимостей FD(Я) обладает следующими ниже свойствами (X, У, 2, Ж - подмножества множества а! (Я)).
Если ХзУ, то Х^-У (4)
Если Х^ У и Т^^ Ж, то Хиг^ Ж (5)
Для дедуктивной системы, заданной правилами (4), (5), алгоритмически разрешима проблема выводимости или логического следования, что означает, что анализ структур функциональных зависимостей может осуществляться автоматически [1. § 5.1]. В частности, существуют алгоритмы, позволяющие для заданного множества функциональных зависимостей 2 найти множество всех зависимостей ^(2), которые логически следуют из множества 2 по правилам (4), (5). Кроме того, имеется алгоритм, позволяющий определить, является некоторая функциональная зависимость 2 следствием множества зависимостей 2, или нет. Для анализа отношений с функциональными зависимостями все эти алгоритмы основаны на аппарате булевых функций [1. § 5.3].
Следующее ниже утверждение является простым средством декомпозиции отношений. В теории зависимостей оно называется теоремой Хеза [3. С. 293], ее доказательство приводится в [3. С. 316].
Утверждение 1. Теорема Хеза. Пусть Я - некоторое отношение из Re (7), а семейство множеств {X, У,Д образует разбиение множества а!(Я). Если Х^-Тв Я, то Я=Я[ХиУ]°Я[Хи2]. Иными словами Теорема Хеза говорит о том, что функциональная зависимость Х^ 7в отношении Я{Х, У,Д влечет для него зависимость соединения °[Хи Т,Хи^. И далее вытекает следующее следствие 2: пусть ЯeRe(7), а^Я)=ХиУ, У={у!,..., ук}. Если Х^У для Я, то Я удовлетворяет зависимости соединения °[ХиуьХиу2,...,Хиук].
Чтобы показать справедливость указанного выше следствия достаточно указать на множество зависимостей Х^уьХ^у2,...,Х^ук, которые следуют из зависимости Х^Ув силу свойств (4), (5).
Рассмотрим понятие многозначной зависимости [1. С. 211].
Пусть задано отношение ЯeRe(7), а Хи У -произвольные подмножества множества а!(Я). Говорят, что Х многозначно определяет У, если Я=Я[ХиУ]°Я[Хи^, где Z=at(Я)\(XuY). Если X многозначно определяет У, то пишут Х^>У и говорят, что отношение Я удовлетворяет многозначной зависимости Х^> У или, что многозначная зависимость Х^> У выполняется в отношении Я.
Приведенное определение показывает, что многозначная зависимость является частным случаем зависимости соединения и так же определяется через алгебраическое ограничение целостности [1].
Если ЯеRe(T) - произвольное отношение, то множество пар (Х,¥) таких, что Х^>Ув Я, обозначается через МУО (Я). Оно называется структурой многозначных зависимостей отношения Я [1. С. 212].
Пусть Я - произвольное отношение. В [1. С. 163, 212] доказано, что структура многозначных зависимостей МУО (Я) обладает следующими ниже свойствами (X, У, 2, Ж - подмножества множества а! (Я)).
Если ХзУ, то Х^>У (6)
Если
Х^> У и Уи2^> Ж, то Хи2^> Ж\( Ю2). (7)
Если Х^> У и Х^>2, то Х^> Уи2. (8)
Если Х^>У, то Х^>а! (К)\(ХиУ). (9)
Свойство (9) говорит о том, что многозначные зависимости всегда образуют связные пары, поэтому для отношения Я с а!(Я)={Х, У,2 и зависимостью Х^>У используется обозначение Х^>У2. Как и для функциональных зависимостей, для дедуктивной системы, заданной правилами (6)-(9), алгоритмически разрешима проблема выводимости [1. § 5.2], поэтому анализ структур многозначных зависимостей также может осуществляться автоматически с применением булевых функций [1. § 5.3].
Согласно [1. С. 163] справедливо следующее утверждение.
Утверждение 3. Пусть ЯеRe (Т) - произвольное отношение, а Хи У- произвольные подмножества множества а!(Я), 2=а!(Я)\(ХиУ). Отношение Я удовлетворяет зависимости Х^>У тогда и только тогда, когда
%=А№=с)(Я)[}1=аХ=,(Я)Ш (10)
для каждого {Х:А}еЯ[Х и для каждого {2:С}еах=А(Я)[2\.
Равенство (10) показывает, что для каждого {Х:А} из Я[Х] множество <Т(Х=А)Л(2=с)(Я)[У не зависит от {2: С]естХ=А(Я)[2]. Это означает, что многозначная зависимость Х^> У в Я определяет отображение {Х:А}^СТ(Х=А)л(г=с)(Я)[У из Я[Х в булеан Р(Я[У]), которое можно понимать как многозначную функцию из Я[Х в Я[У].
Утверждение 3 в менее формальной форме выбрано в качестве определения многозначной зависимости у Дейта [3. С. 329]. За исключением обозначений это определение выглядит следующим образом.
Пусть имеется некоторое отношение ЯеRe(T), Х,У,2са!(Я) иХиУи2=а!(Я), причем множества Х, У, 2 попарно не пересекаются. У многозначно зависит от Х тогда и только тогда, когда множество значений У, соответствующее заданной паре (значение Х, значение 2) отношения Я зависит только от Х, но не зависит от 2. В то же время принятое в данной статье определение многозначной зависимости К.Дж. Дейт приводит как теорему Фейги-на [3. С. 330], которая формулируется в терминах «тогда и только тогда».
В [1. С. 163] доказывается еще одно утверждение.
Утверждение 4. Пусть ЯеRe(T) - произвольное отношение, а Хи У- произвольные подмножества множества а! (Я), 2=а!(Я)\(ХиУ). Отношение Я
удовлетворяет зависимости Х^> У тогда и только тогда, когда
ах=А(К)[У^2\=ах=А(К)[У]оах=А(К)[2\ (11) для каждого {Х: А} е Я[Х].
Заметим, что естественное соединение двух отношений, не имеющих общих атрибутов, можно рассматривать как расширенную версию декартова произведения. Равенство (11) выражает именно такой случай. По сути, утверждение 4 выражает еще один способ, которым можно определить многозначную зависимость. Такую форму определения многозначной зависимости можно найти в [4. С. 92].
Согласно утверждению 4 наличие многозначной зависимости Х^>У в отношении Я{Х,У,2 означает, что его атрибуты У и 2 являются взаимно независимыми: множество значений каждого из них зависит только от значения атрибута Х. Иными словами, многозначные зависимости Х^> У.2 «появляются тогда, когда для осмысленной группы характеристик Х множества значений характеристик из групп Уи 2обязаны встречаться в любых сочетаниях при фиксированном значении Х-компоненты» [1. С. 216].
Доказано [1. С. 163, 164], что каждая функциональная зависимость является многозначной зависимостью, т. е. если Х^Ув Я, то Х^>Ув Я. Поэтому FD(Я)cMVD(Я). Таким образом, многозначные зависимости являются обобщением функциональных зависимостей.
Однако между функциональными и многозначными зависимостями имеется существенное различие. Согласно (9) зависимости Х^>У и Х^>а!(Я)\(ХиУ) всегда образуют связанные пары, что обозначается как Х^>У2, где 2=а!(Я)\(ХиУ). Свойство (9) не имеет аналога для функциональных зависимостей, поэтому в общем случае они не образуют связанных пар. Например, зависимость Х^У влечет Х^>а! (Я)\(ХиУ); однако это совсем не означает, что зависимость Х^>а! (Я)\(ХиУ) тоже является функциональной.
Следующее ниже утверждение 5 обобщает утверждение 4. На этот раз используется понятие зависимости соединения.
Утверждение 5. Пусть Я - некоторое отношение из Re (Т), а семейство множеств {Х,21,21,..,2т} образует разбиение множества а! (Я). Отношение Я удовлетворяет зависимости соединения °[Хи21,Хи2,,.--,Хи2т] тогда и только тогда, когда
стх=А(Я)[21и22.и2и]=
=ЪАШ] ° <7х=а(Я)[2>]0."0 ^х=а(Я)[2и] (12) для каждого {Х:А}еЯ[Х].
Утверждение 6. Обобщение теоремы Фейгина. Пусть Я - некоторое отношение из Re (Т), а семейство множеств {Х,21,22,.,2т} образует разбиение множества а! (Я). Отношение Я удовлетворяет зависимости соединения °[Хи2ьХи. ...,Хи2т] тогда и только тогда, когда оно одновременно удовлетворяет многозначным зависимостям Х^>21,Х^>21,...,Х^>2т.
Доказательство. Необходимость. Для доказательства воспользуемся следующим вспомогатель-
ным понятием. Пусть семейство множеств {Хь...,Хт} является покрытием множества и, т. е.
т
и = и = X. На основе множеств Хь...,Хт образуем новые множества УЬ...,У по формуле
У = и = X,., ] = 1,...,I, , = 1,..., т.
5=1 *
Если каждое множество Х входит хотя бы в одно
I
множество к то и= и У,. Покрытие {У1,...,У} назы-
1 ,=1 ■>
вается укрупнением покрытия {Х1,.,Хт} [1. С. 232].
Рассмотрим одно из свойств зависимостей соединения: из °[Х1,.,Хт] следует °[У|,..., У] для любого укрупнения покрытия {Х1,., Хт}.
т
Пусть 2= и 2к. Согласно определению многоз-
к=1
начная зависимость Х^>2к, выполненная в Я, равносильна зависимости соединения °[Хи2к,Хи(2\2к)]. Очевидно, что для любого к=1,..., т покрытие {Хи2к, Хи(2\2к)} является укрупнением покрытия {Хи21,Хи22,...,Хи2т}. Поэтому для отношения Я любая зависимость °[Хи2к,Хи(2\2к)] является следствием зависимости °[Хи2ьХи22,...,Хи2т].
т
Достаточность. Пусть 2= и 2к, (<А=ах=А(Я)[2],
к=1 к
ЛеЯ[Х]. Тогда с учетом свойств операции проекции равенство (13) можно представить в виде:
0л=0л[21]°0л[22]°...°0л[2т]. (13) В силу утверждения 5 выполнение (14) при каждом ЛеЯ [Х] равносильно наличию в Я зависимости °[Хи21,Хи22,...,Хи2т].
Учитывая введенные обозначения, утверждение 4 гласит, что зависимость Х^>2к (к=1,2,..., т) в отношении Я равносильна выполнению равенства
бл=бл[2к]°ел[2\2к] (14)
при любом ЛеЯ[Х]. Тогда множество зависимостей Х^>21, Х^>22,..., Х^>2т выполненных в Я, равносильно тому, что для любого ЛеЯ [Х] справедлива система, которая состоит из равенств (14) с различными значениями к=1,2,...,т.
Для доказательства достаточности данного утверждения необходимо показать, что множество зависимостей Х^ >21, Х^ >22,., Х^ >2т, имеющихся в Я, влечет зависимость °[Хи21,Хи21,...,Хи2т\. Иными словами, требуется доказать, что справедливость системы из т равенств
вл = вл ° вл [г \ 21] вл = вл [22] ° вл [2 \ г 2]
[вл = вл [2т ] ° вл [2 \ 2т ]
при каждом ЛеЯ[Х] влечет справедливость равенства (14) при каждом ЛеЯ[Х]. Покажем это. Так как ^ (0Л)=21и22и.и2т, то включение
вл £ вл[21] ° вл [2 2] ° ... ° вл[2т ]
выполняется всегда. Чтобы доказать равенство (14), надо показать, что обратное включение тоже справедливо.
Пусть
1={21:С1,21:С1..,2т-:Ст}ейА[21] °&[22]°...°&[2т].
Значит, отношение <А содержит кортежи
1 ={21: с1> 22: с2>."> 2т: Ст}> 1 ={21: с1> 22: с2>"-> 2т Ст}>
1т)=\2{: С/т>, 22: С/т>..., 2т: Ст}.
Пусть 11=1'. Последовательно образуем кортежи г2,/3,...Л по формуле
Гк=^к)=[2к]°Гк-1[2\2к], г=2,..., т. (15)
Если ¡к-1е<Л, то, согласно (14), 4 тоже принадлежит <Л. Кортеж <Л по условию, поэтому все последующие кортежи - 12, 13,...,1т - тоже принадлежат отношению <Л. В соответствии с (15) имеем
12={21: с1> 22: с2> 23: с3>--> 2т: Ст}>
?к = {21 ■ С1,..., 2к . Ск , 2к +1 . С
(к-1)
•, 2т ■ С-1},
1т {21: с1, 22: с2,., 2т: Ст}.
Так как 1=1т, то 11ебЛ. Следовательно, Qл[21]0Qл[^]0.0Qл[2m]£Qл и равенство (13) установлено. Поскольку выбор ЛеЯ[Х] никак не влияет на ход вышеизложенных рассуждений, то равенство (14) справедливо при любом ЛеЯ[Х]. Утверждение доказано.
Множество многозначных зависимостей Х^>21,Х^>21,...,Х^>2т, которым удовлетворяет Я с а11(Я)=Хи21и...и2т, как и равносильную ему одну зависимость соединения °[Хи21,Хи21,..., Хи2т], для удобства иногда будем обозначать через
Х^>2Ц2Ц...|2т.
Свойство многозначных зависимостей (9) позволяет представить зависимость Х^>21|2Ц.|2т в виде.
X 21| 22 и 23 и... и 2т X 22121 и 23 и... и 2т
X 2„
(16)
121 и 22 и... и 2т
Если т=2, то множество (16) состоит из пары многозначных зависимостей; если т>2, - то из 2т зависимостей. На практике возможны как две, так и более многозначных зависимостей в выражении (16), что обеспечивает практическую ценность утверждению 6. Как и теорему Фейгина это утверждение можно использовать для приведения схемы отношения к четвертой нормальной форме при проектировании реляционной базы данных [3].
Согласно утверждению 4 многозначная зависимость Х^>У|2, выполненная в отношении Я с а11(Я)=Хи Уи2, выражает взаимную независимость атрибутов У и 2в отношении Я, притом что множество значений каждого из них определяется значением атрибута Х. Точно так же утверждение 5 позволяет рассматривать зависимость Х^>21|22|.|2т, выполненную в Я, а1(Я)=Хи21и2т: она выражает взаимную независимость атрибутов 21,21,.,2т друг
от друга, притом что множество значений каждого из них определяется значением атрибута Х.
Согласно теореме Хеза функциональная зависимость выступает в роли достаточного условия для декомпозиции заданного отношения на две своих проекции. Утверждения 3 и 4 можно рассматривать как критерии наличия определенной многозначной зависимости в заданном отношении. Утверждение 5 является критерием наличия зависимости соединения определенного вида, а утверждение 6 устанавливает равносильность такой зависимости группе многозначных зависимостей с одинаковым детерминантом. Благодаря этому утверждение 5 можно рассматривать как обобщение утверждения 4 на случай группы многозначных зависимостей.
Сформулируем и докажем некоторые из рассмотренных утверждений в терминах подстановочной дизъюнктивно-конъюнктивной алгебры предикатов (ПДКАП) - для данной цели базиса этой алгебры достаточно. Для этого сначала необходимо сформулировать понятия функциональной, многозначной зависимости и зависимости соединения для предикатов.
Согласно [1. С. 162] функциональная зависимость аргумента хп от аргументов х1,...,х„-1 в предикате Р (х1,...,х„) выражается следующей формулой:
'п (р( X1,•••, X-1> X)Л аР(х1,..., хп_1, х\) ^ хп = х'п • (17)
Любая функциональная зависимость одной группы переменных предиката Р (хь...,х„) от другой группы может быть задана либо несколькими формулами вида (17), либо одной такой формулой, в которой после импликации будет стоять конъюнкция нескольких предикатов равенства. Если X и У являются подмножествами переменных предиката Р(хь...,х„), и У функционально зависит от X, то будем писать Х^> У и говорить, что предикат Р(хь...,х„) удовлетворяет функциональной зависимости Х^>У
Зависимость конъюнкции для предикатов была определена выражением (2). Она является аналогом зависимости соединения отношений. Многозначную зависимость для предикатов можно выразить через зависимость конъюнкции. Будем говорить, что предикат Ре Рге(6) удовлетворяет многозначной зависимости Х^> У, если он удовлетворяет зависимости конъюнкции А{ХиУ,Хи2}, где Z=К\(XuY). Ясно, что в этом случае так же будет выполняться зависимость Х^>2, что можно обозначить как Х^> У\2.
Как и для реляционных отношений, для предикатов также можно задать структуры зависимостей. Пусть РеРге(^), Х,УсК. Тогда множество пар (Х,У), таких, что Х^ Ув Р, обозначим через FD(P) и назовем структурой функциональных зависимостей предиката Р. Аналогично множество пар (Х,У), таких, что Х^>Ув Р, обозначим через М'^О(Р) и назовем структурой многозначных зависимостей предиката Р.
Судя по всему, множества FD(P) и MVD(P) будут обладать точно такими же свойствами, как структуры зависимостей для отношений. Но для проверки этого предположения требуется дополнительное исследование, которое выходит за рамки данной статьи.
Переходим к разработке предикатных утверждений о зависимостях.
Прежде всего, рассмотрим теорему Хеза, следствие 2 и утверждение 6. Так как в них отсутствуют алгебраические выражения, то их не нужно формулировать отдельно в терминах подстановочной дизъюнктивно-конъюнктивной алгебры предикатов. Так как практически очевидно, что зависимости в предикатах подчиняются тем же свойствам, что и зависимости в реляционных отношениях, то указанные три утверждения можно применять как к отношениям, так и к предикатам. Если доказать, что указанные свойства совпадают, то весь аппарат теории зависимостей можно будет обоснованно применять для анализа зависимостей в предикатах, что существенно расширит возможности декомпозиции предикатов.
Для определенности уточним, что означают теорема Хеза, следствие 2 и утверждение 6 по отношению к предикатам.
Рассмотрим теорему Хеза. Пусть Ре Pre (S), V=Xu YuZ Если Р удовлетворяет функциональной зависимости X—> Y, то для него выполняется зависимость конъюнкции A{Xu Y,XuZ|.
Следствие 2 по отношению к предикатам означает следующее. Пусть PePre(S), V=XuY, Y={y1,...,yk}. Если X—>Yдля Р, то Р удовлетворяет зависимости конъюнкции A{XuybXuy2,...,XuyJ.
Пусть теперь V=X1u...uXmuY Тогда на основании утверждения 6 зависимость конъюнкции A{X1uY,X2uY,.,XffluY} в предикате PePre (S) будем отождествлять с множеством многозначных зависимостей Y-—>Xb Y-—>X2,..., Y—>Xm в этом предикате и условно обозначать Y— >X1|X2|.|Xm.
Утверждение 5 содержит алгебраическое выражение (12), поэтому его следует переформулировать в терминах ПДКАП и доказать.
Для удобства в дальнейшем изменим обозначения в условии утверждения 5 и сформулируем его следующим образом. Пусть семейство множеств {X1,X2,.,Xm,Y} образует разбиение множества at (R) для некоторого ReRe(T). Отношение R удовлетворяет зависимости соединения Y,X2u Y,...,Xmu Y тогда и только тогда, когда
aY=,=(R)[X1uJ2.uJffl]=aY=,=(R)[X1]°aY=,=
(R)X2] °...OCTj=A=(R)[XJ (18)
для каждого {Y. A}eR [У].
Введем несколько удобных обозначений. Пусть задано произвольное разбиение r={XbX2,...,Xk} множества V={x1,x2,...,xn}, k<n. Иногда вместо каждой переменной в отдельности x1,x2,.,xn бывает удобно рассматривать непересекающиеся группы переменных X1,X2,.,Xk - слои разбиения множества V. В таких случаях вместо обычной записи P(x1,x2,.,xn) будет применяться условное обозначение P(XbX2,...,Xk).
Пусть TcVxU- остов с конечным множеством имен переменных V Пространство S задано как декартово произведение областей изменения переменных из V. Если X={xj,...,xk}cV, то через DomX будет обозначаться произведение Domx1x...xDomxk [1. С. 131]. Пусть P - произвольный предикат из Pre (S).
Переходим к утверждению 5. Зависимость соединения °[X1uY,X2uY,.,XmuY] перейдет в зависимость конъюнкции A{XluY,X2uY,.,XmuY}, которая выражается равенством P = 3V\( X u Y)(P) лЗ V\( X2 u Y)(P) л... л
A3V \( X» u Y)(P). (19)
Равенство (18) примет вид:
З Y (P л Ya) = З V \ X j(P л Ya ) л
лЗ V\ X2(Pл Ya)л...лЗ V\ Xm(Pл Ya ). (20)
Представим выражения (19) и (20) в более удобной форме. Пусть Xb X2,...XkcV, введем обозначение
З(Xj U X2 U ... U Xm)(P) = (P),
P e Pre( S).
Перепишем сомножители из (20) с помощью операции подстановки. Пользуясь тождеством Y/A(P)^ Y^YA), YcV, YcV, PEPre(S), имеем:
ЗV \ X,. (P л Ya ) = = ^XЗ Y (P л YA) = = ^Xi...^X,._i^X,.+i...^Xm (З Y (P л YA)) =
= ЗXv.ЗXt_ЗXм..ЗXm(Y/ A(P)), i = 1,..., m.
Теперь сформулируем и докажем утверждение 5 для предикатов.
Утверждение 7. Пусть семейство множеств {XbX2,...,Xm, Y образует разбиение множества V. Предикат PEPre(S) удовлетворяет зависимости конъюнкции a{XjuY, X2uY,..., XmuY}, т. е.
P = (^X2^X3...^Xm (P)) л
..ЗГ,,, (P)) л... л ^X^..^ _1(P)) (21)
тогда и только тогда, когда
Y / A(P) = (Y / A(P))) л
^^X» (Y / A(P))) л... л л(ЗXlЗX2...ЗXm-l(Y / A( P))), (22)
для каждого AePt[ Y]cDom Y, где PT - область истинности предиката P.
Тогда условие (22) примет вид:
Y / A(P) = Y / A((5X2aX3...aXm (P)) л... л
л^^..^ _1( P))),
это равенство справедливо при любом AePt[Y], если выполняется (21).
Утверждение 8. Пусть семейство множеств {XbX2,...,XmY} образует разбиение множества V. Предикат PEPre(S) удовлетворяет зависимости А{ДиY,X2uY,...,XmuY} тогда и только тогда, когда для
каждого ЛеРТ[ У] (Рт - область истинности предиката Р) найдутся такие предикаты Р1Л(Х1),.РтЛ(Хт) е Рге(6), что подстановку 7/Л(Р)=Р(ХьХ2,...ХшЛ) можно представить конъюнкцией
Р(Х1;..., Хт, А) = = рА(Х1) л р (X2) л... л р (Хт). (23)
Чтобы с помощью утверждения 8 проверить, удовлетворяет ли предикат зависимости А{Х1и7,Х2и7,...,Х„1иУ|, выполним дизъюнктивное разложение предиката Р по переменным Т.
Р( X1,..., Хт, А) = V 7АР( X1,..., Хт, А). (24)
т АеРт [7] т
Формула любого предиката Р (ХЬ...,ХШЛ), ЛеРТ[Т\ обычно намного меньше, чем формула исходного предиката Р (ХЬ...,ХШТ). Поэтому после дизъюнктивного разложения легко проверить. можно представить каждый предикат Р (Х1,..,Хт,Л) конъюнкцией (23) или нет. Для сравнительно небольших формул это довольно легко определить по их внешнему виду.
Следует заметить, что равенство (24) не является дизъюнктивным разложением предиката в том виде, который предложен в [2. С. 28\, и поэтому правомерность такого разложения еще надо доказать.
Утверждение 9. Модифицированная теорема о дизъюнктивном разложении предиката. Любой конечный предикат РРге(^) может быть представлен в виде
Р(Х1, Х2 , "', Хл) =
= ^ Х11 Х22...Хи-р(а1, а2,..., , Хга +1, Хт +2,...Хп ). (25)
Таким образом, для правильного представления предиката РРге(6) с помощью дизъюнктивного разложения логическое суммирование можно проводить не по всей области М, а по ее подмножеству N. В дальнейшем при выполнении дизъюнктивного разложения предикатов всегда будет использоваться выражение (25), а кортежи множества Nмо-гут быть проиндексированы (в силу конечности множества ^Р^х^,...,*,,], которое вытекает из конечности множества Рт).
Следует заметить, что для конъюнктивного разложения [2. С. 36] подобная модификация будет неверна.
Основным методом познания интеллекта считают алгебраизацию логики, т. е. точное формальное описание той алгебры, которая реализована в интеллекте и, как следствие, проявляет себя в естественном языке. В результате такого описания была разработана алгебра предикатов и алгебра предикатных операций. Первая потенциально может описывать мысли, вторая - действия над мыслями, т. е. мышление. Схемная реализация формул этих алгебр приводит к инженерным решениям, которые называются логическими сетями. Логические сети ориентированы на параллельные вычисления и, по мнению создателей, призваны стать основой мозгоподобных компьютеров.
Однако неадекватность тьюрингоподобной или, другими словами, последовательной природы персональных компьютеров феномену естественного языка была осознана уже давно. В поисках новых аппаратных решений для моделирования естественного языка и других функций интеллекта средствами алгебры конечных предикатов в 1980-е гг. разрабатывались специальные технические средства -переключательные цепи. Эти средства были предложены для эффективного решения уравнений алгебры предикатов. В начале 2000-х гг. на смену переключательным цепям первого и второго рода пришла новая более прогрессивная концепция логических сетей, которая основана на идеях теории категорий [5-7].
Логические сети способны стать той аппаратной базой, которая позволит в реальном режиме времени обрабатывать логические уравнения большого объема, описывающие полноценные модели естественного языка (на что последовательные компьютеры не способны в принципе). Развитие метода декомпозиции предикатов основано на утверждениях о функциональных, многозначных зависимостях и зависимости соединения реляционных отношений, теоремах Хеза и Фейгина и утверждениях о предикатных зависимостях. Метод позволяет обоснованно применить аппарат теории зависимостей для анализа зависимостей в предикатах и существенным образом расширить возможности декомпозиции предикатов. Опираясь
СПИСОК ЛИТЕРАТУРЫ
1. Цаленко М.Ш. Моделирование семантики в базах данных. -М.: Наука, 1989. - 288 с.
2. Шабанов-Кушнаренко Ю.П. Теория интеллекта. Математические средства. - Харьков: Вища шк. Изд-во при Харьк. ун-те, 1984. - 144 с.
3. Дейт К.Дж. Введение в системы баз данных / пер. с англ. и ред. К.А. Птицына. - М.: Издательский дом «Вильямс», 2008. -1327 с.
4. Мишенин А.И. Теория экономических информационных систем. - М.: Финансы и статистика, 2008. - 237 с.
на связь между реляционной алгеброй и алгеброй предикатов, утверждения о зависимостях преобразованы в новые средства декомпозиции предикатов. С помощью полученных средств декомпозиции разработан метод бинарной декомпозиции функциональных предикатов, который является мощным инструментом декомпозиции предикатов. Непосредственными операторами декомпозиции в данном методе являются кванторы существования [5].
Выводы
1. Выявлены основные виды зависимостей атрибутов в реляционных отношениях: функциональные, многозначные и зависимости соединения.
2. Рассмотрены утверждения о зависимостях, позволяющие выполнять декомпозицию реляционных отношений.
3. Сформулированы и доказаны обобщающие утверждения о зависимостях соединений особого вида, которые усовершенствовали теорию нормализации отношений.
4. Разработаны новые критерии проверки предикатов на выполнение зависимости конъюнкции, что позволяет выполнять декомпозицию предикатов.
5. Выполнена модификация теоремы о дизъюнктивном разложении предиката на случай бесконечного предметного пространства.
5. Рудометкина М.Н. Разработка метода бинарной декомпозиции функциональных предикатов // Известия Томского политехнического университета. - 2012. - Т. 320. - № 5. - С. 5-11.
6. Бондаренко М.Ф., Чикина В.А., Шабанов-Кушнаренко Ю.П. Модели языка // Бионика интеллекта. - 2004. - № 1 (61). -С. 27-37.
7. Bondarenko M.F., Hahanova I.V. Logic networks application for computing process organization // Радиоэлектроника и информатика. - 2003. - № 3. - С. 150-156.
Поступила 31.01.2013 г.