record Zak {
key char KZak;
structure {
char NaipIsp[30];
char RasSchet[30];
char KPol [4];
char KGr [4];
int ZKol [16];
long ZSt [16];
char KTrans;}}
record Pol {
key char KPol;
structure {
char PNaim [30];
char PAdr [35]; }}
record Gr {
key char KGr;
structure {
char GNaim [40];
char KKat [4]; }}
record Kat {
key char KKat;
structure {
char KNapr [30];
char KVes [35];
long KCena[16]; }}
record Trans {
key char KTrans;
structure {
char TNaim [30];
long TGruz [16]; }}
set P1 {
order first;
owner System;
member Pol;}
set P2 {
order first;
owner System;
member Trans; }
set P3 {
order first;
owner System;
member Kat; }
set S1 {
order ascending;
owner Pol;
member Zak by KPol; }
set S2 {
order last;
owner Kat;
member Gr by KKat; }
set S3 {
order last;
owner Gr;
member Zak by KGr; }
set S4 {
order last;
owner Trans;
member Zak by KTrans; }}
Запросы к сетевой базе данных
1) Получить перечень Получателей, которые заказали введенный Груз:
D_open(Gruz);
Get (KGr);
D_keyfind(KGr);
D_setor(S2);
For (findfm(s2); db_status==S_OKAY; findnm(s2)); {
D_setor(s1);
D_rec_read(&Pol);
<обработка> }
d_close(Gruz);
2) Получить перечень Грузов, которые заказал введенный Получатель:
D_open(Gruz);
Get (KPol);
D_keyfind(KPol);
D_setor(S1);
For (findfm(s1); db_status==S_OKAY; findnm(s1)); {
D_setor(s2);
D_rec_read(&Gr);
<обработка> }
d_close(Gruz);
Разработка базы данных объектно-ориентированного типа
Концепция объекта в ООМД расширяет прежние понятия сущности или кортежа. Хотя объект напоминает сущность и кортеж в ER-модели, все же объект обладает важными дополнительными свойствами, такими как поведение, наследование, инкапсуляция.
В ОО - системах объекты классифицируются в соответствии с их схожестью и различием. Объекты, имеющие общие свойства, группируются в классы. Класс - набор подобных объектов с разделяемыми структурой и поведением. Каждый объект в классе представляет собой экземпляр класса.
В базе данных «Грузопоток» определяются следующие классы:
1. Класс с именем «Груз» для хранения объектов-грузов. Все объекты класса «Груз» используют одинаковую структуру(атрибуты) и отвечают на одинаковые сообщения (с помощью методов).
2. Класс с именем «Категория» для хранения объектов-категорий.
3. Класс и именем «Транспорт» для хранения объектов - транспортов.
4. Класс с именем «Получатель» для хранения объектов-получателей.
5. Класс с именем «Заказ» для хранения объектов-заказов.
Каждый экземпляр класса представляют собой объект с уникальным OID и каждый объект «знает», какому классу он принадлежит
Установление связей между классами, межобъектные связи
|
Рис. 13
Между грузом и заказом есть связь 1:М, то есть один груз может находится в нескольких заказах, но в одном заказе может находится один груз:
Рис. 14
Между получателем и заказом есть связь 1:М, то есть один получатель имеет несколько заказов, но один заказ делается одним получателем:
Рис. 15
Между транспортом и заказом есть связь 1:М, то есть одно транспортное средство может находится в нескольких заказах, но в одном заказе участвует одно транспортное средство:
Рис. 16
Полная ООМД выглядит следующим образом:
|
|
|
Рис. 17
Пространство объектов
Пространство объектов или схема объектов используется для представления состояния объекта в данный момент времени.
Груз Набор класса заказ Заказ Набор класса заказ Получатель
Набор класса груз
Набор класса заказ
Категория Транспорт
|
Рис. 18
Проектирование примеров входной и выходной информации
Входная информация это фактически запросы клиента на осуществление грузоперевозок. Входная информация в проекте представлена в следующих рабочих формах:
· Пользовательская форма Груз
Рис. 19
В этой форме вводится информация о грузе, который непосредственно будет отправлен на перевозку. Работая с этой формой, пользователь может также найти информацию по коду груза или удалить ее из базы данных.
· Пользовательская форма Получатель
Рис. 20
В этой форме вводится информация о получателе (клиенте), который сделал заказ.
· Пользовательская форма Заказ
Рис. 21
В этой форме непосредственно формируется заказ на поставку груза клиенту.
Для формирования входной информации служат запросы клиентов, а также справочная информация, которая практически не изменяется, но если необходимо внести изменения, то это осуществляет администратор базы данных. Справочная информация представляется либо в виде форм, либо в виде таблиц. В данной базе данных справкой является Категория, которая служит для отнесения каждого груза в какую-либо категорию:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.