Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TRPO (1).docx
Скачиваний:
6
Добавлен:
14.04.2023
Размер:
1.85 Mб
Скачать

4.4 Разработка алгоритмов и текстов программ

Создание таблицыПоставщики”

CREATE TABLE `Suppliers` (

`SupplierId` INT(100) NOT NULL AUTO_INCREMENT ,

`SuplierName` VARCHAR(100) NOT NULL ,

`Office` VARCHAR(100) ,

`PostAddress` VARCHAR(100) NOT NULL ,

`PhoneNumber` VARCHAR(100) NOT NULL ,

PRIMARY KEY (`SupplierId`)

);

Создание таблицыПродукция

CREATE TABLE `TRPO`.`Product` (

`ProductId` INT(100) ,

`ProductName` VARCHAR(100) NOT NULL ,

`Volume` INT(100) ,

`Weight` INT(100) ,

`SupplierId` INT(100) ,

PRIMARY KEY (`ProductId`),

FOREIGN KEY (SupplierId) REFERENCES Suppliers(SupplierId)

);

Создание таблицы “Сотрудники

CREATE TABLE `TRPO`.`Staff` (

`StaffId` INT(100) UNSIGNED NOT NULL ,

`FullName` VARCHAR(50) NOT NULL ,

`Post` VARCHAR(50) NOT NULL ,

`PhoneNumber` VARCHAR(50) NOT NULL ,

`Passport` VARCHAR(50) NOT NULL ,

PRIMARY KEY (`StaffId`)

);

Создание таблицыСтанции”

CREATE TABLE `TRPO`.`Stations` (

`StationId` INT UNSIGNED NOT NULL AUTO_INCREMENT,

`StationName` VARCHAR(40) NOT NULL ,

`Address` VARCHAR(40) NOT NULL ,

PRIMARY KEY (`StationId`)

);

Создание таблицыВагоны

CREATE TABLE `TRPO`.`Wagons` (

`WagonId` INT(10) ,

`LiftingCapacity` INT(10) ,

`StationId` INT UNSIGNED NOT NULL,

PRIMARY KEY (`WagonId`),

FOREIGN KEY (StationId) REFERENCES Stations(StationId)

);

Создание таблицыКлиенты

CREATE TABLE `TRPO`.`Clients` (

`ClientId` INT(100) UNSIGNED NOT NULL ,

`ClientName` VARCHAR(100) NOT NULL ,

`OKPO` INT(100) NOT NULL ,

`Office` VARCHAR(50) NOT NULL ,

`PostAddress` VARCHAR(100) NOT NULL ,

`PhoneNumber` VARCHAR(11) NOT NULL ,

`StationId` INT(100) UNSIGNED NOT NULL ,

PRIMARY KEY (`ClientId`)

);

Создание таблицыЗаказы

CREATE TABLE `TRPO`.`Orders` (

`OrderId` INT(100) NOT NULL AUTO_INCREMENT,

`Date` DATETIME NOT NULL,

`Price` INT(100) NOT NULL,

`WagonId` INT(10) ,

`ArrivalStationId` INT UNSIGNED NOT NULL,

`DepartureStationId` INT UNSIGNED NOT NULL,

`StaffId` INT(100) UNSIGNED NOT NULL ,

`ClientId` INT(100) UNSIGNED NOT NULL ,

FOREIGN KEY (WagonId) REFERENCES Wagons(WagonId),

FOREIGN KEY (ArrivalStationId) REFERENCES Stations(StationId),

FOREIGN KEY (DepartureStationId) REFERENCES Stations(StationId),

FOREIGN KEY (StaffId) REFERENCES Staff(StaffId),

FOREIGN KEY (ClientId) REFERENCES Clients(ClientId),

PRIMARY KEY (`OrderId`)

);

Создание таблицы продукты/заказы

CREATE TABLE `TRPO`.`ProductsOrders` (

`OrderId` INT(100) NOT NULL ,

`ProductId` INT(100) NOT NULL ,

`Amount` INT(100) UNSIGNED NOT NULL,

FOREIGN KEY (OrderId) REFERENCES Orders(OrderId),

FOREIGN KEY (ProductId) REFERENCES Product(ProductId)

);

4.5 Разработка контрольного примера

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

В данной таблице заключена информация о двух ЖД станциях. Информация о названии станции и ее адрес.

Рисунок 4.5.1 – Таблица «ЖД станция»

INSERT INTO Stations (StationId, StationName, Address) VALUES ('1', 'Красносельская', 'Казань. пр-кт Красноармейский. 54')

INSERT INTO Stations (StationId, StationName, Address) VALUES ('2', 'Нижегородская', 'Москва. улица Пушкина. 11')

В данной таблице заключена информация о четырех клиентах АС. Информация о ФИО, адресе, ОКПО, адресе головного офиса, номере телефона и ЖД станции.

