Файл: Министерство сельского хозяйства Российской Федерации Департамент научнотехнологической политики и образования.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.03.2024

Просмотров: 28

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Анализ целостности данных представленной модели Базы данных.


Модель базы данных — тип модели данных, которая определяет логическую структуру базы данных и принципиально определяет, каким образом данные могут быть сохранены, организованы и обработаны.

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

При добавлении новой записи в дочернее отношение или редактировании в нем существующей записи возможно выбрать один из вариантов: • не позволяется вводить запись, если значение индексного выражения дочернего отношения не соответствует одной из записей в родительском отношении; при вводе данных в дочернее отношение не анализируется значение индексного выражения. Целостность данных при этом не поддерживается. Из этого следует, что база данных созданная для предприятия «Учхоз миндерлинское» составлена правильно. Целостность не нарушена.

Схема проектируемой базы данных.



Физическая реализация проектируемой базы данных.

Физическое проектирование базы данных - процесс подготовки описания реализации базы данных на вторичных запоминающих устройствах; на этом этапе рассматриваются основные отношения, организация файлов и индексов, предназначенных для обеспечения эффективного доступа к данным, а также все связанные с этим ограничения целостности и средства защиты.

Физическое проектирование является третьим и последним этапом создания проекта базы данных, при выполнении которого проектировщик принимает решения о способах реализации разрабатываемой базы данных. Во время предыдущего этапа проектирования была определена логическая структура базы данных (которая описывает отношения и ограничения в рассматриваемой прикладной области). Хотя эта структура не зависит от конкретной целевой СУБД, она создается с учетом выбранной модели хранения данных, например реляционной, сетевой или иерархической. Однако, приступая к физическому проектированию базы данных, прежде всего необходимо выбрать конкретную целевую СУБД. Поэтому физическое проектирование неразрывно связано с конкретной СУБД. Между логическим и физическим проектированием существует постоянная обратная связь, так как решения, принимаемые на этапе физического проектирования с целью повышения производительности системы, способны повлиять на структуру логической модели данных. Переход от логического к физическому описанию модели состоит из следующих шагов:


  • Все простые сущности превращаются в отношения, имя сущности становится именем отношением.

  • Каждый атрибут становится возможным столбцом с тем же именем. Столбцы, соответствующие необязательным атрибутам, могут содержать NULL - значения. 02 У60 06 ПЗ Лист 40 Изм. Лист № докум. Подпись Дата

  • Компоненты уникального идентификатора сущности превращаются в первичный ключ отношения.

  • Связи "многие к одному" становятся внешними ключами.

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

  • Разрешение проблемы наличия подтипов.

  • Выполнение шагов по нормализации полученных отношений. Имеющаяся модель находится в третьей нормальной форме.

  • Указание ограничений целостности проектируемой базы данных и краткое описание полученных таблиц и их полей.

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

Язык определения данных решает задачи создания и удаления объектов базы данных. К таким объектам относятся: -схемы; -таблицы; -индексы; -представления; -курсоры. Каждый объект в базе однозначно описывается его именем и имеет владельца. Подавляющее число операторов DDL начинается с ключевых слов CREATE (создать) или DROP (удалить).

  1. Используемый код


5.1 Создание таблиц

create table KULTURA (

KODKULTUR number not null,

NAIMENKULTUR varchar2 (50),

OPISANVID varchar2 (120),

Primary key(KODKULTUR));

CREATE table PESTICIDI (

ID_pestid number NOT NULL,

Naimenovanie varchar2 (20),

Haractiristici varchar2 (200),

Primary key (ID_pestid));

Create table FAZA_RAZVITIYA (

ID_faza number NOT NULL,

Naimenovanie varchar2(20),

Opisanie varchar2(100),

Primary key (ID_faza));

Create table SPOSOB_RIMENENNIYA (

ID_sposob namber NOT NULL,

Naimenovanie varchar2(20),

Opisanie varchar2(100),

Primary key (ID_sposob));

