OLAP-куб
Материал из Википедии — свободной энциклопедии
OLAP-куб в теории БД — абстрактное представление проекции реляционных отношений. См. также OLAP.
Имея отношение N, рассмотрим проекцию с измерениями X, Y, и Z как ключом и W как разностным атрибутом. Это характеризуется функцией:
- W : (X,Y,Z) → W,
атрибутам (X, Y, и Z) соответствуют оси куба, а значения W для каждых возможных троек ((X, Y, Z)) отвечают данным каждой ячейки куба.
Поскольку, двухмерные устройства вывода не могут адресовать четыре измерения, более практичным является проецирование «срезов» куба (проецирование употребляется в смысле уменьшения количества измерений матрицы — куба), возможно в виде
- W : (X,Y) → W
В данной проекции отсутствует первичный ключ. Таким образом возможна некоторая многозначность функции. Тем не менее, срез троичного функционального представления по определённому значению Z имеет очень большое значение.
Причиной для представления данных в виде OLAP является широкое распространение парадигмы отчет с закладками. Некоторые хотят видеть данные, представленные в виде страниц, на которых (почти как в Microsoft Excel) значениями X наполняется строка $1; значениями Y — столбец $A; а значениями W : (X, Y) -> W наполняется остальная часть таблицы. Также можно использовать DML из традиционного SQL для отображения троек (X, Y, W), хотя это не настолько удобный формат, как отчёт с закладками, так как в представлении DML, необходим линейный поиск по списку требуемой пары (X, Y), а для страничного нужен поиск пересечения столбца X со строкой Y
Язык MDX (Multidimensional Expressions — выражения со многими измерениями) был разработан как лёгкое средство для представления OLAP. Возможно преобразовать некоторые запросы в традиционный SQL, хотя часто требуется использование больших запросов с обилием сложных конструкций. Большинство производителей OLAP систем поддерживат MDX.