Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_типовик_гр2011_год2013.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
76.14 Кб
Скачать

Вариант 10 Помозов

Создать информационную систему, позволяющую добавлять, изменять, удалять и просматривать информацию о прайс-листе товаров. В таблицу прайс-лист добавить аргумент Количество_товаров_на складе.

  • Система должна сохранять и позволять просматривать информацию по добавлению, изменению и удалению информации о товарах в прайс-листе. Разрешить удаление только тех товаров, стоимость которых была изменена и с момента изменения стоимости ни одной единицы товара не было продано. При добавлении нового товара проверять корректность ввода данных. Разрешить изменять только стоимость товара не более, чем на n%.

  • Система должна отображать:

  • список всех товаров, поступивших на текущей неделе/в текущем месяце/в текущем году (входной параметр) в порядке убывания/возрастания (входной параметр) количества на складе.

  • Список 10-ти самых дорогих/дешевых товаров (входной параметр) из заданной ценовой категории (границы интервала — входные параметры).

  • Полную информацию о товарах, чья стоимость выше/ниже (входной параметр) средней стоимости по группе.

Вариант 11 Окольнов

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

  • Система должна контролировать корректное значение даты продажи (не превосходить сегодняшнюю дату) и количества проданного товара (не более, чем есть на складе). При продаже товара значение в аргументе Количество_товаров_на складе таблицы прайс-лист должно измениться с учетом этой продажи.

  • Система должна сохранять и позволять просматривать информацию по добавлению, изменению и удалению информации о продаже. Разрешить удаление из продаж только тех товаров, который не продавались ни разу в течение последнего месяца/квартала/полугодия/года (входной параметр). В противном случае удаление запретить.

  • Система должна отображать:

  • Список товаров, которые не продавались ни разу в течение последнего месяца/квартала/полугодия/года (входной параметр).

  • Список товаров с указанием группы товаров, проданных на максимальную/минимальную (входной параметр) сумму среди товаров своей группы.

  • Список 10-ти наибольших по стоимости разовых продаж в заданный временной интервал (границы вводятся пользователем).

  • Список заказчиков, с указанием для каждого из них по месяцам текущего года, если с начала года прошло более 6 месяцев, или по месяцам предыдущего года, если прошло менее 6 месяцев, количество различных наименований товаров и суммарную стоимость.

Вариант 12 Логинов

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

  • Система должна сохранять и позволять просматривать информацию по добавлению, изменению и удалению информации о товарах. Разрешить удаление только тех товаров, которые не были проданы ни разу в текущем году или были количество их на складе меньше заданного числа или в прошлом году они были проданы на сумму менее заданной. Запретить изменение даты изготовления товаров. При добавлении нового товара учитывать, что количество товаров в каждой из имеющихся групп товаров не превосходит заданного числа. Если это число превышается, то добавление товара должно происходить в новую группу товаров.

  • Система должна отображать:

  • список всех товаров, ни разу не проданных/проданных (входной параметр) в первом квартале/ втором квартале/ третьем квартале/четвертом квартале (входной параметр) текущего года/предыдущего года (входной параметр) в порядке убывания/возрастания (входной параметр) id товара.

  • Полную информацию о товарах, пользующихся наибольшим спросом/наименьшим спросом (входной параметр) в текущем году/текущем месяце (входной параметр).

  • Список товаров, сгруппированных по группам товаров, с указанием для каждого из товаров суммарной стоимости продаж товара в определенный временной период (границы вводятся пользователем), минимальной и максимальной цены с учетом временного периода.

  • Полную информацию о товарах, срок годности которых истечет в ближайшие 3, 5, 10, 30 дней от текущей даты, сгруппировав по дате.

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));