Создание базы данных «Грузопоток», которая позволяет быстро и эффективно управлять грузооборотом, вести учет транспортных средств, составлять отчеты для руководителей и различных отделов, страница 5

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 и каждый объект «знает», какому классу он принадлежит

Установление связей между классами, межобъектные связи

 
Между грузом и категорией есть связь 1:М, то есть каждый груз принадлежит одной категории, но в каждой категории может находится несколько грузов:

 


Рис. 13

          Между грузом и заказом есть связь 1:М, то есть один груз может находится в нескольких заказах, но в одном заказе может находится  один груз:


Рис. 14

Между получателем и заказом есть связь 1:М, то есть один получатель имеет несколько заказов, но один заказ делается одним получателем:

 


Рис. 15

Между транспортом и заказом есть связь 1:М, то есть одно транспортное средство может находится в нескольких заказах, но в одном заказе участвует одно транспортное средство:


Рис. 16

Полная ООМД выглядит следующим образом:

Заказ

Номер заказа

1

1

1

Количество

Стоимость

 
                                                                                      

Груз

 
                                                                                      

Получатель

 
                                                  

 


 


Рис. 17

Пространство объектов

Пространство объектов или схема объектов используется для представления состояния объекта в данный момент времени.

Груз            Набор класса заказ         Заказ         Набор класса заказ                        Получатель

 


           Набор класса груз

                                                                                     Набор класса заказ

 


Категория                                      Транспорт

OID: A0003

[Z3404]

1111

СПб

От 1 до 25

200

 
                                                                                    

 


Рис. 18

Проектирование примеров входной и выходной информации

Входная информация это фактически запросы клиента на осуществление грузоперевозок. Входная информация в проекте представлена в следующих рабочих формах:

·  Пользовательская форма Груз

Рис. 19

В этой форме вводится информация о грузе, который непосредственно будет отправлен на перевозку. Работая с этой формой, пользователь может также найти информацию по коду груза или удалить ее из базы данных.

·  Пользовательская форма Получатель

Рис. 20

В этой форме вводится информация о получателе (клиенте), который сделал заказ.

·  Пользовательская форма Заказ

Рис. 21

В этой форме непосредственно формируется заказ на поставку груза клиенту.

Для формирования входной информации служат запросы клиентов, а также справочная информация, которая практически не изменяется, но если необходимо внести изменения, то это осуществляет администратор базы данных. Справочная информация представляется либо в виде форм, либо в виде таблиц. В данной базе данных справкой является  Категория, которая служит для отнесения каждого груза в какую-либо категорию: