CLAIM – научно-образовательный кластер |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Внимание! Некоторые математические знаки могут отображаться неправильно в браузерах, отличных от IE 5.0 и выше. Филиппович АндрейПринципы взаимных
|
С* | D* | A |
10 | 12 | Базы Данных |
10 | 13 | Опер. сист. |
A* | B |
Базы Данных | Иванов |
Опер. сист. | Петров |
С* | B* | D |
10 | Иванов | 12 |
10 | Петров | 12 |
Рис.1. Противоречивость БД.
На рис.1. представлены три таблицы из полученной схемы отношений. Звездочками отмечены ключевые поля. Пусть в БД хранится информация, что в 10 часов в 12 и 13 аудиториях должны читаться курсы "Базы данных" и "Операционные системы" (CDA). Известно, что эти курсы читают соответственно преподаватели Иванов и Петров (AB). При этом оба преподавателя должны проводить занятия одновременно в одной аудитории (CBD). Данная информация является противоречивой, несмотря на то, что схема отношений находится в НФБК и все ФЗ соблюдены.
Представим теперь, что D — это номер посадочной полосы самолетов с номером рейса из B. По условиям, заданным набором ФЗ такая ситуация невозможна. И тем не менее, в БД, находящейся в НФБК с "сохранением" зависимостей содержится неутешительный приговор двум самолетам.
Рассмотрим другой случай. Пусть D — это сумма в размере 120000$ и ее нужно перечислить только на счет Иванова. Как видно из рис.1. эту сумму может также получить и Петров, а также десятки других сотрудников и это не будет противоречить структуре БД.
Из примера видно, что приведение отношения в 3НФ или даже в НФБК с помощью декомпозиции не решает все проблемы противоречивости хранимых данных. Если произвести естественное соединение всех отношений, то аномальные данные пропадут. Производить соединение всех таблиц базы данных после каждого изменения слишком трудоемко и неэффективно. Для обеспечения целостности связанных данных используют специальные средства: внешние ключи, представления, ограничения на целостность, триггеры и т.д. Существует необходимость выявления и устранения описанных недостатков.
Этот параграф посвящен вопросу обнаружения и устранения ошибок, связанных с тем, что во множестве ФЗ имеются взаимные функциональные зависимости (ВФЗ).
Определение 1. Взаимной функциональной зависимостью атрибутов A и B называется пара функциональных зависимостей вида B® A, A® B и обозначается как A« B.
Рассмотрим основное свойство ВФЗ. Из функциональной зависимости A® B вытекает утверждение 1. Кроме того, в отношении может существовать множество кортежей с разными значениями в атрибуте А и одинаковыми значениями в атрибуте B (утверждение 2):
(1) A® B у [ti(A) = tj(A)] => [ti(B) = tj(B)]
(2) [" ti(B)] $ {t(A)} , |{t(A)}|і 1
Аналогично определим соотношения для ФЗ B® A:
(3) B® A у [ti(B) = tj(B)] => [ti(A) = tj(A)]
(4) [" ti(A)] $ {t(B)} , |{t(B)}|і 1
Соединяя условия (1), (4) и (2), (3) получаем следующие утверждения:
(5) [" ti(A)] $ {t(B)} , |{t(B)}|=1
(6) [" ti(B)] $ {t(A)} , |{t(A)}|=1
Основным свойством ВФЗ является взаимная однозначность значений для атрибутов левой и правой части, т.е. каждый кортеж должен иметь уникальные значения полей, входящих во ВФЗ.
Для задания ВФЗ в СУБД необходимо атрибуты A и B объединить в одном отношении (таблице) и задать уникальность каждого атрибута. Если части ВФЗ содержат более одного атрибута, то можно использовать первичный и альтернативный ключ (с обязательным заданием уникальности). Надо отметить, что алгоритмы нахождения минимального покрытия Мейера [11] и Бернштейна [21] учитывают ВФЗ, и используют их для сокращения размера покрытия.
Определение 2. Условной взаимной функциональной зависимостью атрибутов A и B называется пара функциональных зависимостей вида СB® A, СA® B, где С — набор атрибутов (условие) такой, что Сщ ® AB. Будем обозначать УВФЗ как С|A« B, при этом C будем называть условием, а A« B — основой УВФЗ.
Смысл УВФЗ заключается в том, что при определенных условиях атрибуты основы находятся во взаимной функциональной зависимости. Из функциональной зависимости CA® B вытекает утверждение 7 и 8:
(7) CA® B у [ti(C) = tj(C)]&[ti(A) = tj(A)] => [ti(B) = tj(B)]
(8) [" ti(B)] $ {t(СA)} , |{t(СA)}|і 1
Аналогично определим соотношения для ФЗ СB® A:
(9) СB® A у [ti(C) = tj(C)]&[ti(B) = tj(B)] => [ti(A) = tj(A)]
(10) [" ti(A)] $ {t(СB)} , |{t(СB)}|і 1
Соединяя условия (7-10) и фиксируя значение атрибута С, получаем следующие утверждения:
(11) [" ti(A)] $ {t(B)} , |{t(B)}|=1
(12) [" ti(B)] $ {t(A)} , |{t(A)}|=1
Основным свойством УВФЗ является взаимная однозначность значений для атрибутов основы при совпадении значений в атрибутах условия, т.е. для каждого значения атрибутов условия кортеж должен иметь уникальные значения атрибутов основы.
Существует несколько способов задать УВФЗ. Можно ввести понятие условного ключа или условной уникальности. Проиллюстрируем эти понятия. Пусть имеется условная взаимная зависимость (УВФЗ) такая, что условием является набор атрибутов C, атрибуты B и D входят во ВФЗ. Тогда при фиксированном значении атрибутов из С значения атрибутов B и D являются уникальными. Для пояснения приведем пример:
С (Час начала занятий) | B (Преподаватель) | D (Аудитория)> |
С1 | B (Преподаватель)* | D (Аудитория)* |
С1 (10:00) | Петров | 1426 |
С1 (10:00) | Иванов | 1427 |
С1 (10:00) | Соколов | 1425 |
С2 | B (Преподаватель)* | D (Аудитория)* |
С2 (11:40) | Петров | 1426 |
С2 (11:40) | Соколов | 1425 |
Ограничение можно реализовать либо программным способом, либо декомпозицией отношений и дополнительных изменений схемы.
К первому способу можно отнести возможность работы с представлениями (запросами на отображение). Если реализовать ввод данных только через представление, тогда оно должно содержать выборку по одному из значений условных атрибутов (например С1), а взаимозависимые атрибуты должны иметь уникальный ключ.
CREATE VIEW UslFD AS
SELECT Pse1.*
FROM table1 AS Pse1, table1 AS Pse2
WHERE (Pse1.C= Pse2.C) & (Pse1.A<> Pse2.A) & (Pse1.B<> Pse2.B)
При наборе условных атрибутов (C1,.. Cn) конструкция Where изменится:
WHERE (Pse1.C1= Pse2.C1) &(Pse1.C2= Pse2.C2) &…& (Pse1.Cn= Pse2.Cn)
& (Pse1.A<> Pse2.A) & (Pse1.B<> Pse2.B)
Альтернативой может послужить общее ограничения на целостность БД.
CREATE ASSERTION UslFD CHECK (
SELECT Pse1.*
FROM table1 AS Pse1, table1 AS Pse2
WHERE (Pse1.C= Pse2.C) & (Pse1.A<> Pse2.A) & (Pse1.B<> Pse2.B) )
Вторым способом задания ограничений является соответствующая организация структуры БД (схемы). Реализовать ограничение в одном отношении можно путем задания двух ключей (первичного и альтернативного) со свойством уникальности. Можно также осуществить декомпозицию с использованием внешних ключей.
Утверждение 1. Любая УВФЗ может быть преобразована во ВФЗ по правилу (C| A « B у CA « CB). Таким образом, УВФЗ может рассматриваться как частный случай ВФЗ. С другой стороны ВФЗ можно считать частным случаем УВФЗ с пустым условием.
Утверждение позволяет рассматривать ВФЗ и УВФЗ как эквивалентные понятия и применять существующие подходы и алгоритмы для их поиска. В определении УВФЗ на атрибуты условия накладываются ограничение (Сщ ® AB). Если его ослабить, то можно получить вырожденные УВФЗ:
CA® B у CA| A« B
С® AB у C| A« B
Утверждение 2. Набору ВФЗ всегда соответствует множество ФЗ. Следовательно, на основании аксиом Армстронга для ФЗ можно сформулировать аксиомы для преобразования ВФЗ и УВФЗ.
А1. Рефлексивность и самоопределение. Аксиома рефлексивности для ВФЗ вырождается в аксиому самоопределения. Для УФВЗ может существовать рефлесивность условия и атрибутов основы. Сформулируем правила рефлексивности для атрибутов основы.
BН A, AН B => A=B => B« A
A« B, BМ M, A® M => M« A
C| A« B, BМ M, CA® M, Cщ ® M => C| M« B
Аксиому рефлексивности условия можно сформулировать следующим образом: более простые УВФЗ порождают более сложные. Если имеется две УВФЗ такие, что множество условных атрибутов одной зависимости входит во множество условных атрибутов другой зависимости, то такая УВФЗ является более простой:
C|A« B, CН D, Dщ ® AB => D|A« B
А2. Дополнение. Правило дополнения условия для УВФЗ аналогично правилу рефлексивности, поэтому рассмотрим только правила преобразования основы.
A« B => AC« BC
C|A« B, Cщ ® D => C|AD« BD
А3. Транзитивность.
A« B, B« C => A« C => A« B« C
C|A« B, E|B« D => CE|A« D => CE|A« B« D
А4. Декомпозиция.
A« BС, B® A, C® A => A« B, A« С
D|A« BС, DB® A, DC® A => D|A« B, D|A« С
A5. Объединение.
A« B, A« С => A« BС
D|A« B, E|A« С, DEщ ® AB => DE|A« BС
A6. Композиция.
A« B, C« D => AC« BD (AD« BC)
E| A« B, F| C« D, DEщ ® ABCD => EF|AC« BD (EF|AD« BC)
Далее сформулируем несколько дополнительных правил, которые могут быть использованы для преобразования УВФЗ.
R1. Перемещение атрибутов. Атрибуты условия в УВФЗ можно перемещать в основу. При этом они должны быть перемещены в обе части основы. Обратное утверждение также верно: если в обеих частях основы УВФЗ или ВФЗ имеются общие атрибуты, то их можно переместить в условие.
CD| A« B у C|DA« DB (Dщ ® AB)
R2. Удаление атрибутов. Если в основе имеется подмножество атрибутов, которое функционально зависит от условия, то его можно удалить.
C| AD« B, C® D => C| A« B
Доказательство: Преобразуем УВФЗ к множеству ФЗ:
C| AD« B у {CAD® B, CB® AD}у {CAD® B, CB® A, CB® D}
Добавим к полученному множеству ФЗ C® D и приведем к каноническому или минимальному покрытию (редуцированному и неизбыточному)
{CAD® B, CB® A, CB® D, C® D}= {CA® B, CB® A, C® D}
В минимальном покрытии выделим УВФЗ C| A« B.
R3. Замена атрибутов. Если в множестве ФЗ существует УВФЗ C| A« B, то во всех функциональных зависимостях, в которых присутствует набор условных атрибутов С можно заменить A на B или наоборот.
Рассмотрим преобразования для примера 2.1:
F = {CD® B, AC® D, CE® A, A® B, CD® A, CB® D, AE® T, CE® D}
CD® B & CB® D => B® D & D® B => C| D« B
Выберем все зависимости, в которых присутствует C
CD® B, AC® D, CE® A, CD® A, CB® D, CE® D
Заменим B на D и получим.
CD® D, AC® D, CE® A, CD® A, CD® D, CE® D
Сократим одинаковые зависимости (CD® D).
Полученная зависимость CD® D исключается как тривиальная.
AC® D, CE® A, CD® A, CE® D, C| D« B
Аналогично поступаем с AC® D и CD® A
CE® A, C| A« D« B
Итоговое множество функциональных зависимостей будет выглядеть следующим образом:
F = { A® B, AE® T, CE® A, C| A« D« B}
Аналогичное правило преобразования ВФЗ предложил в своей работе Мейер[11] для получения минимального покрытия.
Если в наборе ФЗ имеется ВФЗ X« Y и присутствует две зависимости X® U, Y® V, то их можно заменить на одну ФЗ X® VU или Y® VU. Для применения этого правила необходимо ввести дополнительное ограничение, не упомянутое автором. Если множества (X и V) или (Y и U) имеют общие атрибуты, то полученная зависимость X® VU (Y® VU) будет иметь посторонние (избыточные атрибуты). Изменим правило следующим образом:
{X« Y, X® U, Y® V} => { X« Y, X® (VU-X)} или { X« Y, Y® (VU-Y)}
Алгоритм приведения отношения в 3НФ Мейера обладает рядом недостатков, т.к. ограничивает использование вышеупомянутого правила и не учитывает УВФЗ. Алгоритм Бернштейна использует схожие принципы для построения отношений, но обладает почти теми же недостатками.
R5. Некоторые группы УВФЗ можно исключить или заменить на одну ВФЗ. Сокращение количества ВФЗ облегчает затраты на их задание с помощью ключей или программных ограничений. Приведем несколько примеров:
A|C« B, B|A« C, C® AB можно заменить на AB« C
BD|A« C, BC|A« D, AC|B« D, AD|B« C, AB® CD, CD® AB можно заменить на AB« CD.
Причиной возникновения ВФЗ является наличие циклической структуры в наборе ФЗ. Одним из способов обнаружения ВФЗ является графическое отображение ФЗ и поиск кольцевых структур.
На рис.2.а показаны функциональные зависимости в графической форме. Можно заметить, что функциональные зависимости пересекаются, и, кроме того, образуют циклическую структуру. Воспользовавшись правилом дополнения Армстронга, получаем схему, представленную на рис.2.б. Функциональная зависимость B® A представлена отдельно и атрибут B в ней не зависит от CA, т.к. зависимость была разделена на B® A при наличии C и на B® A при отсутствии C. На рис.2.в. представлено выделение взаимной зависимости A и B при условии С.
Пример 3.1. CA® B, B® A (C| B« A)
а) б) в)
Рисунок 2. Графическое выявление ВФЗ
Нахождение канонического (минимального) покрытия ФЗ не убирает и не изменяет ВФЗ, однако может усложнить их поиск. На рисунке 3 рассматривается процесс нахождения УВФЗ для минимального (канонического) покрытия ФЗ из примера 2.1. В результате нахождения минимального покрытия ВФЗ становятся менее очевидными из-за увеличения элементов в цикле. Взаимные зависимости становятся транзитивными.
Определение 3. ВФЗ (УВФЗ) называются n-местными (n >1), если существует ВФЗ между n множествами атрибутов (основы УВФЗ с общим условием).
Например, C| D« B« A — трехместная УВФЗ.
Мейер в своей работе [11] вводит понятие вырожденной составной ФЗ (CF-зависимости). Если использовать эту терминологию, то рассмотренная зависимость будет иметь следующий вид: (CD, СB, СA) ® Ж . В работе [25] рассматривается проблема двухместных УВФЗ и предлагается специальный способ их графического отображения. К сожалению, этот подход не эффективен для более сложных УВФЗ.
Рис.3. Поиск УВФЗ для минимального покрытия.
Нахождение минимального покрытия ФЗ в общем случае усложняет процесс нахождения ВФЗ за счет уменьшения числа зависимостей. Тем не менее, нахождение минимального покрытия необходимо для получения 3НФ, а некоторые ВФЗ могут быть исходно неочевидны и для их выявления требуется использовать специальные алгоритмы.
Сформулируем условия существования ВФЗ в аналитическом виде.
Теорема 1. Если в наборе нетривиальных ФЗ F={Xi® Yi} существует 2 ФЗ вида CA® B, DB® A и CDщ ® AB то существует УВФЗ вида CD| A« B.
Доказательство:
CA® B => CDA® B, DB® A=> CDB® A
{CDA® B, CDB® A, CDщ ® AB} => CD| A« B
Теорема 2.1. Пусть задано множество ФЗ F={Xi® Yi }. Если для двух ФЗ справедливо выражение Xi Н (Xj)+ и Xj Н (Xi)+, то существует ВФЗ Xi « Xj
Теорема 2.2. Пусть задано множество ФЗ F={Xi® Yi}. Если для двух ФЗ существует M Н Xi и N Н Xj и выполняется M Н (Xj)+ , N Н (Xi)+, XiXj-MNщ ® MN, то существует УВФЗ XiXj-MN| M « N
Доказательство:
1. Все атрибуты, входящие в замыкание множества атрибутов, функционально зависят от него:
M Н (Xj)+ => Xj ® M, N Н (Xi)+ => Xi ® N
2. Введем множества атрибутов C1 и C2
C1= Xi-M, C2= Xj-N => Xi = C1 M, Xj = C2N
3. Подставим (2) в (1) и получим:
C1 M® Nj , C2N® M
4. добавим ограничительное условие и согласно теореме 1 получим:
C1 M® Nj , C2N® M, C1C2щ ® MN => C1C2| M « N
Пример 3.2
F={CB® A, CA® K, K® M, LM® D, D® B}
(LM)+=LMDB; (CB)+=CBAKM; (CL)+=CL
BО (LM)+, MО (CB)+, CLщ ® BM => CL| M « B
К сожалению, теорема 2.2. не позволяет найти все УВФЗ.
Пример 3.3
F={CB® A, CA® K, K® M, LM® D, RD® B}
(LM)+=LMD; (CB)+=CBAKM; BП (LM)+, MО (CB)+
Однако, (LMR)+=LMRDB, (CLR)+=CLR
BП (LMR)+, MО (CB)+, CLRщ ® BM => CLR| M « B
Теорема 2.1. является частным случаем теоремы 2.2. и позволяет найти для минимального покрытия все ВФЗ, не имеющие одинаковых атрибутов в обеих частях зависимости. Из теоремы 2.2. вытекают следствия, которые могут быть использованы для поиска ВФЗ.
Следствие 1. Если два множества атрибутов имеют одинаковое замыкание, то между ними существует ВФЗ. Например, все минимальные ключи отношения находятся во ВФЗ и ни один из них нельзя исключать как эквивалентный.
Следствие 2. Для нахождения множеств M и N из теоремы 2.2. можно воспользоваться следующими правилами:
M= Xi З (Xj)+; N= Xj З (Xi)+
Следствие 3. УВФЗ между множествами атрибутов Xj и Xi существует тогда и только тогда, когда при пересечении их замыканий образуется множество, состоящее как минимум из двух атрибутов:
| (Xj)+ З(Xi)+ | і 2
Следствие 4. В качестве основы простых УВФЗ могут выступать только те атрибуты, которые встречаются одновременно в левой и правой частях множества ФЗ (LP). Атрибутами условия могут являться множества, которые встречаются только в качестве детерминанты (L) или принадлежат множеству LP.
Если количество атрибутов в множествах LP и L равно соответственно m и k, то максимальная размерность условия не превышает значения m+k-2. Согласно данным [22] соотношение (LP +L)/P обычно находится в диапазоне от 5 до 50. Это позволяет значительно сократить количество переборов в алгоритмах поиска УВФЗ.
Теорема 2.3. Пусть задано множество ФЗ F={Xi® Yi}. Если для двух наборов атрибутов Xi и Xj справедливы утверждения:
Xi З (Xj)+ =M № Ж , Xj З (Xi)+ =N№ Ж при условии XiXj-MNщ ® MN
то существует УВФЗ XiXj-MN| M « N
Алгоритм нахождения УВФЗ.
Ниже приводится алгоритм нахождения ВФЗ для канонического покрытия, имеющего в правой части каждой ФЗ один атрибут. Алгоритм можно также применять для произвольного множества ФЗ, но в случае канонического покрытия ВФЗ будут находится только один раз.
Пусть задана схема отношений R и множество ФЗ S такие что:
S ={ X[1]® Y[1]… X[i]® Y[i]… X[n]® Y[n]}, где n — количество ФЗ
Y[i]О R, X[i]Н R , т.е. Y является атрибутом, а X — набором атрибутов из R.
X[i]= {X[i][1]… X[i][j]… X[i][m]}, где m — Количество атрибутов в левой части ФЗ. Для разных ФЗ m может изменяться.
for i:=1 to n do // цикл по всем ФЗ
{ m:=m(X[i]); // подсчет количества атрибутов в левой части
for j:=1 to m do // цикл по всем атрибутам
{Left_Part:= X[i][j]; // выбор одного из атрибутов
for k:=1 to n do // цикл по всем ФЗ
// если условие выполняется, то возможно наличие кольцевой структуры
{if Left_Part == Y[k] then
//функция проверяет множество S на наличие ВФЗ
//между X[i][j] и Y[i] при условии X[i]- X[i][j]
call function_1(Left_Part, Y[i], X[i]- X[i][j]);
Restore S, n; //восстановление полного списка ФЗ
}
}
}
//функция проверяет множество S на наличие ВФЗ
//между Left_Part и Right_Part при условии Usl
function_1(Left_Part, Right_Part, Usl)
for i:=1 to n do // цикл по всем ФЗ
{ if (Right_Part Н X[i]) then //если правый атрибут входит
// в левую часть какой-либо ФЗ
{
Usl:=Usl+ X[i] - Right_Part; // то условие дополняется другими
//атрибутами из левой части
if (Left_Part == Y[i]) then //если произошло закольцевание
{ Add "Usl | Left_Part « Right_Part" //добавляется новая УВФЗ
delete X[i]® Y[i]; //данная ФЗ удаляется из S
n:=n-1; //количество ФЗ уменьшается
}
else
//иначе осуществляется рекурсивный вызов для дальнейшего поиска
{
Right_Part := Y[i];
delete X[i]® Y[i]; //данная ФЗ удаляется из S
n:=n-1; //количество ФЗ уменьшается
function_1(Left_Part, Right_Part, Usl);
}
}
}
После работы алгоритма необходимо исключить все вырожденные УВФЗ. Алгоритм является схематичным и неоптимизированным, т.к. при нахождении ВФЗ не осуществляется изменение (уменьшение) множества исходных ФЗ. Кроме того, алгоритм не позволяет построить УВФЗ, содержащие в основе двухэлементные ( и более размерные) множества атрибутов.
Согласно следствиям 1-4 можно предложить следующие усовершенствования алгоритма:
1. Заранее исключить зависимости, содержащие атрибуты множества P.
2. Исключить из рассмотрения в качестве основы УВФЗ атрибуты множества L.
3. При нахождении канонического покрытия сохранять в памяти замыкания множеств атрибутов.
4. Исключить варианты, когда условие содержит ключи отношения.
5. Проверять атрибуты основы на ФЗ от атрибутов условия.
6. Исключить из рассмотрения варианты, когда пересечение замыкания двух множеств имеют менее 2 атрибутов.
В заключении сформулируем основные выводы к статье и некоторые замечания.
1. Нахождение и задание ВФЗ позволяет избавиться от противоречивости хранимой информации в БД.
2. Одним из способов учета ВФЗ является наложение ограничений на целостность БД. Для этого введем понятие "целостности по взаимозависимости".
3. Вторым способ учета ВФЗ является нормализация отношений, т.е. приведение БД к соответствующей структуре (схеме). Введем понятие взаимно-независимой нормальной формы, если схема отношений не имеет ВФЗ. ВННФ можно рассматривать как синоним понятия ациклической БД.
4. Приведение отношения к ВННФ можно осуществлять независимо от приведения отношения в 3НФ, НФБК. Рекомендуется выявлять ВФЗ на этапе нахождения минимального покрытия.
5. Для многозначных зависимостей также существуют проблемы взаимности (взаимной независимости). Эти вопросы рассматриваются в работе [20].
6. Вероятность появления УВФЗ (циклической структуры ФЗ) достаточна велика. При проектировании схемы БД часто забывают определять УВФЗ. Это наглядно иллюстрирует пример 2.1. Причиной этого является особенности человеческого мышления и общения. Например, никогда не говорят, что "Петров сейчас один в аудитории, сейчас в аудитории только Петров", т.к. одно утверждение вытекает из другого.
7. Автор не считает, что вопросы, затронутые в этой работе являются научной новизной. Более того, автор уверен, что за такой продолжительный срок существования теории баз данных и теории нормализации, проблемы ВФЗ были затронуты, а может, и решены. К сожалению, из всех современных отечественных книг по БД, только в книге Мейера затрагивается этот вопрос, несмотря на его первостепенную важность. Автор осуществлял поиск и просмотрел большое количество литературы. На поиск аналогичных разработок было потрачено время, в во много раз превышающее теоретическую разработку проблемы ВФЗ. "Если теорему проще доказать, чем найти описание доказательства, то почему это не сделать?".
Автор пытается акцентировать внимание на вопросах ВФЗ. Если читатель имеет какую-либо информацию по данному вопросу, а также возражения, замечания или дополнения, просьба сообщить об этом через форум или по электронной почте.
Арсеньев Б.П., Яковлев С.А. Интеграция распределенных БД, СПб, Лань, 2001, - 464 с. Теория нормализации (стр. 37-41). |
|
Вербовецкий А.А. Основы проектирования баз данных., Радио и связь, 2000, - 88 с. Теория нормализации (стр. 25-28). |
|
Голосов А.О. Аномалии в реляционных базах данных. Журнал СУБД, выпуск 1.06.1996. |
|
Дейт К.Дж. Введение в системы баз данных, 6-е издание. К., М., СПб.: Издательский дом "Вильямс", 2000. — 848 с. Теория нормализации (стр. 269-347). Одна из наиболее полных книг на русском языке. Затрагиваются вопросы атомарных отношений и ДКНФ. В 7-ом издании более подробно рассматриваются вопросы 4 и 5НФ. |
|
Дунаев С. Доступ к БД и техника работы в сети. М., Диалог-МИФИ, 2000, - 416 с. |
|
Калиниченко Л.А. Методы и средства интеграции неоднородных баз данных. М.: Наука, 1983 — 424 с. |
|
Карпова Т. Базы данных, модели, разработка, реализация, СПб., Питер, 2001, - 304 с. Теория нормализации (стр. 110-120). 1-5НФ, очень кратко. |
|
Коннолли Т., Бегг К., Страчан А. Базы данных. Проектирование, реализация и сопровождение. Теория и практика, 2-е изд., М.:"Вильямс", 2000, - 1120 с. Теория нормализации (стр. 222-258). 1-5НФ, очень кратко, в основном, примеры. |
|
Корнеев В.В., Гареев А.Ф., Васютин С.В., Райх В.В. Базы данных. Интеллектуальная обработка информации. М.: "Нолидж". – 352 с. |
|
10. Кульба В.В., Ковалевский С.С., Каяченко С.А., Сиротюк В.О. |
Кульба В.В., Ковалевский С.С., Каяченко С.А., Сиротюк В.О. Теоретические основы проектирования оптимальных структур распределенных БД., М., Синтег, 1999, 660 с. Теория нормализации (стр. 116-124). 1-3НФ, Формальное описание осуществлено в терминах книги. |
Мейер Д. Теория реляционных баз данных. М.: Мир, 1987. — 608 с. Теория нормализации раскрывается в этой книге наиболее полно. Очень много результатов, связанных с многозначными и соединительными зависимостями. Рассматриваются кольцевые и табличные зависимости, алгоритмы синтеза, декомпозиции и многие другие вопросы. Книга достаточна сложная, т.к. вводится множество дополнительных понятий, и переопределяются некоторые привычные определения. |
|
Мартин Дж. Организация баз данных в вычислительных системах. 2-е изд., М.: Мир, 1980. |
|
Ревунков Г.И., Четвериков В.Н., Самохвалов Э.Н. Базы и банки данных. М.: Высшая школа, 1987. — 248 с. |
|
Филиппович А.Ю. "Взаимные функциональные зависимости". Системный администратор. №1. Октябрь, 2002. — стр. 84-89. Рассмотрено большинство вопросов, затрагиваемых в этой статье. К сожалению, издателям не удалось сверстать формульный набор и большинство математических знаков "вылетели" при выводе пленок. |
|
Фролов. А., Фролов. Г. Базы данных в Интеренете: практическое руководство по созданию WEB-приложений с БД., изд. 2-е., "Русская Редакция", 2000, - 448 с. |
|
Хансен Г., Хансен Дж. Базы данных. Разработка и управление, М., Бином, 2000, - 704 с. Теория нормализации (стр. 200-210). 1-4НФ, очень кратко. |
|
Цаленко М.Ш. Моделирование семантики в БД. М.: Наука. Гл. ред. физ-мат.лит., 1989. - 288 с. - (Проблемы искусственного интеллекта). В книге рассматриваются многие вопросы теории нормализации, однако они формализованы в нетрадиционной для реляционной алгебры нотации. |
|
Ульман Дж., Уидом Дж. Введение в системы БД. М.: Лори, 2000, - 420 с. Теория нормализации (стр. 94-138). 1-5НФ, Переиздание книги 80 года с небольшими изменениями. |
|
Ульман Дж. Основы систем баз данных. — М.: Финансы и статистика, 1983. — 334 с. Теория нормализации (стр. 152-189). 1-4НФ, Одна из немногих книг, содержащая множество алгоритмов, теорем, аксиом для функциональных и многозначных зависимостей. |
|
Beeri Catriel, Kifer Michael. An Integrated Approach to Logical Design of Relational Database Schemes. .// ACM Trans. on Database Systems. - 1986. - V. 11. № 2. — Р 134-158. |
|
Bernstein P.A. Synthesising Third Normal Form Relations from Functional Dependencies // ACM Trans. on Database Systems. - 1976. V. 1, № 4. - Р. 277-298. |
|
Diederich Jim, Milton Jack. New Methods and Fast Algorithms for Database Normalization. ACM Trans. on Database Systems. - 1988. - V. 13, № 3. - Р.339-365 |
|
Fagin R. A Normal Form for Relational Databases That is Based on Domains and Keys// ACM Trans. on Database Systems. - 1981. - V. 6, № 3. - Р. 387-415. |
|
Rissanen J. Independent Components of Relations// ACM Trans. on Database Systems. - 1977. - V. 2, №4. - Р. 317-325. |
|
Zaniolo C., Melkanoff M.A. A Formal Approach to the Definition and the Design of Conceptual Schemata for Database Systems // ACM Trans. on Database Systems. - 1982. - V. 7, №.1, - P. 24-59. |
|
Zaniolo C. A New Normal Form for the Design of Relational Database Shemata // ACM Trans. on Database Systems. - 1982. - V. 7, №.3, - P. 489-499. |
© НОК CLAIM, 2006-2012. Замечания, вопросы и сведения об ошибках просим сообщать в форуме или присылать администратору сайта.
|