Хранилище данных "Прокат автотранспорта"
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
Системы поддержки принятия решений - это компьютерные системы, почти всегда интерактивные, разработанные, чтобы помочь менеджеру (или руководителю) в принятии решений. СППР включают и данные, и модели, чтобы помочь принимающему решения решить проблемы, особенно те, которые плохо формализованы.
Несмотря на то, что история исследований задач и процессов принятия решений восходит к 1738г., когда Бернулли и Ла Плас установили логарифмическую форму нелинейной функции полезности денег, актуальность они не потеряли. Применение СППР основано на экономической целесообразности и определяется сложностью задач, которые решают с их помощью [3].
Итак, система поддержки принятия решений – компьютерная автоматизированная система, целью которой является помощь людям, принимающим решение в сложных условиях для полного и объективного анализа предметной деятельности. Системы поддержки принятия решений возникли в результате слияния управленческих информационных систем и систем управления базами данных [1].
Стратегия научно-технического прогресса в современных условиях формирования развивающихся информационных систем управления объектами разного уровня и назначения, в том числе и систем поддержки принятия решений , предполагает значительное повышение интеллектуального уровня процессов их функционирования. Это направление исследований все еще мало разработано как в теоретическом, так и практическом аспекте. Дело в том, что перед интеллектуализацией СППР стоят весьма сложные проблемы. Одним из направлений интеллектуализации СППР есть использование базы знаний при принятии решений.
Знания - это закономерности предметной области (принципы, связи, законы), полученные в результате практической деятельности и профессионального опыта, позволяющие специалистам ставить и решать задачи в этой области.
Данные – это отдельные факты, характеризующие объекты, процессы и явления предметной области, а также их свойства.
Для хранения данных используются базы данных - организованная в соответствии с определёнными правилами и поддерживаемая в памяти компьютера совокупность данных, характеризующая актуальное состояние некоторой предметной области и используемая для удовлетворения информационных потребностей пользователей; для хранения знаний – базы знаний - это особого рода база данных, разработанная для управления знаниями (метаданными), то есть сбором, хранением, поиском и выдачей знаний. База знаний – основа любой интеллектуальной системы.
Задачей данного проекта является разработка системы поддержки принятия решений на основе хранилищ данных в предметной области «Фирма, разрабатывающая программное обеспечение».
Объектом проекта является предоставляемые функциональные возможности Microsoft Visual Studio 2012, Microsoft SQL Server 2008 и его служб.
Цель курсового проекта состоит в создании хранилища данных для предметной области «Фирма, разрабатывающая программное обеспечение».
Предметом изучения являются способы автоматизации сбора данных и их анализа с целью последующего принятия решений.
ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ
- Понятие хранилища данных
В процессе развития компании происходит активное становление ее информационной инфраструктуры. Возникают все новые и новые информационные системы, происходит постоянное совершенствование существующих. В геометрической прогрессии начинает возрастать объем данных, которыми оперирует компания.
Начинают возникать архивы данных, какие-то элементы базы знаний и т. п. С определенного момента в компании появляются аналитики, задача которых «смотреть вперед», анализировать текущую ситуацию, строить прогнозы на будущее. Что, в конечном счете, позволяет руководству компании на принципиально новом уровне видеть полную картину состояния бизнеса, строить политику принятия управленческих решений.
Все это требует построения специализированных информационно - аналитических систем. Какую бы систему ни выбрала компания — самописную или серьезную промышленную, в любом случае возникает необходимость консолидации всех имеющихся данных. Для этого необходимо создание хранилищ данных. Процесс создания хранилищ данных – это процесс сбора, отсеивания и предварительной обработки данных с целью предоставления результирующей информации пользователям для статистического анализа (а нередко и создания аналитических отчетов).
Хранилище данных — ориентированная на поддержку управленческих решений автоматизированная система, состоящая из организационной структуры, технических средств, базы или совокупности базы данных (БД) и ПО, которое выполняет, как правило, следующие функции:
- извлечение данных из разрозненных источников, их трансформация и загрузка в хранилище;
- администрирование данных и хранилища;
- извлечение данных из хранилища, аналитическая обработка и представление данных конечным пользователям.
Обеспечить выполнение данных функций в рамках одного и того же продукта зачастую не удается. Поэтому для реализации хранилищ данных обычно используется несколько продуктов, одни их которых представляют собой собственно средства хранения данных, другие – средства их извлечения и просмотра, третьи – средства их пополнения [6].
Типичное хранилище данных, как правило, отличается от обычной реляционной базы данных.
Во-первых, обычные базы данных предназначены для того, чтобы помочь пользователям выполнять повседневную работу, тогда как хранилища данных предназначены для принятия решений. Например, продажа товара и выписка счета производятся с использованием базы данных, предназначенной для обработки транзакций, а анализ динамики продаж за несколько лет, позволяющий спланировать работу с поставщиками, – с помощью хранилища данных.
Во-вторых, обычные базы данных подвержены постоянным изменениям в процессе работы пользователей, а хранилище данных относительно стабильно: данные в нем обычно обновляются согласно расписанию (например, еженедельно, ежедневно или ежечасно – в зависимости от потребностей). В идеале процесс пополнения представляет собой просто добавление новых данных за определенный период времени без изменения прежней информации, уже находящейся в хранилище.
И, в-третьих, обычные базы данных чаще всего являются источником данных, попадающих в хранилище. Кроме того, хранилище может пополняться за счет внешних источников, например статистических отчетов [3].
- Структура хранилища данных
В основе концепции хранилища данных лежат две основные идеи - интеграция разъединенных детализированных данных (детализированных в том смысле, что они описывают некоторые конкретные факты, свойства, события и т.д.) в едином хранилище и разделение наборов данных и приложений, используемых для оперативной обработки и применяемых для решения задач анализа. Определение понятия "хранилище данных" первым дал Уильям Г. Инмон в своей монографии. В ней он определил хранилище данных как "предметно-ориентированную, интегрированную, содержащую исторические данные, не разрушаемую совокупность данных, предназначенную для поддержки принятия управленческих решений".
Концептуально модель хранилища данных можно представить в виде схемы, показанной на рисунке 1.1.
Рисунок 1.1 – Концептуальная модель хранилища данных
Данные из различных источников помещаются в хранилище данных, а описания этих данных в репозиторий метаданных. Конечный пользователь, используя различные инструменты (средства визуализации, построения отчетов, статистической обработки и т.д.) и содержимое репозитория, анализирует данные в хранилище. Результатом его деятельности является информация в виде готовых отчетов, найденных скрытых закономерностей, каких-либо прогнозов. Так как средства работы конечного пользователя с хранилищем данных могут быть самыми разнообразными, то теоретически их выбор не должен влиять на его структуру и функции его поддержания в актуальном состоянии.
Но физическая реализация приведенной концептуальной схемы может быть самой разнообразной.
Главные преимущества хранилищ данных:
- единый источник информации: компания получает выверенную единую информационную среду, на которой будут строиться все справочно-аналитические приложения в той предметной области, по которой построено хранилище. Эта среда будет обладать единым интерфейсом, унифицированными структурами хранения, общими справочниками и другими корпоративными стандартами, что облегчает создание и поддержку аналитических систем. Также, при проектировании информационного хранилища данных особое внимание уделяют достоверности информации, которая попадает в хранилище;
- производительность: физические структуры хранилища данных специальным образом оптимизированы для выполнения абсолютно произвольных выборок, что позволяет строить действительно быстрые системы запросов;
- быстрота разработки: специфическая логическая организация хранилища и существующее специализированное ПО позволяют создавать аналитические системы с минимальными затратами на программирование;
- интегрированность: интеграция данных из разных источников уже сделана, поэтому не надо каждый раз производить соединение данных для запросов, требующих информацию из нескольких источников. Под интеграцией понимается не только совместное физическое хранение данных, но и их предметное, согласованное объединение; очистку и выверку при их формировании; соблюдение технологических особенностей и т.д.;
- историчность и стабильность: OLTP-системы оперируют с актуальными данными, срок применения и хранения которых обычно не превышает величины текущего бизнес-периода (полугода-год), в то время как информационное хранилище данных нацелено на долговременное хранение информации в течение 10-15 лет. Стабильность означает, что фактическая информация в хранилище данных не обновляется и не удаляется, а только специальным образом адаптируется к изменениям бизнесс-атрибутов. Таким образом, появляется возможность осуществлять исторический анализ информации;
- независимость: выделенность информационного хранилища существенно снижает нагрузку на OLTP-системы со стороны аналитических приложений, тем самым производительность существующих систем не ухудшается, а на практике происходит уменьшение времени отклика и улучшение доступности систем [5].
- Информационно-аналитические системы принятия решений
Эффективность работы организации и сложность анализа ее деятельности напрямую зависит от того, как организована обработка информации и поддержка информационных процессов. В последнее время особую актуальность приобрели различные компьютерные системы автоматизации и анализа информации. Подобные системы внедряются на производственных предприятиях, в организациях по продаже товаров, в сфере потребительских услуг и производстве нематериальной продукции. Следует заметить, что информационно-аналитические системы (ИАС) играют объединяющую роль, консолидируют разрозненные информационные технологии в единую интегрированную информационную систему управления предприятием.
ИАС – это компьютерная система, позволяющая получать информацию, создавать ее и производить ее обработку и анализ. Система должна предоставлять возможность сбора и обработки оперативной информации в режиме реального времени с удобным интерфейсом. Статистическая и аналитическая информация должна предоставляться в соответствии с любыми возникающими запросами с возможностью дальнейшей детализации.
Основной целью создания ИАС является преобразование информационного базиса организации в структурированную информационную среду, развивающуюся в соответствии с заранее намеченным планом, являющуюся источником информации, отвечающей насущным потребностям организации.
Одной из важнейших задач ИАС является преодоление кризиса оперативного анализа или, как его называют в англоязычной литературе, Data in Jail (DIJ) – «данные в тюрьме». Смысл в том, что при обилии исходных данных без квалифицированного использования, их пользователь не в состоянии извлечь из них информацию и приобрести знания о процессах, происходящих в той или иной предметной области.
Основными задачами любой ИАС являются эффективное хранение, обработка и анализ данных, главным образом, при подготовке и принятии решения. Поддержка принятия решений на основе накопленных данных может выполняться в трех базовых сферах: детализированных данных, агрегированных показателей и закономерностей.
Сфера детализированных данных – это область действия большинства систем, нацеленных на поиск информации. В большинстве случаев реляционные СУБД отлично справляются с возникающими здесь задачами. Общепризнанным стандартом языка манипулирования реляционными данными является SQL.
Сфера агрегированных показателей - комплексный взгляд на собранную в хранилище данных информацию, ее обобщение и агрегация, гиперкубическое представление и многомерный анализ являются задачами систем оперативной аналитической обработки данных – On-Line Analytical Processing (OLAP).
Сфера закономерностей - интеллектуальная обработка производится методами интеллектуального анализа данных, главными задачами которых являются поиск функциональных и логических закономерностей в накопленной информации, построение моделей и правил, которые объясняют найденные аномалии и / или прогнозируют развитие некоторых процессов.
Такой трехмерный массив в терминах OLAP и называется кубом. У настоящего куба количество элементов во всех измерениях должно быть одинаковым, а у кубов OLAP такого ограничения нет. Тем не менее, несмотря на эти детали, термин «куб OLAP» ввиду своей краткости и образности стал общепринятым.
ПРАКТИЧЕСКИЙ РАЗДЕЛ
Постановка задачи
Предметная область функциональной модели – учет заказов на разработку программного обеспечения. Объектом моделирования функциональной модели служит компьютерная фирма, занимающаяся следующими аспектами деятельности:
- прием заказов на разработку программного обеспечения;
- учет специалистов, работающих в определенной сфере оказываемых услуг (ведущих разработку программного обеспечения только на определенном языке программирования);
- учет клиентов;
- учет имеющихся сред разработки программного обеспечения.
Для реализации поставленной задачи необходимо реализовать:
- построение базы данных;
- на основе базы данных построить хранилище данных с таблицами фактов и измерений;
- создание и представление OLAP-кубов на основе хранилища данных.
Построение базы данных и хранилища данных осуществляется с помощью Microsoft SQL Server 2008 R2. Редактирование базы данных и хранилища данных производится с помощью Microsoft Visual Studio 2012. OLAP-кубы строятся с помощью среды SQL Server Business Intelligence Development Studio – пакет Analysis Services.
Концептуальное моделирование
Концептуальная модель хранилища данных представляет собой описание главных (основных) сущностей и отношений между ними. Концептуальная модель является отражением предметных областей, в рамках которых планируется построение хранилища данных.
Концептуальная модель взаимосвязей представлена на рисунке 2.1.
Рисунок 2.1 – Концептуальная модель
Физическое моделирование
Физическая модель данных описывает реализацию объектов логической модели на уровне объектов конкретной базы данных.
В физическом моделировании отображены основные связи данных таблиц, в которых будут записываться атрибуты. Из этого следует что, денежные значения будут записываться в тип данных DECIMAL, целые значения – INTEGER, текстовые данные будут записываться в VARCHAR().
На рисунке 2.2 представлена физическая модель базы данных.
Рисунок 2.2 – Физическая модель
Проектирование структуры хранилища данных
Хранилище данных разрабатывается на основе таблицы фактов и таблиц измерения.
При проектировании хранилищ данных необходимо выполнять следующие требования: хранилище должно иметь понятную для пользователей структуру данных; должны быть выделены статические данные; должны быть упрощены требования к запросам для исключения запросов, требующих множественных утверждений SQL в традиционных реляционных СУБД; должна обеспечиваться поддержка сложных запросов SQL, требующих обработки миллионов записей.
Таблица фактов является основной таблицей хранилища данных. Как правило, она содержит числовые поля об объектах или событиях, совокупность которых будет в дальнейшем анализироваться. Таблицы измерений содержат неизменяемые либо редко изменяемые данные. В них находятся так называемые условия анализа данных таблицы фактов. Каждая таблица измерений должна находиться в отношении «один ко многим» с таблицей фактов. Структура хранилища данных представлена на рисунке 2.3.
Рисунок 2.3 – Структура хранилища данных
При проектирование хранилища данных использована схема «Звезда». Схема "звезда" обычно содержит одну большую таблицу, называемую таблицей факта, помещенную в центре. Ее окружают меньшие таблицы, называемые таблицами размерности, которые связаны с таблицей факта радиальными связями. Хранилище данных данного проекта состоит из одной таблицы фактов и 4 таблиц измерений.
Реализация хранилища данных по управлением Microsoft SQL Server Analysis Services
Analysis Services предоставляет инструменты для анализа данных, которые находятся в хранилищах и киосках данных, где итоговая информация содержится в таблицах фактов. Analysis Services организует данные из хранилища в кубические массивы с помощью предварительно вычисленных агрегированных данных. Analysis Services также облегчает создание моделей извлечения информации для данных как из многомерных, так и из реляционных источников. Можно применять модели извлечения информации к обоим типам данных. Посредством службы PtvotTable - компонента доступа, совместимого с OLE DB, Microsoft Excel и приложения других производителей могут получать данные с сервера и представлять их пользователю или создавать локальные кубические массивы для автономного анализа. [5].
Для анализа данных находящихся в хранилище данных необходимо их представить в виде куба. На начальном этапе необходимо подключить хранилище данных к проекту SQL Server Business Intelligence Development Studio. Вторым этапом является создание представления источника данных (рисунок 2.4). В нем указывается набор таблиц измерений и таблица фактов. Таблица фактов — центральная таблица в схеме хранилища данных, в ней хранятся численные меры и ключи, связывающие факты с таблицами измерений.
Рисунок 2.4 – Представление источника данных
На следующем шаге необходимо создать измерения, необходимые для построении куба (рисунок 2.5).
Рисунок 2.5 – Измерения
Куб, отображающий динамику прибыли каждого отдела от времени, показан на рисунке 2.6.
Рисунок 2.6 – Динамика прибыли каждого отдела от времени
Куб, отображающий динамику активности сотрудников, показан на рисунке 2.7.
Рисунок 2.7 – Динамика активности сотрудников от времени
- Реализация OLAP – клиента для доступа к данным хранилища
Для подключения к базе данных, а также к хранилищу данных, использовалась технология ADO.NET.
ADO.NET – это часть Microsoft .NET Framework, т.е. набор средств и слоев, позволяющих приложению легко управлять и взаимодействовать со своим файловым или серверным хранилищем данных [8].
ADO (ActiveX Data Objects) — это библиотека компонентов СОМ, получившая в последние несколько лет множество воплощений. ADO состоит, прежде всего, из объектов Connection, Command, Recordset и Field. С помощью ADO открывается соединение с базой данных, после чего некоторые данные извлекаются и помещаются в набор записей, состоящих из полей; эти данные затем претерпевают манипуляции и обновления на сервере, после чего соединение закрывается. Кроме того, ADO предлагает так называемый отключенный набор записей (disconnected record set), который используется, когда соединение с базой нежелательно удерживать открытым в течение длительного времени.
Как и любая другая технология, ADO.NET состоит из нескольких важных компонентов. Все классы .NET группируются в пространства имен. Кроме того, как и любые другие компоненты.NET, ADO.NET работает, не изолировано и может взаимодействовать с различными другими компонентами .NET [9].
Разработанное приложение имеет следующие функциональные возможности:
- добавление и удаление заказов на разработку программного обеспечения;
- добавление и удаление информации о разработчиках;
- добавление и удаление информации о клиентах;
- добавление и удаление информации о платформах;
- добавление и удаление информации о средах разработки приложений;
- поиск заказов на разработку программного обеспечения;
- поиск информации о разработчиках;
- поиск информации о клиентах.
При запуске появляется окно выбора действия для приложения, изображённое на рисунке 2.8.
Рисунок 2.8 – Окно выбора действия
После выбора требуемой операции появляется главное окно приложения, изображённое на рисунке 2.9.
Рисунок 2.9 – Главное окно приложения
Изначально, после запуска приложения,
возможность редактирования данных отключена.
Для того, чтобы можно было добавлять данные,
необходимо начать ввод данных в верхней
части главного окна, затем нажать на кнопку
«Добавить» в правой панели верхней части
главного окна. Если нажать на кнопку «Добавить»
в главном окне, то появится новая запись
с внесёнными данными (рисунок 2.10).
Рисунок 2.10 – Добавление записи
Вкладка отделы отображает всю информацию по отделам фирмы (рисунок 2.11).
Рисунок 2.11– Вкладка «Отделы»
Далее следует вкладка «Языки программирования», которая отображает все языки программирования фирмы по разработке программного обеспечения (рисунок 2.12).
Рисунок 2.12 – Вкладка «Языки программирования»
Вкладка «Сотрудники» отображает информацию по сотрудникам фирмы (рисунок 2.13).
Рисунок 2.13 – Вкладка «Сотрудники»
Вкладка
«Таблица фактов» отображает информацию,
которая хранится в таблице фактов хранилища
данных (рисунок 2.14).
Рисунок 2.14 – Вкладка «Таблица фактов»
Вкладка «Измерение Дата» отображена на рисунке 2.15.
Рисунок 2.15 – Вкладка «Измерение Дата»
Далее следует вкладка «Измерение отдел»
(рисунок 2.16).
Рисунок 2.16 – Вкладка «Измерение отдел»
Следующая вкладка «Измерение язык программирования», которая отображает все используемые языки для программирования на фирме (рисунок 2.17).
Рисунок 2.17 – Вкладка «Измерение язык программирования»
Далее вкладка «Измерение сотрудники»,
отображающая список сотрудников фирмы
их имена, адреса и телефоны (рисунок 2.18).
Рисунок 2.18 – Вкладка «Измерение сотрудники»
Для более удобного рассмотрения анализируемых данных OLAP-кубы импортируем в Microsoft Office Excel. Результаты представлены на рисунках 2.19 и 2.20.
Рисунок 2.19 – Динамика прибыли
фирмы от времени
Рисунок 2.20 – Динамика активности сотрудников от времени
ЗАКЛЮЧЕНИЕ
Людям, работающим в современных компаниях, необходимы средства оперативного анализа текущей ситуации. Одной из наиболее популярных платформ многомерного анализа является Microsoft SQL Server 2008 R2 Analysis Services. С ее помощью можно построить полноценные аналитические решения корпоративного класса, доступ к которым осуществляется через обычные офисные приложения.
Результатом выполнения курсового проекта является приложение для учета заказов на разработку программного обеспечения.
В ходе выполнения курсового проекта была создана база и хранилище данных, и разработано приложение, осуществляющее работу с ними. Разработанное приложение обладает следующей функциональностью:
- ввод данных в базу данных;
- удаление записей из базы данных;
- хранение информации;
- поиск информации;
- редактирование данных.
Программа обеспечивает как просмотр данных о заказах, клиентах, разработчиках, целевых операционных системах и средах разработки приложений, так и редактирование.
Разработанное приложение системы управления базой знаний имеет интуитивно понятный графический интерфейс, позволяющий даже с минимальным знанием компьютера провести автоматизацию учета заказов.
Таким образом, можно сделать вывод, что цели и задачи курсового проекта выполнены в полном объеме.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
- Гаврилова, Т.А. Базы знаний интеллектуальных систем / Т.А. Гаврилова, В.Ф. Хорошевский. – СПб.: БХВ – Санкт-Петербург, 2000. – 384 с.
- Культин, Н.Б. Microsoft Visual C# в задачах и примерах / Н.Б. Культин. - СПб.: БХВ – Санкт-Петербург, 2009. – 320 с.
- Змитрович, А.И. Базы данных и знаний / А.И. Змитрович. – М.: Высшая школа, 1991. – 271 с.
- Харинатх, С. SQL SERVER Analysis Service 2005 и MDX / С. Харинатх, С. Куинн – Диалектика, 2008. – 834 с.
- Бергер, А.Б. SQL Server 2005 Analysis Service. OLAP и многомерный анализ данных / А.Б. Бергер, И.В. Горбач. – СПб.: БХВ-Петербург, 2007. – 928 с.
- Змитрович, А.И. Базы данных и знаний / А.И. Змитрович. – М.: Высшая школа, 1991. – 271 с.
- Михеев, Р.Н. MS SQL Server 2005 для администраторов / Р.Н. Михеев. – СПб.: БХВ – Санкт-Петербург, 2006. – 544 с.
- Селко, Д. Стиль программирования Джо Селко на SQL / Д. Селко. – СПб.: БХВ – Санкт-Петербург, 2006. – 206 с.
- Тихомиров, Ю.В. Microsoft SQL Server 7.0: разработка приложений / Ю.В. Тихомиров. – СПб.: БХВ – Санкт-Петербург, 1999. – 352 с.