Russian Qt Forum
Ноябрь 23, 2024, 15:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Задание за деньги, создание приложения для базы postgres  (Прочитано 3777 раз)
lexflax
Гость
« : Декабрь 15, 2013, 10:28 »

Доброго времени суток.
 Сдавал работу по sqlite3, делал приложение которое выводит все таблицы в приложение и дает возможность добавлять новые записи, сохранять результат, которая сохраняла целостность данных, не давала вводить одинаковые данные , вообщем удовлетворяла всем правилам правильной базы данных.
 Теперь задание усложнили:
 1) база данных теперь не sqlite3 а postgres...
 2) пользователь не должен видеть все таблицы на приложении, он должен видеть красиво выведенную и сгрупированную информацию из всех таблиц в одном окне... у которого есть три кнопки...
 Первая кнопка Добавить запись после нажатия которой вызывается новое окно- форма в которой заполняются новые данные для добавления новой строки в основной таблице... Так же после нажатия кнопки добавить основное окно должно заблокироваться до тех пор, пока мы не произведем все действия в новом окне и не закроем его...
 Вторая кнопка удаляет выбранную строку из базы данных и из справочников которые содержат инфорамацию о ней...
 К примеру при вводе новой записи -- код специальности вуза "12122", код государственной специальности "23322", название специальности вуза "Программное обеспечение", название государственной специальности "Информатика",квалификация "программист" , государственная специализация " инфорамационная безопасность"
 Код специальности вуза и название специальности вуза добавит инфу в справочник "Vuz"
 Код государственности специальности и название государственной специальности добавит инфу в справочник "Gos"
 Квалификацию и специализацию в добавлении нужно сделать так , чтоб можно было выбирать ее из всплывающего списка... на выбор пользователя... специализация так же может отсутствовать вообще или выбираться из сплывающего списка...
 Третья кнопка это изменить запись... при нажатии ее так же появляется окно как и при добавлении только уже заполненное теме данными из строки которую мы нажали исправить...

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

 во вложении всю нужную инфорамацию выложу...на вопросы по реализации и нужного вида и работы программы отвечу...
 Структура базы данных так же будет во вложении как и связи...
 Скрипт в постгрес переносил из sqlite3... путем копирования и вставления в postgres, вроде перенеслось нормально, огранечение на повторные записи работает... на целостность вроде тоже, но может где то целостность до конца и не проверил... скрипт тоже выложу, может другие ключи надо использовать в postgres...
 По цене готов тут обсудить или на почту мне пишите lexflax@mail.ru
 Работу надо выполнить в ближайшую неделю а лучше дни...
Записан
lexflax
Гость
« Ответ #1 : Декабрь 15, 2013, 10:29 »

поля
Записан
lexflax
Гость
« Ответ #2 : Декабрь 15, 2013, 10:30 »

структура таблиц
Записан
lexflax
Гость
« Ответ #3 : Декабрь 15, 2013, 10:34 »

