Система управления базой данных объектов Гражданской Обороны для принятия решений в чрезвычайных ситуациях
Страница 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