Проектирование информационной системы 'Страховая компания'

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    24,57 kb
  • Опубликовано:
    2011-05-16
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Проектирование информационной системы 'Страховая компания'

Содержание

Введение

. Разработка требования к базе данных

.1 Постановка задачи

.2 Анализ информационных потоков, выбор модели

. Проектная часть

.1 Проектирование базы данных

.2 Создание базы данных

.3 Программирование

Заключение

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

Приложение

Введение

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

Рассматривая такую предметную область как деятельность страховой компании, несомненно, невозможно обойтись без структурирования информации в базу данных.

Актуальность создания приложения базы данных, как части информационной системы, очевидна - возможность использования базы данных людьми, не знакомыми с IT-технологиями, обеспечение быстрого доступа к информации, хранимой в базе данных, возможность совместного использования базы данных несколькими пользователями, возможность построения отчетов по запросу пользователя.

Целью данной курсовой работы является проектирование информационной системы «Страховая компания».

Для достижения этой цели в работе решаются следующие задачи:

разработать необходимые проектные материалы, такие как бланки документации, структура экономических показателей, модель «сущность-связь», структура реляционной базы данных, реализация запросов средствами реляционной алгебры;

реализовать полученные таблицы в одной из системы управления базами данных;

создать программу работы локальной базы данных;

реализовать запросы средствами языка SQL.

Практическая значимость работы.

Полученные результаты, материал курсовой работы можно использовать в сфере деятельности различных страховых компаний.

Структура курсовой работы.

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

1. Разработка требования к базе данных

В процессе разработки требований к базе данных можно выделить следующие этапы:

Постановка задачи.

Анализ информационных потоков, выбор модели.

Рассмотрим эти этапы:

1.1 Постановка задачи

Необходима разработка следующих проектных материалов

бланков входных и выходных документов;

структуры всех экономических показателей;

модели «сущность - связь»;

структуры реляционной БД в 3 нормальной форме;

реализации запросов к реляционной БД средствами реляционной алгебры.

В программной части необходима:

реализация полученных таблиц в одной из СУБД;

программирование работы локальной БД, реализация запросов на языке SQL.

1.2 Анализ информационных потоков, выбор модели

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

В данной курсовой работе требуется разработать приложение для работы с базой данных «Страховая Компания», система управления которой предназначена для автоматизации работы Страховой компании. Страховая компания является промежуточным звеном между страховыми агентами и клиентами. Наличие этого звена необходимо, так как любая страховая компания является посредником в отношениях страховой агент-клиент. На Рисунке 1 отображена рассматриваемая взаимосвязь.

Рисунок 1 - Пример взаимосвязей информационных потоков

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

Основная задача проектирования базы данных - определение количества отношений и их реквизитного состава. Совокупность реквизитов, объединенных в более крупную единицу данных, называется составной единицей информации. На основе последних можно составить входные и выходные документы базы данных «Страховая компания».

Рассмотрим выходной документ «Страховой полис»

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

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

. К заверительной части документа относятся реквизиты: имя страхового агента (оформившего документ) и имя директора страховой компании с подписями, дата.

ОАО «РИКС»

СТРАХОВОЙ ПОЛИС №401

Оформлен на: Ковров С.Л./подпись/

Наименование события страхования

Страхование Жизни

Срок действия полиса до

09.11.2010

Периодичность страховых взносов

4

Сумма страховых взносов

100 000

Сумма страховых выплат

500 000

Оплата полиса

100 000


Оформил: Климентьева О.П./подпись/

Директор: Крыжная С.В./подпись/

.11.2009

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

. К предметным строкам документа отнесем реквизиты: индивидуальный код сотрудника, ФИО сотрудника, наименование отдела (в котором числится страховой агент), оклад (назначенный страховому агенту).

. К заверительной части документа относятся реквизиты: имя директора страховой компании, подпись директора.

