Проектирование информационной системы "Страховая компания"
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
олбце Type значение Date. Так же укажем образец представления этой информации, для чего в строке Picture вводим значение ##.##.##, то есть все даты в базе данных будут отражаться следующим образом: 01.01.10
В данном примере таблица Polis содержит информацию об оформленных страховых полисах, а таблица Agent - списки сотрудников, значащихся в компании. Необходимо задать ссылочную целостность (Referential Integrity) для автоматической блокировки попыток изменения поля связи в родительской таблице, пока соответствующим образом не изменены связанные с ней записи в дочерней таблице.
2.3 Программирование
Важным шагом, конечно же, является конструирование главной и вспомогательных (при необходимости) форм. Delphi предоставляет разработчику широкие возможности быстрого и качественного проектирования графического интерфейса пользователя. Но следует учесть, что разработанное приложение будет являться одним из приложений Windows, и от графического интерфейса, оптимально удобного расположения компонентов - зависит производительность работы пользователя с программным продуктом. Каждое вводимое окно должно быть тщательно продумано и скомпоновано, неудачная компоновка может рассеивать внимание, отвлекать на поиск нужной кнопки и т.д. При проектировании приложения важно правильно определить последовательность фокусировки элементов.
Программирование работы приложения базы данных приведено в листинге (Приложение А).
Для эффективной работы с базой данных Страховая компания необходимо установить связи между созданными таблицами, которая представлена на Рисунке 6.
Для большей наглядности и удобства в работе применен компонент PageControl, с помощью которого полученная информация была систематизирована и размещена на раздельных вкладках. Так в работе представлено четыре вкладки:
Просмотр. Вкладка отражает все созданные таблицы и информацию в них.
Редактирование. Данная вкладка позволяет вносить новую информацию в уже созданные таблицы.
Запросы. На этой вкладке происходит реализация запросов, приведенных в задании курсовой работы.
Зарплата. На данной вкладке с помощью средств языка SQL реализуется раiет заработной платы каждого страхового агента с учетом временного периода.
Рисунок 3 - Связь между таблицами
Спроектированная база данных предполагает не только просмотр готовых таблиц, но и добавление в них новых записей, для чего в работе использован метод Insert. Приведем пример:
Данная процедура позволяет вводить новые данные в таблицу Polis.TForm1.Button1Click(Sender: TObject);.Insert;ID_polisa.Value:=StrToInt(Edit1.Text);Kod_agenta.Value:=StrToInt(Edit2.Text);Kod_klienta.Value:=StrToInt(Edit3.Text);Kod_sobitiya_strahovaniya.Value:=StrToInt(Edit4.Text);Srok_dejstviya_do.Value:=StrToDate(Edit5.Text);Periodi4nost_vznosov.Value:=StrToInt(Edit6.Text);Summa_vznosov.Value:=StrToInt(Edit7.Text);Summa_viplat.Value:=StrToInt(Edit8.Text);Gonorar.Value:=StrToInt(Edit9.Text);Data_sostavleniya.Value:=StrToDate(Edit10.Text);.Post;;
Аналогично реализуется добавление данных и для других таблиц.
Кроме того база данных предполагает фильтрацию таблицы Polis по следующим критериям: по коду события страхования, по коду агента, а также по сроку действия страхового полиса. Фильтрация реализуется с помощью следующей процедуры:TForm1.RadioGroup1Click(Sender: TObject);.Filtered:=true;RadioGroup1.ItemIndex=0 then Table1.Filtered:=false elseRadioGroup1.ItemIndex=1 then
Table1.Filter:='Kod_sobitiya_strahovaniya='''+ComboBox1.Text+'''' elseRadioGroup1.ItemIndex=2 then
Table1.Filter:='Srok_dejstviya_do<='''+Edit22.Text+'''' elseRadioGroup1.ItemIndex=3 then
Table1.Filter:='Kod_agenta='''+ComboBox2.Text+'''';;
Для формирования поставленных в задании запросов воспользуемся языком запросов SQL.
Запрос, который требует выдать информацию о событиях страхования без страховых выплат будет выглядеть так:ID_POLISA, FIO_AGENTA, FIO_KLIENTA, SOBITIE_STRAHOVANIYAPOLIS, AGENT, KLIENT, SOB_STRAH(SUMMA_VIPLAT=0) AND (KOD_AGENTA=ID_AGENTA) AND (KOD_KLIENTA=ID_KLIENTA) AND (KOD_SOBITIYA_STRAHOVANIYA=ID_SOBITIYA_STRAHOVANIYA)
Рассмотрим следующий запрос. Вывести список просроченных полисов.ID_POLISA, FIO_AGENTA, FIO_KLIENTA, SOBITIE_STRAHOVANIYA, SROK_DEJSTVIYA_DOPOLIS, AGENT, KLIENT, SOB_STRAH(SROK_DEJSTVIYA_DO<:data3) AND (KOD_AGENTA=ID_AGENTA)AND (KOD_KLIENTA=ID_KLIENTA)AND (KOD_SOBITIYA_STRAHOVANIYA=ID_SOBITIYA_STRAHOVANIYA)
По заданию необходимо было выполнить реализацию двух запросов, однако в процессе работы было решено расiитывать зарплату каждого страхового агента по следующей формуле:
Зарплата=Оклад+0,6*sum(Оплата за полис), при этом необходимо учитывать дату начала и конца периода, за который происходит начисления. Таким образом, предпочтительнее реализация этого параметра средствами языка SQL:FIO_AGENTA, (OKLAD+.6*SUM(GONORAR))AGENT, POLIS (KOD_AGENTA=ID_AGENTA)AND(DATA_SOSTAVLENIYA>=:data1)AND(DATA_SOSTAVLENIYA<=:data2) BY FIO_AGENTA
Здесь следует пояснить, параметры data1, data2, data3. Эти параметры позволяют при выполнении запроса самостоятельно вводить значение даты. Реализуется это следующим образом.
Для раiета зарплаты:TForm1.Button7Click(Sender: TObject);.Active:=false;.ParamByName('data1').AsDate:=strtodate(Edit24.Text);.ParamByName('data2').AsDate:=strtodate(Edit25.Text);.Active:=true;;
Для реализации второго запроса:TForm1.Button8Click(Sender: TObject);.Active:=false;.ParamByName('data3').AsDate:=strtodate(Edit26.Text);.Active:=true;;
Заключение
В данной курсовой работе была спроектирована информационная система Страховая компания.
В процессе создания информационной системы были успешно решены задачи, поставленные в начале работы. Так были разработаны бланки двух входных и одного выходного документов, заявленных в задании; создана и проработана структура экономических показателей, используемых в базе данных Страховая компания; спроектирована модель сущность-связь; создана структура реляционной базы данных; полученные таблицы реализованы в СУБД; составлена программа работы локальной базы данных; а также с помощью средств реляционной алгебры и языка SQL проведена реализация запросов, заявленных в рамках курс