ВУЗ:
Составители:
Рубрика:
Физически гиперкуб может быть построен на основе специальной
многомерной модели данных
(
MOLAP
–
Multidimensional OLAP
) или средствами реляционной модели данных (
ROLAP
–
Relational
OLAP
).
Возвращаясь к проблеме нормализации данных, можно сказать, что в системах OLAP, использую-
щих реляционную модель данных (ROLAP), данные целесообразно хранить в виде слабо нормализо-
ванных отношений, содержащих заранее вычисленные основные итоговые данные. Большая избыточ-
ность и связанные с ней проблемы тут нестрашны, так как обновление происходит только в момент за-
грузки новой порции данных. При этом происходит как добавление новых данных, так и пересчёт ито-
гов.
Корректность процедуры нормализации – декомпозиция без потерь.
Как было показано выше,
алгоритм нормализации состоит в выявлении функциональных зависимостей предметной области и со-
ответствующей декомпозиции отношений. Предположим, что мы уже имеем работающую систему, в
которой накоплены данные. Пусть данные корректны в текущий момент, т.е. факты предметной области
правильно отражаются текущим состоянием базы данных. Если в предметной области обнаружена но-
вая функциональная зависимость (либо она была пропущена на этапе моделирования предметной об-
ласти, либо просто изменилась предметная область), то возникает необходимость заново нормализовать
данные. При этом некоторые отношения придётся декомпозировать в соответствии с алгоритмом нор-
мализации. Возникают естественные вопросы – что произойдёт с уже накопленными данными? Не бу-
дут ли данные потеряны в ходе декомпозиции? Можно ли вернуться обратно к исходным отношениям,
если будет принято решение отказаться от декомпозиции, восстановятся ли при этом данные?
Для ответов на эти вопросы нужно ответить на вопрос – что же представляет собой декомпозиция
отношений с точки зрения операций реляционной алгебры? При декомпозиции мы из одного отноше-
ния получаем два или более отношений, каждое из которых содержит часть атрибутов исходного отно-
шения. В полученных новых отношениях необходимо удалить дубликаты строк, если таковые возникли.
Это в точности означает, что декомпозиция отношения есть не что иное, как взятие одной или несколь-
ких проекций исходного отношения так, чтобы эти проекции в совокупности содержали (возможно, с
повторениями)
все
атрибуты исходного отношения, т.е. при декомпозиции
не должны теряться атрибу-
ты
отношений. Но при декомпозиции также не должны потеряться и сами данные. Данные можно счи-
тать непотерянными в том случае, если возможна обратная операция – по декомпозированным отноше-
ниям можно восстановить исходное отношение
в точности в прежнем виде
. Операцией, обратной опе-
рации проекции, является операция соединения отношений. Имеется большое количество видов опера-
ции соединения (см. гл. 4). Так как при восстановлении исходного отношения путём соединения проек-
ций не должны появиться новые атрибуты, то необходимо использовать
естественное соединение
.
Определение 6. Проекция
R
[
X
] отношения
R
на множество атрибутов
X
называется
собственной
,
если множество атрибутов
X
является
собственным подмножеством
множества атрибутов отношения
R
(т.е. множество атрибутов
X
не совпадает с множеством
всех
атрибутов отношения
R
).
Определение 7.
Собственные
проекции
R
1
и
R
2
отношения
R
называются
декомпозицией без по-
терь
, если отношение
R
точно восстанавливается
из них при помощи естественного соединения
для лю-
бого состояния
отношения
R
:
.JOIN
21
RRR
=
Рассмотрим пример, показывающий, что декомпозиция без потерь происходит не всегда.
Пример 2. Пусть дано отношение
R
:
НОМЕР
ФАМИЛИЯ
ЗАРПЛАТА
1 Иванов 1000
2 Петров 1000
Рассмотрим первый вариант декомпозиции отношения
R
на два отношения:
НОМЕР
ЗАРПЛАТА
Страницы
- « первая
- ‹ предыдущая
- …
- 29
- 30
- 31
- 32
- 33
- …
- следующая ›
- последняя »