create table IDSORT (

KODSORT number not null,

NAIMENSORT varchar2 (80),

OPISANSORT varchar2 (80),

NORMAVISEV varchar2 (80),

KODKULTUR number not null,

Primary key (KODSORT),

Foreign key (KODKULTUR) references KULTURA);

create table POLE (

KODPOLE number not null,

KORDINATPOLE varchar2 (80),

GEKTORAJ varchar2 (80),

Primary key (KODPOLE));

create table POSEV (

KODPOSEV number not null,

Datta varchar2 (80),

KODPOLE number not null,

KODSORT number not null,

KOLPOSEV varchar2 (80),

Primary key (KODPOSEV),

Foreign key (KODPOLE) references POLE,

Foreign key (KODSORT) references IDSORT);

create table SBOR (

KODSBOR number not null,

Datta varchar2 (80),

KODPOSEV number not null,

KODPOLE number not null,

KODSORT number not null,

KOLSBOR varchar2 (80),

Primary key (KODSBOR),

Foreign key (KODPOLE) references POLE,

Foreign key (KODSORT) references IDSORT,

Foreign key (KODPOSEV) references POSEV);

create table UCHETPOSEV(

KODUCHET number not null,

Datta varchar2 (80),

KODPOLE number not null,

KODPOSEV number not null,

KODSORT number not null,

GEKTORAJ varchar2 (80),

KODSBOR number not null,

Primary key (KODUCHET),

Foreign key (KODPOLE) references POLE,

Foreign key (KODPOSEV) references POSEV,

Foreign key (KODSORT) references IDSORT,

Foreign key (KODSBOR) references SBOR);

Create table OBRABOTKA (

ID_obrab number NOT NULL,

Dato varchar2 (20),

S_gektar number NOT NULL,

Koncenrtaciya varchar2(10),

Rasxod varchar2(10),

IDSORT number,

KODPOLE number,

ID_faza number,

ID_pestid number,

ID_sposob number,

Primary key (ID_obrab,dato),

Foreign key (IDSORT) references KODSORT,

Foreign key (KODPOLE) references POLE,

Foreign key (ID_faza) references FAZA_RAZVITIYA,

Foreign key (ID_pestid) references PESTICIDI,

Foreign key (ID_sposob) references SPOSOB_RIMENENNIYA);

5.2 Заполнение таблиц

Заполнение таблицы культура:

insert into KULTURA values ( 1,'Ячмень','Род растений семейства Злаки');

insert into KULTURA values ( 2,'Пшеница','Род травянистых, в основном однолетних, растений семейства Злаки');

insert into KULTURA values ( 3,'Соя','Однолетнее травянистое растение, вид рода Соя семейства Бобовые.');

insert into KULTURA values ( 4,'Кукуруза','Однолетнее травянистое культурное растение, семейства Злаки.');

insert into KULTURA values ( 5,'Пары','У растений одного вида имеются мужские и женские цветки.');

insert into KULTURA values ( 6,'Горох','Род многолетних травянистых растений семейства бобовых.');

Заполнение таблицы сорт:

insert into IDSORT values ( 1,'Ача','Cорт ярового ячменя','1000',1);

insert into IDSORT values ( 2,'Биом','Cорт ярового многолетнего ячменя','700',1);

insert into IDSORT values ( 3,'Новосибирская-15','Вегетационный период 67-74 дня.','1500',2);

insert into IDSORT values ( 4,'Новосибирская-31','Куст полупрямостоячий-промежуточный(ЭЛИТА)','1500',2);

insert into IDSORT values ( 5,'Заряница','Скороспелый сорт с вегетат. период 102 дня.','1000',3);

insert into IDSORT values ( 6,'Катерина','Раннеспелый, трёхлинейный гибрид.','1000',4);

insert into IDSORT values ( 7,'-','Для засева пустых полей','500',5);

insert into IDSORT values ( 8,'Радомир','Безлисточковый, неосыпающийся.','250',6);

Заполнениетаблицыполе:

insert into POLE values ( 152,'56.44076, 92.97216','50');

insert into POLE values ( 156,'56.43908, 92.97335','200');

insert into POLE values ( 170,'56.43796, 92.97149','200');

insert into POLE values ( 166,'56.44046, 92.96286','454');

insert into POLE values ( 204,'56.44983, 93.00553','30');

insert into POLE values ( 161,'56.44093, 93.01470','131');

insert into POLE values ( 164,'56.43172, 93.01224','100');

insert into POLE values ( 163,'56.47616, 93.00878','100');

Заполнениетаблицыпосев:

insert into POSEV values ( 1,'14.05.2020',152,8,'900');

insert into POSEV values ( 2,'14.05.2020',204,7,'500');

insert into POSEV values ( 3,'20.06.2020',163,5,'4000');

insert into POSEV values ( 4,'17.06.2020',164,5,'3500');

insert into POSEV values ( 5,'23.06.2020',166,6,'2500');

insert into POSEV values ( 6,'17.06.2020',156,1,'3700');

insert into POSEV values ( 7,'15.05.2020',170,2,'2900');

insert into POSEV values ( 8,'17.06.2020',161,4,'5700');

insert into POSEV values ( 9,'22.06.2020',166,3,'2000');

Заполнениетаблицысбор:

insert into SBOR values ( 4,'19.09.2020',4,164,5,'7000');

insert into SBOR values ( 3,'20.09.2020',3,163,5,'2700');

insert into SBOR values ( 2,'12.09.2020',2,204,7,'2700');

insert into SBOR values ( 1,'11.09.2020',1,152,8,'2300');

insert into SBOR values ( 5,'22.09.2020',5,166,6,'5200');

insert into SBOR values ( 6,'18.09.2020',6,156,1,'4000');

insert into SBOR values ( 7,'21.09.2020',7,170,2,'4200');

insert into SBOR values ( 8,'19.09.2020',8,161,4,'5000');

insert into SBOR values ( 9,'20.09.2020',9,166,3,'2900');

Заполнениетаблицыучетпосевов:

insert into UCHETPOSEV values ( 1,'10.10.2020',152,1,8,'50',1);

insert into UCHETPOSEV values ( 2,'15.10.2020',204,2,7,'30',2);

insert into UCHETPOSEV values ( 3,'10.10.2020',163,3,5,'100',3);

insert into UCHETPOSEV values ( 4,'12.10.2020',164,4,5,'100',4);

insert into UCHETPOSEV values ( 5,'9.10.2020',166,5,6,'454',5);

insert into UCHETPOSEV values ( 6,'12.10.2020',156,6,1,'200',6);

insert into UCHETPOSEV values ( 7,'10.10.2020',170,7,2,'100',7);

insert into UCHETPOSEV values ( 8,'15.10.2020',161,8,4,'131',8);

insert into UCHETPOSEV values ( 9,'11.10.2020',166,9,3,'454',9);

Заполнение таблицы пестициды:

Insert into PESTICIDI values (1,'lastic top','селективный послевсходовый системный гербицид для защиты яровой и зимой пшеницы от однолетних злаковых сорняков'),

Insert into PESTICIDI values (2,'magnum s','двухкомпонентный гербицид для борьбы с однолетними и некоторыми многолетними двудольными сорняками, в том числе устойчивыми к 2,4-Д и МЦПА, в посевах зерновых культур'),

Insert into PESTICIDI values (3,'dyblon gold','комбинированный гербицид против однолетних и многолетних злаковых, однолетних и некоторых многолетних двудольных сорняков в посевах кукурузы'),

Insert into PESTICIDI values (4,'irbis','высокоселективный гербицид для послевсходовой обработки ячменя и пшеницы против широкого спектра злаковых сорняков'),

Insert into PESTICIDI values (5,'sprut','еселективный системный гербицид сплошного действия, предназначенный для уничтожения однолетних и многолетних злаковых и двудольных сорняков, травянистой и древесно-кустарниковой растительности'),

Заполнение таблицы фаза развития:

Insert into FAZA_RAZVITIYA values(1,'Перед посевом','перед посевом урожая'),

Insert into FAZA_RAZVITIYA values(2,'Начало кущения','это образование побегов из подземных стеблевых узлов, однако наступлению данной стадии предшествует образование стеблевого узла'),

Insert into FAZA_RAZVITIYA values(3,'5 листев культуры ','Появление пяти листьев'),

Insert into FAZA_RAZVITIYA values(4,'3-5 наст. листьев','Появление 3-5 настоящих листьев'),

Insert into FAZA_RAZVITIYA values(5,'','перед посевом урожая'),

Заполнениетаблицыспособприменения:

Insert into SPOSOB_RIMENENNIYA (1,'Nazemnoe opris','Наземное опрыскивание');


Заполнениетаблицыобработка:

Insert into OBRABOTKA(1,'19.06.2016',77,'0.5(l/ga)','58L',1,9,2,1,1);

Insert into OBRABOTKA(2,'19.06.2016',77,'12(g/ga)','0.92kg',1,9,2,2,1);

Insert into OBRABOTKA(3,'21.06.2016',135,'12(g/ga)','1.62kg',1,1,2,2,1);

Insert into OBRABOTKA(4,'19.06.2016',77,'0.5(l/g)','58L',1,9,2,1,1)


5.3 Формирование запросов к базе данных

Простые запросы

1)Вывести таблицу посев

SELECT * FROM POSEV;



2)Вывести сорт,Номер поля и количество посеянного на нем

SELECT KODPOLE,KODSORT,KOLPOSEV FROM POSEV;



3)Вывести информацию о сборе который составил 2700кг

SELECT * FROM SBOR WHERE KOLSBOR = '2700';



4)Вывести поле гектораж которого составляет 200

SELECT * FROM POLE WHERE GEKTORAJ = '200';



5)Вывести все номера полей

SELECT KODPOLE FROM POLE;



Вложенные запросы

1)Показать дату окончания последнего посева

SELECT * FROM POSEV WHERE DATTA = (SELECT MAX(DATTA) FROM POSEV );



2) Показать дату начала сборов урожая

SELECT * FROM SBOR WHERE DATTA = (SELECT MIN(DATTA) FROM SBOR );



3)Показать поле с самым маленьким гекторажем

SELECT * FROM POLE WHERE GEKTORAJ = (SELECT GEKTORAJ FROM POLE where GEKTORAJ like '3%' );



Многотабличные запросы

1)Показать сколько было посеяно и собрано на определенном поле

SELECT SBOR.KODPOLE,POSEV.KOLPOSEV,SBOR.KOLSBOR FROM POSEV JOIN SBOR on POSEV.KODPOSEV = SBOR.KODPOSEV order by KODPOLE asc;



2) Показать норму нужную посеять и сколько посеяли

SELECT IDSORT.NORMAVISEV,POSEV.KOLPOSEV FROM IDSORT JOIN POSEV ON IDSORT.KODSORT = POSEV.KODPOSEV;



3) В какие даты на поле проводились мероприятия

SELECT POSEV.KODPOLE,POSEV.DATTA,SBOR.DATTA FROM POSEV JOIN SBOR ON POSEV.KODPOSEV = SBOR.KODSBOR;



4)Сопоставить сорт с культурой

SELECT IDSORT.NAIMENSORT,KULTURA.NAIMENKULTUR FROM IDSORT JOIN KULTURA ON IDSORT.KODSORT = KULTURA.KODKULTUR;


5)Показать на каком поле сколько посеяно гектар культуры

SELECT UCHETPOSEV.GEKTORAJ,UCHETPOSEV.KODPOLE,IDSORT.NAIMENSORT FROM UCHETPOSEV JOIN IDSORT ON UCHETPOSEV.KODUCHET = IDSORT.KODSORT;



6)Сопоставить описание сорта и культуры

SELECT IDSORT.NAIMENSORT,IDSORT.OPISANSORT,KULTURA.NAIMENKULTUR,KULTURA.OPISANVID FROM IDSORT JOIN KULTURA ON IDSORT.KODSORT = KULTURA.KODKULTUR;



7) Сопоставить культурный сорт с посевом

