![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Основные объекты многомерных баз данных⇐ ПредыдущаяСтр 41 из 41
Основные элементы структуры многомерных баз данных – Кубы (Cubes), Измерения (Dimensions) и Меры (Measures).
Куб (Cube) — совокупность данных, имеющая многомерную структуру. Куб представлен набором мер и измерений. Измерений может быть много, но, т.к. нам легче представить себе трехмерный объект, такой объект назвали Кубом.
Рассмотрим эти понятия на примере базы данных клиентов. Пусть наш куб содержит данные клиентов: ФИО, дату рождения, место рождения, пол, место жительства, а также календарь и список населенных пунктов. В случае реляционной базы данных можно было организовать 3 таблицы: [Населенные пункты], [Календарь] и [Паспортные данные]; причем в [Паспортных данных] присутствовали бы поля, связанные с соответствующими полями из [Календаря] и [Населенных пунктов]. В многомерном случае можно задать, например, такие измерения: [Клиенты], [Дата], [Место], [Тип места] (рождения или жительства), [Пол].
На пересечении этих измерений зададим некоторые агрегированные величины - меры. Например: [Количество клиентов], [Максимальный возраст].
Пример (*): Сколько клиентов мужского пола проживает в Твери? Ответ можно получить, задав следующий MDX-запрос: SELECT { [Место].[РФ].[Тверь] } ON COLUMNS, { [Пол].[М] } ON ROWS FROM [Наш куб данных] WHERE ([Measures].[Количество клиентов], [Тип места].[Место жительства])
В данном запросе присутствуют лишь 3 измерения: [Место], [Тип места] и [Пол]; все измерения, не указанные в запросе ([Клиенты] и [Дата]), присутствуют в нем неявно. Следует отметить, что совокупность мер является, по сути, еще одним измерением.
Как видим, синтаксис MDS очень похож на синтаксис SQL. К синтаксису запросов вернемся позднее, а пока рассмотрим другие важные понятия.
Члены измерений (Members). Иерархии (Hierarchies).
В рассмотренном выше примере мы пользовались измерением [Место], детализируя его с помощью заданной на нем иерархии. Делается это с помощью членов измерения, т.е. единиц описания на различных уровнях иерархии. Примеры членов измерения: [РФ], [Белоруссия], [Минск], [ул. Северная], [дом №70], [дом №95] и т.д.
До каждого члена можно «добраться», описав путь к нему по иерархической структуре. Наример: [Место]. [Иерархия_Место].[РФ].[Тверь].[Петербургское шоссе].[дом №777].[квартира №8888], [Место]. [Иерархия_Место].[РФ].[Москва]
Замечание: в приведенных примерах использована подробная запись: [< Измерение> ].[< Иерархия> ].[< Член верхнего уровня> ]. ….[< Член нижнего уровня> ] В некоторых случаях уникальные в пределах измерения элементы такой записи можно опускать.
Можно организовать несколько иерархий для одного измерения, например:
[Дата].[Иерархия1].[< Год> ].[< Месяц> ].[< Число> ] и
[Дата].[Иерархия2].[< № недели> ].[< День недели> ]
Замечание: в случае единственной иерархии на нее можно сослаться по имени измерения, то есть: [Дата].[Иерархия1].Members эквивалентно [Дата].Members, [Место].[Иерархия_Место].[Города].Members эквивалентно [Место].[Города].Members.
Каждому уровню иерархии (Level) присвоено свое имя. Имена уровней применяются в конструкциях вида: [< Измерение> ].[< Иерархия> ].[< Уровень> ].Members.
Например: [Дата].[ Иерархия1].[Месяца].Members – все возможные месяца; [Место].[Иерархия_Место].[Улицы].Members – все улицы, независимо от страны и города.
|