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

Страница 16

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

Рисунок 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, DBLookupCombo

lc

FindDialog

n_

DBLookupListBox,

DBLookupList

ll

Font Dialog

f_

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_

VCFirstImpression

vf

ProgressBar

pr

VCFormulaOne

vo

QRBand

qb

VCSpeller

vs

QRDBCalc

qc