Проектирование и разработка базы данных для предприятия "Статус"
Проектирование базы данных для магазина продовольственных товаров. Предложения по модернизации информационных технологий. Выбор методов и средств решения задач, подлежащих автоматизации. Определение состава подсистем проектируемой информационной системы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 29.05.2013 |
Размер файла | 3,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
3)Вывести все товары,страна-производитель которых-Украина
select * from Tovar where str_proizv='Украина';
KODTOV VID TORG_MARKA ZAKUP_CENA ROZN_CENA STR_PROIZV SROK_GOD NADBAV
---------------------- ----------------------------------- --------------------------------------------- ---------------------- ---------------------- ------------------------------ -------------------- --------------------
3 Орех мясной Дымов 285 310 Украина 45 суток 6процентов
8 Шоколад Бабаевский 40 44 Украина 3 года 7процентов
2 rows selected
4)вывести стаж работы сотрудников в порядке убывания
select expir from Sotr order by expir DESC;
EXPIR
----------
8 лет
7 лет
6 лет
6 лет
5 лет
5 лет
4 года
3 года
3 года
2 года
10 rows selected
5)вывести все поставки,которые были сделаны 15.11
select data_post from Post where data_post='15.12';
KODPOSTAVKI KODTOV KODPOSTAVCHIKA DATA_POST SUMMA VOLUME
---------------------- ---------------------- ---------------------- --------- -------------------- --------------------
4 3 8 15.12 31000 13 мешков
1 rows selected
6)вывести коды продаж,которые были сделаны в интервале с 17.12 по 21.12
select kodprod from Prodaja where data_prod between '17.12' and '21.12';
KODPROD
----------------------
2
3
4
5
6
5 rows selected
7)вывести все даты,объемы и суммы заказов,где сумма заказа больше 25000
select data_zak, volume, summa from Zakaz where summa>'25000' ;
DATA_ZAK VOLUME SUMMA
-------- -------------------- --------------------
15.12 13 мешков 31000
20.12 16 мешков 34000
2 rows selected
8)select fio from Sotr where fio between 'Б' and 'К' UNION select fio from Postavchik where fio between 'Б' and 'К';
FIO
-----------------------------------
Бекетов М.Л.
Буряченко Ю.И.
Волкова И.К.
Ворничан Э.Е.
Вуккерт Ф.Ю.
Грачева С.Л.
Ермилов В.И.
Жаров К.С.
Жигалова К.Ю.
9 rows selected
9)Вывести информацию о сотруднике, выполнившего максимальное количество заказов
select fio
from sotr, zakaz
where (sotr.kodsotr = zakaz.kodsotr) and
(sotr.kodsotr in (select kodsotr from zakaz group by kodsotr having count(*)=
(select max(count(*)) from zakaz group by kodsotr))) group by fio;
FIO
-----------------------------------
Буряченко Ю.И.
1 rows selected
10)Вывести список поставок,сделанных поставщиком № 10;
select Post.kodpostavki, Post.kodpostavchika from Postavchik,Post
where Postavchik.kodpostavchika=Post.kodpostavchika and Post.kodpostavchika=10;
KODPOSTAVKI KODPOSTAVCHIKA
---------------------- ----------------------
3 10
9 10
2 rows selected
11)Вывести код продажи и товар,срок годности которого 3 года
select prodaja.kodprod,tovar.vid
from prodaja, tovar,Tov_Prod
where prodaja.kodprod=Tov_Prod.kodprod and Tov_Prod.kodtov=Tovar.kodtov and Tovar.srok_god='3 года';
KODPROD VID
---------------------- -----------------------------------
6 Горбуша в банке
2 Кофе
7 Шоколад
5 Сгущёнка
4 rows selected
12)Вывести код товара и вид поставленного товара, розничная цена которого больше 100
select post.kodtov,tovar.vid,tovar.rozn_cena
from post,tovar
where Tovar.kodtov=Post.kodtov and tovar.rozn_cena>100;
KODTOV VID ROZN_CENA
---------------------- ----------------------------------- ----------------------
3 Орех мясной 310
5 Кофе 202
2 rows selected
13) Вывести имя поставщика и торговую марку с датой поставки на 15.12
select postavchik.fio,post.kodpost,tovar.torg_marka
from postavchik,post,tovar
where postavchik.kodpostavсhika=post.kodpostavсhika and post.kodtov=tovar.kodtov and post.data_post='15.12';
FIO DATA_POST TORG_MARKA
----------------------------------- --------- ---------------------------------------------
Прусов И.И. 15.12 Дымов
14)Вывести код поставщика, который поставлял шоколад
select tovar.vid,Post.kodpostavchika from postavchik,post,tovar, tov_prod
where postavchik.kodpostavchika=post.kodpostavchika and tovar.kodtov=tov_prod.kodtov
and postavchik.kodpostavchika=4 and tovar.kodtov=8;
VID KODPOSTAVCHIKA
----------------------------------- ----------------------
Шоколад 4
1 rows selected
15)вывести все коды продаж,прибыль которых больше 41000 рублей за период с 21.12 по 24.12
select PRODAJA.kodprod,Prodaja.profit,Prodaja.data_prod from PRODAJA, SOTR, PROD_SOTR
where SOTR.Kodsotr=PROD_SOTR.Kodsotr and PRODAJA.Kodprod=PROD_SOTR.Kodprod and Prodaja.profit>'41000'
and Prodaja.data_prod between '21.12' and '24.12';
KODPROD PROFIT DATA_PROD
---------------------- -------------------- ---------
9 44000 тысячи 24.12
8 41000 тысяча 23.12
2 rows selected
16)Вывести номер поставки и дату, когда поставщик номер 5 сделал поставку паштета;
select POST.kodpostavki, POST.Data_post from POST, POSTAVCHIK, TOVAR
where (Postavchik.kodpostavchika=Post.kodpostavchika) and (Tovar.kodtov=Post.kodtov)
and ((POSTAVCHIK.Kodpostavchika=5) and (TOVAR.vid='Паштет грибной'));
KODPOSTAVKI DATA_POST
---------------------- ---------
6 19.12
1 rows selected
17)вывести объем,дату и сумму заказа,которые сделала сотрудник Стюрьева;
select Zakaz.volume, Zakaz.data_zak,Zakaz.summa FROM zakaz, sotr where Sotr.kodsotr=Zakaz.kodsotr and
Sotr.fio='Стюрьева Г.В.';
VOLUME DATA_ZAK SUMMA
-------------------- -------- --------------------
6 упаковок 14.12 18000
1 rows selected
18)вывести вид,оптовую цену и марку товара,который учавствовал в продаже с кодом №8
select Tovar.vid,Tovar.torg_marka,Tovar.zakup_cena FROM tovar, tov_prod
where tovar.kodtov=tov_prod.kodtov and tov_prod.kodprod=8;
VID TORG_MARKA ZAKUP_CENA
----------------------------------- --------------------------------------------- ----------------------
Орех мясной Дымов 285
1 rows selected
19)Найти информацию о товаре,розничная цена которого на 44 рубля меньше розничной цены шоколадной пасты;
select * FROM tovar where rozn_cena=(select rozn_cena-'44' FROM tovar where vid='Шоколадная паста');
KODTOV VID TORG_MARKA ZAKUP_CENA ROZN_CENA STR_PROIZV SROK_GOD NADBAV
---------------------- ----------------------------------- --------------------------------------------- ---------------------- ---------------------- ------------------------------ -------------------- --------------------
4 Чай Ахмад 28 33 Китай 1 год 4процента
1 rows selected
20)вывести фирму поставщика,его инициалы и телефон,поставляющих товар с кодом 3
select postavchik.firm,postavchik.fio,postavchik.tel FROM postavchik, tovar, post
WHERE (postavchik.kodpostavchika=post.kodpostavchika)
AND (tovar.kodtov=post.kodtov) AND tovar.kodtov=3;
FIRM FIO TEL
-------------------- ----------------------------------- ----------------------
Сибиряк Прусов И.И. 26385
1 rows selected
21)вывести код сотрудника,его инициалы и номер телефона,который сделал продажу с минимальной прибылью
select Sotr.kodsotr, Sotr.fio,Sotr.tel FROM sotr, prodaja, prod_sotr WHERE sotr.kodsotr=prod_sotr.kodprodsotr
AND prodaja.kodprod=prod_sotr.kodprod AND prodaja.profit=(SELECT min(profit ) FROM prodaja);
KODSOTR FIO TEL
---------------------- ----------------------------------- ----------------------
6 Асташова О.А. 23758
1 rows selected
Содержание всех таблиц:
22)select * from Sotr;
KODSOTR FIO EXPIR ADR AGE TEL
---------------------- ----------------------------------- ---------- ------------------------------ --------------- ----------------------
1 Облаева Т.В. 6 лет ул.Пархоменко 12-3 42 года 21763
2 Стюрьева Г.В. 3 года ул.Весны 14-7 36 лет 21673
3 Сорокина А.Г. 5 лет ул.Мира 22-43 29 лет 21954
4 Буряченко Ю.И. 7 лет ул.Воронова 32-17 34 года 22644
5 Плешакова Е.М. 2 года ул.Пионерская 3-8 27 лет 27164
6 Асташова О.А. 4 года ул.Чкалова 21-16 32 года 23758
7 Жигалова К.Ю. 6 лет ул.Дружбы 1-12 35 лет 23691
8 Юрьева Н.В. 3 года ул.9 мая 15-18 30 лет 24267
9 Волкова И.К. 8 лет ул.Крупской 8-6 29 лет 21954
10 Грачева С.Л. 5 лет ул.Заводская 57-15 37 лет 21724
10 rows selected
23)Select * from Postavchik;
KODPOSTAVCHIKA FIO FIRM TEL
---------------------- ----------------------------------- -------------------- ----------------------
1 Вуккерт Ф.Ю. Делси 29671
2 Милёхин А.А. Троя 36955
3 Старков Б.Г. Авангард 35742
4 Ермилов В.И. Фаер 32921
5 Бекетов М.Л. Авентин 25318
6 Ворничан Э.Е. Лудинг 48912
7 Жаров К.С. Прайм 37746
8 Прусов И.И. Сибиряк 26385
9 Ларин П.Г. Стар 45296
10 Янков Д.О. Экор 28248
10 rows selected
24)select * from Post;
KODPOSTAVKI KODTOV KODPOSTAVCHIKA DATA_POST SUMMA VOLUME
---------------------- ---------------------- ---------------------- --------- -------------------- --------------------
1 2 7 14.12 18000 6 коробок
2 4 3 11.12 22000 8 упаковок
3 6 10 9.12 26000 7 ящиков
4 3 8 15.12 31000 13 мешков
5 7 4 13.12 18000 5 коробок
6 10 5 19.12 24000 9 ящиков
7 8 3 17.12 15000 4 упаковки
8 5 2 18.12 21000 5 мешков
9 1 10 12.12 17000 6 коробок
10 4 6 20.12 35000 16 ящиков
10 rows selected
25)select * from tovar;
KODTOV VID TORG_MARKA ZAKUP_CENA ROZN_CENA STR_PROIZV SROK_GOD NADBAV
---------------------- ----------------------------------- --------------------------------------------- ---------------------- ---------------------- ------------------------------ -------------------- --------------------
1 Хлеб Красноярский хлеб 14 16 Россия 48 часов 3процента
2 Горбуша в банке Синее море 30 35 Россия 3 года 4процента
3 Орех мясной Дымов 285 310 Украина 45 суток 6процентов
4 Чай Ахмад 28 33 Китай 1 год 4процента
5 Кофе Черная карта 180 202 Бразилия 3 года 4процента
6 Шоколадная паста Нутелла 73 77 Россия 96 часов 5процентов
7 Спагетти Макфа 13 18 Россия 2 года 4процента
8 Шоколад Бабаевский 40 44 Украина 3 года 7процентов
9 Сгущёнка Простоквашино 39 45 Россия 3 года 6процентов
10 Паштет грибной Хамме 24 30 Германия 2 года 2процента
10 rows selected
26)select * from tov_zak;
KODTOVZAK KODTOV KODZAK
---------------------- ---------------------- ----------------------
1 2 3
4 5 6
3 7 8
5 9 10
2 8 2
7 4 9
6 1 4
8 3 7
10 6 5
9
27)select * from zakaz;
KODZAKAZ KODSOTR KODPOSTAVKI DATA_ZAK SUMMA VOLUME
---------------------- ---------------------- ---------------------- -------- -------------------- --------------------
1 4 7 11.12 22000 7 коробок
2 3 9 15.12 31000 13 мешков
3 2 8 14.12 18000 6 упаковок
4 5 10 12.12 17000 5 ящиков
5 7 4 19.12 24000 10 коробок
6 8 6 18.12 20000 6 мешков
7 4 5 13.12 19000 6 ящиков
8 6 3 9.12 25000 5 упаковок
9 10 2 20.12 34000 16 мешков
10 9 8 17.12 16000 6 коробок
10 rows selected
28)select * from prod_sotr;
KODPRODSOTR KODPROD KODSOTR
---------------------- ---------------------- ----------------------
1 2 3
2 5 6
3 7 8
4 9 10
5 8 2
6 4 9
7 1 4
8 3 7
9 6 5
10 10 1
10 rows selected
29)select * from tov_prod;
KODTOVPROD KODTOV KODPROD
---------------------- ---------------------- ----------------------
1 1 3
2 2 6
3 3 8
4 4 10
5 5 2
6 6 9
7 7 4
8 8 7
9 9 5
10 10 1
10 rows selected
30)select * from prodaja;
KODPROD DATA_PROD PROFIT
---------------------- --------- --------------------
1 16.12 30000 тысяч
2 17.12 28000 тысяч
3 18.12 32000 тысячи
4 19.12 24000 тысячи
5 20.12 36000 тысяч
6 21.12 38000 тысяч
7 22.12 40000 тысяч
8 23.12 41000 тысяча
9 24.12 44000 тысячи
10 25.12 47000 тысяч
10 rows selected
Индексы
drop index FIOIND;
Create index FIOIND on SOTR (Fio asc);
Create index succeeded.
drop index FIRMIND;
Create index FIRMIND on POSTAVCHIK (FIRM asc);
Create index succeeded.
drop index DATA_POSTIND;
Create index DATA_POSTIND on POST (DATA_POST asc);
Create index succeeded.
drop index SUMMAIND;
Create index SUMMAIND on ZAKAZ (SUMMA asc);
Create index succeeded.
drop index VIDINDAIND;
Create index VIDIND on TOVAR (VID asc);
Create index succeeded.
drop index DATA_PRODIND;
Create index DATA_PRODIND on PRODAJA (DATA_PROD asc);
Create index succeeded.
drop index KODPRODIND;
Create index KODPRODIND on PROD_SOTR (KODPROD asc);
Create index succeeded.
drop index KODTOVIND;
Create index KODTOVIND on TOV_PROD (KODTOV asc);
Create index succeeded.
drop index KODZAKIND;
Create index KODZAKIND on TOV_ZAK (KODZAK asc);
Create index succeeded.
Курсоры
Создание курсора Сотрудник
drop table Sotr;
drop table K_Sotr;
create table Sotr(
kodsotr NUMBER NOT NULL ,
fio VARCHAR2 (35) ,
expir VARCHAR2 (10) ,
adr VARCHAR2 (30) ,
age VARCHAR2 (15) ,
tel NUMBER ,
primary key (kodsotr));
create table K_Sotr(
kodsotr NUMBER NOT NULL ,
fio VARCHAR2 (35) ,
expir VARCHAR2 (10) ,
adr VARCHAR2 (30) ,
age VARCHAR2 (15) ,
tel NUMBER,
primary key (kodsotr));
insert into K_Sotr values (1,'Облаева Т.В.','6 лет','ул.Пархоменко 12-3','42 года','21763');
insert into K_Sotr values (2,'Стюрьева Г.В.','3 года','ул.Весны 14-7','36 лет','21673');
insert into K_Sotr values (3,'Сорокина А.Г.','5 лет','ул.Мира 22-43','29 лет','21954');
insert into K_Sotr values (4,'Буряченко Ю.И.','7 лет','ул.Воронова 32-17','34 года','22644');
insert into K_Sotr values (5,'Плешакова Е.М.','2 года','ул.Пионерская 3-8','27 лет','27164');
insert into K_Sotr values (6,'Асташова О.А.','4 года','ул.Чкалова 21-16','32 года','23758');
insert into K_Sotr values (7,'Жигалова К.Ю.','6 лет','ул.Дружбы 1-12','35 лет','23691');
insert into K_Sotr values (8,'Юрьева Н.В.','3 года','ул.9 мая 15-18','30 лет','24267');
insert into K_Sotr values (9,'Волкова И.К.','8 лет','ул.Крупской 8-6','29 лет','21954');
insert into K_Sotr values (10,'Грачева С.Л.','5 лет','ул.Заводская 57-15','37 лет','21724');
declare
K_kodsotr Sotr.kodsotr%type;
K_fio Sotr.fio%type;
K_expir Sotr.expir%type;
K_adr Sotr.adr%type;
K_age Sotr.age%type;
K_tel Sotr.tel%type;
cursor KURSORWE IS
select kodsotr, fio, expir, adr, age, tel from Sotr;
begin
open KURSORWE;
loop
fetch KURSORWE into K_kodsotr, K_fio, K_expir, K_adr, K_age, K_tel;
exit when KURSORWE%notfound;
insert into K_Sotr (kodsotr, fio, expir, adr, age, tel)
values (K_kodsotr, K_fio, K_expir, K_adr, K_age, K_tel);
end loop;
close KURSORWE;
commit;
end;
/
select * from k_Sotr;
create table succeeded.
create table succeeded.
1 rows inserted
1 rows inserted
1 rows inserted
1 rows inserted
1 rows inserted
1 rows inserted
1 rows inserted
1 rows inserted
1 rows inserted
1 rows inserted
anonymous block completed
KODSOTR FIO EXPIR ADR AGE TEL
---------------------- ----------------------------------- ---------- ------------------------------ --------------- ----------------------
1 Облаева Т.В. 6 лет ул.Пархоменко 12-3 42 года 21763
2 Стюрьева Г.В. 3 года ул.Весны 14-7 36 лет 21673
3 Сорокина А.Г. 5 лет ул.Мира 22-43 29 лет 21954
4 Буряченко Ю.И. 7 лет ул.Воронова 32-17 34 года 22644
5 Плешакова Е.М. 2 года ул.Пионерская 3-8 27 лет 27164
6 Асташова О.А. 4 года ул.Чкалова 21-16 32 года 23758
7 Жигалова К.Ю. 6 лет ул.Дружбы 1-12 35 лет 23691
8 Юрьева Н.В. 3 года ул.9 мая 15-18 30 лет 24267
9 Волкова И.К. 8 лет ул.Крупской 8-6 29 лет 21954
10 Грачева С.Л. 5 лет ул.Заводская 57-15 37 лет 21724
10 rows selected
Создание курсора Поставщик
drop table Postavchik;
drop table R_Postavchik;
create table Postavchik (
kodpostavchika number NOT NULL ,
fio VARCHAR2 (35) ,
firm VARCHAR2 (20),
tel NUMBER ,
primary key (kodpostavchika));
create table R_Postavchik(
kodpostavchika number NOT NULL ,
fio VARCHAR2 (35) ,
firm VARCHAR2 (20),
tel NUMBER ,
primary key (kodpostavchika));
insert into R_Postavchik values (1,'Вуккерт Ф.Ю.','Делси','29671');
insert into R_Postavchik values (2,'Милёхин А.А.','Троя','36955');
insert into R_Postavchik values (3,'Старков Б.Г.','Авангард','35742');
insert into R_Postavchik values (4,'Ермилов В.И.','Фаер','32921');
insert into R_Postavchik values (5,'Бекетов М.Л.','Авентин','25318');
insert into R_Postavchik values (6,'Ворничан Э.Е.','Лудинг','48912');
insert into R_Postavchik values (7,'Жаров К.С.','Прайм','37746');
insert into R_Postavchik values (8,'Прусов И.И.','Сибиряк','26385');
insert into R_Postavchik values (9,'Ларин П.Г.','Стар','45296');
insert into R_Postavchik values (10,'Янков Д.О.','Экор','28248');
declare
R_kodpostavchika Postavchik.kodpostavchika%type;
R_fio Postavchik.fio%type;
R_firm Postavchik.firm%type;
R_tel Postavchik.tel%type;
cursor KURSORWE IS
select kodpostavchika, fio, firm, tel from Postavchik;
begin
open KURSORWE;
loop
fetch KURSORWE into R_kodpostavchika, R_fio, R_firm, R_tel;
exit when KURSORWE%notfound;
insert into R_Postavchik (kodpostavchika, fio, firm, tel)
values (R_kodpostavchika, R_fio, R_firm, R_tel);
end loop;
close KURSORWE;
commit;
end;
/
select * from R_Postavchik;
create table succeeded.
create table succeeded.
1 rows inserted
1 rows inserted
1 rows inserted
1 rows inserted
1 rows inserted
1 rows inserted
1 rows inserted
1 rows inserted
1 rows inserted
1 rows inserted
anonymous block completed
KODPOSTAVCHIKA FIO FIRM TEL
---------------------- ----------------------------------- -------------------- ----------------------
1 Вуккерт Ф.Ю. Делси 29671
2 Милёхин А.А. Троя 36955
3 Старков Б.Г. Авангард 35742
4 Ермилов В.И. Фаер 32921
5 Бекетов М.Л. Авентин 25318
6 Ворничан Э.Е. Лудинг 48912
7 Жаров К.С. Прайм 37746
8 Прусов И.И. Сибиряк 26385
9 Ларин П.Г. Стар 45296
10 Янков Д.О. Экор 28248
10 rows selected
Триггеры
Триггер журнализации
create table SOTR(
kodsotr NUMBER NOT NULL ,
fio VARCHAR2 (80) ,
expir VARCHAR2 (80) ,
adr VARCHAR2 (80) ,
age VARCHAR2 (80) ,
tel NUMBER ,
primary key (kodsotr));
create table SOTR1(
kodsotr NUMBER NOT NULL ,
fio VARCHAR2(80) ,
expir VARCHAR2(80) ,
adr VARCHAR2(80) ,
age VARCHAR2(80) ,
tel NUMBER,
OPERATION varchar2(80));
create or replace trigger TRGG
before insert or delete or update on SOTR
for each row
declare
rw1 number;
rw2 varchar2(80);
rw3 varchar2(80);
rw4 varchar2(80);
rw5 VARCHAR2(80);
rw6 number;
rw7 varchar2(80);
begin
if updating then
begin
rw1:=:old.kodsotr;
rw2:=:old.fio;
rw3:=:old.expir;
rw4:=:old.adr;
rw5:=:old.age;
rw6:=:old.tel;
rw7:='update';
insert into SOTR1 values(rw1,rw2,rw3,rw4,rw5,rw6,rw7);
end;
elsif deleting then
begin
rw1:=:old.kodsotr;
rw2:=:old.fio;
rw3:=:old.expir;
rw4:=:old.adr;
rw5:=:old.age;
rw6:=:old.tel;
rw7:='delete';
insert into SOTR1 values(rw1,rw2,rw3,rw4,rw5,rw6,rw7);
end;
elsif inserting then
begin
rw1:=:new.kodsotr;
rw2:=:new.fio;
rw3:=:new.expir;
rw4:=:new.adr;
rw5:=:new.age;
rw6:=:new.tel;
rw7:='insert';
insert into SOTR1 values(rw1,rw2,rw3,rw4,rw5,rw6,rw7);
end;
end if;
end;
/
insert into SOTR values (5,'Плешакова Е.М.','2 года','ул.Пионерская 3-8','27 лет','27164');
insert into SOTR values (6,'Асташова О.А.','4 года','ул.Чкалова 21-16','32 года','23758');
insert into SOTR values (7,'Жигалова К.Ю.','6 лет','ул.Дружбы 1-12','35 лет','23691');
delete from SOTR where kodsotr=6;
update SOTR set fio='Плешакова Е.М.' where kodsotr=5;
SELECT * FROM SOTR1;
create table succeeded.
create table succeeded.
trigger TRGG Compiled.
1 rows inserted
1 rows inserted
1 rows inserted
1 rows deleted
1 rows updated
KODSOTR FIO EXPIR ADR AGE TEL OPERATION
---------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ---------------------- --------------------------------------------------------------------------------
5 Плешакова Е.М. 2 года ул.Пионерская 3-8 27 лет 27164 insert
6 Асташова О.А. 4 года ул.Чкалова 21-16 32 года 23758 insert
7 Жигалова К.Ю. 6 лет ул.Дружбы 1-12 35 лет 23691 insert
6 Асташова О.А. 4 года ул.Чкалова 21-16 32 года 23758 delete
5 Плешакова Е.М. 2 года ул.Пионерская 3-8 27 лет 27164 update
5 rows selected
2create table Sotr(
id number primary key,
Триггер отслеживания критериев столбца
create table Tovar_LIMIT(
cod number NOT NULL,
maximym integer,
minimym integer,
primary key (cod));
insert into Tovar_LIMIT values (1, 200,0);
create or replace trigger TRG_LIMIT
before
insert or update of zakup_cena on Tovar
for each row
declare
mx INTEGER;
mn INTEGER;
begin
select maximym, minimym into mx, mn from Tovar_LIMIT;
if (:new.zakup_cena<= mn)
then raise_application_error(-20601, 'не принимается. маленькая цена.');
elsif (:new.zakup_cena > mx)
then raise_application_error(-20601, 'не принимается. большая цена.');
end if;
end;
/
insert into Tovar values (3,'Орех мясной','Дымов','0','310','Украина','45 суток','6процентов');
create table succeeded.
create table succeeded.
1 rows inserted
trigger TRG_LIMIT Compiled.
Error starting at line 35 in command:
insert into Tovar values (3,'Орех мясной','Дымов','0','310','Украина','45 суток','6процентов')
Error report:
SQL Error: ORA-20601: не принимается. маленькая цена.
ORA-06512: at "HR.TRG_LIMIT", line 7
ORA-04088: error during execution of trigger 'HR.TRG_LIMIT'
Триггер автонумерации
create table Sotr(
kodsotr NUMBER NOT NULL ,
fio VARCHAR2 (35) ,
expir VARCHAR2 (10) ,
adr VARCHAR2 (30) ,
age VARCHAR2 (15) ,
tel NUMBER ,
primary key (kodsotr));
create table succeeded.
trigger Sotrkod Compiled
Процедура
Процедура на добавление нового сотрудника в таблицу «Сотрудник»
create or replace procedure new_sotr(
kodsotra in SOTR.kodsotr%TYPE,
FIO1 in varchar2, EXPIR1 varchar2, ADR1 varchar2, AGE1 varchar2, TEL1 NUMBER) as
begin
insert into SOTR(kodsotr, FIO, expir, ADR, age, tel )
values (kodsotra, FIO1, EXPIR1, ADR1, AGE1, TEL1 );
end new_sotr;
/
Execute new_sotr (11,':Жученко В.И.','6 лет','ул.Майская 19-15','39 лет','29774');
procedure new_sotr( Compiled.
anonymous block completed
Приложение 2
create table Sotr(
kodsotr VARCHAR (8),
fio VARCHAR (35) ,
expir VARCHAR (10) ,
adr VARCHAR (30) ,
age VARCHAR (15) ,
tel VARCHAR (8),
sotrudnikpasswd varchar(15),
primary key (kodsotr));
create table Prodaja (
kodprod VARCHAR (8),
data_prod VARCHAR (8) ,
profit VARCHAR (20) ,
primary key (kodprod));
create table Postavchik (
kodpostavchika VARCHAR (8),
fio VARCHAR (35) ,
firm VARCHAR (20),
tel VARCHAR (8),
primary key (kodpostavchika));
create table Tovar (
kodtov VARCHAR (8),
NazvTov VARCHAR (35) ,
cena VARCHAR (8),
primary key (kodtov ));
create table Zakaz (
kodzakaz VARCHAR (8),
kodsotr VARCHAR (8),
kodpostavchika VARCHAR (8),
data_zak VARCHAR (8) ,
primary key (kodzakaz) ,
foreign key (kodsotr) references Sotr,
foreign key (kodpostavchika) references Postavchik);
create table Tov_Zak (
kodtovzak VARCHAR (8),
kodtov VARCHAR (8),
kodzak VARCHAR (8),
primary key(kodtovzak) ,
foreign key(kodtov) references Tovar,
foreign key(kodzak) references Zakaz);
insert into Sotr values ('1','Облаева Т.В.','6 лет','ул.Пархоменко 12-3','42 года','21763','1');
insert into Sotr values ('2','Стюрьева Г.В.','3 года','ул.Весны 14-7','36 лет','21673','1');
insert into Sotr values ('3','Сорокина А.Г.','5 лет','ул.Мира 22-43','29 лет','21954','1');
insert into Sotr values ('4','Буряченко Ю.И.','7 лет','ул.Воронова 32-17','34 года','22644','1');
insert into Sotr values ('5','Плешакова Е.М.','2 года','ул.Пионерская 3-8','27 лет','27164','1');
insert into Sotr values ('6','Асташова О.А.','4 года','ул.Чкалова 21-16','32 года','23758','1');
insert into Sotr values ('7','Жигалова К.Ю.','6 лет','ул.Дружбы 1-12','35 лет','23691','1');
insert into Sotr values ('8','Юрьева Н.В.','3 года','ул.9 мая 15-18','30 лет','24267','1');
insert into Sotr values ('9','Волкова И.К.','8 лет','ул.Крупской 8-6','29 лет','21954','1');
insert into Sotr values ('10','Грачева С.Л.','5 лет','ул.Заводская 57-15','37 лет','21724','1');
insert into Postavchik values ('1','Вуккерт Ф.Ю.','Делси','29671');
insert into Postavchik values ('2','Милёхин А.А.','Троя','36955');
insert into Postavchik values ('3','Старков Б.Г.','Авангард','35742');
insert into Postavchik values ('4','Ермилов В.И.','Фаер','32921');
insert into Postavchik values ('5','Бекетов М.Л.','Авентин','25318');
insert into Postavchik values ('6','Ворничан Э.Е.','Лудинг','48912');
insert into Postavchik values ('7','Жаров К.С.','Прайм','37746');
insert into Postavchik values ('8','Прусов И.И.','Сибиряк','26385');
insert into Postavchik values ('9','Ларин П.Г.','Стар','45296');
insert into Postavchik values ('10','Янков Д.О.','Экор','28248');
insert into Tovar values ('1','Хлеб','16');
insert into Tovar values ('2','Горбуша в банке','35');
insert into Tovar values ('3','Орех мясной','310');
insert into Tovar values ('4','Чай','33');
insert into Tovar values ('5','Кофе','202');
insert into Tovar values ('6','Шоколадная паста','77');
insert into Tovar values ('7','Спагетти','18');
insert into Tovar values ('8','Шоколад','44');
insert into Tovar values ('9','Сгущёнка','45');
insert into Tovar values ('10','Паштет грибной','30');
insert into Prodaja values ('1','16.12','30000 тысяч');
insert into Prodaja values ('2','17.12','28000 тысяч');
insert into Prodaja values ('3','18.12','32000 тысячи');
insert into Prodaja values ('4','19.12','24000 тысячи');
insert into Prodaja values ('5','20.12','36000 тысяч');
insert into Prodaja values ('6','21.12','38000 тысяч');
insert into Prodaja values ('7','22.12','40000 тысяч');
insert into Prodaja values ('8','23.12','41000 тысяча');
insert into Prodaja values ('9','24.12','44000 тысячи');
insert into Prodaja values ('10','25.12','47000 тысяч');
insert into Zakaz values ('1','4','7','11.12');
insert into Zakaz values ('2','3','9','15.12');
insert into Zakaz values ('3','2','8','14.12');
insert into Zakaz values ('4','5','10','12.12');
insert into Zakaz values ('5','7','4','19.12');
insert into Zakaz values ('6','8','6','18.12');
insert into Zakaz values ('7','4','5','13.12');
insert into Zakaz values ('8','6','3','9.12');
insert into Zakaz values ('9','10','2','20.12');
insert into Zakaz values ('10','9','8','17.12');
insert into Tov_Zak values ('1','2','3');
insert into Tov_Zak values ('4','5','6');
insert into Tov_Zak values ('3','7','8');
insert into Tov_Zak values ('5','9','10');
insert into Tov_Zak values ('2','8','2');
insert into Tov_Zak values ('7','4','9');
insert into Tov_Zak values ('6','1','4');
insert into Tov_Zak values ('8','3','7');
insert into Tov_Zak values ('10','6','5');
insert into Tov_Zak values ('9','10','1');
Приложение 3
Программный код ООО «Статус»
program Magazin;
uses
Forms,
Unit1 in 'Unit1.pas' {FormMain},
Unit2 in 'Unit2.pas' {FormReg},
Unit3 in 'Unit3.pas' {FormSotr},
Unit4 in 'Unit4.pas' {DataModule4: TDataModule},
Unit5 in 'Unit5.pas' {FormDanSotr},
Unit6 in 'Unit6.pas' {FormKlient},
Unit7 in 'Unit7.pas' {FormDanKl},
Unit8 in 'Unit8.pas' {FormPostav},
Unit9 in 'Unit9.pas' {FormDanPost},
Unit10 in 'Unit10.pas' {FormTovar},
Unit11 in 'Unit11.pas' {FormDanTov},
Unit12 in 'Unit12.pas' {FormZakaz},
Unit13 in 'Unit13.pas' {FormDanZak};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TFormMain, FormMain);
Application.CreateForm(TFormReg, FormReg);
Application.CreateForm(TFormSotr, FormSotr);
Application.CreateForm(TDataModule4, DataModule4);
Application.CreateForm(TFormDanSotr, FormDanSotr);
Application.CreateForm(TFormKlient, FormKlient);
Application.CreateForm(TFormDanKl, FormDanKl);
Application.CreateForm(TFormPostav, FormPostav);
Application.CreateForm(TFormDanPost, FormDanPost);
Application.CreateForm(TFormTovar, FormTovar);
Application.CreateForm(TFormDanTov, FormDanTov);
Application.CreateForm(TFormZakaz, FormZakaz);
Application.CreateForm(TFormDanZak, FormDanZak);
Application.Run;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls, jpeg;
type
TFormMain = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
Image1: TImage;
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormMain: TFormMain;
implementation
uses Unit3, Unit6, Unit8, Unit10, unit4, Unit12, Unit14;
{$R *.dfm}
procedure TFormMain.N2Click(Sender: TObject);
begin
FormMain.close
end;
procedure TFormMain.N4Click(Sender: TObject);
begin
if Sender=N4 then FormSotrudnikSender:=None;
if not Assigned (FormKlient)
then FormSotr:=TFormsotr.Create(Application);
Formsotr.WindowState:=wsNormal;
Formsotr.show;
end;
procedure TFormMain.N5Click(Sender: TObject);
begin
FormKlient.show;
end;
procedure TFormMain.N6Click(Sender: TObject);
begin
if Sender=N6 then FormPostavchikSender:=None;
if not Assigned (FormPostav)
then FormPostav:=TFormPostav.Create(Application);
FormPostav.WindowState:=wsNormal;
FormPostav.show;
end;
procedure TFormMain.N7Click(Sender: TObject);
begin
FormTovar.Show;
end;
procedure TFormMain.N8Click(Sender: TObject);
begin
formZakaz.show;
end;
procedure TFormMain.N9Click(Sender: TObject);
begin
Formprog.show;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, jpeg;
type
TFormReg = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormReg: TFormReg;
implementation
uses Unit4, Unit1;
{$R *.dfm}
procedure TFormReg.Button1Click(Sender: TObject);
begin
if DataModule4.TableSotrudnik.locate ('FIO;sotrudnikpasswd', vararrayof ([Edit1.text, Edit2.text]),[])
then
begin
showmessage('Добро пожаловать в базу данных ООО Статус');
FormReg.hide;
if Datamodule4.TableSotrudnik.Fieldbyname ('FIO').Value = '<Болтус Е.Ю.>'
then
begin
FormMain.N4.Enabled:=false;
FormMain.N5.Enabled:=false;
FormMain.N6.Enabled:=false;
FormMain.N7.Enabled:=false;
FormMain.show
end;
end
else
begin
showmessage('Ошибка в имени пользователя или пароле');
end;
end;
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, Buttons, Menus, ExtCtrls, jpeg, pngimage,
GIFImg;
type
TFormSotr = class(TForm)
DBGrid1: TDBGrid;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
PopupMenu1: TPopupMenu;
Gj1: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
PopupMenu2: TPopupMenu;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
N5: TMenuItem;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure Gj1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormSotr: TFormSotr;
implementation
uses Unit5, Unit4, unit13;
{$R *.dfm}
procedure TFormSotr.BitBtn1Click(Sender: TObject);
var txt:string;
begin
if not Assigned (FormDanSotr)
then FormDanSotr:=TFormDanSotr.Create(Application);
FormDanSotr.WindowState:=wsNormal;
FormDanSotr.Show;
DataModule4.TableSotrudnik.Last;
txt:=FormDanSotr.DBEdit1.Text;
DataModule4.TableSotrudnik.Insert;
txt:=IntToStr(StrToInt(txt)+1);
FormDanSotr.DBEdit6.SetFocus;
FormDanSotr.DBEdit1.Text:=txt;
FormDanSotr.DBEdit6.Readonly:=False;
end;
procedure TFormSotr.BitBtn2Click(Sender: TObject);
begin
if application.MessageBox('Вы действительно хотите удалить строку?',
'Подтверждение удаления записи',
mb_YESNO)=idYes
then DataModule4.TableSotrudnik.Delete
end;
procedure TFormSotr.BitBtn3Click(Sender: TObject);
begin
if not Assigned (FormDanSotr)
then FormDanSotr:=TFormDanSotr.Create(Application);
FormDanSotr.WindowState:=wsNormal;
FormDanSotr.Show;
DataModule4.TableSotrudnik.Edit;
FormDanSotr.DBEdit6.Readonly:=False;
end;
procedure TFormSotr.BitBtn4Click(Sender: TObject);
begin
if not Assigned (FormDanSotr)
then FormDanSotr:=TFormDanSotr.Create(Application);
FormDanSotr.WindowState:=wsNormal;
FormDanSotr.Show;
FormDanSotr.DBEdit1.Readonly:=true;
FormDanSotr.DBEdit2.Readonly:=true;
FormDanSotr.DBEdit3.Readonly:=true;
FormDanSotr.DBEdit4.Readonly:=true;
FormDanSotr.DBEdit5.Readonly:=true;
FormDanSotr.DBEdit6.Readonly:=true;
end;
procedure TFormSotr.DBGrid1DblClick(Sender: TObject);
begin
case FormSotrudnikSender of
zakaz: begin
DataModule4.TableZakaz.FieldByName('FIO').Value:=
DataModule4.TableSotrudnik.FieldByName('FIO').Value;
FormDanZak.DBEdit5.Text:=
DataModule4.TableSotrudnik.FieldByName('FIO').Value;
DataModule4.TableZakaz.FieldByName('kodsotr').Value:=
DataModule4.TableSotrudnik.FieldByName('kodsotr').Value;
FormDanZak.DBEdit4.Text:=
DataModule4.TableSotrudnik.FieldByName('kodsotr').Value;
end;
end;
if FormSotrudnikSender<>None then Close
end;
procedure TFormSotr.Gj1Click(Sender: TObject);
begin
DataModule4.TableSotrudnik.IndexFieldNames:='kodsotr'
end;
procedure TFormSotr.N1Click(Sender: TObject);
begin
DataModule4.TableSotrudnik.IndexFieldNames:='FIO'
end;
procedure TFormSotr.N2Click(Sender: TObject);
begin
DataModule4.TableSotrudnik.IndexFieldNames:='expir'
end;
procedure TFormSotr.N3Click(Sender: TObject);
begin
DataModule4.TableSotrudnik.IndexFieldNames:='adr'
end;
procedure TFormSotr.N4Click(Sender: TObject);
begin
DataModule4.TableSotrudnik.IndexFieldNames:='age'
end;
end.
unit Unit4;
interface
uses
SysUtils, Classes, DB, DBTables;
type
TDataModule4 = class(TDataModule)
Sotrudnik: TDataSource;
TableSotrudnik: TTable;
Prodaja: TDataSource;
TableProdaja: TTable;
TablePostav: TTable;
Postav: TDataSource;
TableTovar: TTable;
Tovar: TDataSource;
TableZakaz: TTable;
Zakaz: TDataSource;
TableSotrudnikKODSOTR: TStringField;
TableSotrudnikFIO: TStringField;
TableSotrudnikEXPIR: TStringField;
TableSotrudnikADR: TStringField;
TableSotrudnikAGE: TStringField;
TableSotrudnikTEL: TStringField;
TableSotrudnikSOTRUDNIKPASSWD: TStringField;
TableProdajaKODPROD: TStringField;
TableProdajaDATA_PROD: TStringField;
TableProdajaPROFIT: TStringField;
TablePostavKODPOSTAVCHIKA: TStringField;
TablePostavFIO: TStringField;
TablePostavFIRM: TStringField;
TablePostavTEL: TStringField;
TableTovarKODTOV: TStringField;
TableTovarNAZVTOV: TStringField;
TableTovarCENA: TStringField;
TableZakazKODZAKAZ: TStringField;
TableZakazKODSOTR: TStringField;
TableZakazKODPOSTAVCHIKA: TStringField;
TableZakazDATA_ZAK: TStringField;
TableZakazFIO: TStringField;
TableZakazFIOP: TStringField;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataModule4: TDataModule4;
formSotrudnikSender, formPostavchikSender:(None, Zakaz, report);
implementation
{$R *.dfm}
end.
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, jpeg, ExtCtrls;
type
TFormDanSotr = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
Button1: TButton;
DBEdit7: TDBEdit;
Label7: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormDanSotr: TFormDanSotr;
implementation
uses Unit4;
{$R *.dfm}
procedure TFormDanSotr.Button1Click(Sender: TObject);
begin
if not DBEdit2.ReadOnly
then DataModule4.TableSotrudnik.Post;
FormDanSotr.Close
end;
end.
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, Buttons, Grids, DBGrids, ExtCtrls, jpeg, pngimage,
GIFImg;
type
TFormKlient = class(TForm)
DBGrid1: TDBGrid;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
PopupMenu1: TPopupMenu;
Gj1: TMenuItem;
N1: TMenuItem;
N3: TMenuItem;
PopupMenu2: TPopupMenu;
N2: TMenuItem;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
N5: TMenuItem;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure Gj1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormKlient: TFormKlient;
implementation
uses Unit7, Unit4, Unit5, Unit13;
{$R *.dfm}
procedure TFormKlient.BitBtn1Click(Sender: TObject);
var txt:string;
begin
if not Assigned (FormDanKl)
then FormDanKl:=TFormDanKl.Create(Application);
FormDanKl.WindowState:=wsNormal;
FormDanKl.Show;
DataModule4.TableProdaja.Last;
txt:=FormDanKl.DBEdit1.Text;
DataModule4.TableProdaja.Insert;
txt:=IntToStr(StrToInt(txt)+1);
FormDanKl.DBEdit4.SetFocus;
FormDanKl.DBEdit1.Text:=txt;
FormDanKl.DBEdit4.Readonly:=False;
end;
procedure TFormKlient.BitBtn2Click(Sender: TObject);
begin
if application.MessageBox('Вы действительно хотите удалить строку?',
'Подтверждение удаления записи',
mb_YESNO)=idYes
then DataModule4.TableProdaja.Delete
end;
procedure TFormKlient.BitBtn3Click(Sender: TObject);
begin
if not Assigned (FormDanKl)
then FormDanKl:=TFormDanKl.Create(Application);
FormDanKl.WindowState:=wsNormal;
FormDanKl.Show;
DataModule4.TableProdaja.Edit;
FormDanKl.DBEdit4.Readonly:=False;
end;
procedure TFormKlient.BitBtn4Click(Sender: TObject);
begin
if not Assigned (FormDanKl)
then FormDanKl:=TFormDanKl.Create(Application);
FormDanKl.WindowState:=wsNormal;
FormDanKl.Show;
FormDanKl.DBEdit1.Readonly:=true;
FormDanKl.DBEdit2.Readonly:=true;
FormDanKl.DBEdit4.Readonly:=true;
end;
procedure TFormKlient.Gj1Click(Sender: TObject);
begin
DataModule4.TableProdaja.IndexFieldNames:='kodprod'
end;
procedure TFormKlient.N1Click(Sender: TObject);
begin
DataModule4.TableProdaja.IndexFieldNames:='Data_prod'
end;
procedure TFormKlient.N3Click(Sender: TObject);
begin
DataModule4.TableProdaja.IndexFieldNames:='Profit'
end;
end.
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, jpeg, ExtCtrls;
type
TFormDanKl = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit4: TDBEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormDanKl: TFormDanKl;
implementation
uses Unit4;
{$R *.dfm}
procedure TFormDanKl.Button1Click(Sender: TObject);
begin
if not DBEdit2.ReadOnly
then DataModule4.TableProdaja.Post;
FormDanKl.Close
end;
end.
unit Unit8;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, Menus, StdCtrls, Buttons, ExtCtrls, jpeg, pngimage,
GIFImg;
type
TFormPostav = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
PopupMenu1: TPopupMenu;
Gj1: TMenuItem;
N1: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
DBGrid1: TDBGrid;
N2: TMenuItem;
PopupMenu2: TPopupMenu;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
N5: TMenuItem;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure Gj1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormPostav: TFormPostav;
implementation
uses Unit9, Unit4, unit13;
{$R *.dfm}
procedure TFormPostav.BitBtn1Click(Sender: TObject);
var txt:string;
begin
if not Assigned (FormDanPost)
then FormDanPost:=TFormDanPost.Create(Application);
FormDanPost.WindowState:=wsNormal;
FormDanPost.Show;
DataModule4.TablePostav.Last;
txt:=FormDanPost.DBEdit1.Text;
DataModule4.TablePostav.Insert;
txt:=IntToStr(StrToInt(txt)+1);
FormDanPost.DBEdit5.SetFocus;
FormDanPost.DBEdit1.Text:=txt;
FormDanPost.DBEdit5.Readonly:=False;
end;
procedure TFormPostav.BitBtn2Click(Sender: TObject);
begin
if application.MessageBox('Вы действительно хотите удалить строку?',
'Подтверждение удаления записи',
mb_YESNO)=idYes
then DataModule4.TablePostav.Delete
end;
procedure TFormPostav.BitBtn3Click(Sender: TObject);
begin
if not Assigned (FormDanPost)
then FormDanPost:=TFormDanPost.Create(Application);
FormDanPost.WindowState:=wsNormal;
FormDanPost.Show;
DataModule4.TablePostav.Edit;
FormDanPost.DBEdit5.Readonly:=False;
end;
procedure TFormPostav.BitBtn4Click(Sender: TObject);
begin
if not Assigned (FormDanPost)
then FormDanPost:=TFormDanPost.Create(Application);
FormDanPost.WindowState:=wsNormal;
FormDanPost.Show;
FormDanPost.DBEdit1.Readonly:=true;
FormDanPost.DBEdit2.Readonly:=true;
FormDanPost.DBEdit3.Readonly:=true;
FormDanPost.DBEdit5.Readonly:=true;
end;
procedure TFormPostav.DBGrid1DblClick(Sender: TObject);
begin
case FormPostavchikSender of
zakaz: begin
DataModule4.TableZakaz.FieldByName('FIOP').Value:=
DataModule4.TablePostav.FieldByName('FIO').Value;
FormDanZak.DBEdit6.Text:=
DataModule4.TablePostav.FieldByName('FIO').Value;
DataModule4.TableZakaz.FieldByName('kodpostavchika').Value:=
DataModule4.TablePostav.FieldByName('kodpostavchika').Value;
FormDanZak.DBEdit3.Text:=
DataModule4.TablePostav.FieldByName('kodpostavchika').Value;
end;
end;
if FormPostavchikSender<>None then Close
end;
procedure TFormPostav.Gj1Click(Sender: TObject);
begin
DataModule4.TablePostav.IndexFieldNames:='kodpostavchika'
end;
procedure TFormPostav.N1Click(Sender: TObject);
begin
DataModule4.TablePostav.IndexFieldNames:='FIO'
end;
procedure TFormPostav.N2Click(Sender: TObject);
begin
DataModule4.TablePostav.IndexFieldNames:='firm'
end;
procedure TFormPostav.N3Click(Sender: TObject);
begin
DataModule4.TablePostav.IndexFieldNames:='tel'
end;
end
unit Unit9;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, jpeg, ExtCtrls;
type
TFormDanPost = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit5: TDBEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormDanPost: TFormDanPost;
implementation
uses Unit4;
{$R *.dfm}
procedure TFormDanPost.Button1Click(Sender: TObject);
begin
if not DBEdit2.ReadOnly
then DataModule4.TablePostav.Post;
FormDanPost.Close
end;
end.
unit Unit10;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, Menus, StdCtrls, Buttons, ExtCtrls, jpeg, pngimage,
GIFImg;
type
TFormTovar = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
PopupMenu1: TPopupMenu;
Gj1: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
DBGrid1: TDBGrid;
PopupMenu2: TPopupMenu;
MenuItem1: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure Gj1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormTovar: TFormTovar;
implementation
uses Unit11, Unit4, Unit5, Unit13;
{$R *.dfm}
procedure TFormTovar.BitBtn1Click(Sender: TObject);
var txt:string;
begin
if not Assigned (FormDanTov)
then FormDanTov:=TFormDanTov.Create(Application);
FormDanTov.WindowState:=wsNormal;
FormDanTov.Show;
DataModule4.TableTovar.Last;
txt:=FormDanTov.DBEdit1.Text;
DataModule4.TableTovar.Insert;
txt:=IntToStr(StrToInt(txt)+1);
FormDanTov.DBEdit3.SetFocus;
FormDanTov.DBEdit1.Text:=txt;
FormDanTov.DBEdit3.Readonly:=False;
end;
procedure TFormTovar.BitBtn2Click(Sender: TObject);
begin
if application.MessageBox('Вы действительно хотите удалить строку?',
'Подтверждение удаления записи',
mb_YESNO)=idYes
then DataModule4.TableTovar.Delete
end;
procedure TFormTovar.BitBtn3Click(Sender: TObject);
begin
if not Assigned (FormDanTov)
then FormDanTov:=TFormDanTov.Create(Application);
FormDanTov.WindowState:=wsNormal;
FormDanTov.Show;
DataModule4.TableTovar.Edit;
FormDanTov.DBEdit3.Readonly:=False;
end;
procedure TFormTovar.BitBtn4Click(Sender: TObject);
begin
if not Assigned (FormDanTov)
then FormDanTov:=TFormDanTov.Create(Application);
FormDanTov.WindowState:=wsNormal;
FormDanTov.Show;
FormDanTov.DBEdit1.Readonly:=true;
FormDanTov.DBEdit2.Readonly:=true;
FormDanTov.DBEdit3.Readonly:=true;
end;
procedure TFormTovar.Gj1Click(Sender: TObject);
begin
DataModule4.TableTovar.IndexFieldNames:='Ntov'
end;
procedure TFormTovar.N1Click(Sender: TObject);
begin
DataModule4.TableTovar.IndexFieldNames:='Nazvtov'
end;
procedure TFormTovar.N2Click(Sender: TObject);
begin
DataModule4.TableTovar.IndexFieldNames:='Cena'
end;
end.
unit Unit11;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, jpeg, ExtCtrls;
type
TFormDanTov = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormDanTov: TFormDanTov;
implementation
uses Unit4;
{$R *.dfm}
procedure TFormDanTov.Button1Click(Sender: TObject);
begin
if not DBEdit1.ReadOnly
then DataModule4.TableTovar.Post;
FormDanTov.Close
end;
end.
unit Unit12;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls, jpeg, pngimage,
GIFImg;
type
TFormZakaz = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
DBGrid1: TDBGrid;
PopupMenu1: TPopupMenu;
Gj1: TMenuItem;
N1: TMenuItem;
PopupMenu2: TPopupMenu;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure Gj1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormZakaz: TFormZakaz;
implementation
uses Unit13, Unit4;
{$R *.dfm}
procedure TFormZakaz.BitBtn1Click(Sender: TObject);
var txt:string;
begin
if not Assigned (FormDanZak)
then FormDanZak:=TFormDanZak.Create(Application);
FormDanZak.WindowState:=wsNormal;
FormDanZak.Show;
DataModule4.TableZakaz.Last;
txt:=FormDanZak.DBEdit1.Text;
DataModule4.TableZakaz.Insert;
txt:=IntToStr(StrToInt(txt)+1);
DataModule4.TableZakaz.FieldByName('Data_zak').Value:=Date;
FormDanZak.DBEdit6.SetFocus;
FormDanZak.DBEdit1.Text:=txt;
FormDanZak.DBEdit6.Readonly:=False;
end;
procedure TFormZakaz.BitBtn2Click(Sender: TObject);
begin
if application.MessageBox('Вы действительно хотите удалить строку?',
'Подтверждение удаления записи',
mb_YESNO)=idYes
then DataModule4.TableZakaz.Delete
end;
procedure TFormZakaz.BitBtn3Click(Sender: TObject);
begin
if not Assigned (FormDanZak)
then FormDanZak:=TFormDanZak.Create(Application);
FormDanZak.WindowState:=wsNormal;
FormDanZak.Show;
DataModule4.TableZakaz.Edit;
FormDanZak.DBEdit5.Readonly:=False;
end;
procedure TFormZakaz.BitBtn4Click(Sender: TObject);
begin
if not Assigned (FormDanZak)
then FormDanZak:=TFormDanZak.Create(Application);
FormDanZak.WindowState:=wsNormal;
FormDanZak.Show;
FormDanZak.DBEdit1.Readonly:=true;
FormDanZak.DBEdit2.Readonly:=true;
FormDanZak.DBEdit4.Readonly:=true;
FormDanZak.DBEdit5.Readonly:=true;
FormDanZak.DBEdit6.Readonly:=true;
end;
procedure TFormZakaz.Gj1Click(Sender: TObject);
begin
DataModule4.TableZakaz.IndexFieldNames:='kodzak'
end;
procedure TFormZakaz.N1Click(Sender: TObject);
begin
DataModule4.TableZakaz.IndexFieldNames:='DATA_zak'
end;
end.
unit Unit13;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, ExtCtrls, jpeg;
type
TFormDanZak = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormDanZak: TFormDanZak;
implementation
uses Unit4, Unit1;
{$R *.dfm}
procedure TFormDanZak.Button1Click(Sender: TObject);
begin
if not DBEdit2.ReadOnly
then DataModule4.TableZakaz.Post;
FormDanZak.Close
end;
procedure TFormDanZak.Button3Click(Sender: TObject);
begin
FormSotrudnikSender:=Zakaz;
FormMain.N4Click(Sender);
DataModule4.TableSotrudnik.Locate('FIO',DataModule4.TableZakaz.FieldByName('FIO').Value,[]);
DataModule4.TableSotrudnik.Locate('kodsotr',DataModule4.TableZakaz.FieldByName('kodsotr').Value,[])
end;
procedure TFormDanZak.Button2Click(Sender: TObject);
begin
FormPostavchikSender:=Zakaz;
FormMain.N6Click(Sender);
DataModule4.TablePostav.Locate('FIO',DataModule4.TableZakaz.FieldByName('FIOP').Value,[]);
DataModule4.TablePostav.Locate('kodpostavchika',DataModule4.TableZakaz.FieldByName('kodpostavchika').Value,[])
end;
end.
unit Unit14;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls;
type
TFormProg = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormProg: TFormProg;
implementation
{$R *.dfm}
end.
Размещено на http://www.allbest.ru
Подобные документы
Проектирование логической структуры базы данных методом нормальных форм, сущность связь. Сравнительный анализ спроектированной базы данных и базы данных существующих информационных систем. Выбор и обоснование состава технических и программных средств.
курсовая работа [3,0 M], добавлен 22.12.2014Схема взаимодействия подразделений предприятия. Выбор и обоснование технологии проектирования базы данных. Описание объектов базы данных. Разработка запросов на выборку, изменение, обновление и удаление данных. Интерфейсы взаимодействия с базой данных.
курсовая работа [1,4 M], добавлен 25.05.2023Разработка программного обеспечения для автоматизации деятельности работников книжного магазина. Проектирование информационной системы с использованием базы данных Access. Методы хранения данных. Средства защиты данных от несанкционированного доступа.
контрольная работа [664,9 K], добавлен 13.06.2014Разработка информационной системы ресторана, определение ее границ для реализации базы данных. Перечень запросов, отчетов и операций по вводу информации в информационной системе "Ресторан". Проектирование базы данных, выбор средств ее реализации.
курсовая работа [7,6 M], добавлен 27.04.2011Проектирование информационной системы бронирования билетов кассы аэропорта. Анализ информационных задач и круга пользователей системы. Составление реляционных отношений. Дополнительные ограничения целостности. Физическое проектирование базы данных.
курсовая работа [949,1 K], добавлен 28.03.2011Системный анализ предметной области проектируемой базы данных. Экономическая сущность комплекса экономических информационных задач. Проектные решения по программному обеспечению комплекса задач. Структура базы данных и технологическое обеспечение.
курсовая работа [303,7 K], добавлен 27.02.2009Проектирование и создание информационной базы данных для управления предприятием "Завод металлоизделий". Данные для базы, предметная область, атрибуты объектов базы данных. Объектные отношения, их ключи, связи объектов и отношений базы данных предприятия.
реферат [26,9 K], добавлен 04.12.2009Разработка информационной системы туристического агентства с использованием современных инструментальных средств, технологий; создание ее прототипа; определение целей, задач и функций ИС. Концептуальное, логическое и физическое проектирование базы данных.
курсовая работа [1,1 M], добавлен 09.06.2013Организация документооборота корпоративного отдела. Описание состава задач, подлежащих автоматизации, входной и выходной информации. Разработка состава и структуры базы данных, описание пользовательского интерфейса. Экономический эффект автоматизации.
дипломная работа [2,9 M], добавлен 05.12.2011Исследование методов и способов разработки информационных систем. Автоматизация деятельности продовольственного магазина. Проектирование логической схемы информационной системы. Разработка модели базы данных и структуры вычислительно-локальной сети.
курсовая работа [389,2 K], добавлен 16.03.2017