Автоматизированная система проведения маркетинговых исследований в Белгородском филиале МЭСИ
SQL Server 2005 позволяет анализировать собираемые реляционные и OLAP данные, включая входные потоки и историю обращений, чтобы понять тренды и сформировать прогнозы, выполняет анализ больших объемов данных (10М+ записей), за счет связанного хранения. При этом продукт оставляет сервер доступным для других задач при обновлении индексов, поддерживает быстрое архивирование с небольшими затратами системных ресурсов, архивируя только измененные элементы, позволяет перемещать и копировать базы данных и объекты между серверами, используя специальные мастера.
Отладчик T-SQL позволяет отлаживать сохраненные процедуры, устанавливает точки останова, определяет точки контроля, просматривает значения переменных, позволяет пошаговое выполнение кода, отслеживает исполняемый код на сервере и клиентах, создает шаблоны.
Встроенный MDX конструктор, поддержка сетей SAN, обработка OLAP, алгоритмы самонастройки и управления, поддержка функций создаваемых пользователем, интеграция с Active Directory - все это увеличивает возможности и области применения SQL Server 2005.
Полнотекстовый поиск через Web или интрасеть для форматированных документов (Word, Excel, HTML).
Поддержка резервных серверов - MS SQL 2005 использует активную и пассивную модель отказоустойчивости с резервным оборудованием.
Запросы на английском языке.
Сервисы анализа и безопасности. MS SQL 2005 закрывает данные, используя системы безопасности для массивов и ячеек, и ограничивает доступ к специальным наборам ячеек.
Сервисы преобразования данных. MS SQL 2005 импортирует и экспортирует данные и ключи между поддерживаемыми базами данных, программирует многофазную подкачку данных и сохраняет пакеты DTS как код Visual Basic.
Безопасность. MS SQL 2005 включает поддержку SSL соединений, имеет сертификат безопасности С2. При установке по умолчанию устанавливается высокий уровень защиты. В мае 2005 года Microsoft SQL Server 2000 Enterprise Edition получила сертификат Федеральной службой по техническому и экспортному контролю о соответствии оценочному уровню доверия ОУД 1 (усиленному) при работе под управлением Microsoft Windows Server 2003 Enterprise Edition, в соответствии с руководящим документом «Безопасность информационных технологий. Критерии оценки безопасности информационных технологий» (Гостехкомиссия России, 2002г.). Сертификат подтверждает, что Microsoft SQL 2000 Enterprise Edition может использоваться для построения автоматизированных систем до класса защищенности 1Г включительно.
Соединение OLAP кубов на различных серверах для анализа производительности. Поддерживается безопасный доступ к данным куба через Internet.
Параллельное DBCC - быстро и эффективно проверяет данные в базах данных с поддержкой многопроцессорной работы.
3. Планирование
3.1 Общие сведения этапа планирования
Информации, собранной командой на этапе создания общей картины решения, обычно достаточно для начала работы над проектом. На этой стадии создается базовый документ общей картины и области действия решения. Ближе к концу этапа создания общей картины команда переходит к планированию модели процессов MSF. На этом этапе необходимо убедиться, что решаемая бизнес-проблема понимается полностью и команда в состоянии спроектировать адекватное решение. Кроме того, следует спланировать порядок разработки решения и оценить, достаточно ли для этого ресурсов.
На этапе планирования создается набор моделей и документов с перечнем требований -- функциональная спецификация, или черновой план решения. Работа над ним начинается на этапе планирования.
На этапе планирования команда проекта продолжает работу, начатую на этапе создания общей картины решения, а именно: работает над предварительными требованиями, задачами, их последовательностью и профилями пользователей.
В результате должна быть выработана архитектура и дизайн решения, планы по его разработке и развертыванию и календарные графики выполнения задач и загрузки ресурсов. На этом этапе команда составляет как можно более четкую и ясную картину решения. Процесс планирования должен двигать проект вперед, однако многие команды на нем спотыкаются, слишком много времени уделяя планированию. Ключ к успеху -- уловить тот момент, когда информации уже достаточно для дальнейшего движения вперед. При недостатке информации рискованно переходить к следующему этапу, с другой же стороны, избыток информации может стать причиной стагнации проекта
На этапе планирования разрабатываются три вида дизайна: концептуальный, логический и физический, причем эти процессы выполняются не параллельно. Они имеют «плавающие» начало и конец и зависят друг от друга.
Логический дизайн строится на основе концептуального, а физический -- по результатам логического. Любые изменения концептуального дизайна отражаются на логическом дизайне и, в свою очередь, приводят к модификации физического дизайна.
3.2 Концептуальное проектирование
Концептуальный дизайн -- это процесс сбора, анализа и определения приоритетов особенностей бизнеса и точек зрения пользователей на проблему и будущее решение, с последующим созданием высокоуровневого представления решения.
Во время сбора информации собираются предварительные требования. Очень важно, чтобы команда понимала разницу между различными категориями требований: пользовательскими, системными, процедурными и бизнес-требованиями.
Предварительные требования обычно формулируют на основе начальных интервью и другой информации, собранной на тот момент. По мере углубления понимания проблемы бизнеса предварительные требования расширяют и уточняют.
3.2.1 Описание модели бизнес процессов AS-IS
В настоящее время процесс сбора и обработки маркетинговых исследований методом анкетирования происходит следующим образом.
Рис. 3.1. Общий план анкетирования
Планирование проведения анкетирования:
На основании плана-графика предоставления маркетинговой отчетности составляется внутренний график проведения маркетинговых исследований. На данном этапе производится сбор всей необходимой информации для проведения анкетирования и составления анкет, который включает в себя формирование списка групп, в которых будет проводиться анкетирование, составление графика проведения анкетирования в соответствии с расписанием учебного процесса.
Рис. 3.2. Планирование проведения анкетирования
Создание анкеты
Назначается лицо, ответственное за создание анкеты, которое на основании шаблона формирует анкету, разрабатывает вопросы анкеты, а также перечень необходимых ответов. В дальнейшем сформированная форма анкеты тиражируется для дальнейшего распространения.
Рис. 3.2. Создание анкеты
Проведение анкетирования
Назначаются лица, ответственные за проведение анкетирования. Ими производится распространение анкет среди опрашиваемого контингента, а также объяснение по заполнению анкеты. Ими же производится сбор заполненных анкет.
Рис. 3.3. Проведение анкетирования
Обработка данных
Назначаются ответственные лица, которые просматривают собранные анкеты, анализируют их, и на основании проведенного анализа получают результаты. Анализ собранных данных осуществляется с использованием Microsoft Excel. На основании собранных данных формируются отчеты маркетингового исследования, которые оформляются в соответствии с шаблоном.
Рис. 3.4. Обработка данных
Чтобы создать точный и пригодный к использованию концептуальный дизайн решения, необходим эффективный метод для представления и обсуждения решения с пользователями. Для этого создаются модели задач проекта. Один из способов моделирования таких задач и их последовательностей -- построение вариантов использования системы.
3.2.2. Построение диаграммы вариантов использования
Вариант использования(Use case) специфицирует поведение системы или ее части и представляет собой описание множества последовательностей действий, выполняемых системой для того, чтобы актер мог получить определенный результат.
С помощью вариантов использования можно описать поведение разрабатываемой системы, не определяя ее реализацию. Таким образом, они позволяют достичь взаимопонимания между разработчиками, экспертами и конечными пользователями продукта. Кроме того, варианты использования помогают проверить архитектуру системы в процессе ее разработки. Реализуются они кооперациями.
Хорошо структурированные варианты использования описывают только существенное поведение системы или подсистемы и не являются ни слишком общими, ни слишком специфическими.
Важнейшая особенность разработки вариантов использования состоит в том, что вы не специфицируете, как они будут реализованы. Варианты использования специфицируют желаемое поведение, но ничего не говорят о том, как его достичь. И, что очень важно, это позволяет вам как эксперту или конечному пользователю общаться с разработчиками, конструирующими систему в соответствии с требованиями, не углубляясь в детали реализации.
В UML поведение моделируется с помощью прецедентов, специфируемых в отрыве от реализации. Прецедент - это описание множества последовательностей действий (включая их варианты), которые выполняются системой для того, чтобы актер получил результат, имеющий для него определенное значение. Это определение включает в себя несколько важных пунктов.
Прецедент описывает множество последовательностей, каждая из которых представляет взаимодействие сущностей, находящихся вне системы (ее актеров), с системой как таковой и ее ключевыми абстракциями. Такие взаимодействия являются в действительности функциями уровня системы, которыми вы пользуетесь для визуализации, специфицирования, конструирования и документирования ее желаемого поведения на этапах сбора и анализа требований. Прецедент представляет функциональные требования к системе в целом.
Прецеденты предполагают взаимодействие актеров и системы. Актер представляет собой логически связанное множество ролей, которые играют пользователи прецедентов во время взаимодействия с ними. Актерами могут быть как люди, так и автоматизированные системы.
Развитие прецедентов может осуществляться по-разному. В любой хорошо продуманной системе существуют прецеденты, которые либо являются специализированными версиями других, более общих, либо входят в состав прочих прецедентов, либо расширяют их поведение. Общее поведение множества прецедентов, допускающее повторное применение, можно выделить, организуя их в соответствии с тремя описанными видами отношений.
Всякий прецедент должен выполнять некоторый объем работы. С точки зрения данного актера, прецедент делает нечто представляющее для него определенную ценность, например, вычисляет результат, создает новый объект или изменяет состояние другого объекта.
Прецеденты могут быть применены ко всей системе или к ее части, в том числе к подсистемам или даже к отдельным классам и интерфейсам. В любом случае прецеденты не только представляют желаемое поведение этих элементов, но могут быть использованы как основа для их тестирования на различных этапах разработки.
На следующей диаграмме описывается процесс создания анкеты:
Рис. 3.5. Диаграмма вариантов использования Создать анкеты
Рис. 3.7. Диаграмма вариантов использования Опубликовать анкеты
Рис. 3.8. Диаграмма вариантов использования Создать отчеты
Из данных диаграмм становится ясным тот функциональный набор, который потребуется реализовать.
3.3 Логическое проектирование
В процессе концептуального дизайна решение описывается с точки зрения бизнеса и пользователей. Далее следует продумать решение с точки зрения проектной команды. Именно это и выполняется на стадии логического дизайна.
На этапе анализа в процессе создания логического дизайна, команда разделяет проблему, и ее решение на более мелкие части, или модули.
3.3.1 Создание модулей и сервисов
Модульная декомпозиция
· Модуль “Создание анкет”
· Модуль “Опубликование анкет”
· Модуль “Анкетирование”
· Модуль “Создание отчетов”
· Модуль “Просмотр отчетов”
В модуле “Создание анкет” реализованы следующие функции:
· Создание анкет-- при создании новой анкеты указывается название анкеты и ее заголовок, а также указываются дополнительные параметры, например, вводный текст.
· Редактирование существующих анкет -- существует возможность редактирования всех тех параметров, которые указываются при создании анкеты.
· Удаление анкет.
· Добавление вопросов в анкету -- при добавлении новых вопросов из списка типов выбирается нужный тип вопроса. Типы вопросов зависят от формы ответа. Например, может быть вопрос, подразумевающий выбор одного варианта из нескольких, вопрос, подразумевающий ввод строки ответа и т. д. В зависимости от выбранного типа вопроса задаются различные параметры вопроса, например, список ответов.
· Редактирование вопросов -- при редактировании вопросов существует возможность изменения типа вопроса, а также всех необходимых параметров.
· Просмотр анкеты -- на любой этапе создания анкеты можно просмотреть получающуюся анкету.
Модуль “Опубликование анкет” позволяет размещать на странице сайта различные анкеты, задавать интервалы проведения анкетирования.
Модуль “Анкетирование” позволяет пользователям проходить различные виды анкетирования.
Модуль “Создание отчетов” позволяет формировать различные шаблоны для формирования отчетов, а также их дальнейшее редактирования и удаление.
Модуль “Просмотр отчетов” позволяет проанализировать введенные данные и просмотреть отчеты на основании созданных шаблонов
3.3.2 Логическая модель данных
Для представления логического дизайна используют логическую модель объектов или данных. Однако проектная команда иногда создает обе модели, представляя логический проект с разных сторон. Это необходимо, когда одна из моделей представляет какую-либо часть проекта особо четко.
Логический дизайн -- это промежуточный этап между концептуальным и физическим дизайном. Создавая модель данных, происходит преобразование концептуальных требований к данным (они определяются при концептуальном дизайне) в реальные объекты-сущности и отношения, отображающие реальное взаимодействие данных. Полученная информация помогает в дальнейшем моделировать физический дизайн.
При переходе к логической стадии дизайна данных одна из первоочередных задач заключается в формулировке сущностей на основании требований к данным и другой связанной информации. Сущностью (entity) обычно считают человека, место, элемент или понятие, которое определяет данные или о котором данные собираются и хранятся. Атрибут -- это характеристика, представляющая собой дополнительное определение и описание свойств экземпляра сущности. У сущности обычно несколько атрибутов.
После определения сущностей следует определить необходимые атрибуты -- они описывают сущности решения.
При реализации физического дизайна атрибуты обычно превращаются в столбцы таблиц базы данных.
Логическая модель данных представляется в виде диаграмм “сущность-связь” (ERD), предназначены для разработки моделей данных и обеспечивают стандартный способ определения данных и отношений между ними. Фактически с помощью ERD осуществляется детализация хранилищ данных проектируемой системы, а также документируются сущности системы и способы их взаимодействия, включая идентификацию объектов, важных для предметной области (сущностей), свойств этих объектов (атрибутов) и их отношений с другими объектами (связей).
Данная нотация была введена Ченом (Chen) и получила дальнейшее развитие в работах Баркера (Barker). Нотация Чена предоставляет богатый набор средств моделирования данных, включая собственно ERD, а также диаграммы атрибутов и диаграммы декомпозиции. Эти диаграммные техники используются прежде всего для проектирования реляционных баз данных (хотя также могут с успехом применяться и для моделирования как иерархических, так и сетевых баз данных).
Сущность представляет собой множество экземпляров реальных или абстрактных объектов (людей, событий, состояний, идей, предметов и т.п.), обладающих общими атрибутами или характеристиками. Любой объект системы может быть представлен только одной сущностью, которая должна быть уникально идентифицирована. При этом имя сущности должно отражать тип или класс объекта, а не его конкретный экземпляр.
Отношение в самом общем виде представляет собой связь между двумя и более сущностями. Именование отношения осуществляется с помощью грамматического оборота глагола (имеет, определяет, может владеть и т.п.).
Другими словами, сущности представляют собой базовые типы информации, хранимой в базе данных, а отношения показывают, как эти типы данных взаимоувязаны друг с другом. Введение подобных отношений преследует две основополагающие цели:
· обеспечение хранения информации в единственном месте (даже если она используется в различных комбинациях);
· использование этой информации различными приложениями.
Для идентификации требований, в соответствии с которыми сущности вовлекаются в отношения, используются связи. Каждая связь соединяет сущность и отношение и может быть направлена только от отношения к сущности.
Пара значений связей, принадлежащих одному и тому же отношению, определяет тип этого отношения. Практика показала, что для большинства приложений достаточно использовать следующие типы отношений:
1. 1*1 (один-к-одному). Отношения данного типа используются, как правило, на верхних уровнях иерархии модели данных, а на нижних уровнях встречаются сравнительно редко.
2. 1*n (один-к-многим). Отношения данного типа являются наиболее часто используемыми.
3. n*m (многие-к-многим). Отношения данного типа обычно используются на ранних этапах проектирования с целью прояснения ситуации. В дальнейшем каждое из таких отношений должно быть преобразовано в комбинацию отношений типов 1 и 2 (возможно, с добавлением вспомогательных сущностей и с введением новых отношений).
В результате исследования use case были выделены следующие сущности:
1. Анкета
2. Вопрос
3. Ответ
4. Опрос
5. Пользователь
6. Роли
7. Результаты
Анкета содержит список всех вопросов и, в то же время один и тот же вопрос может быть использована в разных анкетах. Поэтому сущности Анкета и Вопрос состоят в отношениях «многие ко многим»
Вопрос - один из пунктов анкеты, формулирует некоторую проблему, отношение к которой должен выразить опрашиваемый человек. За каждым вопросом закрепляется фиксированный список вопросов, поэтому сущности Вопрос и Ответы находятся в отношении «один ко многим».
Одна и та же анкета может быть использована в разных опросах, то есть использоваться огромное количество раз в различные периоды времени, в то время как текущий опрос проходит только по одной анкете. Поэтому сущности Анкета и Опрос состоят в отношении «один ко многим»
Анкетирование может проходить произвольное количество пользователей, однако пользователь может участвовать только в одном опросе. Поэтому сущности Пользователь и Опрос находятся в отношении «один ко многим».
Один пользователь может иметь несколько ролей, с другой стороны одна и та же роль может принадлежать различным пользователям. Поэтому сущности Пользователь и Роли находятся в отношении «один ко многим».
Пользователь может быть автором нескольких анкет, однако анкета может принадлежать только одному автору. Поэтому сущности Пользователь и Анкета находятся в отношении «один ко многим».
В результате анкетирования пользователь выбирает определенный вариант ответа на поставленный вопрос, в результате чего формируются результаты ответов, которые могут принадлежать только данному опросу, с другой стороны опрос содержит некоторое количество результатов ответов. Поэтому сущности Опрос и Результаты находятся в отношении «один ко многим».
Итак, получаем следующие отношения сущностей:
«Анкета» : «Вопрос» = «многие ко многим»
«Вопрос» : «Ответ» = «один ко многим»
«Анкета» : «Опрос» = «один ко многим»
«Пользователь» : «Опрос» = «один ко многим»
«Пользователь» : «Роли» = «многие ко многим»
«Опрос» : «Результаты» = «один ко многим»
Логическая модель данных представлена на рисунке
Рис. 3.9 Диаграмма сущность-связь
3.4 Физическое проектирование
3.4.1 Построение диаграммы классов
Физический дизайн -- последний шаг этапа планирования в модели процессов MSF. Проектная команда переходит к нему после того, как все ее члены подтвердят, что на этапе логического дизайна получено достаточно информации, На этапе физического дизайна на концептуальный и логический дизайн налагаются технологические ограничения. Поскольку физический дизайн «вырастает» из этих двух типов дизайна, его успех сильно зависит от тщательности их проработки, кроме того, этот факт гарантирует, что физический дизайн удовлетворяет требования бизнеса и пользователей.
На этапе планирования проектная команда основное внимание уделяет анализу требований и созданию удовлетворяющего им дизайна решения. Таким образом, помимо определения функций будущего продукта проектная команда анализирует требования к данным и определяет, как их следует структурировать, как они будут храниться и проверяться и как обеспечить к ним доступ.
Изучение и анализ требований к данным начинается на этапе концептуального дизайна. Требования позволяют определить, что именно должно хранить и обрабатывать бизнес-решение. В процессе логического дизайна проектная команда выявляет набор сущностей данных на основании логической модели объектов, сценариев использования и таких артефактов данных, как схема, триггеры, ограничения и топология существующего хранилища данных. В процессе физического дизайна команда создает схему данных, определяя таблицы, связи, типы данных для полей и индексы и завершает работу над сервисами данных.
Кроме того, планируются мероприятия по переносу данных, резервному копированию и восстановлению данных, а также обеспечению отказоустойчивости.
Центральное место в ООАП занимает разработка модели системы в виде диаграммы классов. Нотация классов в языке UML проста и интуитивно понятна всем, кто когда-либо имел опыт работы с CASE-инструментариями. Схожая нотация применяется и для объектов - экземпляров класса, с тем различием, что к имени класса добавляется имя объекта и вся надпись подчеркивается.
Нотация UML предоставляет широкие возможности для отображения дополнительной информации (абстрактные операции и классы, стереотипы, общие и частные методы, детализированные интерфейсы, параметризованные классы). При этом возможно использование графических изображений для ассоциаций и их специфических свойств, таких как отношение агрегации, когда составными частями класса могут выступать другие классы.
Диаграмма классов (class diagram) служит для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования. Диаграмма классов может отражать, в частности, различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а также описывает их внутреннюю структуру и типы отношений. На данной диаграмме не указывается информация о временных аспектах функционирования системы. С этой точки зрения диаграмма классов является дальнейшим развитием концептуальной модели проектируемой системы.
Диаграмма классов представляет собой некоторый граф, вершинами которого являются элементы типа "классификатор", которые связаны различными типами структурных отношений. Следует заметить, что диаграмма классов может также содержать интерфейсы, пакеты, отношения и даже отдельные экземпляры, такие как объекты и связи. Когда говорят о данной диаграмме, имеют в виду статическую структурную модель проектируемой системы. Поэтому диаграмму классов принято считать графическим представленном таких структурных взаимосвязей логической модели системы, которые не зависят или инвариантны от времени.
Диаграмма классов состоит из множества элементов, которые в совокупности отражают декларативные знания о предметной области. Эти знания интерпретируются в базовых понятиях языка UML, таких как классы, интерфейсы и отношения между ними и их составляющими компонентами. При этом отдельные компоненты этой диаграммы могут образовывать пакеты для представления более общей модели системы. Если диаграмма классов является частью некоторого пакета, то ее компоненты должны соответствовать элементам этого пакета, включая возможные ссылки на элементы из других пакетов.
На следующем рисунке показана диаграмма клас сов
Рис. 3.10. Диаграмма классов
3.4.2. Модель пользовательского интерфейса
При проектировании приложения важно выбрать наиболее подходящую модель пользовательского интерфейса, так как это влияет на процесс развертывания, способы взаимодействия пользователей с данными, пути поддержки текущего состояния на протяжении диалога приложения и пользователя. К наиболее распространенным моделям и технологиям реализации пользовательского интерфейса относятся:
* стандартный пользовательский интерфейс Windows;
* Web-интерфейс;
Стандартный интерфейс Windows
Стандартный интерфейс Windows применяется, когда необходимо обеспечить работу пользователей в автономном режиме и когда необходима богатая функциональность системы. Он также позволяет эффективно управлять состоянием и обеспечивает постоянство (persistence) данных, а также все преимущества локальной обработки данных.
Web-интерфейс
В Microsoft .NET пользовательский Web-интерфейс разрабатывается средствами ASP.NET. Эта технология предоставляет богатую функциями среду, позволяющую создавать сложные Web-интерфейсы. Вот лишь некоторые из возможностей ASP.NET:
* унифицированная среда разработки;
* привязка данных к пользовательскому интерфейсу;
* интерфейс на основе компонентов с элементами управления;
* встроенная модель безопасности каркаса .NET;
* широкие возможности по поддержке кэширования и управления состоянием;
* доступность, производительность и масштабируемость Web-обработки данных)
Предполагается что система будет использовать Web-интерфейс
После выбора дизайна пользовательского интерфейса переходят к созданию прототипа пользовательского интерфейса, взяв за основу данные интервью, документы с требованиями, варианты использования системы, созданные на этапе планирования.
3.4.3 Создание физической модели данных
База данных (БД) -- это особым образом организованный набор значений данных, а схема БД определяет, как именно организованы данные в БД. В процессе физического дизайна члены проектной команды создают схему БД, чтобы определить, что именно нужно создавать, о том же, какими инструментами это будет реализовываться, следует думать позже.
В процессе логического дизайна команда описывает сущности и атрибуты, которые будут храниться в БД, и то, как пользователи будут получать к ним доступ, оперировать ими и просматривать их. В процессе физического дизайна команда создает схему базы данных, которая представляет собой спецификацию по созданию, чтению, изменению и удалению используемых в продукте данных.
В начале разработки схемы БД она сильно связана с логической моделью объектов. Схема определяет главные объекты-сущности, необходимые для будущего решения, их атрибуты и связи между этими сущностями. В большинстве методов моделирования данных сущность определяется как абстрактное представление объекта реального мира. Как правило, объекты базы данных моделируются в диаграммах «сущность-связь». Логический дизайн базы данных был рассмотрен на стадии логического проектирования.
Типы физических моделей данных
Помимо определения логического дизайна базы данных необходимо выбрать технологию физического хранении данных. Физическая модель данных системы управления базами данных (СУБД) определяет внутреннюю структуру, которая применяется в СУБД для управления данными. В этой структуре отражены типы таблиц базы данных, которые разрешается создавать, а также скорость доступа и универсальность базы данных. Далее перечислены наиболее распространенные типы физических моделей данных.
* БД на плоских файлах, или неструктурированные БД. В такой базе данных все данные располагаются в одном файле в виде набора строк и столбцов. В этой архитектуре отсутствует связь между различными плоскими файлами, поскольку ни одна из этих БД ничего не знает об остальных. Она поддерживает быстрое обновление и чтение данных за счет метода индексирования ISAM (indexed sequential access method -- индексно- последовательны и метод доступа). Технология ISAM применяется в унаследованных мэйнфреймовых БД и небольших базах данных, располагающихся на ПК.
* Иерархические БД способны хранить самую разнообразную информацию в самом различном формате. Их отличает расширяемость и гибкость, поэтому подобные БД используются, когда требования по хранению информации могут сильно отличатся или изменяться. Пример иерархической базы данных -- сервер Microsoft Exchange, способный хранить самые различные типы информации в формате, который удовлетворяет требованиям приложений обмена сообщениями и поддержки совместной работы. Эти требования заключаются в возможности инкапсуляции в сообщениях самой разнородной информации.
* Реляционные БД. Здесь данные хранятся в наборе таблиц и столбцов. Реляционные базы данных сочетают преимущества плоских файлов и иерархических баз данных, обеспечивая хорошую производительность и гибкость в хранении данных. Благодаря возможности определять связи между таблицами на основании уникальных значений, реляционные базы данных -- одни из самых популярных. Однако важно понимать, что другие модели также применяются и что разработчикам систем масштаба предприятия иногда приходится работать с несколькими типами баз данных одновременно. В реляционной модели основное внимание уделяется хранению, выборке и обеспечению целостности данных. Структурированный язык запросов SQL (Structured Query Language) позволяет эффективно извлекать связанные элементы данных вне зависимости от того, в одной или нескольких таблицах они хранятся. Целостность данных обеспечивается механизмом правил (rules) и ограничений (constraints).
В Белгородском филиале МЭСИ в настоящее время для хранения дынных применяется Microsoft SQL Server 2000. Поэтому для системы было выбрано предпочтение реляционной базе данных. Физическая модель отражает целевую среду реализации.
В процессе логического дизайна были проанализированы варианты использования системы для определения объектов-сущностей и атрибутов. Сущности и атрибуты формируют базис логического дизайна и используются в процессе физического дизайна для моделирования физического дизайна будущего продукта. Логический дизайн позволяет гарантировать, что дизайн данных решения корректно отражает концептуальные требования. Однако реальная инфраструктура хранения данных оптимизируется для среды, в которой предполагается реализовать физическую модель данных.
Результаты логического дизайна в процессе физического дизайна используются для создания компонентов, спецификаций пользовательского интерфейса и физического дизайна БД. Полученные в процессе логического дизайна объекты-сущности, атрибуты и ограничения преобразуются в таблицы, поля, связи и ограничения базы данных, которая таким образом становится физической реализацией логической модели.
Определение таблиц
Таблицы являются физическим представлением объекте в-сущностей в реляционной базе данных. Они способны хранить самые разные данные -- имена, адреса, изображения, аудио и видео файлы, документы Microsoft Word и т.п. Благодаря своей гибкости базы данных применяются для хранения не только простых текстовых данных, но и корпоративной базы знаний предприятия, независимо от формы этих знаний. База данных представляет связи между различными элементами данных.
Данные в таблице хранятся в виде строк, или записей, каждая из которых должна быть уникальной.
Традиционный формат взаимодействия с реляционными данными -- ANSI строки, а язык -- SQL. Этот язык, напоминает английский и представляет операции, выполняемые с базой данных, в виде понятных человеку выражений, таких, как Insert (вставка), Update (обновление) и Delete (удаление). Большинство баз данных удовлетворяют ANSI-стандарту SQL, хотя его версии и расширения в разных системах отличаются.
Определение столбцов
Данные в каждой таблице хранятся в столбцах (колонках), или полях, которые определяются на основании атрибутов объекта-сущности, представленной и виде таблицы. Каждое поле содержит различные элементы данных, например имя пользователя.
В ходе анализа диаграммы сущность-связь были определены следующие таблицы:
1. Users.
2. UserRoles
3. Roles
4. Form
5. Common
6. Question
7. Answer
8. Survey
9. Results
Таблица Users содержит описание пользователей.
Таблица № 3.1
Поле таблицы
|
Тип данных
|
Описание
|
|
UserID
|
INTEGER
|
Уникальный идентификатор пользователя
|
|
Login:
|
VARCHAR(20)
|
Логин пользователя
|
|
Password
|
VARCHAR(100)
|
Пароль пользователя
|
|
LastName
|
VARCHAR(100)
|
Фамилия
|
|
Email
|
VARCHAR(100)
|
Электронная почта
|
|
FirstName
|
VARCHAR(100)
|
Имя пользователя
|
|
|
Таблица Roles содержит описание ролей пользователя
Таблица № 3.2
Поле таблицы
|
Тип данных
|
Описание
|
|
RoleID
|
INTEGER
|
Уникальный идентификатор
|
|
RoleName
|
VARCHAR(100)
|
Название роли
|
|
Description
|
VARCHAR(100)
|
Описание роли
|
|
|
Сущности Пользователь и Роли состоят в отношениях один ко многим, поэтому в результате нормализации была выделена таблица UserRoles, в которой определенному пользователю соответствует определенная роль.
Таблица №3.3
Поле таблицы
|
Тип данных
|
Описание
|
|
UserRoleID
|
INTEGER
|
Уникальный идентификатор
|
|
UserID
|
VARCHAR(100)
|
Идентификатор пользователя
|
|
RoleID
|
VARCHAR(100)
|
Идентификатор роли
|
|
|
Таблица Form содержит необходимую информацию об анкете
Таблица № 3.4
Поле таблицы
|
Тип данных
|
Описание
|
|
FormID
|
INTEGER
|
Уникальный идентификатор пользователя
|
|
FormName
|
VARCHAR(250)
|
Название анкеты
|
|
CreatedDate
|
DATETIME
|
Дата создания
|
|
Author
|
VARCHAR(100)
|
Идентификатор пользователя (автора)
|
|
|
Страницы: 1, 2, 3
|