Входной документ «Сведения о сотрудниках компании» будет выглядеть следующим образом:

СВЕДЕНИЯ О СОТРУДНИКАХ КОМПАНИИ

ОАО «РИКС»

На 01.01.2009

ИК сотрудника

ФИО

Отдел

Оклад

101

Климентьева О.П.

Страхования Жизни и Здоровья

60 000

102

Артуров А.С.

Страхования Жизни и Здоровья

60 000

103

Ермоленко Н.П.

Страхования Имущества

55 000

104

Воронцова С.Г.

Страхования Имущества

55 000

105

Андреев С.А.

Страхование Животных

50 000


Директор: Крыжная С.В./подпись/

Еще одним входным документом является документ «Виды страхования».

. К общей части относятся следующие реквизиты: наименование документа, название организации.

. Предметные строки документа отражают следующие реквизиты: код события страхования, наименование события страхования, а так же сферу страхования.

. К заверительной части документа отнесем реквизиты: имя директора страховой компании, подпись директора, дата.

ОАО «РИКС»

ВИДЫ СТРАХОВАНИЯ

Код события страхования

Наименование события страхования

Сфера страхования

501

Страхование Жизни

Жизнь и здоровье

502

Страхование Здоровья

Жизнь и здоровье

503

Страхование от Несчастного Случая

Жизнь и здоровье

504

Страхование Недвижимости

Имущество

505

Страхование Ценных Бумаг

Имущество

506

Страхование Животных

Животные


Директор: Крыжная С.В./подпись/

.01.2009

На следующем этапе следует продумать структуру экономических показателей путем расчленения всех сведений на показатели, а потом объединить реквизиты родственных показателей по принципу «В одно отношение включается группа экономических показателей с одинаковым составом реквизитов-признаков». Такой подход позволяет создать структуру базы данных с минимальной избыточностью.

Показателем является отношение с минимальным набором реквизитов, способных образовать самостоятельный документ. Как известно в состав показателя должны входить один реквизит-основание и несколько реквизитов-признаков, однозначно характеризующих условия существования основания.

Здесь следует отметить, что в процессе работы был откорректирован список реквизитов, представленный в задании к курсовой работе. Так был исключен такой реквизит как «Агент, оформивший полис», так как разрабатываемая база данных будет позволять связь между страховым полисом и списком всех страховых агентов. Так же в представленный список были добавлены следующие реквизиты: «Код клиента», «Код отдела» (для обеспечения лучшей автоматизации работы с базой данных); «Наименование события страхования» (для представления более полной и понятной информации); «Оплата за полис, Оклад» (для реализации расчета заработной платы).

ОСНОВАНИЯ

ПРИЗНАКИ

Оклад

ИК агента

Сумма взносов

ФИО агента

ИК отдела

Оплата за полис

Название отдела

Зарплата

Руководитель отдела


ИК клиента


ФИО клиента


ИК события страхования


Событие страхования


ИК полиса


Срок действия до


Периодичность взносов


Дата составления


Можно сделать вывод, что в документах приложения базы данных «Страховая компания» будет пять показателей. Подберем реквизиты-признаки для каждого основания и получим показатели.

У основания «Оклад» необходимо установить, назначается ли оклад на договорной основе для каждого сотрудника или же он является фиксированным. Предположим, что каждый страховой агент, заключая договор, оговаривает свой оклад, тогда необходимыми признаками для этого показателя будут «ИК Агента», «ФИО агента», «ИК Отдела», «Название Отдела», «Руководитель Отдела» (информация об агенте, имеющим определенный оклад).

В результате структура показателя П1 примет вид:

П1 (ИК Агента, ФИО агента, ИК Отдела, Название Отдела, Руководитель Отдела, Оклад)

Для показателя П2 основанием является «Сумма взносов», определяемый каждым отдельным страховым полисом, следовательно данный показатель будет выглядеть следующим образом:

