рефераты бесплатно
 

МЕНЮ


Система управления базой данных объектов гражданской обороны для принятия решений в чрезвычайной ситуации (Диплом)

|SERVIS |Таблица-словарь служб | | |

|SERVIS _ID |NUMBER |NOT NULL |7 |

|SERVIS _CHAR |VARCHAR2 |NULL |50 |

| | | | |

|STUDY |Таблица обучаемых на УМЦ | | |

|STUDY_ID |NUMBER |NOT NULL |9 |

|OBJECT_ID |NUMBER |NOT NULL |9 |

|CATEGORY_ID |NUMBER |NOT NULL |7 |

|NAME |VARCHAR2 |NULL |50 |

|SPOST_ID |NUMBER |NOT NULL |7 |

|WORKTEL |CHAR |NULL |7 |

|LASTDATE |DATE |NULL |- |

|NEXTDATE |DATE |NULL |- |

|NAMEADD_ID |NUMBER |NOT NULL |7 |

|DATEADD |DATE |NOT NULL |- |

|NAMEINS_ID |NUMBER |NOT NULL |7 |

|DATEINS |DATE |NOT NULL |- |

|PRIM |VARCHAR2 |NULL |200|

| | | | |

|SPOST |Таблица-словарь должностей обучаемых |

|SPOST _ID |NUMBER |NOT NULL |7 |

|SPOST _CHAR |VARCHAR2 |NULL |50 |

| | | | |

|CATEGORY |Таблица-словарь категорий обучаемых |

|CATEGORY_ID |NUMBER |NOT NULL |7 |

|CATEGORY_CHAR |VARCHAR2 |NULL |50 |

|CATEGORY_TYPE |NUMBER |NULL |1 |

| | | | |

|CATTEMA |Таблица категорированых | | |

| |тем | | |

|TEMA_ID |NUMBER |NOT NULL |7 |

|CATEGORY_ID |NUMBER |NOT NULL |7 |

|CATTEMANUM |NUMBER |NULL |9 |

|PRIM |VARCHAR2 |NULL |100|

| | | | |

|TEMA |Таблица-словарь тем | | |

| |обучения | | |

|TEMA_ID |NUMBER |NOT NULL |7 |

|TEMA_CHAR |VARCHAR2 |NULL |50 |

| | | | |

|GOBASEUSER |Таблица пользователей программы |

|GOBASEUSER_ID |NUMBER |NOT NULL |7 |

|NAME |VARCHAR2 |NULL |50 |

| | | | |

|ORAUSER |Таблица соответствия идентификаторов |

| |пользователей программы и базы данных |

| |Oracle |

|ORAUSER_ID |INTEGER |NOT NULL | |

|GOBASEUSER_ID |NUMBER |NOT NULL |7 |

NOT NULL - должно иметь значение

[pic] Рисунок 7.2. Диаграмма потоков данных (взаимосвязь таблиц)

7.6. Создание SQL сценария

После того как таблицы созданы и определена их связь необходимо

составить SQL сценарий для создания базы данных.

7.6.1. Создание базы данных

Перед созданием базы данных ее необходимо спроектировать. Этап

проектирования базы данных включает в себя планирование ограничений файлов

и включение файлов а новую базу данных. Этап создания состоит в выполнении

этого плана с помощью команды SQL CREATE DATABASE и некоторых сценариев.

Основные задачи включают в себя следующее:

. Определение соответствующих значений в команде CREATE DATABASE. для

параметров ограничений файлов.

. Планирование размера и расположения файлов начальных данных табличной

области SYSTEM новой базы данных.

. Планирование для новой базы данных размера и расположения групп и членов

журнала транзакций.

. Определение набора символов для хранения информации базы данных.

. Создание файла параметров инициализации и спецификации имен управляющих

файлов базы данных.

Сценарий с файлами инициализации базы данных приведены в ПРИЛОЖЕНИИ 3.

7.6.2. Создание таблиц

Таблицы создаются с помощью оператора SQL CREATE TABLE.

Фрагмент из ПРИЛОЖЕНИЯ 4:

CREATE TABLE ACTIVITY

(

ACTIVITY_ID NUMBER(7) NOT NULL,

ACTIVITY_CHAR VARCHAR2(50) NULL

);

Полный сценарий приведен в ПРИЛОЖЕНИИ 4.

7.6.3. Создание индексов

Индексы облегчают поиск и сортировку данных. Индексы создаются с

