Автоматизированная система анализа государственных контрактов
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
ешний ключ. [3]
5.1Схема данных
База данных BASE.FBD состоит из 9 таблиц, связанных между собой.
Таблица PODRAZDELENIYA используется для хранения данных о названиях подразделений ФССП по Архангельской области и имеет следующие поля (таблица 1):
Таблица 1
ИмяОписаниеТипIdидентификатор подразделения (первичный ключ)INTEGERPodrназвание подразделенияVARCHARGOS_CONTR_IDвнешний ключ на таблицу GOS_CONTRINTEGERTEX_ZAD_IDвнешний ключ на таблицу TEX_ZADINTEGERSCH_F_IDвнешний ключ на таблицу SCH_FINTEGER
Таблица NAIM_IZD используется для хранения данных о наименовании изделий и имеет следующие поля (таблица 2):
Таблица 2
ИмяОписаниеТипIdидентификатор изделия (первичный ключ)INTEGERNAIM_IZDнаименование изделияVARCHARVID_RAB_IDвнешний ключ на таблицу VID_RABINTEGERPRILOZH_IDвнешний ключ на таблицу PRILOZHINTEGERSCH_F_IDвнешний ключ на таблицу SCH_FINTEGER
Таблица ISPOLN используется для хранения данных об исполнителях и имеет следующие поля (таблица 3):
Таблица 3
ИмяОписаниеТипIdидентификатор исполнителя (первичный ключ)INTEGERNAZVНазвание исполнителяVARCHARADRESSАдрес исполнителяVARCHARDIRECTORДиректорVARCHARINNИНН исполнителяINTEGERKPPКПП исполнителяINTEGERR_SРасчетный счет исполнителяINTEGERBANKБанкVARCHARK_SКассовый счетINTEGERGOS_CONTR_IDвнешний ключ на таблицу GOS_CONTRINTEGERSCH_F_IDвнешний ключ на таблицу SCH_FINTEGER
Таблица PREDM используется для хранения данных о предметах государственных контрактов и имеет следующие поля (таблица 4):
Таблица 4
ИмяОписаниеТипIdидентификатор предмета договора, государственного контракта (первичный ключ)INTEGERPREDMпредмет договора, государственного контракта.VARCHARPRILOZH_IDвнешний ключ на таблицу PRILOZHINTEGERTEX_ZAD_IDвнешний ключ на таблицу TEX_ZADINTEGER
Таблица VID_RAB используется для хранения данных о видах работ и имеет следующие поля (таблица 5):
Таблица 5
ИмяОписаниеТипIdидентификатор вида работ (первичный ключ)INTEGERVID_RABвид работVARCHARNAIM_IZDнаименование изделия (вторичный ключ)INTEGERGOS_CONTR_IDвнешний ключ на таблицу GOS_CONTRINTEGERSCH_F_IDвнешний ключ на таблицу SCH_FINTEGERNAIM_IZD_IDвнешний ключ на таблицу SCH_FINTEGER
Таблица TEX_ZAD используется для хранения данных о технических заданиях для будущих государственных контрактов и договоров и имеет следующие поля (таблица 6):
Таблица 6
ИмяОписаниеТипIdидентификатор технического задания (первичный ключ)INTEGERPODRВнешний ключ на таблицу PODRAZDELENIYAINTEGERPREDMПредмет договора, государственного контрактаVARCHARDATA_RAZMДата размещения заявкиDATADATA_RASSMДата рассмотрения заявкиDATADATA_ZAKLДата заключения контрактаDATAN_KZНомер котировочной заявкиINTEGERPREDM_IDВнешний ключ на таблицу PREDMINTEGERN_GK_IDВнешний ключ на таблицу GOS_CONTRINTEGERТаблица GOS_CONTR используется для хранения данных о государственных контрактах и имеет следующие поля (таблица 7):
Таблица 7
ИмяОписаниеТипIdидентификатор государственных контрактов (первичный ключ)INTEGERNНомер государственного контрактаINTEGERDATAДатаDATAISPИсполнительINTEGERVID_RABВид работINTEGERPODRПодразделениеINTEGERSUMMСуммаINTEGERISPOLN_IDВнешний ключ на таблицу ISPOLNINTEGERVID_RAB_IDВнешний ключ на таблицу VID_RABINTEGERPODRAZDELENIYA_IDВнешний ключ на таблицу PODRAZDELENIYAINTEGER
Таблица PRILOZH используется для хранения данных о приложениях к государственным контрактам и имеет следующие поля (таблица 8):
Таблица 8
ИмяОписаниеТипIdидентификатор приложенийINTEGERN_DOGНомер договораINTEGERPREDMПредмет договораINTEGERVID_RABВид работINTEGERNAIM_IZDНаименование изделияINTEGERED_IZMЕдиница измеренияVARCHARKOLКоличествоINTEGERSTOIMСтоимостьINTEGERSUMMСуммаINTEGERPREDM_IDВнешний ключ на таблицу PREDMETINTEGERVID_RAB_IDВнешний ключ на таблицу VID_RABINTEGER
Таблица SCH_F используется для хранения данных о счет-фактурах и имеет следующие поля (таблица 9):
Таблица 9
ИмяОписаниеТипIdидентификатор счет-фактурINTEGERN_SCH_FНомер счет-фактурыINTEGERN_AKTAНомер актаINTEGERN_DOGНомер договораINTEGERDATAДатаISPИсполнительINTEGERPODRПодразделениеINTEGERKOLКоличествоINTEGERVID_RABВид работINTEGERNAIM_IZDНаименование изделияINTEGERPRICEСтоимостьINTEGERSTOIMСуммаINTEGERISPOLN_IDВнешний ключ на таблицу ISPOLNINTEGERPODRAZDELENIYA_IDВнешний ключ на таблицу PODRAZDELENIYAINTEGERVID_RAB_IDВнешний ключ на таблицу VID_RABINTEGERNAIM_IZD_IDВнешний ключ на таблицу NAIM_IZDINTEGER
Реляционные связи между вышеперечисленными таблицами представлены на рисунке 5.2.
Рис. 5.2. Реляционная схема данных
5.2Создание автоматизированной системы
Доступ к данным этой СУБД необходимо осуществлять с помощью SQLdb. В качестве компонентов доступа к базе данных использовался набор IBConnection. SQLdb - это интерфейс прикладного уровня, который используется разработчиками приложений для доступа к данным.
В разработке программы использовались следующие компоненты:
-IBConnection - этот компонент используется другими компонентами для подключения к источникам данных SQLdb;
-TSQLQuery - потомок TDataset и он представляет данные из SQL запроса в виде таблицы. Также этот компонент можно использовать для выполнения запроса, не возвращающих данных.
-TSQLTransaction - cоздает транзакцию на сервере базы данных.
-TDataSource - обеспечивает взаимодействие набора данных с компонентами отображения данных;
-TMainMenu - определяет главное меню формы;
-TPanel - представляет собой контейнер общего назначения;
-TEdit - представляет собой однострочный редактор текста. С его помощью можно вводить и / или отображать достаточно длинные текстовые строки;
-TDBLookupComboBox - реализация списков подстановки в текущий набор данных из другого набора данных;
-TDBEdit - представляет собой однострочный редактор текста, привязанный к определенному столбцу таблицы базы данных, позволяющий вводить и редактировать данные;
-TDBGrid - используется для манипуляций с данными, извлеченными ?/p>