НОРМАЛИЗАЦИЯ ФАЙЛОВ БАЗЫ ДАННЫХ
В предыдущих пунктах файлы рассматривались как своеобразные хранилища данных и связей между ними, причем было показано, что при соблюдении определенных правил эти файлы можно считать отношениями и применять к ним операции реляционной алгебры. Открытым пока остался вопрос о том, какие файлы хранить в БД и какие в них должны быть поля, чтобы иметь модель предметной области с определенными положительными свойствами.
Полная декомпозиция файла
Рассмотрим простой пример. Пусть имеется исходный файл, в котором хранятся данные о сотрудниках, осуществлявших управление непрерывным производственным циклом предприятия в качестве оперативного дежурного (ОД) или его помощника (ПОД) и имеющих номера рабочих телефонов, указанные в поле ТЕЛЕФОН:
ИФ
ДЕЖУРСТВО |
СОТРУДНИК |
ТЕЛЕФОН |
под |
Иванов |
3-12 |
ОД |
Сидоров |
3-12 |
од |
Фомин |
8-44 |
ПОД |
Семин |
8-44 |
Найдем две проекции ИФ:
ПФ1 = /?го/ [ДЕЖУРСТВО, СОТРУДНИК] (ИФ); ПФ2 = рго/ [СОТРУДНИК, ТЕЛЕФОН] (ИФ). ПФ1
ДЕЖУРСТВО |
СОТРУДНИК |
под |
Иванов |
од |
Сидоров |
од |
Фомин |
под |
Семин |
ПФ2
СОТРУДНИК |
ТЕЛЕФОН |
Иванов |
3-12 |
Сидоров |
3-12 |
Фомин |
8-44 |
Семин |
8-44 |
Нетрудно убедиться, что соединение этих двух проекций образует исходный файл:
ПФ1 ? ? ПФ2 = ИФ.
Полной декомпозицией файла называется совокупность произвольного числа его проекций, соединение которых идентично исходному файлу.
Говоря о полной декомпозиции файла, следует иметь в виду два обстоятельства:
- • во-первых, у одного и того же файла может быть несколько полных декомпозиций;
- • во-вторых, не всякая совокупность проекций файла образует его полную декомпозицию.
Для последнего примера найдем другую проекцию ИФ:
ПФЗ = рго/ [ДЕЖУРСТВО, ТЕЛЕФОН] (ИФ).
ПФЗ
ДЕЖУРСТВО |
ТЕЛЕФОН |
под |
3-12 |
ОД |
3-12 |
од |
8-44 |
ПОД |
8-44 |
В результате соединения ПФ2 и ПФЗ получим файл результата ПФ2 ? ? ПФЗ = ФР Ф ИФ:
ФР
ДЕЖУРСТВО |
ТЕЛЕФОН |
СОТРУДНИК |
под |
3-12 |
Иванов |
ПОД |
3-12 |
Сидоров |
ОД |
3-12 |
Иванов |
од |
3-12 |
Сидоров |
ОД |
8-44 |
Фомин |
ОД |
8-44 |
Семин |
ПОД |
8-44 |
Фомин |
ПОД |
8-44 |
Семин |
В ФР курсивом выделены записи, которых не было в исходном файле.
Методы анализа, позволяющие определить, образует ли данная совокупность проекций файла его полную декомпозицию, рассмотрены в п. 3.2.4.
Возможность нахождения полной декомпозиции файла ставит вопросы о том, в каком виде хранить данные в БД; дает ли декомпозиция файла какие-либо преимущества; в каких условиях эти преимущества проявляются и т.п.