SELECT IDSORT.KODSORT,IDSORT.KODKULTUR,POSEV.KODPOSEV FROM IDSORT JOIN POSEV ON IDSORT.KODSORT = POSEV.KODPOSEV;



8)Показать количество высеянного и показать норму посева

SELECT IDSORT.NORMAVISEV,POSEV.KOLPOSEV FROM IDSORT JOIN POSEV ON IDSORT.KODSORT = POSEV.KODPOSEV;



9) Показать на каком поле происходил сбор и посев

SELECT SBOR.KODPOLE,SBOR.KODSBOR,POSEV.KODPOSEV FROM SBOR JOIN POSEV ON SBOR.KODSBOR = POSEV.KODPOSEV;



10) Соединить таблицы культуры и Учета посевов

SELECT UCHETPOSEV.KODUCHET,UCHETPOSEV.DATTA,UCHETPOSEV.KODPOLE,UCHETPOSEV.KODPOSEV,UCHETPOSEV.KODSORT,UCHETPOSEV.GEKTORAJ,UCHETPOSEV.KODSBOR,KULTURA.KODKULTUR,KULTURA.NAIMENKULTUR,KULTURA.OPISANVID

FROM UCHETPOSEV JOIN KULTURA ON UCHETPOSEV.KODUCHET = KULTURA.KODKULTUR;

11) Соединить таблицы сбор и посев

SELECT POSEV.KODPOSEV,POSEV.DATTA,POSEV.KODPOLE,POSEV.KODSORT,POSEV.KOLPOSEV,SBOR.KODSBOR,SBOR.DATTA,SBOR.KODPOSEV,SBOR.KODPOLE,SBOR.KODSORT,SBOR.KOLSBOR

FROM POSEV JOIN SBOR ON POSEV.KODPOSEV = SBOR.KODSBOR;

SELECT SBOR.KODSBOR,SBOR.KODPOLE,IDSORT.NAIMENSORT FROM SBOR JOIN IDSORT ON SBOR.KODSBOR = IDSORT.KODSORT;



12) Запрос на обработанные поля 2016



13) Запрос по обработке поля по дате



14) Запрос на наименование поле и их гектораж



15) Запрос на концентрацию пестицидов


5.4 Создание триггера для проектируемой базы данных:

create table KULTURA_GL (

KODKULTUR number not null,

NAIMENKULTUR varchar2 (50),

OPISANVID varchar2 (120),

Izmen varchar2(120),

Primary key(KODKULTUR));

DROP TABLE KULTURA_GL;
create or replace trigger TRG_KULTURA

before insert or delete or update on KULTURA

for each row

Declare

rw1 number;

rw2 varchar2(50);

rw3 varchar2(120);

rw4 varchar2(120);

begin

if updating then

begin

rw1:= :old.KODKULTUR;

rw2:= :old.NAIMENKULTUR;

rw3:= :old.OPISANVID;

rw4:= 'obnovlenie';

insert into KULTURA_GL values(rw1,rw2,rw3,rw4);

end;

elsif deleting then

begin

rw1:= :old.KODKULTUR;

rw2:= :old.NAIMENKULTUR;

rw3:= :old.OPISANVID;

rw4:='deleting';

insert into KULTURA_GL values(rw1,rw2,rw3,rw4);

end;

elsif inserting then

begin

rw1:= :old.KODKULTUR;

rw2:= :old.NAIMENKULTUR;

rw3:= :old.OPISANVID;

rw4:= 'inserting';

insert into KULTURA_GL values(rw1,rw2,rw3,rw4);

end;

end if;

end;



6 Проектирование клиентского приложения

Для удобства использования базы данных и повышения эффективности предприятия создаем клиентское приложение при помощи Delphi 7

После открытия программы пользователь попадает в главное меню,

Где можно выбрать таблицу Сорт, Посев, Учет посевов и т.д.



При нажатии на Сорт, Культура, Поле, Посев, Сбор и Учет посевов попадаем в уникальное меню таблицы .



С возможностью редактировать таблицу удалять ,добавлять и изменять

строки.

Так же в программе имеется меню исполнения SQL запросов
Заключение

В ходе выполнения курсового проекта была создана база данных для предприятия

