Циклы в структурах функциональных
зависимостей
А. А. Карпук, В.В. Краснопрошин
Аннотация — Рассматриваются задачи оптимизации структуры функциональных зависимостей (ФЗ) между атрибутами реляционной базы данных: задача построения оптимального элементарного базиса структуры ФЗ между атрибутами и задача поиска оптимального состава таблиц базы данных, находящихся в третьей нормальной форме. Оптимальный элементарный базис структуры ФЗ между атрибутами содержит минимальное количество ФЗ и минимальное количество атрибутов в них. Оптимальный состав таблиц базы данных содержит минимальное количество таблиц. Приведен обзор методов решения перечисленных задач, основанных на поиске P - зависимостей в элементарном базисе структуры ФЗ и поиске порожденных полных подструктур структуры ФЗ, имеющих более одного ключа. Введено понятие цикла в элементарном базисе структуры ФЗ, с использованием которого получены необходимые условия наличия P - зависимостей в элементарном базисе структуры ФЗ и необходимые и достаточные условиях наличия порожденных полных подструктур структуры ФЗ, имеющих более одного ключа. В результате рассматриваемые задачи сведены к задачам поиска и анализа циклов в элементарном базисе структуры ФЗ.
Ключевые слова — реляционная база данных; структура функциональных зависимостей; элементарный базис; ключ; цикл; нормализация таблиц базы данных.
I. Введение
Все существующие алгоритмы нормализации таблиц в реляционной базе данных (БД) проводят анализ структуры функциональных зависимостей (ФЗ) между атрибутами, существующих в предметной области. На первом этапе алгоритмов нормализации решается задача удаления тех ФЗ, которые выводятся из остальных ФЗ, а именно задача построения элементарного базиса структуры ФЗ. Эта задача, как и другие задачи анализа структуры ФЗ, формализуется с помощью аксиом Армстронга [1]. При большом количестве атрибутов и ФЗ актуальной становится задача построения элементарного базиса, содержащего минимальное количество ФЗ (минимального элементарного базиса), и задача построения минимального элементарного базиса, содержащего минимальное количество атрибутов (оптимального элементарного базиса). В работе [2] введено понятие P -
Статья получена 1 июня 2017.
A.А. Карпук - кандидат технических наук, доцент, доцент кафедры программного обеспечения сетей телекоммуникаций Белорусской государственной академии связи (e-mail: [email protected]).
B.В. Краснопрошин - доктор технических наук, профессор, заведующий кафедрой информационных систем управления Белорусского государственного университета (e-mail: [email protected]).
зависимости в элементарном базисе структуры ФЗ и получены свойства Р - зависимостей, позволяющие построить все элементарные базисы структуры ФЗ и выбрать из них минимальные и оптимальные элементарные базисы. Для приведения таблиц реляционной БД к третьей нормальной форме (3НФ) применяются известные алгоритмы Делобеля - Кейси, Бернштейна и Неклюдовой - Цаленко. В работе [3] введено понятие порожденной полной подструктуры структуры ФЗ, с использованием которого получены необходимые и достаточные условия оптимальности результатов работы алгоритмов Делобеля - Кейси и Бернштейна по количеству получаемых таблиц БД. В настоящей работе введено понятие цикла в элементарном базисе структуры ФЗ, с использованием которого получены необходимые условия наличия Р - зависимостей в элементарном базисе структуры ФЗ и необходимые и достаточные условиях наличия порожденных полных подструктур структуры ФЗ, имеющих более одного ключа.
II. Основные определения и обзор предыдущих результатов
Определение 1 [1]. Пусть А - конечное множество, X, У , С и Б - подмножества А . Будем обозначать ХУ = X и У . Структурой ФЗ на множестве А называется бинарное отношение ^ на булеане В(А), удовлетворяющее аксиомам Армстронга:
если X с А , то А ^ X (аксиома рефлексивности); если X ^ У и УС ^ Б, то XC ^ Б (аксиома псевдотранзитивности).
Если имеет место ФЗ X ^ У, то говорят, что X функционально определяет У или У функционально зависит от X . Из приведенных аксиом можно вывести ряд свойств структуры ФЗ, которые в литературе (например, [4]) часто также называются аксиомами, хотя точнее называть их правилами вывода. Наиболее важными являются следующие правила вывода:
если X ^ УС, то X ^ У и X ^ С (правило декомпозиции), действительно, по аксиоме рефлексивности имеем XУC ^ У и XУC ^ С, тогда по аксиоме псевдотранзитивности получим X ^ У и X ^ С;
если X ^ У, то XC ^ УС (правило пополнения), действительно, по аксиоме рефлексивности имеем XУC ^ УС, тогда по аксиоме псевдотранзитивности получим XC ^ УС;
если X ^ У и X ^ С, то X ^ УС (правило объединения), действительно, по правилу пополнения име-
ем X ^ ХУ и ХУ ^ УС, тогда по аксиоме псевдотранзитивности получим X ^ УС.
Очевидно, что отношение включения с определяет структуру ФЗ на А, которая называется тривиальной структурой ФЗ, а входящие в нее ФЗ - тривиальными ФЗ. Для задания структуры ФЗ, отличающейся от тривиальной, требуется постулировать конечное множество ФЗ ^ = = Х] ^ Уу | Х],Уу с А,у = 1т}, которое в
работе [5] было названо системой образующих структуры ФЗ на А. Структуру ФЗ, заданную системой образующих F , будем обозначать 8(F).
Определение 2 [5]. Замыканием множества X с А относительно структуры ФЗ 8(Е) называется множество X + (F) с А , такое, что для любого У с А из X ^ У следует У с X+^).
1 2
Определение 3 [6]. Структуры ФЗ 8(^ ) и 8(^ ) на множестве А с системами образующих F1 = {X/ ^ У/ | X/ с А,У'} с А,г = 1ш\} и
F2 = {X2 ^ У2 | X12 с А,у] с А, у = 1, т2} соответственно называются эквивалентными, если для любого X с А имеет место равенство X+(F1) = X+(F2).
Теорема 1 [6]. Структуры ФЗ 8(F1) и 8(F2) на множестве А эквивалентны тогда и только тогда, когда для всех г = 1, т выполняются условия
Xг1+ (F1) = Xг1+(F2) и для всех у = 1,т2 выполняются условия X 2 + = X У + (F 2).
Определение 4 [5]. Система
образующих
Е = {Н у ^ Ту | Ну, Ту с А, у = 1, т} структуры ФЗ 8(Е)
на множестве А называется элементарным базисом, если выполняются следующие условия:
для любого у е 1, т и любого X с Ту система образующих Е', полученная из Е путем замены ФЗ Ну ^ Ту на ФЗ Ну ^ Ту \ X, задает структуру ФЗ
8(Е'), не эквивалентную структуре ФЗ 8(Е);
для любого у е 1, т и любого У с Ну система образующих Е', полученная из Е путем замены ФЗ Ну ^ Ту на ФЗ Ну \ У ^ Ту, задает структуру ФЗ
8(Е'), не эквивалентную структуре ФЗ 8(Е).
Определение 5 [6]. Элементарный базис
Е = {Ну ^ Ту | Ну, Ту с А, у = 1т} структуры ФЗ 8(Е)
на множестве А называется минимальным, если не существует другого элементарного базиса структуры ФЗ 8(Е) с количеством ФЗ, меньшим т .
Определение 6 [6]. Элементарный базис
Е = {Ну ^ Ту | Ну, Ту с А, у = 1т} структуры ФЗ 8(Е)
на множестве А называется оптимальным, если не существует другого минимального элементарного базиса
структуры ФЗ 8 (Е) с меньшим количеством вхождений элементов множества А .
В англоязычной литературе минимальный и оптимальный элементарный базисы структуры ФЗ называются минимальным и оптимальным покрытием структуры ФЗ [7]. Задача построения минимального и оптимального элементарного базиса структуры ФЗ между атрибутами реляционной БД была поставлена практически одновременно в работе [6] и в англоязычном издании монографии Мейера [7].
Определение 7 [2]. Пусть Е = {Ну ^ Ту | Ну ,Ту с А,у = 1т} - элементарный базис
структуры ФЗ 8(Е) на множестве А . В ФЗ (Н s ^ Т3) е Е существует Р - зависимость непустого
Т с Т от Н8, если существует Р с Н + (Е), Р ^ Н 8 ,
такое что Т' с [Р+ (Е)\ Р] и никакое подмножество Р
этими свойствами не обладает.
Через Е' обозначим систему образующих структуры ФЗ, полученную из Е путем замены ФЗ Н 3 ^ Т 3 на
Н ' ^ (Т \ Т'). Различаются три типа Р - зависимости: Р1 - зависимость имеет место, если Р с Н+ (Е'), Р2 -зависимость, если одновременно Р £ Н + (Е') и Т' £ [Р+ (Е') \ Р], Р3 - зависимость, если одновременно
Р £Н + (Е') и Т'с [Р+(Е)\Р].
Теорема 2 [2]. Если в ФЗ (Н 8 ^ Т8) е Е существует Р1 - зависимость Т с Т от Н , и система образующих структуры ФЗ Q получена из Е путем замены ФЗ Н ' ^ Т на Н , ^ (Т \ Т ) и добавления к Е ФЗ Р ^ Т', то структуры ФЗ 8(Е) и 8эквивалентны.
Теорема 3 [2]. Если в ФЗ (Н8 ^ Т3) е Е существует Р2 - зависимость Т с Т от Н , и система образующих структуры ФЗ Q получена из Е путем замены ФЗ Н ,, ^ Т на Н х ^ [(Т \ Т' ) и (Р \ Н,)] и добавления к Е ФЗ Р ^ Т' , то структуры ФЗ 8 (Е) и 8 эквивалентны.
Теорема 4 [2]. Если в ФЗ (Н, ^ Т) е Е существует Р3 - зависимость Т ' с Т от Н5, и система образующих структуры ФЗ Q получена из Е путем замены ФЗ Н ' ^ Т , на Н х ^ [(Т \ Т ) и (Р \ Н11)], то структуры ФЗ 8 (Е) и 8 эквивалентны.
Пусть в БД требуется хранить таблицу Я( А1,..., Ап), определенную на множестве атрибутов А = {А1,..., Ап }, и задана система образующих
F = X ^ Уу | Xу, Уу с А, у = 1,т} структуры ФЗ 8^).
Ключом таблицы Я называется подмножество атрибутов К с А, такое, что К+^) = А и никакое подмножество
К этим свойством не обладает. Атрибут из А называется первичным, если он входит хотя бы в один ключ таблицы Я. Множество первичных атрибутов из А обозначим Ар, множество остальных атрибутов - Ап. Таблица Я находится в 3НФ, если из X ^ В,X с А,В е Ап,В <£ X следует, что X - ключ таблицы Я . Задача нормализации таблицы Я состоит в нахождении проекций Я, ... Я таблицы Я , таких что
выполняются следующие условия:
а) Я = Я1 о Я2 о... о Яц , где символом о обозначена
операция естественного соединения проекций;
б) все Я у, у = 1, ц , находятся в 3НФ;
в) структура ФЗ Б (Я) порождается структурами ФЗ проекций Я у;
г) проекции Я у зависят только от структуры ФЗ
Б (Р).
Совокупность проекций Я у, удовлетворяющих приведенным условиям, называется синтаксическим разложением таблицы Я . Синтаксическое разложение Яу, у = 1, ц оптимально по количеству проекций, если
не существует другого синтаксического разложения Я1,...,Я1 , такого, что Ц1 < Ц .
ц1
Задача представления таблиц реляционной БД в виде естественного соединения своих проекций, находящихся в 3НФ, была впервые поставлена и решена Коддом. Алгоритм нормализации таблиц БД, предложенный Код-дом, имеет существенные недостатки: из получаемых проекций в общем случае не восстанавливается структура ФЗ на множестве атрибутов БД; количество получаемых проекций не является оптимальным. Делобель и Кейси предложили алгоритм, в котором был устранен первый недостаток. Бернштейн разработал алгоритм, обеспечивающий уменьшение количества получаемых проекций. Обобщение алгоритма Бернштейна было выполнено Ислуром. Неклюдова и Цаленко [5] предложили алгоритм, который, по их утверждению, дает оптимальное решение по количеству получаемых проекций. Однако в работе [3] было показано, что в общем случае алгоритм Неклюдовой - Цаленко не дает оптимального решения по количеству получаемых проекций, получены необходимые и достаточные оптимальности алгоритмов Делобеля - Кейси и Бернштейна и предложен алгоритм поиска оптимального решения.
Пусть Е = {Ну ^ Ту | Ну,Ту с А,у = 1,т} - оптимальный элементарный базис структуры ФЗ Б (Е) на множестве А. Для произвольного непустого V с А рассмотрим множество атрибутов V+ (Е) как полную подструктуру структуры Б (Е). Оптимальный элементарный базис этой подструктуры обозначим Е . Полную подструктуру Б(EV) назовем порожденной V , множество ее ключе-
вых атрибутов обозначим Vp . Выделим в EV два подмножества ФЗ:
K = {Hi ^ Ti е EV | Hi с Vp,Tj с Vp};
L = {H, ^T. е EV | T. et Vp , H, - ключ
подструктуры
БЕ)}.
Теорема 5 [3]. Алгоритм Делобеля - Кейси дает синтаксическое разложение, оптимальное по количеству проекций, тогда и только тогда, когда для любого непустого V с А выполняется условие | К |+1Ь |< 2. Здесь и далее символом | М | обозначается мощность множества М.
Теорема 6 [3]. Алгоритм Бернштейна дает синтаксическое разложение, оптимальное по количеству проекций, тогда и только тогда, когда для любого непустого V с А, для которого порожденная полная подструктура
Б (EV) имеет более одного ключа и выполняется условие | К |+1Ь |< 2, все ключи порожденной полной подструктуры Б (EV) принадлежат множеству левых частей элементарного базиса Е .
Алгоритм синтеза таблиц БД в 3НФ, дающий оптимальное решение по количеству проекций, состоит из следующих шагов [3].
1. Построить оптимальный элементарный базис Е = {Ну ^ Ту | Ну ,Ту с А,у = 1т} структуры ФЗ Б(Е).
2. Найти непустое V с А, такое, что порожденная полная подструктура Б(EV) структуры ФЗ Б (Е), имеет более одного ключа, и выполняется условие | К | +1Ь | > 2. Если такого подмножества атрибутов нет, то перейти к шагу 4. Если таких подмножеств атрибутов более одного, то выбрать подмножество с максимальным значением величины | К |+| Ь | .
3. В формируемое решение включить проекцию таблицы Я на множество атрибутов, полученное добавлением к правых частей зависимостей из Ь . Удалить из Е все ФЗ, вошедшие в построенную проекцию. Если в Е осталось более одной ФЗ, то перейти к шагу 2.
4. Для каждой ФЗ, оставшейся в Е, в формируемое решение включить проекцию таблицы Я на множество атрибутов этой ФЗ. Если хотя бы одна из проекций, полученных на шагах 3 и 4, содержит один из ключей таблицы Я , то закончить работу, иначе в формируемое решение добавить проекцию таблицы Я на множество атрибутов одного из ключей.
Задачу построения оптимального элементарного базиса структуры ФЗ на шаге 1 алгоритма можно решить путем построения элементарного базиса с использованием алгоритма, описанного в работе [2], поиска всех Р - зависимостей в элементарном базисе и его оптимизации с использованием теорем 2 - 4. На шаге 2 алгоритма требуется решить задачу поиска всех порожденных полных подструктур структуры ФЗ, имеющих более одного ключа.
III. Циклы в структурах функциональных
ЗАВИСИМОСТЕЙ И ИХ СВОЙСТВА Определение 8. Циклом в элементарном базисе Е = {Ну ^ Ту | Ну, Ту с А, у = 1т} структуры ФЗ 8(Е)
на множестве А назовем последовательность ФЗ {Ну ^Гуl,...,Нук ^у\Ну ^Ту еЕ,у = Ц>, таких
что у =Нл Пу Ф0, 8_^= Ну ПТу ф0, у =2,к,
причем для любых а,в е 1,к,а Ф в, выполняется условие 8уа П у =0.
Теорема 7. Пусть Е = {Ну ^ Ту | Ну, Ту с А, у = 1т} - элементарный базис структуры ФЗ 8 ( Е ) на множестве А . Если в ФЗ Н ^ Т е Е существует Р - зависимость непустого Т' с Т 3 от Н3, то в Е существует цикл.
Доказательство. Пусть в ФЗ Н 5 ^Т3 существует Р - зависимость Т' с Т от Н '. Обозначим
Н'= Н \ Р , Р' = Р \ Н' . Из Р с Н + (Е) следует, что
для любого А е Р' существует последовательность ФЗ
Н, ^ Ту ... Н, ^ Ту , принадлежащих Е, таких
у1 у1' ' ур ур
что Ял = Н, Гл = Т, А'е Тур, Нук П Гук_1 ф 0, V=Гр
Из Н ' с Р+(Е') для Р1 - зависимости и Н8 с Р + (Е) для Р2 - зависимости следует, что для любого В ' е Н' существует последовательность ФЗ
НI ^ Т] ... Н/ ^Т, принадлежащих Е, таких что
Ни с Р, В' е Т, , Н/ П Т/ Ф0,Г= . Очевидно,
1 'о 'у у_1
что Н^ П Р ' Ф 0 , и построенные последовательности ФЗ образуют цикл, в состав которого входит ФЗ
н' ^ Т.
Пусть имеет место Р3 - зависимость Т с Т от Н '. Для определенной выше последовательности ФЗ
Ну ^Ту ... Ну ^Ту существует минимальный
у1 ./1' ' у р ур
индекс у, для которого выполняется условие Ну П Т'Ф0 . Из Т' с [Р+(Е') \ Р] следует, что для
У/ А
любого С ' е Т' существует последовательность ФЗ Н, ^ Т, Н, ^ Т, принадлежащих Е, таких что
]1 ]1 ' ' 'о 'о
Н, с Р, С' еТ, , Н' П Т, Ф0, у = 2,0. Таким
»1 V у_1
образом
последовательность
А . Если для некоторого непустого Г с А порожденная полная подструктура 8(ЕГ) структуры ФЗ 8(Е) имеет
более одного ключа, то в ЕГ существует цикл.
Доказательство. Пусть К1 с V и К2 с V - ключи порожденной полной подструктуры 8(ЕГ). Обозначим К1 = К1 \ К2, К2 = К2 \ К1. Из К2 с К1+ (ЕГ) следует, что для любого А' е К2 существует последовательность ФЗ Н, ^Т... Н, ^Т, принадлежащих у1 у1' ' ур ур
ЕГ , таких что Ни с К1, А ' еТу ,
Л 1 3 р
Н у П Ту Ф 0, V = 2, р . Существуют А ' е К2 и минимальный индекс у е {1,2,...,р}, для которых выполняется условие Н ■ П К1 Ф 0, поскольку в противном
уу 1
случае ключом порожденной полной подструктуры 8(ЕГ) является К1 \ К[. Из К[ с К+ (ЕГ) следует, что для любого В' е Н П К' существует последовательность ФЗ н у ^ Ту Н у ^ Ту , принадлежащих
ур+1 ур+1' ' ук ук
ЕГ, таких что Ну с К2, В ' еТу ,
1р+1 — 2 ]к
Hi nTФ0, v = p + 2,^ . Если для всех
Jv Jv-\
В' е Ну П К' имеет место А € Ну ,у = р +1,к, то
•V У р
структуре ФЗ 8 (ЕГ) принадлежит ФЗ К2 \ А ' ^ А' и К 2 не является ключом, что противоречит исходному предположению. Следовательно, для некоторого В 'еНу ПК' существует ее р +1,к, такое что
■y
A ' е H
Js
последовательность
ФЗ
ФЗ
^ TJr ^ TJP .^ Tl'-'^ 0б-
разует цикл, в который не входит ФЗ H s ^ Ts. Теорема д0казана.
Теорема 8. Пусть E = {Hj ^ Tj | Hj, Tj с A, j = I'm} - элементарный базис структуры ФЗ 8 (E) на множестве
Hjr ^TJy'-'Hjp ^Tjp'HJs ^Tj*'-'Hjk ^Tjk образует цикл. Теорема доказана.
Таким образом, наличие цикла в элементарном базисе структуры ФЗ является необходимым условием существования Р - зависимостей в элементарном базисе структуры ФЗ и существования порожденных полных подструктур структуры ФЗ, имеющих более одного ключа. Однако данное условие не является достаточным, что показывает следующий пример.
Пример 1. Пусть A = {A1, A2, A3, A4, A5} , таблица R
определена на всех атрибутах из A и F = {A1A2 ^ A3,A1A3 ^ A4,A2A4 ^ A5,A5 ^ A3} . Элементарный базис E = F, единственным ключом является K1 = A1A2 . Последние три ФЗ элементарного базиса образуют цикл, однако в элементарном базисе отсутствуют Р - зависимости, и для любого непустого V с A порожденная полная подструктура S(EV) структуры ФЗ S (E) имеет один ключ.
Для упрощения обозначений будем считать, что в элементарном базисе
E = {Hj ^ Tj | Hj, Tj с A, j = 1m} структуры S(E) на
и
множестве А цикл образует последовательность ФЗ {Н1 ^ Т„...,Нк ^ Тк | Ну ^ Т е Е,У = Ц}, что всегда можно достичь путем перенумерации ФЗ.
Определение 9. Окрестностью цикла
{Н1 ^ Т„..., Нк ^ Тк | Туе Е,у= Ц} в элементарном базисе Е = {Н у ^ Ту | Ну, Ту с А, у = 1т}
структуры Б ( Е ) на множестве А назовем множество
к
Б = и (Н \ Бv).
v=1
Для цикла {Н1 ^Т1,...,Нк ^Тк |Н^ТуеЕ,у= Щ к
построим множество V = и Ну и рассмотрим множе-
у=1
ство атрибутов V+ (Е) как полную подструктуру структуры Б(Е). Элементарный базис этой подструктуры
обозначим Е , очевидно, что EV с Е , причем в состав EV входят все ФЗ из рассматриваемого цикла.
Лемма 1. Если для некоторого V е 1, к ФЗ Б ^ Бу принадлежат порожденной полной подструктуре Б(EV), то для всех v = 1, к ФЗ Б ^ SV принадлежат
порожденной полной подструктуре Б(EV) и эта подструктура имеет единственный ключ.
Утверждение леммы легко доказывается с использованием определения цикла в элементарном базисе структуры ФЗ. Условиям леммы удовлетворяет цикл из примера 1, поэтому порожденная полная подструктура
Б (EV) в примере 1 имеет единственный ключ.
Теорема 9. Если для некоторого V е 1, к ФЗ Б ^ Бv не принадлежит порожденной полной подструктуре Б (EV), то порожденная полная подструктура Б (ЕV) имеет к ключей Ку = Бу и Б, V = 1, к .
Доказательство. Если выполняется условие теоремы, то из леммы 1 следует, что для всех V = 1, к ФЗ Б ^ Бv не принадлежат порожденной полной подструктуре Б(ЕV). В силу наличия цикла {Н1 ^Т1,...,Нк ^ Тк | Н^ Т,е E,v = 1Д} и определения окрестности Б для любого V е 1, к имеем V с (Еу), т. е. Ку - ключ порожденной полной подструктуры Б(ЕV), из которого нельзя удалить элементы множества Бv . Поскольку по определению цикла все множества Бv попарно различны, то и все ключи Ку , V е 1, к, попарно различны.
IV. ЗАКЛЮЧЕНИЕ
Таким образом, задачи поиска Р - зависимостей в элементарном базисе структуры ФЗ и поиска всех по-
рожденных полных подструктур структуры ФЗ, имеющих более одного ключа, сводятся к поиску и анализу циклов в элементарном базисе структуры ФЗ. Элементарному базису E = {Hj ^ Tj | Hj,Tj с A, j = 1m} структуры ФЗ S(E) на множестве A можно поставить в соответствие двудольный ориентированный граф (A,E,H,T), в котором A - множество вершин первой доли графа, E - множество вершин второй доли графа, H - множество дуг графа, направленных от вершин первой доли к вершинам второй доли графа (показывают вхождение элементов из A в левые части ФЗ из E ), H - множество дуг графа, направленных от вершин второй доли к вершинам первой доли графа (показывают вхождение элементов из A в правые части ФЗ из E). Легко убедиться, что каждому циклу в элементарном базисе E соответствует семейство циклов в соответствующем двудольном графе. Количество циклов в семействе равно произведению мощностей множеств Sv, v = 1, к. В частности, если все множества Sv содержат по одному элементу, то такому циклу в элементарном базисе E соответствует единственный цикл в соответствующем двудольном графе. В общем случае задача поиска всех циклов в двудольном ориентированном графе является NP - трудной, но ее NP - трудность определяется тем, что максимальное возможное количество циклов в графе экспоненциально зависит от размерности графа. Время поиска одного цикла в ориентированном графе стандартным алгоритмом поиска в глубину линейно зависит от размерности графа. В реальных задачах проектирования реляционных БД при количестве атрибутов порядка 103 количество циклов в элементарном базисе структуры ФЗ не превосходит 102, поэтому все циклы в элементарном базисе структуры ФЗ можно найти за приемлемое время.
Библиография
[1] W.W. Armstrong. Dependency structure of data base relationships // Proc. IFIP Congress. Geneva, Switzerland, 1974. P. 580-583.
[2] А.А. Карпук. О построении элементарного базиса системы функциональных зависимостей в базе данных // Информационные технологии и программные средства: проектирование, разработка и применение: сб. научн. статей / Под ред. Л.В. Рудиковой. Гродно: ГрГУ, 2011. С. 185-190.
[3] А.А. Карпук. Алгоритмы нормализации таблиц реляционной базы данных // Системы управления и информационные технологии. 2017. № 2(68). С. 53-57.
[4] С .Д. Кузнецов. Базы данных. Модели и языки. М: Бином-Пресс, 2008. 720 с.
[5] Е.А. Неклюдова, М.Ш. Цаленко. Синтез логической схемы реляционной базы данных // Программирование. 1979. N° 6. С. 5868.
[6] А.А. Карпук. Выбор элементарного базиса структуры функциональных зависимостей при проектировании базы данных // Вопросы радиоэлектроники. Сер. ОВР. 1983. Вып. 6. С. 38-41.
[7] Д. Мейер. Теория реляционных баз данных: Пер. с англ. М: Мир, 1987. 608 с.
Анатолий Алексеевич Карпук окончил факультет прикладной математики Белорусского государственного университета в 1974 г. В 1985 г. защитил в Центральном НИИ Министерства обороны СССР (г. Москва) диссертацию на соискание ученой степени кандидата технических наук. В 1991 г. решением ВАК СССР ему присвоено ученое звание старшего научного сотрудника, а в 2008 г. решением ВАК Республики Беларусь - ученое звание доцента. Ведет научные
исследования в областях моделирования и оптимизации сложных систем, проектирования баз данных, оценки качества радиосвязи и оптимизации присвоения частот радиолиниям. По результатам исследований опубликовал 2 монографии и около 120 научных трудов.
С 1974 по 2003 г. он работал в НПО "Агат" в г. Минске, где прошел путь от инженера - стажера до главного конструктора программных средств специального назначения. Под его руководством была разработана одна из первых в мировой практике объектно -реляционная СУБД специального назначения и логическая и физическая структуры баз данных АСУ войсками тактического и оперативного звеньев управления "Маневр". В 2003 -2016 г. он работал начальником управления в Расчетном центре Национального банка Республики Беларусь, где руководил разработкой и оптимизацией баз данных ряда подсистем автоматизированной системы межбанковских расчетов. С 2016 г. он работает доцентом кафедры программного обеспечения сетей телекоммуникаций в Белорусской государственной академии связи и продолжает работать в ОАО "Агат - системы управления" (ранее - НПО "Агат") в должности ведущего научного сотрудника.
В 1992 г. Карпук А.А. был избран гранд - инженером (членом -корреспондентом) Белорусской инженерно - технологической академии.
Виктор Владимирович Краснопрошин окончил факультет прикладной математики Белорусского государственного университета (БГУ) в 1974 г. и аспирантуру БГУ в 1979 г. В 1979 г. защитил в БГУ диссертацию на соискание ученой степени кандидата физико -математических наук и в 2007 г. - диссертацию на соискание ученой степени доктора технических наук. В 1983 г. решением ВАК СССР
ему присвоено ученое звание доцента, а в 2008 г. решением ВАК Республики Беларусь - ученое звание профессора. Ведет научные исследования в областях распознавания образов, искусственного интеллекта, теории принятия решений, информационно - компьютерных технологий. По результатам исследований опубликовал 7 монографий и около 270 научных трудов.
С 1974 по настоящее время он работает в БГУ в г. Минске, где прошел путь от стажера - преподавателя до заведующего кафедрой информационных систем управления. Руководит научно -исследовательской лабораторией "Информационные технологии и компьютерная графика", которая на протяжении ряда лет выполняет проекты по важнейшим республиканским и союзным научно -техническим программам: "Научные основы информационных технологий и систем", "Защита от чрезвычайных ситуаций", "Информатика и космос", "Недра" и другим. Разработанные системы внедрены в различных организациях и предприятиях Республики Беларусь.
В настоящее время Краснопрошин В.В. является иностранным академиком Испанской Королевской Академии экономики и финансов; вице - президентом Белорусской ассоциации по распознаванию и анализу изображений; членом управляющих советов международных научных ассоциаций АЕЭЕМ, АМ8Е и 8ЮЕБ; членом государственного экспертного совета Республики Беларусь по информатизации, вычислительной технике и информационным технологиям; членом экспертного совета фонда фундаментальных исследований НАН Республики Беларусь по информатике; членом экспертного совета ВАК Республики Беларусь по техническим наукам; членом специализированного совета по защите докторских диссертаций.
Cycles in Structures of functional Dependencies
A.A. Karpuk, V.V. Krasnoproshin
Abstract — The main tasks of optimization of structure of the functional dependences (FD) between attributes of a relational database are considered: the task of creation of an optimum elementary base of structure of the FD between attributes and the task of search of optimum composition of the tables of the database which are in the third normal form. The optimum elementary base of structure of the FD between attributes contains the minimum quantity of the FD and the minimum quantity of attributes in them. The optimum composition of tables of the database contains the minimum quantity of tables. The review of methods of the decision of tasks of optimization of structure of the FD between attributes based on search of P -dependences in an elementary base of structure of the FD and search of the generated complete substructures of structure of the FD having more than one key is provided. The concept of a cycle of an elementary base of structure of the FD is entered. Necessary conditions of existence of P - dependences in an elementary base of structure of the FD both necessary and sufficient conditions of existence of the generated complete substructures of structure of the FD having more than one key are received. As a result the considered tasks are consolidated to tasks of search and the analysis of cycles in an elementary base of structure of the FD.
Keywords — relational database; structure of functional dependences; elementary base; key; cycle; normalization of database tables.