помощью оператора SQL CREATE INDEX. Фрагмент из ПРИЛОЖЕНИЯ 4:

CREATE UNIQUE INDEX IPKACTIVITY ON ACTIVITY

(

ACTIVITY_ID ASC

);

7.6.4. Определение первичных ключей

Добавление определения первичного ключа к существующей таблице:

ALTER TABLE ACTIVITY

ADD ( PRIMARY KEY (ACTIVITY_ID) ) ;

Полный сценарий приведен в ПРИЛОЖЕНИИ 4.

7.6.5. Определение вторичных ключей

Добавление определения вторичного ключа к существующей таблице:

ALTER TABLE OBECONOM

ADD ( FOREIGN KEY (ACTIVITY_ID)

REFERENCES ACTIVITY ) ;

Полный сценарий приведен в ПРИЛОЖЕНИИ 4.

7.6.6. Создание триггеров

Триггер - это скомпилированная программа SQL, которая выполняется,

когда в таблице происходит данное событие. С триггером, как правило,

связываются три самых распространенных события: вставка, удаление и

обновление строки.

CREATE TRIGGER IU_STUDY BEFORE INSERT OR UPDATE ON GO.STUDY

FOR EACH ROW

BEGIN

IF INSERTING THEN

SELECT GOBASEUSER_ID INTO :NEW.NAMEADD_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEADD := SYSDATE;

END IF;

SELECT GOBASEUSER_ID INTO :NEW.NAMEINS_ID

FROM GO.ORAUSER

WHERE ORAUSER_ID=UID;

:NEW.DATEINS := SYSDATE;

END;

Полный сценарий приведен в ПРИЛОЖЕНИИ 4.

В частности в данной программе с помощью триггеров выполняется

автоматическая регистрация вводимых данных (кто вел, когда).

7.6.7. Создание последовательностей

С помощью последовательностей генерируются уникальные целые числа.

Последовательные номера используются для автоматической генерации

основных ключей.

CREATE SEQUENCE S_STUDY

Полный сценарий приведен в ПРИЛОЖЕНИИ 4.

7.7.Выбор типа создаваемого приложения

Существует два варианта - системы обработки транзакций и системы

поддержки решений. Как правило, системы поддержки решений используются

управленческим персоналом компаний для обзора некоторой части данных, а

системы обработки транзакций отвечают за ввод и обработку этих данных.

Таким образом, приложениям поддержки решений необходим уровень доступа к

данным только в режиме чтения, а системы обработки транзакций должны иметь

возможность как читать, так и записывать данные. Это фундаментальное

различие между двумя типами приложений лежит в основе выбора типа

приложения.

Система GOBASE - это приложение обработки транзакций. Поскольку

пользователи должны иметь возможность добавлять, изменять и удалять данные,

данная система выпадает из разряда приложений поддержки решений. Но, с

другой стороны, некоторая информация, полученная с помощью этого

приложения, по всей видимости, будет использоваться при принятии решений,

т.е. данная система - это в некотором роде гибрид. Однако основное

направление ее как приложение - это обработка транзакций.

7.8. Соглашение о название компонентов в программе GOBASE

Соглашение о название компонентов Таблица 7.3

|Компонент |Аббревиатура |Компонент |Аббревиатура |

|AutoObject |ao |QRDBText |qt |

|BatchMove |bm |QRDetailLink |qd |

|Bevel |be |QRGroup |qg |

|BiGauge |bg |QRLabel |ql |

|BiPict |bp |QRMemo |qm |

|Biswitch |bs |QRPreview |qp |

|BitBtn |bb |QRShape |qh |

|Button |bu |QRSysData |qs |

|Calendar |ca |Query |qu |

|ChartFX |ch |QuickReport |qr |

|CheckBox |ck |RadioButton |rb |

|ColorDialog |c_ |RadioGroup |rg |

|ColorGrid |сg |ReplaceDialog |r_ |

|ComboBox |cb |Report |rp |

|Database |db |RichEdit |re |

|DataModule, DBMemo |dm |SaveDialog |s_ |

|DataSource |ds |ScrollBar |sa |

|DBCheckBox |dk |ScrollBox |sx |

|DBComboBox |dc |Session |se |

|DBEdit |de |SpeedButton |sb |

|DBGrid |gr |SpinButton |su |

|DBImage |di |SpinEdit |sd |

|DBListBox |di |StatusBar |st |