ООО «Учебно-опытное хозяйство «Миндерлинское» написанная на языке SQL в программе

SQL Developer.Так же было спроектировано и создано клиентское приложение, что позволит

предприятию увеличить свою эффективность в работе. Целью данного курсового проекта являлась изучения основных элементов языка SQL, получение новых навыков в создании базы данных, создание базы данных предприятия, разработка и реализация клиентского приложения на основе базы данных предприятия ООО «Учебно-опытное хозяйство «Миндерлинское».

В ходе работы над базой данных были получены навыки создания и работы с базами данных,

изучена методология проектирования, изучен язык для создания базы данных SQL,изучен язык программирования Delphi.

Библиографический список

  1. Баканов В.М. Введение в язык SQL запросов к базам данных: Учебное пособие. - М.: МГАПИ, 2002.

  2. Дунаев В.В. Базы данных. Язык SQL для студента – Издательство: БХВ, 2006 г.

3.Бобровский С. Delphi 7. Учебный курс. Издательство Питер, 2008 год., 736 с
4.Фуфаев Э.В. Базы данных: уч. Пособие для СПО. – М.: «Академия», 2008.- 320с.


ПРИЛОЖЕНИЕ А


Название приложения unit Unit1;


interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DBCtrls, jpeg, ExtCtrls;
type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button6: TButton;

Button7: TButton;

Image1: TImage;

Button8: TButton;

procedure Button6Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure DBImage1Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit6, Unit7, Unit9, Unit11, Unit14;
{$R *.dfm}
procedure TForm1.Button6Click(Sender: TObject);

begin

FUCHETPOSEV.ShowModal;

end;
procedure TForm1.Button7Click(Sender: TObject);

begin

Close

end;
procedure TForm1.Button1Click(Sender: TObject);

begin

FSORT.ShowModal;

end;
procedure TForm1.Button2Click(Sender: TObject);

begin

FKULTURA.ShowModal;

end;
procedure TForm1.Button3Click(Sender: TObject);

begin

FPOLE.ShowModal;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

FPOSEV.ShowModal;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

FSBOR.ShowModal;

end;

procedure TForm1.DBImage1Click(Sender: TObject);

begin

Image1.Picture.LoadFromFile('C:\Documents and Settings\tsn\Ðàáî÷èé ñòîë\PochtiFinal\Delphi SQL\1.jpg');

end;
procedure TForm1.Button8Click(Sender: TObject);

begin

Form14.ShowModal;

end;
procedure TForm1.FormCreate(Sender: TObject);

begin
end;
end.

unit Unit2;
interface
uses

SysUtils, Classes, DB, DBTables, ADODB;
type

TDM = class(TDataModule)

ADOConnection1: TADOConnection;

DSIDSORT: TDataSource;

DSKULTURA: TDataSource;

DSPOLE: TDataSource;

DSPOSEV: TDataSource;

DSSBOR: TDataSource;

DSUCHETPOSEV: TDataSource;

IDSORT: TADOTable;

KULTURA: TADOTable;

POLE: TADOTable;

POSEV: TADOTable;

UCHETPOSEV: TADOTable;

SBOR: TADOTable;

procedure DataModuleCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

DM: TDM;
implementation
uses Unit1, Unit3;

{$R *.dfm}
procedure TDM.DataModuleCreate(Sender: TObject);

begin
end;
end.

unit Unit3;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls;
type

TFUCHETPOSEV = class(TForm)

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button1: TButton;

DBGrid1: TDBGrid;

procedure Button4Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

FUCHETPOSEV: TFUCHETPOSEV;
implementation
uses Unit1, Unit2, Unit5, Unit13;
{$R *.dfm}
procedure TFUCHETPOSEV.Button4Click(Sender: TObject);

begin

Close

end;
procedure TFUCHETPOSEV.Button1Click(Sender: TObject);

begin

DM.UCHETPOSEV.Append;

RUCHETPOSEV.ShowModal;

end;
procedure TFUCHETPOSEV.Button2Click(Sender: TObject);

begin