скрипт базы
 CREATE TABLE GosSp (
 kodG integer PRIMARY KEY NOT NULL,
 Namespg text NOT NULL UNIQUE
 );
 CREATE TABLE VuzSp (
 kodSV integer PRIMARY KEY NOT NULL,
 Namespv text NOT NULL UNIQUE,
 Namekrat text NOT NULL
 );
 CREATE TABLE Kvalif (
 kodK integer PRIMARY KEY NOT NULL,
 Namekvf text NOT NULL UNIQUE
 );
 CREATE TABLE Speciliz (
 kodS integer PRIMARY KEY NOT NULL,
 Namespiciliz text NOT NULL UNIQUE
 );
 CREATE TABLE Specvuza (
 kodSV integer PRIMARY KEY NOT NULL,
 kodS integer NOT NULL UNIQUE,
 FOREIGN KEY (kodSV)
 REFERENCES VuzSp(kodSV),
 FOREIGN KEY (kodS)
 REFERENCES Speciliz(kodS));
 CREATE TABLE kod (
 kodSV integer PRIMARY KEY,
 kodG integer NOT NULL,
 kodK integer NOT NULL,
 FOREIGN KEY (kodSV)
 REFERENCES VuzSp(kodSV),
 FOREIGN KEY (kodG)
 REFERENCES GosSp(kodG),
 FOREIGN KEY (kodK)
 REFERENCES Kvalif(kodK));
 insert into GosSp values(150200,'Avtomobili i avtomobilnoe hozaistvo');
 insert into GosSp values(291000,'Avtomobilnie dorogi i aerodromi');
 insert into GosSp values(290100,'Arhitektura');
 insert into GosSp values(290800,'Vodosnabgenie i vodoonvedenie');
 insert into GosSp values(220100,'Vichislitelnie mihini');
 insert into GosSp values(290500,'Gorodskoe stroitelstvo i hozaistvo');
 insert into GosSp values(201200,'Dvigateli vnutrennego sgorania');
 insert into GosSp values(290200,'Dizain arhitekturnoi sredi');
 insert into GosSp values(210900,'Zemleustroistvo');
 insert into GosSp values(271900,'Informacionnie sistemi v tehnike');
 insert into GosSp values(272900,'Informacionnie sistemi v ekonomike');
 insert into GosSp values(251300,'Kommercia');
 insert into GosSp values(230400,'Lesnoe i lesoparkovoe hozaistvo');
 insert into GosSp values(230100,'Lesoingenernoe delo');
 insert into GosSp values(220400,'Liteinoe proizvodstvo metallov');
 insert into GosSp values(221800,'Matematicheskie metodi');
 insert into GosSp values(220401,'Mahini i oborudovanie');
 insert into GosSp values(211100,'Menedgment');
 insert into VuzSp values(15020,'Avtomobili i avtomobilnoe hozaistvo','AA
 X');
 insert into VuzSp values(29101,'Avtomobilinie dorogi i aerodromi IS','AD
 ');
 insert into VuzSp values(29100,'Avtomobilinie dorogi i aerodromi OUDX','
 AD');
 insert into VuzSp values(29102,'Avtomobilinie dorogi i aerodromi','AD');

 insert into VuzSp values(29010,'Arhitektura','A');
 insert into VuzSp values(29011,'Landhaftnai arhitektura','A');
 insert into VuzSp values(29012,'Restavracia i rekonstrukcia','A');
 insert into VuzSp values(29080,'Vodosnabgenie i vodootvedenie','BB');
 insert into VuzSp values(22010,'Vichislitelnie machini','BM');
 insert into VuzSp values(29050,'Gorodskoe stroitelstvo','GSX');
 insert into VuzSp values(10120,'Dvigateli vnutrenego sgorania','DVS');
 insert into VuzSp values(29020,'Dizain arhitekturnoi sredi','DAS');
 insert into VuzSp values(21090,'Zemleustroistvo','ZMU');
 insert into VuzSp values(27190,'informacionie sistemi v tehnike','IS');
 insert into VuzSp values(27191,'informacionionai bezopasnost sistem','IS
 ');
 insert into VuzSp values(25140,'informacionionie sistemi v bugalterii','
 ISE');
 insert into VuzSp values(25130,'Kommercia','K');
 insert into VuzSp values(26040,'Lesnoe i lesoparkovoe hozaistvo','LPX');

 insert into VuzSp values(25010,'Lesoingenernoe delo','LD');
 insert into VuzSp values(21040,'Proizvodstvo cvetnih metallov','LP');
 insert into VuzSp values(21041,'Hudogestvenoelitie','LP');
 insert into VuzSp values(25180,'Matematicheskie metodi','MMO');
 insert into VuzSp values(21043,'Mahini i oborudovanie','MLK');
 insert into VuzSp values(25110,'Menedgment v hlk','MHLK');
 insert into Kvalif values(1,'Ingener');
 insert into Kvalif values(2,'Arhitektor');
 insert into Kvalif values(3,'Ingener stroitel');
 insert into Kvalif values(4,'Informatik ekonomist');
 insert into Kvalif values(5,'Specialist kommercii');
 insert into Kvalif values(6,'Ekonomist matematik');
 insert into Kvalif values(7,'Menedger');
 insert into Speciliz values(1,'Iskustvennie sooregenia na dorogah');
 insert into Speciliz values(2,'Organizacia i upravlenia v hozaistve');
 insert into Speciliz values(3,'Arhitektura gilih zdanii');
 insert into Speciliz values(4,'Landhaftnai arhitektura');
 insert into Speciliz values(5,'Restovracia i rekonstrukcia');
 insert into Speciliz values(6,'Vodnai Ekologia');
 insert into Speciliz values(7,'Informacionai bezopasnost');
 insert into Speciliz values(8,'Hudogestvennoe litie');
 insert into Speciliz values(9,'Proizvodstvenni menedgment');
 insert into Specvuza values(29101,1);
 insert into Specvuza values(29100,2);
 insert into Specvuza values(29010,3);
 insert into Specvuza values(29011,4);
 insert into Specvuza values(29012,5);
 insert into Specvuza values(29080,6);
 insert into Specvuza values(27190,7);
 insert into Specvuza values(21040,8);
 insert into Specvuza values(25110,9);

 insert into kod values(15020,150200,1);
 insert into kod values(29101,291000,3);
 insert into kod values(29100,291000,1);
 insert into kod values(29102,291000,1);
 insert into kod values(29010,290100,2);
 insert into kod values(29011,290100,2);
 insert into kod values(29012,290100,2);
 insert into kod values(29080,290800,1);
 insert into kod values(22010,220100,1);
 insert into kod values(29050,290500,1);
 insert into kod values(10120,201200,1);
 insert into kod values(29020,290200,2);
 insert into kod values(21090,210900,2);
 insert into kod values(27190,271900,1);
 insert into kod values(27191,272900,1);
 insert into kod values(25140,272900,4);
 insert into kod values(25130,251300,5);
 insert into kod values(26040,230400,1);
 insert into kod values(25010,230100,1);
 insert into kod values(21040,220400,1);
 insert into kod values(21041,220400,1);
 insert into kod values(25180,221800,6);
 insert into kod values(21043,220401,1);
 insert into kod values(25110,211100,7);
Записан
tnsr
Гость
« Ответ #4 : Декабрь 15, 2013, 18:39 »

Вот здесь надо предлагать работу:
http://www.weblancer.net
https://www.fl.ru
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 21.