- СУБД разрабатываются с целью обеспечения эффективной обработки больших объемов информации, намного больших, чем те, с которыми справляются электронные таблицы;
- СУБД может легко связывать две таблицы так, что для пользователя они будут представлены одной таблицей. Реализовать такую возможность в электронных таблицах практически невозможно;
- СУБД минимизирует общий объем базы данных. Для этого таблицы, содержащие повторяющиеся данные, разбиваются на несколько связанных таблиц.
Т.о. приложение Access является мощной и высокопроизводительной 32-разрядной СУБД. В Access реализована надежная защита от несанкционированного доступа к файлам.
Несмотря на то, что Access является мощной и сложной системой, его использование не сложно для непрофессиональных пользователей.
Целью создания базы данных в данной курсовой работе является оперативное получение необходимой информации.
Представляемая база данных будет содержать 3 таблицы: «Препараты», «Производители» и «Доля продаж за 3 кв 2007г.»
Первая таблица «Препараты» имеет следующую структуру:
Имя поля | Тип данных | Размер поля | Обязательное | Индексированное |
Код препарата | счётчик | Длинное целое | да | да (совпадения не допускаются) |
Наименование | текстовый | 20 | да | да (совпадения допускаются) |
Ключевым полем в данной таблице является поле «Код препарата», т.к. оно уникально.
Вторая таблица «Производители» имеет следующий вид:
Имя поля | Тип данных | Размер поля | Обязательное | Индексированное |
Код производителя | счётчик | Длинное целое | да | да (совпадения не допускаются) |
Код препарата | мастер подстановок | Длинное целое | да | да (совпадения допускаются) |
Страна | мастер подстановок | Длинное целое | да | да (совпадения допускаются) |
Наименование | текстовый | 20 | да | да (совпадения допускаются) |
Ключевым полем в данной таблице является поле «Код производителя», т.к. оно уникально.
Третья таблица «Доля продаж за 3 кв 2007 г»:
Имя поля | Тип данных | Размер поля | Обязательное | Индексированное |
Код препарата | Мастер подстановок | Длинное целое | да | да (совпадения не допускаются) |
Код производителя | счётчик | Длинное целое | да | да (совпадения допускаются) |
Наименование | Мастер подстановок | Длинное целое | да | да (совпадения допускаются) |
Доля рынка в деньгах | числовой | двойное с плавающей точкой | да | да (совпадения допускаются) |
Связи между тремя таблицами представлены следующим образом:
1.3 OLAP-технологии в подсистеме анализа объекта исследований.
Для начала расшифруем: OLAP - это Online Analytical Processing, т. е. оперативный анализ данных. 12 определяющих принципов OLAP сформулировал в 1993 г. Е. Ф. Кодд - "изобретатель" реляционных БД. Позже его определение было переработано в так называемый тест FASMI, требующий, чтобы OLAP-приложение предоставляло возможности быстрого анализа разделяемой многомерной информации (подробнее).
Тест FASMI:
- Fast (Быстрый) - анализ должен производиться одинаково быстро по всем аспектам информации. Приемлемое время отклика - 5 с или менее;
- Analysis (Анализ) - должна быть возможность осуществлять основные типы числового и статистического анализа, предопределенного разработчиком приложения или произвольно определяемого пользователем;
- Shared (Разделяемой) - множество пользователей должно иметь доступ к данным, при этом необходимо контролировать доступ к конфиденциальной информации;
- Multidimensional (Многомерной) - это основная, наиболее существенная характеристика OLAP;
- Information (Информации) - приложение должно иметь возможность обращаться к любой нужной информации, независимо от ее объема и места хранения.
OLAP предоставляет удобные быстродействующие средства доступа, просмотра и анализа деловой информации. Пользователь получает естественную, интуитивно понятную модель данных, организуя их в виде многомерных кубов (Cubes). Осями многомерной системы координат служат основные атрибуты анализируемого бизнес-процесса. Например, для продаж это могут быть товар, регион, тип покупателя. В качестве одного из измерений используется время. На пересечениях осей - измерений (Dimensions) - находятся данные, количественно характеризующие процесс - меры (Measures). Это могут быть объемы продаж в штуках или в денежном выражении, остатки на складе, издержки и т. п. Пользователь, анализирующий информацию, может "разрезать" куб по разным направлениям, получать сводные (например, по годам) или, наоборот, детальные (по неделям) сведения и осуществлять прочие манипуляции, которые ему придут в голову в процессе анализа.
Все, что говорилось выше про OLAP, по сути, относилось к многомерному представлению данных. Многомерность в OLAP-приложениях может быть разделена на три уровня:
- Многомерное представление данных - средства конечного пользователя, обеспечивающие многомерную визуализацию и манипулирование данными; слой многомерного представления абстрагирован от физической структуры данных и воспринимает данные как многомерные;
- Многомерная обработка - средство (язык) формулирования многомерных запросов (традиционный реляционный язык SQL здесь оказывается непригодным) и процессор, умеющий обработать и выполнить такой запрос;
- Многомерное хранение - средства физической организации данных, обеспечивающие эффективное выполнение многомерных запросов.
Первые два уровня в обязательном порядке присутствуют во всех OLAP-средствах. Третий уровень, хотя и является широко распространенным, не обязателен, так как данные для многомерного представления могут извлекаться и из обычных реляционных структур; процессор многомерных запросов в этом случае транслирует многомерные запросы в SQL-запросы, которые выполняются реляционной СУБД.
Конкретные OLAP-продукты, как правило, представляют собой либо средство многомерного представления данных, OLAP-клиент (например, Pivot Tables в Excel 2000 фирмы Microsoft или ProClarity фирмы Knosys), либо многомерную серверную СУБД, OLAP-сервер (например, Oracle Express Server или Microsoft OLAP Services).
Как уже говорилось выше, средства OLAP-анализа могут извлекать данные и непосредственно из реляционных систем. Такой подход был более привлекательным в те времена, когда OLAP-серверы отсутствовали в прайс-листах ведущих производителей СУБД. Но сегодня и Oracle, и Informix, и Microsoft предлагают полноценные OLAP-серверы и т.о. могут купить (точнее, обратиться с соответствующей просьбой к руководству компании) OLAP-сервер той же марки, что и основной сервер баз данных.
OLAP-серверы, или серверы многомерных БД, могут хранить свои многомерные данные по-разному. Прежде чем рассмотреть эти способы, нам нужно поговорить о таком важном аспекте, как хранение агрегатов.
Термин "OLAP" неразрывно связан с термином "хранилище данных" (Data Warehouse). Хранилище данных - это предметно-ориентированное, привязанное ко времени и неизменяемое собрание данных для поддержки процесса принятия управляющих решений. Данные в хранилище попадают из оперативных систем (OLTP-систем), которые предназначены для автоматизации бизнес-процессов. Кроме того, хранилище может пополняться за счет внешних источников, например статистических отчетов. Таким образом, задача хранилища - предоставить "сырье" для анализа в одном месте и в простой, понятной структуре.
Подытоживая, можно определить OLAP как совокупность средств многомерного анализа данных, накопленных в хранилище.
Теперь о различных вариантах хранения информации. Как детальные данные, так и агрегаты могут храниться либо в реляционных, либо в многомерных структурах. Многомерное хранение позволяет обращаться с данными как с многомерным массивом, благодаря чему обеспечиваются одинаково быстрые вычисления суммарных показателей и различные многомерные преобразования по любому из измерений. Некоторое время назад OLAP-продукты поддерживали либо реляционное, либо многомерное хранение. Сегодня, как правило, один и тот же продукт обеспечивает оба этих вида хранения, а также третий вид - смешанный. Применяются следующие термины:
- MOLAP (Multidimensional OLAP) - и детальные данные, и агрегаты хранятся в многомерной БД. В этом случае получается наибольшая избыточность, так как многомерные данные полностью содержат реляционные;
- ROLAP (Relational OLAP) - детальные данные остаются там, где они "жили" изначально - в реляционной БД; агрегаты хранятся в той же БД в специально созданных служебных таблицах;
- HOLAP (Hybrid OLAP) - детальные данные остаются на месте (в реляционной БД), а агрегаты хранятся в многомерной БД.
Каждый из этих способов имеет свои преимущества и недостатки и должен применяться в зависимости от условий - объема данных, мощности реляционной СУБД и т. д.
При хранении данных в многомерных структурах возникает потенциальная проблема "разбухания" за счет хранения пустых значений. Ведь если в многомерном массиве зарезервировано место под все возможные комбинации меток измерений, а реально заполнена лишь малая часть (например, ряд продуктов продается только в небольшом числе регионов), то большая часть куба будет пустовать, хотя место будет занято. Современные OLAP-продукты умеют справляться с этой проблемой.
2.1. Разработка базы данных объёмов продаж на фармацевтическом рынке с использованием MSAccess .
Основные этапы разработки: