Построение схемы многомерной базы данных, изучение возможностей использования агрегированной данных для анализа итоговой информации. Формулирование и реализация запросов и формирование срезов данных средствами языка MDX.
Выполнение лабораторной работы
1. Создать дубликаты таблиц, используя инструкцию
SELECT * INTO Изделие1 FROM Изделие
SELECT * INTO Поставка1 FROM Поставка
SELECT Номер_заказа, Заказчик, Адрес INTO Заказ1 FROM Заказ
2. Добавить атрибута Дата _ заказа в таблицу Заказ1, установив тип данных INT.
ALTER TABLE Заказ1 ADD Дата_заказа INT
Заполнить столбец позже. Значения атрибута Дата _ заказа должны соответствовать значениям таблицы date _ day атрибуту id (Описание таблицы date _ day смотреть ниже (пункт 3)).
3. Создать набор таблиц для определения иерархии куба.
CREATE TABLE date_year(
id int, [year] int,
PRIMARY KEY (id))
CREATE TABLE date_month_name(
id int, month_name char(15),
PRIMARY KEY (id))
CREATE TABLE date_day_name(
id int, day_name char(15),
PRIMARY KEY (id))
CREATE TABLE date_month(
id int, [month] int, month_name_id int, year_id int, PRIMARY KEY (id),
CONSTRAINT A1 FOREIGN KEY (month_name_id)
REFERENCES date_month_name(ID),
|
|
CONSTRAINT A2 FOREIGN KEY (year_id)
REFERENCES date_year(ID))
CREATE TABLE date_day(
id int, [day] int, day_name_id int, month_id int, PRIMARY KEY (id),
CONSTRAINT A3 FOREIGN KEY (day_name_id)
REFERENCES date_day_name(ID),
CONSTRAINT A4 FOREIGN KEY (month_id)
REFERENCES date_month(ID))
4. Установить связь между основной схемой данных и созданными таблицами. Связь устанавливается между таблицами Заказ1 и date_day по атрибутам Заказ1.Дата_заказа и date_day.id.
ALTER TABLE Заказ1 ADD CONSTRAINT A5
FOREIGN KEY (Дата_заказа) REFERENCES date_day(id)
Таким образом, должны получить схему данных, представленную на рисунке 1.
Рисунок 1. Схема БД «снежинка».
Здесь таблица фактов – Поставка1,
таблицы измерений – Заказ1 и Изделие1,
таблицы иерархий – Заказ1 ® date_day ® date_day_name
date_day ® date_month ® date_year
date_month ® date_month_name
5. Заполнить таблицы иерархий и атрибут Дата_заказа таблицы Заказ1, соблюдая последовательность ввода данных.
6. Создать куб по следующей схеме: