Смекни!
smekni.com

работа по дисциплине “Базы данных” "Хранилища данных и технология olap " (стр. 1 из 14)

Московский государственный институт электроники и математики

Кафедра электронно-вычислительной аппаратуры

Курсовая работа по дисциплине “Базы данных”

"Хранилища данных и технология OLAP"

Выполнили: студенты группы № С-54

Баталов А.В.

Воробьев Д.Н.

Новиков Р.О.

Овсиенко А.Ю.

Руководитель:

д.т.н. профессор Зарудный Д.И.

Москва 2006

Аннотация

В представленной курсовой работе рассматриваются проблемы и подходы к проектированию многомерных баз данных. В работе освещена технология многомерного анализа данных OLAP, рассматриваются концепции хранилищ данных, требования к многомерным базам данных и OLAP-средствам, логическую организацию OLAP-данных, применение OLAP технологий, а также основные термины и понятия, применяемые при обсуждении многомерного анализа.

Содержание

стр.

Аннотация

2

Содержание

3

Введение

4

1. Постановка задачи

5

2. Краткие сведения

6

3. Основы концепции OLAP

8

4. Проектирование многомерных баз данных

20

5. Пример создания многомерной базы данных с помощью Microsoft Analysis Services

33

6. OLAP клиенты

47

7. Применение OLAP технологий

57

Заключение

60

Литература

61

Введение

На сегодняшний день многие организации пришли к пониманию того факта, что наличие своевременной и объективной информации о рынке, прогнозе его перспектив, оценки деятельности фирмы и взаимоотношений с партнерами, является ключевым фактором в конкурентной борьбе. Исходя из этого, все больше и больше внимания уделяется средствам реализации и построения систем аналитической обработки информации. В первую очередь это касается систем управления многомерными базами данных, которые рассмотрены в данной работе.

1. Постановка задачи

Исследование технологии OLAP, её возможностей и применения многомерных хранилищ данных. Рассматриваются основные подходы к проектированию и созданию хранилищ данных с помощью Oracle Express. В качестве практической части рассматривается создания OLAP-куба средствами Microsoft Analysis Services. Также рассмотрены возможности Microsoft Excel, как OLAP клиента.

2. Краткие сведения

В отличие от традиционных реляционных СУБД, концепция OLAP не так широко известна. OLAP - это не отдельно взятый программный продукт, не язык программирования и даже не конкретная технология. Если постараться охватить OLAP во всех его проявлениях, то это совокупность концепций, принципов и требований, лежащих в основе программных продуктов, облегчающих аналитикам доступ к данным. Термин "OLAP" неразрывно связан с термином "хранилище данных" (Data Warehouse). Назначение хранилищ данных - предоставление пользователям информации для статистического анализа и принятия управленческих решений.

Приведем определение, сформулированное основателем концепции хранилищ данных Биллом Инмоном: "Хранилище данных - это предметно-ориентированное, привязанное ко времени и неизменяемое собрание данных для поддержки процесса принятия управляющих решений". Ральф Кимбалл (Ralph Kimball), один из авторов концепции хранилищ данных, описывал хранилище данных как "место, где люди могут получить доступ к своим данным. Он же сформулировал и основные требования к хранилищам данных:

  • поддержка высокой скорости получения данных из хранилища;
  • поддержка внутренней непротиворечивости данных;
  • возможность получения и сравнения так называемых срезов данных (slice and dice);
  • наличие удобных утилит просмотра данных в хранилище;
  • полнота и достоверность хранимых данных;
  • поддержка качественного процесса пополнения данных.

Удовлетворять всем перечисленным требованиям в рамках одного и того же продукта зачастую не удается. Поэтому для реализации хранилищ данных обычно используется несколько продуктов, одни их которых представляют собой собственно средства хранения данных, другие — средства их извлечения и просмотра, третьи — средства их пополнения и т.д. Хранилища данных должны обеспечивать высокую скорость получения данных, возможность получения и сравнения так называемых срезов данных, а также непротиворечивость, полноту и достоверность данных.

Типичное хранилище данных, как правило, отличается от обычной реляционной базы данных. Во-первых, обычные базы данных предназначены для того, чтобы помочь пользователям выполнять повседневную работу, тогда как хранилища данных предназначены для принятия решений. Например, продажа товара и выписка счета производятся с использованием базы данных, предназначенной для обработки транзакций, а анализ динамики продаж за несколько лет, позволяющий спланировать работу с поставщиками, — с помощью хранилища данных. Во-вторых, обычные базы данных подвержены постоянным изменениям в процессе работы пользователей, а хранилище данных относительно стабильно: данные в нем обычно обновляются согласно расписанию (например, еженедельно, ежедневно или ежечасно — в зависимости от потребностей).

В идеале процесс пополнения представляет собой просто добавление новых данных за определенный период времени без изменения прежней информации, уже находящейся в хранилище. И, в-третьих, обычные базы данных чаще всего являются источником данных, попадающих в хранилище. Кроме того, хранилище может пополняться за счет внешних источников, например статистических отчетов.

Системы поддержки принятия решений обычно обладают средствами предоставления пользователю агрегатных данных для различных выборок из исходного набора в удобном для восприятия и анализа виде. Как правило, такие агрегатные функции образуют многомерный (и, следовательно, нереляционный) набор данных (нередко называемый гиперкубом или метакубом), оси которого содержат параметры, а ячейки — зависящие от них агрегатные данные - причем храниться такие данные могут и в реляционных таблицах, но в данном случае мы говорим о логической организации данных, а не о физической реализации их хранения). Вдоль каждой оси данные могут быть организованы в виде иерархии, представляющей различные уровни их детализации. Благодаря такой модели данных пользователи могут формулировать сложные запросы, генерировать отчеты, получать подмножества данных.

Технология комплексного многомерного анализа данных получила название OLAP (On-Line Analytical Processing). OLAP — это ключевой компонент организации хранилищ данных. Эта технология основана на построении многомерных наборов данных — OLAP-кубов, оси которого содержат параметры, а ячейки — зависящие от них агрегатные данные. Концепция OLAP была описана в 1993 году Эдгаром Коддом, известным исследователем баз данных и автором реляционной модели данных.

В 1995 году на основе требований, изложенных Коддом, был сформулирован так называемый тест FASMI (Fast Analysis of Shared Multidimensional Information — быстрый анализ разделяемой многомерной информации), включающий следующие требования к приложениям для многомерного анализа:

  • предоставление пользователю результатов анализа за приемлемое время (обычно не более 5 с), пусть даже ценой менее детального анализа;
  • возможность осуществления любого логического и статистического анализа, характерного для данного приложения, и его сохранения в доступном для конечного пользователя виде;
  • многопользовательский доступ к данным с поддержкой соответствующих механизмов блокировок и средств авторизованного доступа;
  • многомерное концептуальное представление данных, включая полную поддержку для иерархий и множественных иерархий (это — ключевое требование OLAP);
  • возможность обращаться к любой нужной информации независимо от ее объема и места хранения.

Следует отметить, что OLAP-функциональность может быть реализована различными способами, начиная с простейших средств анализа данных в офисных приложениях и заканчивая распределенными аналитическими системами, основанными на серверных продуктах. Приложения с OLAP-функциональностью должны предоставлять пользователю результаты анализа за приемлемое время, осуществлять логический и статистический анализ, поддерживать многопользовательский доступ к данным, осуществлять многомерное концептуальное представление данных и иметь возможность обращаться к любой нужной информации.

3. Основы концепции OLAP

Рассмотрим подробнее концепцию OLAP и многомерных кубов. В качестве примера реляционной базы данных, который мы будем использовать для иллюстрации принципов OLAP, воспользуемся базой данных Northwind, входящей в комплекты поставки Microsoft Access и представляющей собой типичную базу данных, хранящую сведения о торговых операциях компании, занимающейся оптовыми поставками продовольствия. К таким данным относятся сведения о поставщиках, клиентах, компаниях, осуществляющих доставку, список поставляемых товаров и их категорий, данные о заказах и заказанных товарах, список сотрудников компании. Подробное описание базы данных Northwind можно найти в справочных системах Microsoft SQL Server или Microsoft Access — здесь за недостатком места мы его не приводим.

Для рассмотрения концепции OLAP воспользуемся представлением Invoices и таблицами Products и Categories из базы данных Northwind, создав запрос, в результате которого получим подробные сведения о всех заказанных товарах и выписанных счетах:

SELECT dbo.Invoices.Country,

dbo.Invoices.City,