П2 (ИК Полиса, ИК Клиента, ФИО Клиента, Срок Действия до, Периодичность Взносов, Дата Составления, Сумма Взносов)

Показатель ПЗ имеет основание «Сумма выплат», которое является аналогичным основанию «Сумма взносов», таким образом, содержания показателя П3 и П2 будут идентичными.

П3 (ИК Полиса, ИК Клиента, ФИО Клиента, Срок Действия до, Периодичность Взносов, Дата Составления, Сумма Выплат)

Основание «Оплата за полис» так же определяется каждым отдельным страховым полисом, однако предположим, что оплата не зависит от периодичности страховых взносов, тогда показатель П4 будет выглядеть следующим образом:

П4 (ИК Полиса, ИК Агента, ФИО агента, ИК Клиента, ФИО Клиента, Дата Составления, Оплата за Полис).

«Зарплата» в показателе П5 является результатом вычисления:

«Зарплата» = «Оклад» + «Оплата за полис», поэтому признаки показателя П5 получаются в результате объединения признаков показателей П1 и П4.

П5 (ИК Полиса, ИК Агента, ФИО агента, ИК Отдела, Название Отдела, Руководитель Отдела, ИК Клиента, ФИО Клиента, Дата Составления, Зарплата).

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

Методом, решающим этот недостаток является построение модели данных.

Модель данных - это совокупность трех составляющих:

множество информационных конструкций, допускаемых этой моделью;

множество допустимых операций над данными;

множество ограничений, наложенных на информационные конструкции.

Иными словами модель данных - это инструмент для представления данных в базе данных.

В целях обеспечения наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в создаваемой базе данных построим модель, называемую «сущность-связь». Эту модель данных пытаются строить по аналогии с естественным языком (последний не может быть использован в чистом виде из-за сложности компьютерной обработки текстов и неоднозначности любого естественного языка). Основными конструктивными элементами таких моделей являются сущности, связи между ними и их свойства (атрибуты).

Сущность - любой различимый объект (объект, который мы можем отличить от другого), информацию о котором необходимо хранить в базе данных.

В проектируемой базе данных сущностями будут являться: АГЕНТ, ОТДЕЛ, КЛИЕНТ, СОБЫТИЯ СТРАХОВАНИЯ, ПОЛИС.

Необходимо различать такие понятия, как тип сущности и экземпляр сущности. Понятие тип сущности относится к набору однородных личностей, предметов, событий или идей, выступающих как целое. Экземпляр сущности относится к конкретной вещи в наборе. Например, типом сущности может быть АГЕНТ, а экземпляром - данные каждого конкретного страхового агент.

Атрибут - поименованная характеристика сущности. Примерами атрибутов для сущности КЛИЕНТ будут индивидуальный код клиента, его фамилия, имя, отчество и т.д.

Ключ - минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности. К примеру в сущности ПОЛИС исключение из атрибутов такого как код полиса не позволит однозначно определить данный документ, поэтому ключом сущности ПОЛИС является атрибут - код полиса.

Связь - ассоциирование двух или более сущностей. Для выявления связей между сущностями необходимо, как минимум, определить сами сущности и их атрибутный состав. Построим модель «сущность-связь»

Рисунок 2 - Модель «сущность-связь»

Переход от модели «сущность-связь» к реляционной модели данных осуществим через нормализацию.

В реляционной модели данных информационной конструкцией является отношение (таблица); операциями - проекция, выборка и соединение; ограничением - функциональная зависимость.

По определению, в отношении R(A,B) реквизит А функционально определяет реквизит В, если в любой момент времени каждому значению А соответствует единственное значение В.

На первом шаге алгоритма приведения отношений к третьей нормальной форме, составим все функциональные зависимости рассматриваемой предметной области:

код агента --> ФИО агента

код агента --> код отдела

код агента --> оклад

код отдела --> название отдела

код отдела --> руководитель отдела

код клиента --> ФИО клиента

код события страхования --> событие страхования

код полиса --> код агента

код полиса --> код клиента

код полиса --> код события страхования

код полиса --> срок действия полиса до

код полиса --> периодичность взносов

код полиса --> сумма взносов

код полиса --> сумма выплат

код полиса --> дата составления

код полиса --> оплата за полис

На шаге 2, применяя теорему 2, имеющую следующий вид

АŠВ, АŠС => АŠВ, С,

получим пять функциональных зависимостей:

код агента --> ФИО агента, код отдела, оклад

код отдела --> название отдела, руководитель отдела

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

код клиента --> ФИО клиента

код события страхования --> событие страхования

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

Код полиса.

Для каждой функциональной зависимости создадим проекцию исходного отношения:

Т1= R [код агента, ФИО агента, код отдела, оклад]

Т2= R [код отдела, название отдела, руководитель отдела]

Т3= R [код клиента, ФИО клиента]

Т4= R [код события страхования, событие страхования]

Т5= R [код полиса, код агента, код клиента, код события страхования, срок действия полиса до, периодичность взносов, сумма взносов, сумма выплат, дата составления, оплата за полис]

Таким образом, переход к третьей нормальной форме привел в данном примере к пяти отношениям.

Для составления запросов, указанных в задании воспользуемся средством реляционной алгебры - операцией выборки.

Выдать информацию о событиях страхования без страховых выплат

Этот запрос относится ко второму типу: (?)@v, где @ - один из знаков сравнения, v- одно из значений неключевого атрибута А

Запрос будет выглядеть так:

Сумма страховых выплат (номер страхового полиса, ФИО агента, ФИО клиента, код события страхования)=0

Вход запроса: Сумма страховых выплат

Выход запроса: номер страхового полиса, ФИО агента, ФИО клиента, код события страхования

Оболочка запроса: Сумма страховых выплат, номер страхового полиса, ФИО агента, ФИО клиента, код события страхования

Вывести список просроченных полисов

Данный запрос также относится ко второй форме:(?)@v, где @ - один из знаков сравнения, v- одно из значений неключевого атрибута А

Составим запрос:

Срок действия страхового полиса (номер страхового полиса, ФИО агента, ФИО клиента)< дата

Вход запроса: Срок действия страхового полиса

Выход запроса: номер страхового полиса, ФИО агента, ФИО клиента

Оболочка запроса: Срок действия страхового полиса, номер страхового полиса, ФИО агента, ФИО клиента

Для пояснения последнего запроса приведем пример.

Вывести список просроченных полисов на 6.11.2009.

Выполняя этот запрос средствами реляционной алгебры, получим:

Срок действия страхового полиса (номер страхового полиса, ФИО агента, ФИО клиента)<’06.11.09’.

2. Проектная часть

база данная страховой полис

В проектной части необходимо выполнить следующие этапы:

Проектирование базы данных (определение состава полей её таблиц и связей между ними).

Создание базы данных.

Программирование выполнения операций над данными.

Отладка программы.

2.1 Проектирование базы данных

После анализа особенностей автоматизируемой области деятельности следует приступить к, возможно, самому важному этапу - проектированию будущей БД, которое заключается в определении состава полей её таблиц и связей между ними. От того, насколько тщательно проведен анализ и насколько грамотно спроектирована БД, в существеннейшей мере зависит эффективность будущего приложения БД и его полезность для пользователя.

В проектируемой базе данных должно быть пять таблиц (исходя из полученных пяти отношений в 3НФ). В таблице Agent - будут храниться все необходимые сведения о сотрудниках компании - с указанием отдела (специализации агента) и его оклада. В таблице Otdel разместим сведения, указывающие на код отдела, его название и руководителя. Таблица Klient будет отражать список клиентов страховой компании с их индивидуальными кодами. В таблице Sob_strah выведем список возможных событий страхования, а так же их коды. Таблица Polis предназначена для хранения сведений о страховых полисах - то есть: дата составления полиса, код агента, оформившего полис, код клиента, на которого был оформлен полис, сумма страховых взносов, сумма страховых выплат и т.п. и.т.д.

Таблица Polis

ИМЯ ПОЛЯ

НАЗНАЧЕНИЕ

ID_polisa

Уникальный идентификатор страхового полиса (первичный ключ)

Kod_agenta

Код агента, составившего страховой полис

Kod_klienta

Код клиента, на которого составлен страховой полис

Kod_sobitiya_strahovaniya

Код события страхования

Srok_dejstviya_do

Дата, до которой действителен страховой полис

Periodi4nost_vznosov

Периодичность страховых взносов

Summa_vznosov

Сумма страховых взносов

Summa_viplat

Сумма страховых выплат

Gonorar

Стоимость полиса


Таблица Agent

ИМЯ ПОЛЯ

НАЗНАЧЕНИЕ

ID_agenta

Уникальный код страхового агента (первичный ключ)

FIO_agenta

ФИО страхового агента

Kod_otdela

Код отдела, в котором числится агент

Oklad

Размер оклада по договору

ИМЯ ПОЛЯ

НАЗНАЧЕНИЕ

ID_klienta

Уникальный идентификатор клиента (первичный ключ)

FIO_klienta

ФИО клиента


Таблица Otdel

ИМЯ ПОЛЯ

НАЗНАЧЕНИЕ

ID_otdela

Уникальный идентификатор отдела (первичный ключ)

Nazvanie_otdela

Наименование отдела

Rukovoditel_otdela

ФИО руководителя отдела


Таблица Sob_strah

ИМЯ ПОЛЯ

НАЗНАЧЕНИЕ

ID_sobitiya_strahovaniya

Уникальный идентификатор события страхования (первичный ключ)

Sobitie_strahovaniya

Наименование события страхования

2.2 Создание базы данных

Под созданием базы данных подразумевается создание таблиц будущей БД, проектирование связей между ними, а также задание свойств таблиц. При необходимости следует ввести контроль за содержимым полей, проверку правильности введенного в поле значения; добавить вычисляемые и просматриваемые поля. Перед созданием БД необходимо создать каталог, в котором будут размещаться таблицы, и настроить рабочий каталог утилиты DataBase Desktop (File/Working Directory).

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

В каждой таблице необходимо создать ключевое поле, чтобы в дальнейшем устанавливать связи между таблицами. Для этого необходимо поставить знак * в столбце Key при занесении ключевого поля. Так для таблицы Polis ключевым будет являться поле - ID_polisa, для таблицы Agent - ID_agenta, Klient - ID_klienta, Otdel - ID_otdela, Sob_strah - ID_sobitiya_strahovaniya.

Таблицы Polis и Agent содержат поля, в которых будет заноситься информация денежного типа (Summa_vznosov, Summa_viplat, Gonorar, Oklad), чтобы отразить это при занесении этих полей в столбце Type указываем значение $.

Таблица Polis содержит поля, указывающих на дату (Srok_dejstviya_do, Data_sostavleniya). Для начала необходимо определить их тип, отмечая в столбце Type значение Date. Так же укажем образец представления этой информации, для чего в строке Picture вводим значение ##.##.##, то есть все даты в базе данных будут отражаться следующим образом: 01.01.10

В данном примере таблица Polis содержит информацию об оформленных страховых полисах, а таблица Agent - списки сотрудников, значащихся в компании. Необходимо задать ссылочную целостность (Referential Integrity) для автоматической блокировки попыток изменения поля связи в родительской таблице, пока соответствующим образом не изменены связанные с ней записи в дочерней таблице.

2.3 Программирование

