ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕХНОЛОГИЙ И УПРАВЛЕНИЯ им К.Г. Разумовского
Кафедра «Инженерных технологий»
КУРСОВАЯ РАБОТА
по предмету «Базы данных»
на тему «Разработка прикладного программного обеспечения деятельности «Бюро технической инвентаризации»
Выполнил:
студент 4 курса
специальности 230102
группы АСУ-3Д
Калашников А.В.
Проверил:
Ткаченко Д.С.
Оценка _____________________
Волоколамск 2011
Содержание
Задание на курсовую работу 3
Таблицы и принципы их нормализации 4
Схема данных 7
Формы 8
Запросы 10
Отчеты 10
Листинг модулей и обработчиков событий 11
Список используемой литературы 16
Задание на курсовую работу
Вариант 29. Разработать прикладное программное обеспечение деятельности «Бюро технической инвентаризации» по изготовлению и выдаче технических паспортов на объекты недвижимости. Перед регистрацией сделки с объектом недвижимости собственник объекта должен получить в БТИ на него технический паспорт. Ежедневно в БТИ обращается до 200 человек. Основное назначение программного комплекса - не пропустить ни одного документа. Если технический паспорт не готов в назначенный срок, то БТИ должно выплатить неустойку. Алгоритм изготовления документа следующий. Клиент обращается к инспектору, сдает ему необходимые справки, согласовывает дату выхода техника на обмер, уплачивает аванс. Инспектор передает заявку начальнику отдела. Начальник отдела назначает исполнителя и техника. Техник выполняет обмер объекта. Исполнитель изготавливает документ и передает в отдел выдачи. В назначенный срок клиент забирает готовый документ, доплатив недостающую сумму. Один клиент (физическое или юридическое лицо) может заказать несколько технических паспортов, за изготовление которых оплата может производиться частями.
Набор данных к варианту 29
№ |
Поле |
Тип |
Размер |
Описание |
1 |
NumberClaim |
Числовой |
10 |
Номер заявки на изготовление документа |
2 |
Name |
Текстовый |
60 |
ФИО заказчика |
3 |
Phone |
Текстовый |
10 |
Телефон для связи с заказчиком |
4 |
Receipt |
Логический |
1 |
Физическое или юридическое лицо |
5 |
Bank |
Текстовый |
60 |
Банк заказчика |
6 |
Account |
Текстовый |
20 |
Номер счета в банке |
7 |
Address |
Текстовый |
60 |
Адрес объекта |
8 |
District |
Текстовый |
15 |
Район города |
9 |
DateStart |
Дата |
Авто |
Дата приема заявки |
10 |
Document |
Текстовый |
60 |
Название документа |
11 |
Speed |
Логический |
1 |
Срочное изготовление (да/нет) |
12 |
DateStop |
Дата |
Авто |
Дата выдачи документа |
13 |
Cost |
Денежный |
15 |
Стоимость изготовления документа |
14 |
Inspector |
Дата |
Авто |
Дата выхода техника |
15 |
Time |
Текстовый |
20 |
Время выхода техника |
16 |
Chief |
Текстовый |
30 |
ФИО начальника отдела |
17 |
Worker |
Текстовый |
30 |
ФИО исполнителя |
18 |
DateWorker |
Дата |
Авто |
Дата передачи исполнителю |
19 |
Helper |
Текстовый |
30 |
ФИО техника |
20 |
Cash |
Логический |
1 |
Оплата наличными (да/нет) |
21 |
DateCost |
Дата |
Авто |
Дата оплаты |
22 |
Value |
Денежный |
15 |
Оплаченная сумма |
23 |
Finish |
Логический |
1 |
Документ выдан (да/нет) |
24 |
Comment |
Поле Memo |
Авто |
Примечания |
Таблицы и принципы их нормализации
Первая нормальная форма. Таблица находится в первой нормальной форме, если значения всех ее полей атомарные, и в ней отсутствуют повторяющиеся группы полей.
Приведем наши данные к первой нормальной форме. Выделим самостоятельные группы полей и поместим их в отдельные таблицы. На первый взгляд их три. Это информация о заказчиках, выдаче заявок и сотрудниках.
Таблица «Заказчики» содержит поля:
ФИО заказчика
Телефон заказчика
Физическое или юридическое лицо
Банк заказчика
Номер счета в банке
Адрес объекта
Район города
Дата приема заявки
Название документа
Срочное изготовление
Дата выдачи
Стоимость изготовления
id заказчика
Таблица «Выдача заявок» содержит поля:
Номер заявки
Оплата наличными
Дата оплаты
Оплаченная сумма
Документ выдан
Примечания
Таблица «Сотрудники» содержит поля:
Номер заявки
Дата выхода техника
Время выхода техника
ФИО начальника отдела
ФИО исполнителя
Дата передачи исполнителю
ФИО техника
id заказчика
Таблица «Заказчики» не соответствует первой нормальной форме, так как это отношение не находится в первой нормальной форме, на одном заказчике может быть несколько заявок. Мы ее разбиваем на таблицы «Банковские данные заказчика» и «Заявки».
Таблица «Банковские данные заказчика» содержит поля:
ФИО заказчика
Телефон заказчика
Физическое или юридическое лицо
Банк заказчика
Номер счета в банке
Адрес объекта
Район города
Id заказчика
Таблица «Заявки» содержит поля:
Номер заявки
Дата приема заявки
Название документа
Срочное изготовление
Дата выдачи
Стоимость изготовления
Id заказчика
Таким образом, мы получили четыре таблицы: Банковские данные заказчика, Заявки, Выдача заявок, Сотрудники работающие над заявкой.
Вторая нормальная форма. Таблица находится во второй нормальной форме, если она удовлетворяет условиям первой нормальной формы, и любое неключевое поле однозначно идентифицируется полным набором ключевых полей.
Поле Номер заявки в таблице Заявки можно определить как простой ключ. Этим же требованиям отвечают поля Номер заявки в таблице Выдача заявок и Сотрудники работающие над заявкой, Id заказчика в таблице Заявки, Банковские данные заказчиков и Выдача заявок.
Третья нормальная форма. Таблица находится в третьей нормальной форме, если она удовлетворяет условиям второй нормальной формы и ни одно из неключевых полей таблицы не идентифицируется с помощью другого неключевого поля.
Все таблицы находятся в третьей нормальной форме, так как удовлетворяем условиям второй нормальной формы, так как ни одно из неключевых полей таблицы не идентифицируется с помощью другого неключевого поля.
Связь «Один-ко-многим» соответствует записи Id заказчика в таблице Банковские данные заказчика и записи Id заказчика в таблице Заявки. Записи Id заказчика в таблице Банковские данные заказчика и записи Id заказчика в таблице Выдача заявки.
Связь «Один-к-одному» соответствует записи Номер заказа в таблице Выдача заявок и записи Номер заказа в таблице Сотрудники работающие над заявкой. Записи Номер заказа в таблице Сотрудники работающие над заявкой и записи Номер заявки в таблице Заявки. Записи Номер заказа в таблице Сотрудники работающие над заявкой и записи Номер заявки в таблице Выдача заявки.
Схема данных
На данном рисунке, отображающем схему данных базы, представлены следующие взаимосвязи между таблицами:
Таблица «Банковские данные заказчиков» находится в связи «один-ко-многим» с таблицей «Заявки», так как один клиент может отправить несколько заявок.
Таблица «Банковские данные заказчиков» находится в связи «один-ко-многим» с таблицей « Выдача заявки», так как один клиент может забрать несколько заявок.
Таблица «Сотрудники работающие над заявкой» находится в связи «один-к-одному» с таблицей «Заявки», так как каждый из сотрудников может заниматься только одной заявкой.
Таблица «Сотрудники работающие над заявкой» находится в связи «один-к-одному» с таблицей «Выдача заявок», так как каждый из сотрудников занимаясь одной заявкой не может выдать больше.
Формы
Форма «Меню»
Данная форма является главной, появляется сразу после запуска приложения и служит для обеспечения доступа к отчетам, справочникам и другим формам а также предоставляет пользователю возможность завершения работы с программой.
Форма «Заявки»
Данная форма необходима для ввода и редактирования данных о заявках, а также для отображения данных в табличном виде.
Форма «Выдача заявок»
Данная форма необходима для ввода и редактирования данных о выданных заявках, а также для отображения данных в табличном виде.
Форма «Банковские данные заказчиков»
Данная форма позволяет редактировать банковские данные заказчиков, а также предоставляет пользователю возможность просмотра данных в табличном виде.
Форма «Сотрудники работающие над заявкой»
Данная форма позволяет редактировать данные о сотрудниках, а также предоставляет пользователю возможность просмотра данных в табличном виде.