Вариант 9 Гуляева
Создать информационную систему, позволяющую добавлять, изменять, удалять и просматривать информацию о прайс-листе товаров. В таблицу прайс-лист добавить аргумент Количество_товаров_на складе.
Система должна сохранять и позволять просматривать информацию по добавлению, изменению и удалению информации о товарах в прайс-листе. Разрешить удаление только тех товаров, количество которых на складе не более заданного пользователем числа или за последние 3 месяца от текущей даты данный товар не был продан ни разу. При добавлении нового товара проверять корректность ввода данных. Все изменения отображать в Архиве.
Система должна отображать:
список товаров из заданной ценовой категории (границы интервала — входные параметры) с указанием для каждого из товаров максимальной и минимальной цены. Сгруппировать по группам товаров, в пределах группы отсортировать по минимальной цене по возрастанию.
Список всех товаров из заданной группы товаров (входной параметр), поступивших в текущем месяце/квартале (входной параметр) в порядке убывания/возрастания (входной параметр) стоимости.
Полную информацию о товарах, количество которых на складе находится в заданных пределах (входные параметры) на текущую дату.
Вариант 10 Сеитякубова
Создать информационную систему, позволяющую добавлять, изменять, удалять и просматривать информацию о продажах. В таблицу прайс-лист добавить аргумент Количество_товаров_на складе.
Система должна контролировать корректное значение даты продажи (не превосходить сегодняшнюю дату) и количества проданного товара (не более, чем есть на складе). При продаже товара значение в аргументе Количество_товаров_на складе таблицы прайс-лист должно измениться с учетом этой продажи.
Система должна сохранять и позволять просматривать информацию по добавлению, изменению и удалению информации о продаже. Разрешить удаление из продаж только тех товаров, количество которых на складе меньше или равно 1. В противном случае удаление запретить. Все изменения отображать в Архиве.
Система должна отображать:
Полную информацию о продажах текущего дня/текущей недели/текущего месяца/текущего года (входной параметр), отсортировав по дате по убыванию, в пределах даты по возрастанию стоимости покупки.
Список товаров, купленных на сумму в заданных пределах (границы суммы — входные параметры) в определенный временной период (входные параметры) с указанием этой суммы.
Список товаров, наиболее/наименее часто (входной параметр) покупаемых в определенный временной период (входные параметры) с указанием суммарной выручки за эти товары и суммарного количества с учетом временного периода.
Пименова и Юненко берут варианты в отдельном файле.
DROP TABLE Dilers;
Дилеры (код дилера, имя дилера, адрес, телефон, статус)
CREATE TABLE Dilers
(
N_Dil NUMBER NOT NULL ,
DilName VARCHAR2(12) NULL ,
Adres VARCHAR2(20) NULL ,
Phone VARCHAR2(20) NULL ,
Status_id CHAR(2) NULL );
ALTER TABLE Dilers
ADD CONSTRAINT XPKDilers PRIMARY KEY (N_Dil);
Прайс-лист (Код товара, дата поступления товара на склад, цена за единицу)
CREATE TABLE PriceList
(
Dat DATE NOT NULL ,
Prod_id NUMBER NOT NULL ,
Price NUMBER NULL );
ALTER TABLE PriceList
ADD CONSTRAINT XPKPriceList PRIMARY KEY (Dat,Prod_id);
Группа товаров (код группы товаров, название группы товаров, примечание)
CREATE TABLE Product_Group
(
PG_id CHAR(2) NOT NULL ,
Name VARCHAR2(12) NULL ,
Prim VARCHAR2(20) NULL );
ALTER TABLE Product_Group
ADD CONSTRAINT XPKProduct_Group PRIMARY KEY (PG_id);
Товары (код товара, название товара, пин-код товара, дата изготовления, срок годности, код группы товаров, код статуса)
CREATE TABLE Products
(
Prod_id NUMBER NOT NULL ,
Name VARCHAR2(20) NULL ,
PinCode CHAR(12) NULL ,
Data_iz DATE NULL ,
SR_GD DATE NULL ,
PG_id CHAR(2) NULL ,
Status_id CHAR(2) NULL );
ALTER TABLE Products
ADD CONSTRAINT XPKProducts PRIMARY KEY (Prod_id);
Продавцы (код продавца, имя продавца, номер карточки, номер дилера, статус продавца)
CREATE TABLE SaleMan
(
Men_Pers_Code CHAR(5) NOT NULL ,
Name VARCHAR2(20) NULL ,
Card_Code VARCHAR2(12) NULL ,
N_Dil NUMBER NULL ,
Status_id CHAR(2) NULL );
ALTER TABLE SaleMan
ADD CONSTRAINT XPKSaleMan PRIMARY KEY (Men_Pers_Code);
Карта продажи (номер заказа, количество товара. Дата продажи, код товара, дата поступления товара на склад, код продавца, код покупателя)
CREATE TABLE SaleMap
(
Map_id NUMBER NOT NULL ,
Quantity NUMBER NULL ,
Sale_Dat DATE NULL ,
Prod_id NUMBER NULL ,
Dat DATE NULL ,
Men_Pers_Code CHAR(5) NULL ,
Sid NUMBER NULL );
ALTER TABLE SaleMap
ADD CONSTRAINT XPKSaleMap PRIMARY KEY (Map_id);
Статус (код статуса, имя группы статуса, имя статуса, примечание)
CREATE TABLE Status
(
Status_id CHAR(2) NOT NULL ,
Status_Group CHAR(2) NULL,
Status_name VARCHAR2(12) NULL ,
Prim VARCHAR2(20) NULL );
ALTER TABLE Status
ADD CONSTRAINT XPKStatus PRIMARY KEY (Status_id);
Покупатели (код покупателя, имя покупателя, адрес, примечание)
CREATE TABLE Subscribers
(
Sid NUMBER NOT NULL ,
Name CHAR(12) NULL ,
Adres VARCHAR2(20) NULL ,
Phone VARCHAR2(20) NULL,
Prim VARCHAR2(20) NULL );
ALTER TABLE Subscribers
ADD CONSTRAINT XPKSubscribers PRIMARY KEY (Sid);
Договоры (номер договора, код покупателя, дата начала договора, дата окончаня договора, пимечание)
CREATE TABLE Subscribers_Dogovor
(
N_Dog CHAR(10) NOT NULL ,
Sid NUMBER NOT NULL ,
Data_Start Date NULL ,
Data_Start Date NULL ,
Prim Varchar2 (50) NULL);
ALTER TABLE Subscribers_Dogovor
ADD CONSTRAINT XPKSubscribers_Dogovor PRIMARY KEY (N_Dog,Sid);
ALTER TABLE Dilers
ADD (CONSTRAINT R_100 FOREIGN KEY (Status_id) REFERENCES Status(Status_id) ON DELETE SET NULL);
ALTER TABLE PriceList
ADD (CONSTRAINT R_101 FOREIGN KEY (Prod_id) REFERENCES Products(Prod_id));
ALTER TABLE Products
ADD (CONSTRAINT R_102 FOREIGN KEY (PG_id) REFERENCES Product_Group(PG_id) ON DELETE SET NULL);
ALTER TABLE Products
ADD (CONSTRAINT R_103 FOREIGN KEY (Status_id) REFERENCES Status(Status_id) ON DELETE SET NULL);
ALTER TABLE SaleMan
ADD (CONSTRAINT R_104 FOREIGN KEY (N_Dil) REFERENCES Dilers(N_Dil) ON DELETE SET NULL);
ALTER TABLE SaleMan
ADD (CONSTRAINT R_105 FOREIGN KEY (Status_id) REFERENCES Status(Status_id) ON DELETE SET NULL);
ALTER TABLE SaleMap
ADD (CONSTRAINT R_106 FOREIGN KEY (Dat,Prod_id) REFERENCES PriceList(Dat,Prod_id) ON DELETE SET NULL);
ALTER TABLE SaleMap
ADD (CONSTRAINT R_107 FOREIGN KEY (Men_Pers_Code) REFERENCES SaleMan(Men_Pers_Code) ON DELETE SET NULL);
ALTER TABLE SaleMap
ADD (CONSTRAINT R_108 FOREIGN KEY (Sid) REFERENCES Subscribers(Sid) ON DELETE SET NULL);
ALTER TABLE Status
ADD (CONSTRAINT R_109 FOREIGN KEY (Status_Group) REFERENCES Status(Status_id) ON DELETE SET NULL);
ALTER TABLE Subscribers_Dogovor
ADD (CONSTRAINT R_110 FOREIGN KEY (Sid) REFERENCES Subscribers(Sid));
