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

Вариант 10 Ляпин

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

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

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

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

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

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

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

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

Вариант 11 Курдин Взять задание у преподавателя лично.

Вариант 12 Ушаков Взять задание у преподавателя лично.

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