Главная страница

отчет. Отчет По дисциплине "Базы данных" Студент гр. Бис1902 Е. Р. Тимохина


Скачать 1.44 Mb.
НазваниеОтчет По дисциплине "Базы данных" Студент гр. Бис1902 Е. Р. Тимохина
Анкоротчет
Дата14.06.2022
Размер1.44 Mb.
Формат файлаdocx
Имя файлаOTChET_BD_33.docx
ТипОтчет
#590769
страница4 из 7
1   2   3   4   5   6   7

Лабораторная работа №4




  1. Создать хранимые процедуры для операции добавления:

    1. нового товара рисунок 16;

CREATE PROCEDURE new_good(i int,n CHAR(50), e int)

begin

insert into goods (id_good, name, starting_price) value (i, n, e);

end

//

call new_good(6, 'Товар высший класс', 50000)//

select * from goods//



Рисунок 16 - хранимая процедура для операции добавления нового товара

    1. нового заказа к договору рисунок 17;

CREATE PROCEDURE new_contracts(i int, n VARCHAR(45), sd DATE, s VARCHAR(100), fcI INT, ed DATE)

begin

insert into contracts(id_contract, number, start_date, special,fromClient_id, end_date)

value (i, n, sd, s, fcI, ed);

end

//

call new_contracts(7, 'АА-2', '2022-03-03', NULL, 4, NULL)//

select * from contracts//



Рисунок 17 - хранимая процедура для операции добавления нового заказа к договору

    1. **нового договора и заказа к нему рисунок 18,19.

CREATE PROCEDURE new_contANDorder(i int, n VARCHAR(45), sd DATE, s VARCHAR(100), fcI INT, ed DATE,

ino int, a VARCHAR(45), p int, st VARCHAR(45), fsI int, edo DATE)

begin

insert into contracts(id_contract, number, start_date, special,fromClient_id, end_date)

value (i, n, sd, s, fcI, ed);

insert into Neworder(id_Neworder, articule, start_date, prepayment,status, fromContracts_id,fromStaff_id,end_date)

value (ino, a, sd, p, st, i,fsI,edo);

end

//

call new_contANDorder(8, 'Z-242', '2022-03-03', NULL, 4, NULL, 15, 'RTX3060', null, null, 2, null)//



Рисунок 18 - хранимая процедура для операции добавления нового договора и заказа к нему, таблица договоры



Рисунок 19 - хранимая процедура для операции добавления нового договора и заказа к нему, таблица заказы

  1. Создать хранимые процедуры для следующих операций:

    1. отбор заказов выбранной фирмы с итоговой суммой по каждому заказу рисунок 20;

CREATE PROCEDURE sum_orderCont(i VARCHAR(100))

begin

SELECT n.articule, sum(gin.application_price * gin.quantity) as suma

FROM client as c join contracts as ct on (ct.fromClient_id = c.id_client)

join Neworder as n on (ct.id_contract = n.fromContracts_id )

join goods_in_Neworder as gin on (n.id_Neworder = gin.fromNeworder_id)

WHERE c.name like i group by n.articule;

end

//

call sum_orderCont("Гонцов Бистров")//



Рисунок 20 - отбор заказов выбранной фирмы с итоговой суммой по каждому заказу

    1. отбор заказов, не выполненных на определенную дату рисунок 21;

CREATE PROCEDURE order_notend(i date)

begin

SELECT articule, status, end_date from Neworder where status not like "завершен" and end_date like i;

end

//

call order_notend ("2022-04-28")//



Рисунок 21 - отбор заказов, не выполненных на определенную дату

    1. определение объемов продаж указанного товара рисунок 22;

CREATE PROCEDURE sum_good(i VARCHAR(45))

begin

SELECT g.name, sum(gin.quantity) from goods as g

join goods_in_Neworder as gin on (gin.fromGoods_id = g.id_good)

where name like i;

end

//

call sum_good ("Отличный товар")//



Рисунок 22 - определение объемов продаж указанного товара

    1. расчет сумм, полученных по выбранному договору рисунок 23;

CREATE PROCEDURE sum_order(i VARCHAR(45) )

begin

SELECT n.articule, sum(gin.application_price * gin.quantity) as suma

from contracts as c join Neworder as n on (c.id_contract = n.fromContracts_id)

join goods_in_Neworder as gin on (n.id_Neworder = gin.fromNeworder_id)

WHERE c.number like i group by n.articule

union

SELECT "Итого",sum(gin.application_price * gin.quantity) as suma

from contracts as c join Neworder as n on (c.id_contract = n.fromContracts_id)

join goods_in_Neworder as gin on (n.id_Neworder = gin.fromNeworder_id)

WHERE c.number like "С-234";

end

//

call sum_order("С-234")//



Рисунок 23 - расчет сумм, полученных по выбранному договору

    1. формирование списка доставок на указанную дату рисунок 24.

CREATE PROCEDURE list_delivr(i date)

begin

SELECT date_sended, number, address from delivery

WHERE date_sended like i;

end

//

call list_delivr("2022-03-07")//



Рисунок 24 - формирование списка доставок на указанную дату
1   2   3   4   5   6   7


написать администратору сайта