Важным шагом, конечно же, является конструирование главной и вспомогательных (при необходимости) форм. Delphi предоставляет разработчику широкие возможности быстрого и качественного проектирования графического интерфейса пользователя. Но следует учесть, что разработанное приложение будет являться одним из приложений Windows, и от графического интерфейса, оптимально удобного расположения компонентов - зависит производительность работы пользователя с программным продуктом. Каждое вводимое окно должно быть тщательно продумано и скомпоновано, неудачная компоновка может рассеивать внимание, отвлекать на поиск нужной кнопки и т.д. При проектировании приложения важно правильно определить последовательность фокусировки элементов.

Программирование работы приложения базы данных приведено в листинге (Приложение А).

Для эффективной работы с базой данных «Страховая компания» необходимо установить связи между созданными таблицами, которая представлена на Рисунке 6.

Для большей наглядности и удобства в работе применен компонент PageControl, с помощью которого полученная информация была систематизирована и размещена на раздельных вкладках. Так в работе представлено четыре вкладки:

Просмотр. Вкладка отражает все созданные таблицы и информацию в них.

Редактирование. Данная вкладка позволяет вносить новую информацию в уже созданные таблицы.

Запросы. На этой вкладке происходит реализация запросов, приведенных в задании курсовой работы.

Зарплата. На данной вкладке с помощью средств языка SQL реализуется расчет заработной платы каждого страхового агента с учетом временного периода.

Рисунок 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)

По заданию необходимо было выполнить реализацию двух запросов, однако в процессе работы было решено рассчитывать зарплату каждого страхового агента по следующей формуле:

Зарплата=Оклад+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. Эти параметры позволяют при выполнении запроса самостоятельно вводить значение даты. Реализуется это следующим образом.

Для расчета зарплаты: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 проведена реализация запросов, заявленных в рамках курсовой работы.

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

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

Разработанная база данных может быть применена для систематизации информации, хранимой в страховых компаниях, и автоматизации процесса пользования этой информацией.

В свете широкого использования IT-технологий, представленная курсовая работа является актуальной и отвечает предъявленным к ней требованиям. Проект разработан и написан на языке программирования высокого уровня Borland Delphi 7.0 с использованием языка SQL.

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

1. Архангельский А. Я. Программирование в Delphi 5. - М. : ЗАО “Издательство БИНОМ”, 2000. - 1070 c.

. Гофман В. Э., Хомоненко А. Д. Delphi. Быстрый старт. - СПб. : БХВ - Санкт-Петербург, 2002. - 208 с.

. Культин Н. Б. Delphi 6. Программирование на Object Pascal. Самоучитель. - СПб. : БХВ-Петербург, 2001. - 528 с.

. Фаронов В. В. Delphi 6. Учебный курс. - М. : Издатель Молгачева С. В., 2002. - 672 с.

. Фаронов В. В., Шумаков П. В. Delphi 5. Руководство разработчика баз данных. - М. : “Нолидж”, 2000. - 640 с.

. Хендерсон К. Руководство разработчика баз данных в Delphi 2 / Пер. с англ. - К. : «Диалектика», 1996. - 544 с.

Приложение