|DBLookupComboBox, |lc |FindDialog |n_ |

|DBLookupCombo | | | |

|DBLookupListBox, |ll |Font Dialog |f_ |

|DBLookupList | | | |

|DBNavigator |na |Form |fm |

|DBRadioGroup |dg |Gauge |ga |

|DBText |te |Graphics Server |gs |

|DdeClientConv |cc |GroupBox |gs |

|DdeCI lent Item |ci |Header |he |

|DdeServerConv |sc |HeaderControi |hc |

|DdeServerItem |si |HotKey |hk |

|DirectoryListBox |dy |IBEventAierter |ie |

|DirectoryOutline |do |Image |im |

|DrawGrid |dr |Image List |il |

|DriveCoitiboBox |rc |Label |la |

|Edit |ed |ListBox |lb |

|FileListBox |fl |ListView |lv |

|FilterComboBox |fc |MainMenu |mm |

|MaskEdit |md |StoredProc |sp |

|MediaPlayer |mp |StringGrid |sg |

|Memo |me |TabbedNotebook |tn |

|Notebook |nb |TabControi |tc |

|OleContainer |ol |Table |ta |

|OpenDialog |od |TabSet |ts |

|OutLine |ou |Thread |th |

|PageControl |pc |Timer |ti |

|PaintBox |pb |TrackBar |tb |

|Panel |pa |TreeView |tv |

|PopupMenu |pu |UpdateSQL |us |

|PrintDialog |p_ |UpDown |ud |

|PrinterSetupDialog |i_ |VCFirstImpressio|vf |

| | |n | |

|ProgressBar |pr |VCFormulaOne |vo |

|QRBand |qb |VCSpeller |vs |

|QRDBCalc |qc | | |

Имена типов в программе начинаются с большой буквы T. Пример:

TBaseForm

В имена констант используются только прописные буквы. Пример: DEFSQL

7.9. Структура главного меню

Структура главного меню определяет характер работы приложения и дает

основные понятия по работе программы.

Главное меню программы состоит из пяти основных пунктов:

«Файлы», «Таблицы», «Отчеты» и «Помощь». (Рис. 7.3.)

[pic]

Рисунок 7.3. Главное меню программы

Главное меню содержит пять кнопок быстрого запуска:

. Объекты экономики (вызов формы ввода объектов экономики);

. Обучаемые на УМЦ (вызов формы ввода обучаеых на УМЦ);

. Отчеты (вызов формы отчетов, дерева отчетов);

. Справка (вызов справки о программе);

В нижней части главного меню располагается информация:

. о текущем пользователе;

. о текущей версии программы.

7.9.1. Меню «Файлы»

Меню файлы состоит из подменю: установка принтера и выход.

Подменю установка принтера предназначена для вызова стандартной формы

выбора принтера (Рис. 7.4.).

[pic]

Рисунок 7.4. Форма установки принтера

Подменю выход вызывает процедуры освобождения памяти занимаемой

программы, закрытие файлов и выход из программы.

7.9.2. Меню «Таблицы»

Меню «Таблицы» предназначена для доступа к любой таблице базы данных.

Данное меню состоит из следующих подменю:

. Объекты экономики (вызов подменю)

. Объекты экономики (вызов формы объектов экономики);

. Районы (вызов формы районов);

. Рода деятельности (вызов формы рода деятельности);

. Форма собственности (вызов формы собственности);

. Деятельность в ОП ( вызов формы по таблице-словарю деятельности в

особый период);

. Ведомства (вызов формы ведомства);

. Степень опасности (вызов формы степени опасности);

. Должность руководителя (вызов формы возможных должностей

руководителей на объекте);

. Должности по ГО (вызов формы возможных должностей руководителей

штабов ГО на объекте);

. Обучаемые на УМЦ (вызов подменю)

. Обучаемые на УМЦ (вызов формы ввода обучаемых на УМЦ);

. Категории обучаемых (вызов категории обучаемых на УМЦ);

. Гражданские должности (вызов формы возможных гражданских

должностей).

. Темы (вызов подменю)

. Категорированные темы (вызов формы категорированных тем обучения на

УМЦ);

. Темы (вызов формы тем обучения);

. Формирования;

. Степени готовности (степени готовности формирований);

. Защитные сооружения;

. Опасные вещества;

. Техника;

. Службы (службы ГО);

. МТС (вызов формы материально-технического обеспечения);

