Автоматизация системы кредитования банка
Поволжский государственный
университет телекоммуникаций и информатики
Факультет «Информационных систем и
технологий»
Кафедра «Информационные
системы и технологии»
КУРСОВАЯ РАБОТА
по дисциплине «Базы данных»
Студентка группыКозлова Ольга Семёновна
Самара 2011
Оглавление
1. Постановка задачи
. Инфологическая модель. Семантическое моделирование. Концептуальная модель
.Разработка таблиц и схемы
базы данных
.Запросы системы
Выводы
Список используемых
источников
1. Постановка
задачи
Система кредитования банка
Небольшой банк автоматизирует деятельность, связанную с кредитованием
физических и юридических лиц (индивидуальных клиентов и организаций). В
настоящее время кандидат на получение кредита заполняет бумажную форму,
прикладывает необходимые документы (финансовый отчет, перспективную оценку
финансового состояния и др.) и отправляет в банк. Референт по кредитованию
анализирует запрос на предмет возможных ошибок и подтверждает его
достоверность. Затем референт запрашивает отчет о кредитных операциях клиента в
отделе кредитования. Копия отчета просматривается банковским служащим, а
референт проверяет финансовое положение и доход клиента. Служащий также
обращается к существующей системе управления счетами клиентов, чтобы получить
необходимую информацию о состоянии счета и предыдущих кредитах клиента. Вся
информация комплектуется в кредитный запрос и направляется для оценки
инспектору по кредитам. Если запрос утверждается, инспектор определяет
наилучшие условия кредитования и уведомляет об этом клиента. Если клиент
принимает условия, то кредит оформляется. На обработку запроса обычно уходит
минимум две недели (как для индивидуальных клиентов, так и для организаций).
Цели автоматизации - сократить время обработки запроса до 48 часов для индивидуальных
клиентов и 72 часов для организаций, сократить количество сотрудников, занятых
в процессе обработки и увеличить количество запросов, обрабатываемых в заданный
период времени.
Вариант задания предусматривает разработку ER-диаграммы, хранящей список читателей, каталог книг и записи
о выдаче книг.
Реализация настоящей БД должна быть произведена средствами СУБД MySQL.
В MySQL должны разрабатываться таблицы,
связи между ними.
Необходимо также разработать не менее 10 запросов следующих типов:
. С использованием внутреннего соединения по одному полю;
2. С использованием косвенно связанных таблиц;
. С использованием внешнего соединения таблиц;
. С использованием рекурсивного соединения;
. С использованием вложенного запроса;
. С использованием функций агрегирования;
. Перекрестный запрос;
. С параметрами;
. С вычисляемым полем.
.
Инфологическая модель
Семантическое
моделирование
Из описания предметной области следуют:
1. Сущности:
· Договор;
· Физическое лицо;
· Юридическое лицо;
· Погашение;
· Кредитная история;
2. Атрибуты:
· Номер;
· ИНН;
· Сумма;
· Дата заключения договора;
· Срок кредита;
· Процентная ставка;
· Вид клиента;
являются атрибутами сущности «Договор».
· ИНН физического лица;
· Фамилия;
· Имя;
· Отчество;
· Номер, серия паспорта;
· Регистрация;
· Доход;
являются атрибутами сущности «Физическое лицо».
· ИНН юридического лица;
· Название организации;
· Вид деятельности;
· Вид организации;
· Доход;
являются атрибутами сущности «Юридическое лицо».
· Номер договора;
· Дата погашения;
· Сумма;
являются атрибутами сущности «Погашение».
· ИНН;
· Сумма кредита;
· Дата погашения;
· Задолженность;
· Название банка;
· Вид клиента;
являются атрибутами сущности «Кредитная история».
· Номер является первичным ключом сущности «Договор»;
· ИНН физического лица является первичным ключом сущности «Физическое
лицо»;
· ИНН юридического лица является первичным ключом сущности «Юридическое
лицо»;
· ИНН является первичным ключом сущности «Кредитная история»;
· Номер договора является первичным ключом сущности «Погашение»;
4. Связи
сущностей:
Между сущностями «Договор» и «Погашение»:
Слева направо: «Договор может иметь несколько погашений»;
Справа налево: «Каждое погашение должно принадлежать одному договору»;
Тип связи: один - ко многим.
Между сущностями «Договор» и «Юридическое лицо»:
Слева направо: «Договор может быть заключен несколько раз юридическим
лицом»;
Справа налево: «Каждое юридическое лицо заключает несколько договоров»;
Тип связи: многие - к одному.
Между сущностями «Договор» и «Физическое лицо»
Слева направо: «Договор может быть заключен несколько раз физическим
лицом»;
Справа налево: «Каждое физическое лицо заключает несколько договоров»;
Тип связи: многие - к одному.
Между сущностями «Физическое лицо» и «Кредитная история»
Слева направо: «Одно физическое лицо может иметь несколько кредитных
историй»;
Справа налево: «Каждая кредитная история должна принадлежать одному
физическому лицу»;
Тип связи: многие - к одному.
Между сущностями «Юридическое лицо» и «Кредитная история»
Слева направо: «Одно юридическое лицо может иметь несколько кредитных
историй»;
Справа налево: «Каждая кредитная история должна принадлежать одному
физическому лицу»;
Тип связи: многие - к одному.
Концептуальная модель заданной предметной области представлена на рис. 1
Рис 1. ER-диаграмма предметной области
3. Разработка
таблиц и схемы базы данных
Для создания данной системы управления данными понадобятся следующие
таблицы:
· Dogovor
· Pogashenie
· Kreditnaya_istoriya
· Yur_lico
· Phiz_lico
В СУБД MySQL создание таблицы происходит с
помощью команды CREATE TABLE.
Создание таблицы Dogovor (Договор):
TABLE `Dogovor`(`Nomer` INT(11) NOT NULL ,`INN` INT(100) NOT
NULL ,
`Summa` INT(11) NOT NULL ,
`Data_zakl_dogovora` DATE NOT NULL ,
`Srok_kredita` INT(4) NOT NULL ,
`Procentnaya_stavka` INT (11) NOT NULL ,
`Vid_klienta` VARCHAR (20) NOT NULL;
Добавление первичного ключа таблицы Dogovor (Договор):
ALTER TABLE `Dogovor` ADD PRIMARY KEY (`Nomer`)
Структура таблицы Dogovor (Договор):
Создание таблицы Pogashenie (Погашение):
CREATE TABLE `Pogashenie` (`Nomer_dogovora` INT(11) NOT NULL,
`Data_pogash` DATE NOT NULL ,
`Summa` INT (11) NOT NULL ;
Добавление первичного ключа таблицы Pogashenie (Погашение):
TABLE `Pogashenie` ADD PRIMARY KEY (`Nomer_dogovora`)
Структура таблицы Pogashenie (Погашение):
Создание таблицы Kreditnaya_istoriya (Кредитная
история):
CREATE TABLE `Kreditnaya_istoriya` (`INN` BIGINT(100) NOT
NULL,
`Summa_kredita` INT(11) NOT NULL,
`Data_pogash` DATE NOT NULL ,
` Zadolzh` INT(11) NOT NULL ,
`Nazvanie_banka` VARCHAR(80) NOT NULL ,
`Vid_klienta` VARCHAR(20) NOT NULL);
Добавление первичного ключа таблицы Kreditnaya_istoriya (Кредитная история):
ALTER TABLE `Kreditnaya_istoriya` ADD PRIMARY KEY (`INN`)
Структура таблицы Kreditnaya_istoriya (Кредитная
история):
Создание таблицы Phiz_lico (Физическое лицо):
CREATE TABLE `Phiz_lico` (`INN_PL` BIGINT(100) NOT NULL,
`Familiya` VARCHAR(50) NOT NULL,
`Imya` VACHAR(50) NOT NULL,
`Nomer_seriya_pasporta` BIGINT(20) NOT NULL,
`Registraciya` VARCHAR(300) NOT NULL,
`Dohod` INT(11) NOT NULL);
Добавление первичного ключа таблицы Phiz_lico (Физическое лицо):
ALTER TABLE `Phiz_lico` ADD PRIMARY KEY (`INN_PL`)
Структура таблицы Phiz_lico (Физическое лицо)
Создание таблицы Yur_lico (Юридическое лицо):
CREATE TABLE `Yur_lico` (`INN_YL` BIGINT(20) NOT NULL,
`Nazvanie_org` VARCHAR (80) NOT NULL,
`Vid_deyat` VACHAR (120) NOT NULL,
`Vid_org` VARCHAR (100) NOT NULL,
`Dohod` INT (11) NOT NULL);
Добавление первичного ключа таблицы Yur_lico (Юридическое лицо):
ALTER TABLE `Yur_lico` ADD PRIMARY KEY (`INN_YL`)
Структура таблицы Yur_lico (Юридическое лицо)
Общая структура базы данных
С помощью команд INSERT INTO и VALUES происходит вставка строк внутрь той
или иной таблицы.
Вставка строки для таблицы Dogovor (Договор) выполняется следующим образом:
INSERT INTO `Dogovor` (`Nomer`, `INN`, `Summa`,
`Data_zakl_dogovora`, `Srok_kredita`, `Procentnaya_stavka`, `Vid_klienta`)('1',
'116708980763', '50000', '2011-06-27', '6', '25', 'Phiz_lico');
Для вставки последующих значений в каждую таблицу команды INSERT INTO и VALUES выполняются аналогично.
Данные в таблице Dogovor (Договор):
Данные в таблице Pogashenie (Погашение):
Данные в таблице Kreditnaya_istoriya (Кредитная
история):
Данные в таблице Phiz_lico (Физическое лицо):
база данный кредитование банк
Данные в таблице Yur_lico (Юридическое лицо):
4. Запросы
системы
Для данной системы было создано 11 запросов:
Запрос 1. Какие договора были заключены физическими лицами в период с 1
по 30 ноября 2011 года;
Создается по данным таблиц Dogovor (Договор), Phiz_lico (Физическое лицо) и является запросом с использованием
внутреннего соединения по одному полю:
Результат выполнения запроса 1:
Запрос 2. Каково текущее состояние кредита организации «ДНС»;
Создается по данным таблиц Dogovor (Договор), Yur_lico (Юридическое лицо), Pogashenie (Погашение) и является запросом с
использованием косвенно связанных таблиц:
Результат выполнения запроса 2:
Запрос 3. Вывести, в какие еще дни погашались кредиты, погашенные 11
апреля 2011 года;
Создается по данным таблиц Dogovor (Договор), Kreditnaya_istoriya (Кредитная история) и является
вложенным запросом:
Результат выполнения запроса 3:
Запрос 4. Выбрать всех юридических лиц, у которых время погашения кредита
приходится на промежуток между 10 и 15 декабря 2011 года;
Создается по данным таблиц Dogovor (Договор), Yur_lico (Юридическое лицо), Pogashenie (Погашение) и является запросом с
использованием левого внешнего соединения таблиц:
Результат выполнения запроса 4:
Запрос 5. Найти ИНН клиентов, которые взяли кредит на тот же срок, что и клиент
Которов, ИНН которого 631439803814;
Создается по данным таблицы Dogovor (Договор) и является запросом с использованием
рекурсивного соединения:
Результат выполнения запроса 5:
Запрос 6. Вывести доход, клиента Гольцова с номером паспорта 3601525301;
Создается по данным таблиц Dogovor (Договор), Phiz_lico (Физическое лицо) и является вложенным
запросом:
Результат выполнения запроса 6:
Запрос 7. Найти минимальный и максимальный доход юридических лиц;
Создается по данным таблицы Yur_lico (Юридическое
лицо) и является запросом с использованием функций агрегирования MIN, MAX:
Запрос 8. . Есть ли физическое лицо, которое уже брало кредит(если да, то какова
сумма предыдущего кредита и есть ли задолженность);
Создается по данным таблицы Kreditnaya_istoriya (Кредитная
история) и является запросом с параметрами:
Результат выполнения запроса 8:
Запрос 9. Найти ИНН клиентов, процентная ставка которых больше, чем у ОАО
Ермаково, ИНН которого 212147483647;
Создается по данным таблиц Dogovor (Договор) и является запросом с использованием
рекурсивного соединения:
Результат выполнения запроса 9:
Запрос 10. Посчитать, количество физических и юридических клиентов;
Создается по данным таблиц Dogovor (Договор) и является запросом с использованием
вычисляемого поля:
Результат выполнения запроса 10:
Выводы
· В данной работе была исследована предметная область «Система кредитования
банка»;
· Построена инфологическая модель;
· Разработана даталогическая модель базы данных средствами MySQL, включающая 5 таблиц и
соответствующие связи между ними;
· Разработаны 10 запросов для отображения данных из таблиц.
Список
используемых источников
1. Ларри
Ульман «MySQL. Руководство по изучению языка». Издательство: ДМК Пресс, Питер.
Год: 2004
2. М.
Кузнецов, И. Симдянов «MySQL на примерах». Издательство: БХВ-Петербург, 2007 г.
3. Лекции по
дисциплине «Управление данными»