Рис.21. Диаграмма Swim Line
Глава 2. Информационная система и ее описание
.1 Информационная модель в нотации IDEF1.X
База данных создается в несколько этапов, на каждом из которых необходимо согласовывать структуру данных что самое важное, подвергать созданную структуру данных экспертизе внутри команды, которая создает систему. Поэтому представление данных должно быть простым и понятным всем заинтересованным лицам. Именно по этой причине, наибольшее распространение получило представление базы данных под названием «сущность-отношение», которое также известно как ER-диаграмма.имеет достаточно простой и интуитивно понятный интерфейс пользователя, дающий возможность аналитику создавать сложные модели при минимальных условиях.диаграммы были приняты в качестве основы для создания стандарта IDEF1X. Предварительный вариант этого стандарта был разработан в военно-воздушных силах США и предназначался для увеличения производительности при разработке компьютерных систем. В 1981г. этот стандарт был формализован и опубликован организацией ICAM, и с тех пор является наиболее распространенным стандартом для создания моделей баз данных по всему миру.
Разработчики с помощью ERwin могут сначала,
используя визуальные средства, описать схему БД, а затем автоматически
сгенерировать файлы данных для выбранной реляционной СУБД. Возможна также
обратная разработка. ERwin позволяет по уже существующим файлам БД
восстанавливать логическую структуру данных. это называется обратным проектированием.
Оно позволяет переносить структуру БД из одной СУБД в другую и исследовать
старые проекты.средство ERwin поддерживает методологию IDEF1X и стандарт IE.
Методология IDEF1X подразделяется на уровни, соответствующие проектируемой
модели данных систем. Каждый такой уровень соответствует определенной фазе
проекта. Такой подход полезен при создании систем «сверху вниз». Три уровня
модели, объединяющие в себе логические модели, состоят из диаграммы
сущность-связь, модели данных, основанной на ключах и полной атрибутивной
модели. Цель модели диаграмма сущность-связь - формирование общего взгляда на
систему для ее дальнейшей детализации.
.1.1 Логическая модель
Логическая модель позволяет понять суть проектируемой системы, отражая логические взаимосвязи между сущностями.
Различают 3 подуровня логического уровня модели данных, отличающиеся по глубине представления информации о данных:
- диаграмма сущность-связь (Entity-Relationship Diagram (ERD);
- модель данных, основанная на ключах (Key Based Model (KB);
- полная атрибутивная модель (Fully Attributed Model (FA).
Верхний уровень состоит из диаграмм сущность - связь и модели данных, основанной на ключах.
Диаграмма сущность-связь является самым высоким уровнем в модели данных и определяет набор сущностей и атрибутов проектируемой системы. Целью этой диаграммы является формирование общего взгляда на систему для её дальнейшей детализации.
Диаграмма сущность-связь представлена на рис.
22.
Рис.22. Диаграмма «Сущность-связь»
Модель данных, основанная на ключах описывает структуру данных системы, в которую включены все сущности и атрибуты, в том числе ключевые. Целью этой модели является детализация модели сущность-связь, после чего модель данных может начать реализовываться.
Модель данных, основанная на ключах представлена
на рис. 23.
Рис.23. Модель данных, основанная на ключах
Нижний уровень состоит из Transformation Model (Трансформационная модель) и Fully Attributed (Полная атрибутивная модель). Трансформационная модель содержит всю информацию для реализации проекта, который может быть частью общей информационной системы и описывает предметную область. Трансформационная модель может проектировать и администрировать БД, представлять какие объекты БД хранятся в словаре данных, и проверить, насколько физическая модель данных удовлетворяет требованиям информационной системы. Фактически из трансформационной модели автоматически можно получить модель СУБД, которая является точным отображением системного каталога СУБД.
Полная атрибутивная модель включает в себя все сущности, атрибуты и является наиболее детальным представлением структуры данных. Полная атрибутивная представляет данные в третьей нормальной форме.
Полная атрибутивная модель данных (или модель
данных в третьей нормальной форме) представлена на рис. 24.
Рис.24. Полная атрибутивная модель
.1.2 Физическая модельиспользуется два уровня физических моделей: трансформационная модель и модель СУБД. Физические модели содержат информацию, необходимую системным разработчикам для понимания механизма реализации логической модели в СУБД.
Модель СУБД напрямую транслируется из трансформационной модели, являясь отображением системного каталога. ERWin напрямую поддерживает эту модель через функцию генерации схемы БД. При составлении схемы БД в качестве индексов могут использоваться как ключевой атрибут, так и остальные поля БД (рис. 25).
Нормализация - процесс проверки и реорганизации сущностей и атрибутов с целью удовлетворения требований к реляционного модели данных. Нормализация позволяет быть уверенным, что каждый атрибут определен для своей сущности, значительно сократить объем памяти для хранения данных.
Для рассмотрения видов нормальных фор введем понятия функциональной и полной функциональных зависимости.
Функциональная зависимость - Атрибут В сущности Е функционально зависит от атрибута А сущности Е, если и только если каждое значение А в Е связало с ним точно одно значение В в Е. другими словами, А однозначно определяет В.
Полная функциональная зависимость - Атрибут Е в сущности В полностью функционально зависит от ряда атрибутов А сущности Е, если и только если В функционально зависит от А и не зависит ни от какого подряда А.
Существуют следующие виды нормальных форм:
Первая нормальная форма (1NF). Сущность Е находится в первой нормальной форме, если и только если все атрибуты содержат только атомарные значения. Среди атрибутов не должно встречаться повторяющихся групп, т.е. нескольких значений для каждого экземпляра.
Вторая нормальная форма. Сущность Е находится во второй нормальной форме, если она находится в первой нормальной форме и каждый неключевой атрибут полностью зависит от первичного ключа, т.е. не существует зависимостей от части ключа.
Третья нормальная форма (3NF). Сущность Е находится в третьей нормальной форме, если она находится во второй нормальной форме и неключевые атрибуты сущности Е зависят от других атрибутов Е.
Физическая модель создается на основе логической путем генерации, то есть подключение и установление связи с соответствующей СУБД. В нашем случае была использована СУБД Visual FoxPro 9.0. Первоначально физическая модель создавалась параллельно с логической, и, как известно, она является трансформационной моделью.
Трансформационная модель представлена на рис.
25.
Рис. 25. Трансформационная модель (логический
уровень)
Далее, в пункте меню Database/Choose Database и
выбрать соответствующую СУБД (рис. 26)
Рис.26. Выбор СУБД для генерации физической
модели
Предварительная физическая модель примет вид
(рис.26)
Рис.27. Трансформационная модель (физический
уровень)
Генерация физической модели
Процесс генерации физической схемы базы данных из модели данных называется прямым проектированием (Forward Engineering). При генерации схемы кроме таблиц и представлений ERwin DM создает триггеры ссылочной целостности, хранимые процедуры, индексы, ограничения и другие объекты, доступные для выбранной СУБД.
Для генерации системного каталога базы данных следует перейти на физический уровень модели и выбрать пункт меню Tools/Forward Engineer/Schema Generation или нажать кнопку на панели инструментов Database Toolbar (команда Forward Engineer в меню Tools доступна лишь на физическом уровне модели). Появляется диалог Forward Engineer Schema Generation, включающий закладки: Options, Summary, Comment (рис. 28).
Рис.28. Диалог
Forward Engineer Schema Generation.
В закладке Options устанавливают опций генерации
объектов базы данных - таблиц, колонок, индексов и т. д. Для задания опций
генерации какого-либо объекта следует выбрать объект в левом списке закладки,
затем включить соответствующую опцию в правом списке. В данном случае для
объекта Table выбираем опцию CREATE TABLE, для Column - Physical Order, для объекта
Index - Create Index/Primary Key (PK) (рис.29,30,31). Объект Referential
Integrity остается неизменным.
Рис.29. Опции для объекта Column.
Рис.30. Опции для объекта Index.
В закладке Summary отображаются все опции, выбранные в закладке Options. Список опций в Summary можно редактировать так же, как и в Options. Закладка Comment позволяет внести комментарий для каждого набора опций.
Каждый набор опций генерации может быть именован и использован многократно. Для загрузки, создания, переименования и удаления собственных наборов опций генерации используют комбинированный список Option Set и кнопки Open, Save, Save As и Delete диалога Forward Engineer Schema Generation.
Кнопка Preview вызывает диалог Schema Generation
Preview (рис. 30), в котором отображается SQL-скрипт, создаваемый ERwin DM для
генерации системного каталога СУБД.
Рис.31. Диалог Schema Generation Preview
Кнопка Generate запускает процесс генерации
схемы. Возникает диалог подключения к базе данных SQL Server Connection (рис.
32), в котором устанавливают параметры подключения. Нажимая на кнопку Connect,
устанавливают сеанс связи с баз данных и инициируют выполнение SQL-скрипта.
Рис.32. Диалог подключения к базе данных
Открывается диалог Generate Database Schema,
отображающий ход процесса генерации (рис. 33). По умолчанию в диалоге включена
опция Stop If Failure. Это означает, что при первой ошибке выполнение скрипта
прекращается. Кнопка Abort прерывает выполнение. При выключенной опции Stop If
Failure скрипт будет выполняться, несмотря на встречающиеся ошибки.
Рис.33. Диалог Generate Database Schema
Кнопка Print
диалога Forward
Engineer
Schema Generation
предназначена для вывода на печать SQL-скрипта,
создаваемого ERwin
DM. Кнопка Report
сохраняет тот же скрипт в текстовом файле с расширением ERS, SQL или DDL. Эти
команды можно в дальнейшем редактировать любым текстовым редактором и выполнять
при помощи соответствующей утилиты сервера.
.2 Создание приложения в СУБД - ориентированной
среде
.2.1 Описание входной информации
Входной информацией служат:
данные о материалах;
данные о статьях затрат;
данные о статьях калькуляции;
данные о единицах измерения
Данные о материалах содержится информация: код материала, наименование материала, цена, себестоимость, единица продукции.
Данные о статьях затрат содержится информация: код затрат, виды затрат, стоимость затрат.
Данные о статьях калькуляции содержится информация: номер статьи, наименование статьи, стоимость статьи.
Данные о единицах измерения содержится информация:
код единицы, вид единицы.
.2.2 Описание результатной информации
Выходной информацией является Отчет о
материалах, Отчет о статьях затрат, Отчет о статьях калькуляции. С помощью
отчетов легко оценить затраты и цены предприятия, их покупательскую способность,
выявить, принять соответствующие меры. Имея информацию такого объема, можно
осуществлять планирование деятельности компании. В MS Visual FoxPro отчеты
представляют данные в виде, пригодном для вывода на печать. Данные в отчеты
подставляются напрямую из таблиц или из результатов выполнения запросов.
Например, можно создать отчет в форме стандартного бланка организации, в
определенные поля которого подставляются соответствующие данные. Данные для
отчетов предоставляются из таблиц статьи затрат, статьи калькуляции, Материалы.
.2.3 Макеты отображения результатов
При создании приложения используется проект, который объединяет элементы приложения Visual FoxPro и группирует их по типам. Информация о проекте хранится в специальной таблице, которая, в отличие от обычных таблиц Visual FoxPro, имеет расширение PJX.
Использование проекта упрощает разработку приложения, так как в проекте базы данных, программы, формы, отчеты, запросы и другие элементы приложения располагаются в соответствующих разделах, а также запоминается расположение каждого включенного в проект элемента.
Создав проект и определив входящие в него элементы, вы можете использовать его для сборки приложения, построив файл с расширением АРР, или для создания исполняемого файла с расширением ЕХЕ. При построении приложения из проекта осуществляется поиск и сборка файлов, на которые ссылаются элементы приложения, отслеживаются версии файлов, входящих в проект.
Создание проекта приложения
При разработке нового приложения, необходимо создать проект приложения. В дальнейшем надо добавлять в него созданные элементы приложения. Для создания нового проекта используем команду New (Новый) из меню File (Файл).
При выполнении команды New (Новый) на экране
открывается соответствующее диалоговое окно с перечислением всех типов
элементов приложения, которые возможны в Visual FoxPro (рис. 34). По умолчанию
установлена опция Project (Проект).
Рис. 34. Диалоговое окно New, в котором можно
указать тип создаваемого файла
Для создания нового проекта необходимо выполнить следующие действия:
Нажмите кнопку New file (Новый файл), и вводим Enter project file (Введите имя проекта) диалогового окна Create (Создать) задайте имя создаваемого проекта.
Для занесения в проект экспортированные таблицы
нужно перейти на вкладку Data/Free Tables и в правой части окна нажать кнопку
Add (рис.35).
Рис.35. Вкладка
Data окна
Project Manager
После нажатия появится диалоговое окно
добавления таблиц в проект (рис.36).
Рис.36. Диалоговое окно выбора таблиц
Для просмотра таблиц на вкладке Data/Free Tables выделяем нужную таблицу и нажимаем кнопку Browse. Таблицы статьи затрат, статьи калькулирования, единицы измерения,материалы.
Создание главной формы и меню
Приложение запускается с главной формы
form1.scx, в котором содержится меню (menu.mpr). Для создания главной формы
нужно перейти на вкладку Documents окна Project Manager, выбрать Forms/New/New
Form. Результаты сделанных форм представлены на рис 36-40
Рис.36. Форма материалы
Рис.37. Статьи калькулирования
Рис.38. Форма статьи затрат