RUCHETPOSEV.ShowModal;

end;
procedure TFUCHETPOSEV.Button3Click(Sender: TObject);

begin

if DM.UCHETPOSEV.Modified then DM.UCHETPOSEV.Post;

close

end;
end.
unit Unit4;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls;
type

TFSORT = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

DBGrid1: TDBGrid;

procedure Button4Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

FSORT: TFSORT;
implementation
uses Unit1, Unit2, Unit3, Unit5;
{$R *.dfm}
procedure TFSORT.Button4Click(Sender: TObject);

begin

DM.IDSORT.Append;

RSORT.ShowModal;

end;
procedure TFSORT.Button3Click(Sender: TObject);

begin

RSORT.ShowModal;

end;
procedure TFSORT.Button1Click(Sender: TObject);

begin

if MessageDlg('óäàëèòü çàïèñü ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then

DM.IDSORT.Delete;

end;
procedure TFSORT.Button2Click(Sender: TObject);

begin

Close

end;
end.
unit Unit5;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Mask, DBCtrls;
type

TRSORT = class(TForm)

Button1: TButton;

Button2: TButton;

KODSORT: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

DBEdit5: TDBEdit;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

RSORT: TRSORT;
implementation
uses Unit1, Unit2, Unit3, Unit4;
{$R *.dfm}
procedure TRSORT.Button1Click(Sender: TObject);

begin

if DM.IDSORT.Modified then DM.IDSORT.Post;

close

end;
procedure TRSORT.Button2Click(Sender: TObject);

begin

Close

end;
end.
unit Unit6;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls;
type

TFKULTURA = class(TForm)

Button1: TButton;

DBGrid1: TDBGrid;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

FKULTURA: TFKULTURA;
implementation
uses Unit1, Unit2, Unit3, Unit4, Unit5;
{$R *.dfm}
procedure TFKULTURA.Button1Click(Sender: TObject);

begin

Close

end;
end.
unit Unit7;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls;
type

TFPOLE = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

DBGrid1: TDBGrid;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

FPOLE: TFPOLE;
implementation
uses Unit1, Unit2, Unit3, Unit4, Unit5, Unit6, Unit8;
{$R *.dfm}
procedure TFPOLE.Button1Click(Sender: TObject);

begin

DM.POLE.Append;

RPOLE.ShowModal;

end;
procedure TFPOLE.Button2Click(Sender: TObject);

begin

RPOLE.ShowModal;

end;
procedure TFPOLE.Button3Click(Sender: TObject);

begin

if MessageDlg('óäàëèòü çàïèñü ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then

DM.POLE.Delete;

end;
procedure TFPOLE.Button4Click(Sender: TObject);

begin

Close

end;
end.
unit Unit8;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Mask, DBCtrls;
type

TRPOLE = class(TForm)

Button2: TButton;

Button1: TButton;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

RPOLE: TRPOLE;
implementation
uses Unit1, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7;
{$R *.dfm}
procedure TRPOLE.Button1Click(Sender: TObject);

begin

if DM.POLE.Modified then DM.POLE.Post;

close

end;
procedure TRPOLE.Button2Click(Sender: TObject);

begin

Close

end;
end.

unit Unit9;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, DBGrids;
type

TFPOSEV = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

POSEV: TDBGrid;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

FPOSEV: TFPOSEV;
implementation
uses Unit1, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit10;
{$R *.dfm}
procedure TFPOSEV.Button1Click(Sender: TObject);

begin

DM.POSEV.Append;

RPOSEV.ShowModal;

end;
procedure TFPOSEV.Button2Click(Sender: TObject);

begin

RPOSEV.ShowModal;

end;
procedure TFPOSEV.Button3Click(Sender: TObject);

begin

if MessageDlg('Âû óâåðåíû, ÷òî õîòèòå óäàëèòü çàïèñü ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then

DM.POSEV.Delete;

end;
procedure TFPOSEV.Button4Click(Sender: TObject);

begin

Close

end;
end.

unit Unit10;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls, Mask, DBCtrls;
type

TRPOSEV = class(TForm)

Button1: TButton;

Button2: TButton;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit5: TDBEdit;

DBLookupComboBox1: TDBLookupComboBox;

DBLookupComboBox2: TDBLookupComboBox;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

RPOSEV: TRPOSEV;
implementation
uses Unit1, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9;
{$R *.dfm}
procedure TRPOSEV.Button1Click(Sender: TObject);

begin

if DM.POSEV.Modified then DM.POSEV.Post;

close

end;
procedure TRPOSEV.Button2Click(Sender: TObject);

begin

close

end;
end.
unit Unit11;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, StdCtrls;
type

TFSBOR = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button5: TButton;

DBGrid1: TDBGrid;

procedure Button3Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

FSBOR: TFSBOR;
implementation
uses Unit1, Unit10, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9,

Unit12;
{$R *.dfm}
procedure TFSBOR.Button3Click(Sender: TObject);

begin

if MessageDlg('Âû óâåðåíû, ÷òî õîòèòå óäàëèòü çàïèñü ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then

DM.SBOR.Delete;

end;
procedure TFSBOR.Button5Click(Sender: TObject);

begin

Close

end;
procedure TFSBOR.Button1Click(Sender: TObject);

begin

DM.SBOR.Append;

RSBOR.ShowModal;

end;
procedure TFSBOR.Button2Click(Sender: TObject);

begin

RSBOR.ShowModal;

end;
end.

unit Unit12;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DBCtrls, StdCtrls, Mask;
type

TRSBOR = class(TForm)

Button1: TButton;

Button2: TButton;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBLookupComboBox1: TDBLookupComboBox;

DBLookupComboBox2: TDBLookupComboBox;

DBLookupComboBox3: TDBLookupComboBox;

DBEdit3: TDBEdit;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

RSBOR: TRSBOR;
implementation
uses Unit1, Unit10, Unit11, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7,

Unit8, Unit9;
{$R *.dfm}
procedure TRSBOR.Button2Click(Sender: TObject);

begin

Close

end;
procedure TRSBOR.Button1Click(Sender: TObject);

begin

if DM.SBOR.Modified then DM.SBOR.Post;

close

end;
end.
unit Unit13;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DBCtrls, StdCtrls, Mask;
type

TRUCHETPOSEV = class(TForm)

Button1: TButton;

Button2: TButton;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBLookupComboBox1: TDBLookupComboBox;

DBLookupComboBox2: TDBLookupComboBox;

DBLookupComboBox3: TDBLookupComboBox;

DBLookupComboBox4: TDBLookupComboBox;

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

RUCHETPOSEV: TRUCHETPOSEV;
implementation
uses Unit1, Unit10, Unit11, Unit12, Unit2, Unit3, Unit4, Unit5, Unit6,

Unit7, Unit8, Unit9;
{$R *.dfm}
procedure TRUCHETPOSEV.Button2Click(Sender: TObject);

begin

Close

end;
end.

unit Unit14;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, ADODB, DBCtrls, Grids, DBGrids, StdCtrls, ExtCtrls;
type

TForm14 = class(TForm)

Panel1: TPanel;

Memo1: TMemo;

Button1: TButton;

Button2: TButton;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

ADOConnection1: TADOConnection;

ADOQuery1: TADOQuery;

DataSource1: TDataSource;

Button3: TButton;

procedure Button1Click(Sender: TObject);

procedure Memo1Change(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

Form14: TForm14;
implementation
{$R *.dfm}
procedure TForm14.Button1Click(Sender: TObject);

begin

if Memo1.Text = '' then begin

ShowMessage('Zapros!');

Memo1.SetFocus;

Exit;

end;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add(Memo1.Text);

ADOQuery1.Open;
end;
procedure TForm14.Memo1Change(Sender: TObject);

begin

ADOQuery1.SQL.Add(Memo1.Text);

ADOQuery1.SQL := Memo1.Lines;

end;
procedure TForm14.Button3Click(Sender: TObject);

begin

Close

end;
procedure TForm14.Button2Click(Sender: TObject);

begin

Memo1.Clear;

end;
end.