- •«Разработка информационной системы, использующую базу данных»
- •Задание
- •Разработка структуры бд
- •Анализ предметной области и определение сущностей
- •Структура сущностей
- •Первая нормальная форма
- •Вторая нормальная форма
- •Структура сущностей
- •Произведем анализ смысловых зависимостей
- •Третья нормальная форма
- •Проектирование таблиц
- •Реализация серверной части Создание таблиц.
- •Работа с данными
- •Заполнение данными таблицы Izgotovitel_gv
- •Заполнение данными таблицы Avtomobil_gv
- •Заполнение данными таблицы Prodaja_gv
- •Заполнение данными таблицы Harakt_gv
- •Заполнение данными таблицы Pokupatel_gv
- •Содержимое таблиц после заполнения
- •Разработка серверной части Проектирование общих принципов организации интерфейса
- •Проектирование отдельных графических форм Главная форма
- •Форма Покупатель
- •Форма Добавления автомобиля
- •Форма Продажи
- •Форма Автомобили
Реализация серверной части Создание таблиц.
Запросы SQL для создания таблиц выглядят следующим образом:
create table Izgotovitel_GV
(KodFirmi number(10) constraint pk_KodFirmi primary key,
Firma varchar2(50) NOT NULL,
Strana_izg varchar2(50) NOT NULL);
create table Avtomobil_GV
(n_dvig number(10) constraint pk_n_dvig primary key,
n_prodaji number(10) NOT NULL,
KodFirmi number(10) constraint fk_KodFirmi references Izgotovitel_GV(KodFirmi));
create table Prodaja_GV
(n_prodaji number(10) constraint pk_n_prodaji primary key,
N_dvig number(10) constraint fk_n_dvig references Avtomobil_GV(N_dvig),
data date,
kol number(10) NOT NULL,
pasport_dann number(10) NOT NULL);
create table Harakt_GV
(n_kuzov number(10) constraint pk_n_kuzov primary key,
zvet varchar2(50) NOT NULL,
ob_dvig number(10) NOT NULL CHECK(ob_dvig >0),
Marca varchar2(50) NOT NULL,
kuzov varchar2(50) NOT NULL,
mojnost varchar2(50) NOT NULL CHECK(mojnost >0),
n_dvig number(10) constraint fk_n2_dvig references Avtomobil_GV(n_dvig));
create table Pokupatel_GV
(pasport_dann number(10) constraint pk_pasport_dann primary key,
familia varchar2(50) NOT NULL,
adres varchar2(50) NOT NULL,
telefon varchar2(50) NOT NULL);
Работа с данными
Запросы SQL на заполнение таблиц данными выглядят следующим образом.
Заполнение данными таблицы Izgotovitel_gv
insert into Izgotovitel_GV(kodfirmi, firma, strana_izg)
values(111,'BMW','Germania');
insert into Izgotovitel_GV(kodfirmi, firma, strana_izg)
values(222,'Mazda','Japan');
insert into Izgotovitel_GV(kodfirmi, firma, strana_izg)
values(333,'VolksVagen','Germania');
insert into Izgotovitel_GV(kodfirmi, firma, strana_izg)
values(444,'HONDA','Japan');
insert into Izgotovitel_GV(kodfirmi, firma, strana_izg)
values(555,'Dodge','USA');
Заполнение данными таблицы Avtomobil_gv
insert into Avtomobil_GV(n_dvig, n_prodaji, KodFirmi)
values(121,1111,111);
insert into Avtomobil_GV(n_dvig, n_prodaji, KodFirmi)
values(232,2222,222);
insert into Avtomobil_GV(n_dvig, n_prodaji, KodFirmi)
values(343,3333,333);
insert into Avtomobil_GV(n_dvig, n_prodaji, KodFirmi)
values(454,4444,444);
insert into Avtomobil_GV(n_dvig, n_prodaji, KodFirmi)
values(565,5555,555);
Заполнение данными таблицы Prodaja_gv
insert into Prodaja_GV(n_prodaji, n_dvig, data, kol, pasport_dann)
values(1111, 121, TO_DATE ('02-10-2010', 'DD-MM-YYYY'), 5, 7785553448);
insert into Prodaja_GV(n_prodaji, n_dvig, data, kol, pasport_dann)
values(2222, 232, TO_DATE ('03-10-2010', 'DD-MM-YYYY'), 3, 7697553443);
insert into Prodaja_GV(n_prodaji, n_dvig, data, kol, pasport_dann)
values(3333, 343, TO_DATE ('04-10-2010', 'DD-MM-YYYY'), 7, 7643564445);
insert into Prodaja_GV(n_prodaji, n_dvig, data, kol, pasport_dann)
values(4444, 454, TO_DATE ('05-10-2010', 'DD-MM-YYYY'), 8, 7856588467);
insert into Prodaja_GV(n_prodaji, n_dvig, data, kol, pasport_dann)
values(5555, 565, TO_DATE ('05-10-2010', 'DD-MM-YYYY'), 5, 7689545534);
Заполнение данными таблицы Harakt_gv
insert into Harakt_GV(n_kuzov, zvet, ob_dvig, marca, kuzov, mojnost, n_dvig)
values(12345, 'zel', 5, 'X5', 'sed', 500, 121);
insert into Harakt_GV(n_kuzov, zvet, ob_dvig, marca, kuzov, mojnost, n_dvig)
values(23456, 'kra', 6, 'RX_7', 'haydj', 466, 232);
insert into Harakt_GV(n_kuzov, zvet, ob_dvig, marca, kuzov, mojnost, n_dvig)
values(34567, 'sin', 6, 'Golf', 'sed', 455, 343);
insert into Harakt_GV(n_kuzov, zvet, ob_dvig, marca, kuzov, mojnost, n_dvig)
values(45678, 'jel', 2, 'Civic', 'sed', 400, 454);
insert into Harakt_GV(n_kuzov, zvet, ob_dvig, marca, kuzov, mojnost, n_dvig)
values(56789, 'sin', 3, 'Viper', 'jaydj', 350, 565);