6.2. Модели данных, используемые при построении Хранилищ Данных
В настоящее время наибольшее распространение получили три вида моделей хранилищ данных: многомерная, реляционная и комбинированная. Рассмотрим их подробнее.
Многомерная модель. В многомерной модели данные хранятся в виде гиперкубов - упорядоченных многомерных массивов. При описании многомерной модели используют понятия Измерение и Значения :
Измерение - множество, образующее одну из граней куба. Измерения играют роль индексов, используемых для идентификации конкретных значений данных.
Значения - подвергаемые анализу количественные или качественные данные, которые находятся в ячейках гиперкуба.
Основные операции манипулирования изменениями:
Сечение - подмножество, в котором фиксировано значение одного или более измерений.
Вращение - изменение порядка измерений; обычно для двухмерных сечений (остальные фиксированные) для приведения данных к форме, удобной для восприятия;
Свертка - замена одного из значений измерения другим - укрупненным, например, “месяц” заменяется “годом”. Свертка может быть выполнена только над измерениями, в которых имеется иерархия значений (житель дома все жители дома, квартала, улицы, города и т.д.).
Детализация - операция, обратная свертке. Например, ВУЗ может быть детализирован до факультета, факультет до потока, поток до группы, и т.д.
Главным достоинством многомерной модели является быстрота поиска данных. Данные находятся на пересечении измерений гиперкуба. Для их поиска не нужно организовывать связи между таблицами, как это делается в реляционных СУБД. Благодаря этому, среднее время ответа на сложный (нерегламентированный) запрос в многомерной модели на 1 - 2 порядка ниже, чем в реляционной.
Однако:
гиперкуб требует больших объемов дисковой памяти, т.к. в нем заранее резервируется место для каждого возможного данного;
этот объем резко увеличивается при высокой степени детализации данных ;
возникают сложности с модификацией данных, поскольку добавление еще одного измерения требует полной перестройки гиперкуба.
Таким образом, многомерную модель ХД целесообразно использовать, когда ее объем невелик (не более 10 - 20 гигабайт), а гиперкуб имеет стабильный во времени набор измерений.
Пример куба: факультеты, семестры, показатели (средняя детализация: отл - кол-во1, хор - кол-во2, общее количество студентов, обеспечения учебниками, ....).
Свертка: сведения о наборе одного факультета за все годы обучения.
Сечение - фиксируем: факультет и семестр.
Реляционная модель хранилища. Хранилища данных, построенные на основе реляционной модели, способны хранить огромные объемы информации, но проигрывают многомерным моделям в скорости выполнения запросов. В реляционной модели гиперкуб эмулируется СУБД на логическом уровне. Каждое измерение гиперкуба описывается отдельной - справочной таблицей, которая заполняется возможными значениями конкретного описываемого измерения. Фактические данные, наиболее часто используемые для анализа, группируются в таблице, называемой “фактологической”.
Строка фактологической таблицы кроме фактических данных, эквивалентных значениям, хранящимся в ячейках гиперкуба, содержит ссылки на соответствующие значения данных из справочных таблиц (измерений). Фактологическая таблица индексируется по сложному ключу, составленному из индивидуальных ключей справочных таблиц, что обеспечивает их связь с фактологической.
При малом числе измерений - не более 20, реляционные СУБД организуются по радиальной схеме. Другое название этой схемы - звезда (star). При числе измерений более 20, используется схема снежинка (snowflake).
Схема звезда использует только фактологическую таблицу - дочернее отношение, и набор справочных таблиц измерений - родительские отношения. Пример реализации хранилища данных по схеме звезда приведен на рис.6.2.1. В схеме снежинка появляются дополнительные справочные таблицы более высокого уровня иерархии, которые детализируют информацию, хранящуюся в справочных таблицах звезды.
Рис.6.2.1. Эмуляция гиперкуба в РСУБД (схема звезда)
На рис.6.2.2 показана детализация некоторых атрибутов справочных таблиц Группа обучаемых и Дисциплина. После этой детализации схема звезда превращается в схему снежинка.
Рис.6.2.2. Эмуляция гиперкуба в РСУБД (схема снежинка)
Комбинация многомерного и реляционного подхода. В последние несколько лет стали применять комбинированные хранилища данных, в которых реляционная СУБД объединена с целым набором многомерных. Реляционная база данных в этом случае является центральным хранилищем и позволяет накапливать огромные объемы информации. Данные, необходимые конкретным аналитическим приложениям, выделяются из центрального хранилища в многомерные базы данных. Каждая многомерная база хранит информацию по одному из направлений деятельности организации.
Выделенная информация называется киоском данных (Data Marts) или тематическим хранилищем. Использование киосков позволяет производить быструю обработку данных при выполнении аналитических запросов. Создание киосков основывается на том, что ситуации, когда для анализа необходима вся информация хранилища, возникают редко.
Каждый аналитик (аналитический отдел) обслуживает одно направление деятельности организации, а реальный объем данных, необходимых для решения конкретных задач такого отдела, удовлетворяет требованиям, предъявляемым к многомерным СУБД. Логическая схема комбинированного хранилища данных приведена на рис.6.2.3.
Рис.6.2.3. Логическая схема комбинированного хранилища данных
Данные поступают в хранилище из разных источников. Процесс загрузки начинается с приведения данных к единому формату и включает в себя:
исключение управляющих кодов (TAB, CR, LF, …),
унификацию типов данных,
унификацию представления данных - их приведение к одинаковым единицам измерения.
Затем производится анализ данных на предмет устранения дублирующихся и некорректных значений - выбросов, а также восстановления пропущенных значений.
Последний этап обработки - агрегирование данных, т.е. вычисление обобщенных статистических показателей для тематических хранилищ.
Обработанные данные загружаются в центральное хранилище, а из центрального хранилища подкачиваются в киоски данных - тематические хранилища.
Заключение.
Основная цель проектирования БД – это сокращение избыточности хранимых данных, а следовательно, экономия объема используемой памяти, уменьшение затрат на многократные операции обновления избыточных копий и устранение возможности возникновения противоречий из-за хранения в разных местах сведений об одном и том же объекте. Так называемый, "чистый" проект БД ("Каждый факт в одном месте") можно создать, используя методологию нормализации отношений. Нормализация должна использоваться на завершающей проверочной стадии проектирования БД.
Практическая реализация рассмотренных в данном учебном пособии методик проектирования баз данных с применением пакета ERWIN и многочисленными заданиями приводится во второй части учебно-методического пособия автора: «Базы данных, практические задания».
Список наиболее часто встречающихся сокращений.
AC - автоматизированная система
БД - база данных
БИК - банковский идентификационный код
ГНИ – государственная налоговая инспекция
ЕСПД – Единая система программной документации
ЖЗ – жизненный цикл
ИНН – идентификационный номер налогоплательщика
ИС – информационная система
КПП – код причины постановки на учет
ОКОНХ – общероссийский классификатор отраслей народного хозяйства
ОКПО - общероссийский классификатор предприятий и организаций
ООАП – объектно-ориентированный анализ и проектирование
ОПФ – организационно-правовая форма
ПО – программное обеспечение
СУБД – система управления базами данных
ФС – форма собственности
ЭИС – экономическая информационная система
ADM (Application Date Model) – модель данных приложения
AIM (Application Implementation Method) – метод внедрения прикладного ПО
ANSI (American National Standarts Institute) – Американский национальный институт стандартов
API (Application Programming Interface) – интерфейс прикладного программирования
AWT (Abstract Window Toolkit) – средство разработки оконного интерфейса пользователя
BPM (Business Process Model) – модель бизнес процессов
BPM (Business Process Modeler) средство моделирования бизнес-процессов
BPR (Business Process Re) – реинжиниринг бизнес-процессов
CASE (Computer Aided Software Engineering) – автоматизированная разработка программного обеспечения
CDIF (CASE Data Interchange Format) – формат обмена данными CASE – средств
CDM (Conception Data Model) – концептуальная модель данных
CDM (Custom Development Method) – метод разработки приложений пользователя
CMM (Capability Maturity Model) – модель оценки зрелости технологических процессов в организации
COCOMO (COnstructive COnst MOdel) – конструктивная стоимостная модель (для оценки затрат на проектирование ПО)
DFD (Data Flow Diagram) – диаграмма потоков данных
DOORS (Dynamic Object – oriented Requirements System) – динамическая объектно-ориентированная система управления требованиями
DWM (Data Warehouse Method) – метод создания хранимых данных
ERD (Entity – Relationship Diagram) – диаграмма «сущность – связь»
ERX (Entity – Relationship eXpert) – средство построения диаграмм «сущность – связь»
FR (Function Point) – функциональная точка
GUI (Graphical User Interface) – графический интерфейс пользователя
HTML (Hyper Text Markup Language) – стандартный язык для создания страниц Интернет
ICAM (Integrated Computer Aided Manufacturing) – интегрированная компьютеризация производства
IDEF0 (Icam DEFinishion) – методология моделирования программы ICAM
IEC (International Electro technical Commission) – Международная комиссия по электротехнике
IEEE (Institute of Electrical and Electronics Engineers) – институт инженеров по электротехнике и электронике
IPM (Interface Presentation Model) – модель представления интерфейса
ISA (Information System Architecture) – архитектура информационной системы
ISM (Interface Specification Model) – модель спецификации интерфейса
ISO (International Organization for Standardization – Международная организация по стандартизации
LAN (Local Area Network) – локальная сеть
LOC (Lines of Code) – количество строк кода
MFC (Microsoft Foundation Classis) – библиотека базовых классов Microsoft
NATO (North – Atlantic Treaty Organization) – НАТО, Североатлантический союз
OLE (Object Linking and Embedding) – технология связывания и встраивания объектов
OMT (Object Modeling Technique) – метод объектного моделирования
OOSE (Object – Oriented Software Engineering) – объектно-ориентированная разработка ПО
PDS (Primary Data Structure) – структура первичных данных
PJM (Project Management Method) – метод управления проектом
PMI (Project Management Institute) – Институт проектного менеджмента
RAD (Rapid Application Development) – быстрая разработка приложений
RDM (Relational Data Model) – реляционная модель данных
RDM (Relational Data Modeler) – модуль реляционного моделирования
SADT (Structured Analyses and Design Technique) – метод структурного анализа и проектирования
SE (Software Engineering) – программная инженерия (проектирование и разработка ПО)
SEI (Software Engineering Institute) – Институт программной инженерии
SoDA (Software Document Automation) – автоматизированное документирование ПО
SPM (System Process Model) – модель процессов системы
SPR (Software Productivity Research) – название компании
SQL (Structured Query Language) - структурированный язык запросов
TCP/IP (Transmission Control Protocol / Internet Protocol) – протокол управления передачей / протокол Интернет
UML (Unified Modeling Language) – универсальный язык моделирования
VBX (Visual Basic eXtention) – управляющие элементы для использования в среде Visual Basic
WRM (Workgroup Repository Manager) – менеджер репозитория рабочей группы
Список литературы
В.В.Корнеев, А.Ф.Гарев, С.В.Васютин, В.В.Райх Базы данных. Интелектуальная обработка информации. - М.: "Нолидж", 2000
А.М.Вендров Проектирование прогаммного обеспечения экономических информационных систем. - М.: "Финансы и статистика", 2000
А.Л.Фридман Основы объектно-ориентированной разработки программных систем. - М.: "Финансы и статистика", 2000
Г.Н.Калянов CASE структурный системный анализ. - М.: "Лори", 1996
А.М.Вендров CASE-технологии. Современные методы и средства проектирования информационных систем. - М.: "Финансы и статистика", 1998
С.В.Маклаков BPwin и ERwin CASE-средства разработки информационных систем. - М.: "ДИАЛОГ-МИФИ", 2000
Н.Ю.Баженова Visual FoxPro 6.0 - М.: "ДИАЛОГ-МИФИ", 2000
Р.Пэддок, Д.Петерсен, Р.Тэлмейдж Visual FoxPro 6.0 Разработка корпоративных приложений. - М.: "ДМК", 1999
Л.Н.Омельченко Самоучитель Visual FoxPro 6.0 - СПб.: "БХВ - Санкт-Петербург", 1999
Г. Джексон Проектирование реляционных баз данных для использования с микроЭВМ: Пер. с англ. – М.: Мир, 1991.
С.М. Диго Проектирование и использование баз данных: - Учебник. М.: Финансы и статистика, 1995.
|