Unit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ExtCtrls, DB, DBCtrls, Grids, DBGrids, DBTables, ComCtrls,, Spin;= class(TForm): TPageControl;: TTabSheet;: TTabSheet;: TTable;: TDataSource;: TTable;: TTable;: TDataSource;: TDataSource;ID_polisa: TIntegerField;Kod_agenta: TIntegerField;Kod_klienta: TIntegerField;Kod_sobitiya_strahovaniya: TIntegerField;Srok_dejstviya_do: TDateField;Periodi4nost_vznosov: TIntegerField;Summa_vznosov: TCurrencyField;Summa_viplat: TCurrencyField;Gonorar: TCurrencyField;Data_sostavleniya: TDateField;ID_otdela: TIntegerField;Nazvanie_otdela: TStringField;Rukovoditel_otdela: TStringField;ID_sobitiya_strahovaniya: TIntegerField;Sobitie_strahovaniya: TStringField;: TTable;: TTable;: TDataSource;: TDataSource;ID_agenta: TIntegerField;FIO_agenta: TStringField;Kod_otdela: TIntegerField;Oklad: TCurrencyField;ID_klienta: TIntegerField;FIO_klienta: TStringField;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TButton;: TLabel;: TLabel;: TLabel;: TEdit;: TEdit;: TEdit;: TLabel;: TLabel;: TLabel;: TLabel;: TEdit;: TEdit;: TEdit;: TEdit;: TLabel;: TLabel;: TEdit;: TEdit;: TLabel;: TLabel;: TEdit;: TEdit;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TButton;: TButton;: TButton;: TButton;: TTabSheet;: TButton;: TDBGrid;: TQuery;: TDataSource;: TEdit;: TEdit;: TLabel;: TLabel;: TPanel;: TPanel;: TButton;: TButton;: TEdit;: TLabel;: TQuery;: TDataSource;: TDBGrid;: TQuery;: TDataSource;: TDBGrid;: TPanel;: TPanel;: TTabSheet;: TLabel;: TLabel;: TDBGrid;: TDBNavigator;: TDBGrid;: TDBGrid;: TDBGrid;: TDBGrid;: TRadioGroup;: TEdit;: TButton;: TComboBox;: TLabel;: TComboBox;: TPanel;: TPanel;: TPanel;: TPanel;: TPanel;Button1Click(Sender: TObject);RadioGroup1Click(Sender: TObject);FormCreate(Sender: TObject);Button2Click(Sender: TObject);Button4Click(Sender: TObject);Button3Click(Sender: TObject);Button5Click(Sender: TObject);Button7Click(Sender: TObject);Button9Click(Sender: TObject);Button8Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm1;, Month, Day: Word;

{$R *.dfm}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;;TForm1.RadioGroup1Click(Sender: TObject);.Filtered:=true;RadioGroup1.ItemIndex=0 then Table1.Filtered:=false elseRadioGroup1.ItemIndex=1 then.Filter:='Kod_sobitiya_strahovaniya='''+ComboBox1.Text+'''' elseRadioGroup1.ItemIndex=2 then.Filter:='Srok_dejstviya_do<='''+Edit22.Text+'''' elseRadioGroup1.ItemIndex=3 then.Filter:='Kod_agenta='''+ComboBox2.Text+'''';;TForm1.FormCreate(Sender: TObject);(date,year,month,day);;TForm1.Button2Click(Sender: TObject);.Insert;ID_otdela.Value:=StrToInt(Edit11.Text);Nazvanie_otdela.Value:=Edit12.Text;Rukovoditel_otdela.Value:=Edit13.Text;.Post;;TForm1.Button4Click(Sender: TObject);.Insert;ID_agenta.Value:=StrToInt(Edit14.Text);FIO_agenta.Value:=Edit15.Text;Kod_otdela.Value:=StrToInt(Edit16.Text);Oklad.Value:=StrToInt(Edit17.Text);.Post;;TForm1.Button3Click(Sender: TObject);.Insert;ID_sobitiya_strahovaniya.Value:=StrToInt(Edit18.Text);Sobitie_strahovaniya.Value:=Edit19.Text;.Post;;TForm1.Button5Click(Sender: TObject);.Insert;ID_klienta.Value:=StrToInt(Edit20.Text);FIO_klienta.Value:=Edit21.Text;.Post;;TForm1.Button7Click(Sender: TObject);.Active:=false;.ParamByName('data1').AsDate:=strtodate(Edit24.Text);.ParamByName('data2').AsDate:=strtodate(Edit25.Text);.Active:=true;;TForm1.Button9Click(Sender: TObject);.Active:=false;.Active:=true;;TForm1.Button8Click(Sender: TObject);.Active:=false;.ParamByName('data3').AsDate:=strtodate(Edit26.Text);.Active:=true;;.

Похожие работы на - Проектирование информационной системы 'Страховая компания'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!