Рисунок 4.5.2 – Таблица «Клиенты»

INSERT INTO Clients (ClientId, ClientName, OKPO, Office, PostAddress, PhoneNumber, StationId) VALUES ('1', 'Савин В. А.', '54', 'Москва. пр-кт Защитников Москвы. 12', 'Москва. пр-кт Кутузовский. 32к1', '88005553535', '2')

INSERT INTO Clients (ClientId, ClientName, OKPO, Office, PostAddress, PhoneNumber, StationId) VALUES ('2', 'Долудар Р. С.', '124', 'Москва. улица Недорубова 37/5', 'Москва. улица Свободы 78к3', '89546123535', '1')

INSERT INTO Clients (ClientId, ClientName, OKPO, Office, PostAddress, PhoneNumber, StationId) VALUES ('3', 'Францев А. Р.', '38', 'Москва. улица Алексея Дикого. 41', 'Москва. улица Охотинская. 21', '89321148456', '2')

INSERT INTO Clients (ClientId, ClientName, OKPO, Office, PostAddress, PhoneNumber, StationId) VALUES ('4', 'Юсифов Э. С.', '147', 'Москва. пр-кт Потапенько. 23/4', 'Москва. пр-кт Потапенько. 23/4', '89751642524', '1')

В данной таблице заключена информация о трех сотрудниках компании "Патрего". Информация о ФИО, должности, номере телефона и паспортные данные.

Рисунок 4.5.3 – Таблица «Сотрудники»

INSERT INTO Staff (StaffId, FullName, Post, PhoneNumber, Passport) VALUES ('3', 'Торин Генадий Дуринович', 'Глава отдела логистики', '89631597543', '4571912346')

INSERT INTO Staff (StaffId, FullName, Post, PhoneNumber, Passport) VALUES ('2', 'Гавриков Денис Валерьянович', 'Младший инженер-машинист', '85874651212', '4931586421')

INSERT INTO Staff (StaffId, FullName, Post, PhoneNumber, Passport) VALUES ('1', 'Токмачев Вечислав Генадиевич', 'Главный инженер-машинист', '89312458674', '4589622223')

В данной таблице заполнена информация о поставщиках. Информация о имени поставщика, адресе, адресе офиса и номер поставщика.

Рисунок 4.5.4 – Таблица «Поставщики»

INSERT INTO Suppliers (SupplierId, SuplierName, Office, PostAddress, PhoneNumber) VALUES ('2', 'Росуголь пром', 'Москва. улица Сеччина. 87/7', 'Омск. улица Трали. 71/1', '+79031875646')

INSERT INTO Suppliers (SupplierId, SuplierName, Office, PostAddress, PhoneNumber) VALUES ('1', 'Lays. CO', 'St. Rithm. 41/7. USA. CA.', 'London. Maddison square. 108', '+38421567465')

В данной таблице заполнена информация о перевозимых товарах. Информация о названия товара, объеме, весе и номер поставщика.

Рисунок 4.5.5 – Таблица «Товар»

INSERT INTO Product (ProductId, ProductName, Volume, Weight, SupplierId) VALUES ('2', 'Уголь древесный', '100', '54', '2')

INSERT INTO Product (ProductId, ProductName, Volume, Weight, SupplierId) VALUES ('1', 'Чипсы. Lays с луком. 200г', '34', '3', '1')

В данной таблице заполнена информация об эксплуатируемых вагонах. Информация о грузоподъемности и коде станции.

Рисунок 4.5.6 – Таблица «Вагоны»

INSERT INTO Wagons (WagonId, LiftingCapacity, StationId) VALUES ('3', '120', '2')

INSERT INTO Wagons (WagonId, LiftingCapacity, StationId) VALUES ('2', '240', '1')

INSERT INTO Wagons (WagonId, LiftingCapacity, StationId) VALUES ('1', '520', '1')

В данной таблице заполнена информация об сделанных заказах. Информация о дате заказа, стоимости заказа, вагоне, станции отправления и прибытия, работнике и клиенте.

Рисунок 4.5.7 – Таблица «Заказ»

INSERT INTO Orders (OrderId, Date, Price, WagonId, ArrivalStationId, DepartureStationId, StaffId, ClientId)

VALUES ('1', '2018-10-08 18:01:55', '1800000', '3', '2', '1', '1', '1' )

INSERT INTO Orders (OrderId, Date, Price, WagonId, ArrivalStationId, DepartureStationId, StaffId, ClientId) VALUES ('2', '2021-12-03 09:57:38', '2600000', '2', '1', '2', '3', '4')

INSERT INTO Orders (OrderId, Date, Price, WagonId, ArrivalStationId, DepartureStationId, StaffId, ClientId) VALUES ('3', '2022-06-14 21:16:18', '3000000', '1', '2', '1', '2', '3')