. Пользователи; (вызов формы ввода пользователей программы. Только для

администратора доступен этот пункт).

7.9.3. Меню «Отчеты»

Данное меню вызывает форму дерева отчетов программы.

Более подробно в пункте 7.13.3.

7.9.4. Меню «Помощь»

Данное меню вызывает гипертекст документации пользователя программы.

7.10. Проектирование иерархий форм и отчетов

Наметив, какие формы и отчеты необходимы приложению, можно разработать

отдельную иерархию форм и отчетов, чтобы воспользоваться преимуществами

средств поддержки наследственности визуальных форм Delphi. Другими словами,

необходимо организовать формы и отчеты в общие классы, которые строятся

друг на друге.

Например, следует определить для приложения форму верхнего уровня, из

которой будут происходить все другие формы. Если позже возникнет

необходимость изменять атрибут всех форм приложения, то вносить изменения

придется только в одном месте.

7.11. Иерархия форм программы

В программе используется более 28 форм для работы с таблицами базы

данных и 7 вспомогательных форм для работы с печатью, помощью и отчетами. В

виду такого количества форм необходимо составить иерархию форм (Рис 7.5.)

для облегчения программирования и уменьшения требовательности к ресурсам ОС

и аппаратным ресурсам.

[pic]

Рисунок 7.5. Иерархия форм

Формы сетки 1-4 используются для таблиц-справочников.

7.12. Основные органы управления форм программы GOBase

В каждой форме ввода присутствуют:

1. Навигатор по базе данных, который представляет собой десять кнопок (Рис

7.6) : «Первая строка в таблице», «Предыдущая строка», «Следующая

строка», «Последняя строка в таблице», «Вставка», «Удаление»,

«Редактирование», «Ввод», «Отмена», «Перечитать данные из таблицы»;

2. Кнопка выхода из формы с сохранением данных (OK);

3. Кнопка выхода из формы без сохранения данных (Cancel);

4. Кнопка минимизации окна;

5. Кнопка максимизации окна;

6. Кнопка закрытия окна (аналогична Cancel);

7. Выпадающий список (список строк другой таблицы)

8. Кнопка с темя точками - вызов формы редактирования таблицы, которая

подключена к выпадающему списку.

[pic]

Рисунок 7.6. Форма ввода формирований на текущем объекте

Любая форма ввода данных в основные таблицы содержит дополнительную

информацию о пользователе, который ввел и редактировал данную запись в

текущей таблице.

Благодаря иерархической структуре программы в каждой форме ввода

присутствуют одинаковые элементы вывода информации, что позволяет обычному

пользователю понять принцип работы программы за считанные минуты.

7.13. Основные формы программы

Ввиду большего количества форм в программе в данном разделе будут

приведены только основные формы программы, которые позволят понять логику

ее работы.

7.13.1. Форма ввода объектов экономики

Форма ввода объектов экономики (Рис 7.7) позволяет производить

вставку, редактирование и удаление информации по текущему объекту.

Комбинированные списки позволяют просматривать и вставлять значения из

таблиц-словарей. Кнопки с тремя точками вызывают соответствующие формы

редактирования таблиц-словарей.

Кнопки: «Формирования», «Защитные сооружения» и т.д, находящиеся в нижней

части меню позволяют вывести дополнительную информацию по текущему объекту.

Контрольный элемент «Головной объект» позволяет (в отключенном

состоянии) выбрать головной объект из выпадающего списка головных объектов.

[pic]

Рисунок 7.7. Форма ввода объектов экономики

В качестве примера дополнительной информации по объекту (на рис 7.6

смотри выше) показана форма ввода формирований на текущем объекте.

Аналогично построена форма ввода защитных сооружений, техники, химических

веществ.

Кнопка «Материалы» выводит форму по выбору интересующей службы, далее

после выбора службы вызывается форма ввода материально-технических средств

данной службы на данном объекте (Рис 7.8).

[pic]

Рисунок 7.8. Материально-технические средства на объекте

Кнопка «Обучаемые» выводит форму о обучаемых в УМЦ на текущем объекте.

7.13.2. Форма ввода учащихся в УМЦ

Данная форма ведет таблицу обучаемых на УМЦ (Рис 7.9). Поля «прошлая

дата обучения» и «следующая дата обучения» связаны интервалом в три года,

т.е. если поле «следующая дата» пустое, а в поле «прошлая дата обучения»

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12


ИНТЕРЕСНОЕ



© 2009 Все права защищены.