ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
Ордена Трудового Красного Знамени федеральное государственное
Образовательное бюджетное учреждение высшего образования
«Московский технический университет связи и информатики»
Курсовая работа
Разработка БД для АСУ «Автошкола»
Выполнила: Иванова Иоанна
Студентка группы БСТ17xx
Москва 2020
СОДЕРЖАНИЕ
1.1. Анализ объекта автоматизации ООО «АРГО» 3
1.2. Обзор информационных технологий, подходящих для разработки БД 8
1.3. Обзор продуктов аналогов 12
1.4. Требования к разрабатываемой базе данных 20
Выводы 21
2.1. Разработка инфологической модели БД 22
2.2. Обоснование выбора модели данных 23
2.3. Даталогическое проектирование БД 28
2.4 Нормализация 31
Выводы 32
3.1 Анализ и выбор СУБД 34
3.2. Физическое проектирование БД 35
3.3 Разработка представлений 39
3.4 Разработка форм 40
3.5 Разработка отчетов 42
3.6. Безопасность и контроль 44
Использование баз данных и информационных систем становится неотъемлемой составляющей деловой деятельности современного человека и функционирования преуспевающих организаций. В связи с этим большую актуальность приобретает освоение принципов построения и эффективного применения соответствующих технологий и программных продуктов: систем управления базами данных, CASE-средств автоматизации проектирования и других.
Объектом исследования курсовой работы является функционирование автошколы, деятельность которой связана с квалифицированным обучением по профессии водителя для последующего получения водительского удостоверения категории «Б».
Предметом исследования курсовой работы является бизнес-процесс работы с учениками в Автошколе.
Целью курсового проекта является разработка информационной системы для автоматизации процесса работы с учениками в Автошколе. Также целью данной работы является ознакомление с основными принципами построения, использования и оптимизации реляционных баз данных.
Задачи курсового проекта:
провести системный анализ предметной области автошколы «АРГО»;
провести обзор информационных технологий, подходящих для разработки;
изучить аналогичные информационные системы данной предметной области;
описать требования, предъявляемые к разработке данной базы данных;
разработать инфологическую модель базы данных;
обосновать выбор модели данных и осуществить логическое проектирование базы данных;
нормализовать спроектированную модель и составить схему базы данных;
осуществить реализацию БД на выбранной СУБД;
Данная тема актуальна, так как большое количество людей заинтересовано в получении навыка вождения легкового автомобиля, а также открытии категории «Б».
Данная задача будет решаться с помощью анализа предметной области, ее формализации с помощью функциональных зависимостей. Затем необходимо провести этапы минимизации системы функциональных зависимостей, описывающих предметную область, и на основании полученной редуцированной системы спроектировать требуемую модель БД.
Автошкола должна быстро и качественно, как и любое другое торговое предприятие, обслуживать клиентов. База данных автошколы будет использоваться как работниками, так и клиентами.
При работе с этой базой данных каждый клиент может получить информацию об интересующем его свободном времени для урока или инструкторе.
Предметом курсового проекта является автошкола «АРГО», которая является частным образовательным учреждением по подготовке и обучению водителей категории «Б».
Основной целью деятельности Автошколы «АРГО» является предоставление учебного автомобиля с автоматической коробкой переключения передач (АКПП) или механической коробкой переключения передач (МКПП) клиенту, обучение клиента теоретической части настоящих Правил Дорожного Движения, обучение навыкам вождения легкового автомобиля, подготовка учащегося к сдаче экзаменов в ГИБДД, таких как «Площадка» и «Город», подготовка к непредсказуемым условиям городского маневрирования, а также возможность получения навыка экстремального вождения.
Основные бизнес-процессы компании – закупка бензина, складирование его запасов, продажи курсов, взаиморасчеты с клиентами.
Автошкола «АРГО» осуществляет следующие виды деятельности:
Обучение, наблюдение и контроль за обучающимся в соответствии с установленными правилами безопасности;
Подготовку обучающегося к сдаче экзаменов в ГИБДД;
Надлежащее хранение и предоставление учебных автомобилей в соответствии с утвержденными правилами, нормами, требованиями;
Определение текущих успехов и отслеживание готовности обучающегося к сдаче какой-либо части экзамена;
Ведение состояния автопарка Автошколы, которое включает в себя своевременную диагностику, качественный ремонт, надежную замену расходных материалов, поддержание чистоты салона и внешнего вида автомобиля.
Создание оперативного резерва бензина, необходимого для своевременной заправки автомобилей;
Ведение и хранение необходимых документов клиента, необходимых для обучения и получения категории «Б».
Автошкола состоит из двух помещений: офиса и класса теории. Так же в автошколе есть свой штат сотрудников: инструкторы, бухгалтер, начальник-главный инструктор. Клиент, приходя в автошколу, взаимодействует с начальником-старшим инструктором (далее руководитель) или инструктором, который, в свою очередь, осуществляет обучение или продажу. Операции с денежными средствами и отбивку чека осуществляет так же руководитель или инструктор, который в данный момент находится на смене. При покупке курса, клиент получает чек с указанием часа занятия и его стоимости. При отсутствии возможности занятия на ранее выбранном учебном автомобиле, автошкола предоставляет схожий по габаритам и мощности автомобиль в соответствии с курсом клиента (АКПП или МКПП).
В автошколе ведется документация: кассовая книга (сумма проданных курсов, которая отдается бухгалтеру, а затем передается в налоговую для отчетности), приходная накладная, ведется учет доходов и расходов автошколы.
Управление автошколы осуществляется согласно Уставу на основании сочетания прав собственника по хозяйственному использованию своего имущества, самоуправления трудового коллектива, коллегиальности и единоначалия.
Бизнес-процесс организации обучения в автошколе «АРГО» происходит по следующей схеме:
Поиск клиентов. Встреча с клиентом, выявление его уровня подготовки и пожеланий. Эту задачу может выполнять как руководитель, так и инструктор, т.к. являясь непосредственными лекторами курсов и занятий они одинаково квалифицированы в своих знаниях.
Процесс поиска клиентов один из самых важных и значимых этапов
в работе автошколы. Привлечение внимания, как правило, осуществляется за счёт рекламирования услуг и предложений автошколы. Однако, возможны и другие пути: рассылка информации по запросам, привлечение клиентов в интернете, посредством личного контакта или с помощью «сарафанного радио».
Продажа курса. При продаже курса, руководитель или инструктор регистрирует клиента в базе с пометкой «курс», которая даёт возможность клиенту записаться на занятие ровно 10 раз по сниженному тарифу, после чего клиент считается готовым к сдаче экзамена.
Для покупке курса клиенту необходимо предоставить паспорт и оплатить курс полностью или частями. По завершению курса клиент должен оплатить госпошлину и предоставить чек в автошколу для регистрации на экзамен.
Возможное событие «Запись недоступна». В данной ситуации клиент не может записаться на занятие, т.к. на данный день уже набрано максимальное количество учеников, либо на данный час заняты все автомобили, либо день является нерабочим.
Выдача документов об окончании курса обучения по профессии водитель категории «Б» и сопровождение в группе на экзамен в ГИБДД. Данные действия может выполнять как руководитель, так и инструктор, которые предоставляют на экзамен автомобиль.
Отмена занятия. В случае отмены занятия, клиент обязан уведомить об этом работника автошколы не позднее чем за 3 часа до занятия. В противном случае занятие сгорает, оплата за него не возвращается.
Руководитель/ Старший
инструктор
Бухгалтер
Инструктор
Рис. 1. Организационная структура автошколы «АРГО»
Автошколу «АРГО» возглавляет руководитель, который назначается и освобождается от должности по собственному желанию, т.к. является собственником имущества или уполномоченным им органом, осуществляет руководство деятельностью автошколы в соответствии с действующим законодательством по трудовому договору (по контракту).
На рисунке 1 представлена организационная структура автошколы «АРГО», которая состоит из руководителя, бухгалтера и интсруктора.
Руководитель производит общее руководство производственно-хозяйственной и финансово-экономической деятельностью предприятия, организацию взаимодействия всех работников, также преподает ученикам.
В бухгалтерии выполняется работа по ведению бухгалтерского учета имущества, обязательств и хозяйственных операций. Разрабатывается рабочий план счетов, формы первичных документов, применяемые для оформления хозяйственных операций. Также бухгалтерия следит за работой на кассе, отслеживая все действия по продажам.
Инструктор автошколы контролирует готовность автомобиля к занятию, проводит занятие с клиентом, в случае отсутствия бухгалтера или руководителя на месте, вносит оплату клиента в кассу.
Составим информационную модель, которая описывает какая информация необходима нам. В дальнейшем это послужит основой для создания базы данных. На основе анализа предметной области выделим следующие объекты, а также опишем какая информация об объекте нам важна:
В автошколе «АРГО» ведется учет всех работников, автомобилей и учеников.
Для сотрудника автошколы хранится следующая информация:
ФИО
Дата рождения
Паспортные данные
Телефон
Адрес
Дата приема на работу
Данные об автомобилях также фиксируются и хранятся:
Марка
Модель
Цвет
Данные о клиенте:
ФИО
Телефон
Паспортные данные
Данные о курсе:
Количество занятий
Цена
Выбранный автомобиль
Система управления базами данных (СУБД) — это специализированная программа (чаще комплекс программ), предназначенная для организации и ведения базы данных. В настоящее время существует множество СУБД, подходящих для разработки баз данных к самым разнообразным информационным системам.
СУБД можно условно разделить на следующие классы:
домашние (настольные) СУБД – подходят для использования в домашних условиях и создания небольших баз данных;
полупрофессиональные СУБД – в основном используются предприятиями малого бизнеса для проектирования баз данных обычных размеров;
профессиональные СУБД – пригодны для использования в любых бизнес-предприятиях и крупных корпорациях, служат для создания баз данных любых размеров.
Домашние (настольные) СУБД
Microsoft Access
Microsoft Office Access — реляционная СУБД корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.
Основные компоненты MS Access:
построитель таблиц;
построитель экранных форм;
построитель SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI);
построитель отчётов, выводимых на печать.
Они могут вызывать скрипты на языке VBA, поэтому MS Access позволяет разрабатывать приложения и БД практически «с нуля» или написать оболочку для внешней БД.
Microsoft Jet Database Engine, которая используется в качестве движка базы данных MS Access является файл-серверной СУБД и потому применима лишь к приложениям, работающим с небольшими объёмами данных и при небольшом числе пользователей, одновременно работающих с этим данными. Непосредственно в Access отсутствует ряд механизмов, необходимых в многопользовательских БД, таких, например, как триггеры.
Встроенные средства взаимодействия MS Access со внешними СУБД с использованием интерфейса ODBC снимают ограничения, присущие Microsoft Jet Database Engine. Инструменты MS Access, которые позволяют реализовать такое взаимодействие называются «связанные таблицы» (связь с таблицей СУБД) и «запросы к серверу» (запрос на диалекте SQL, который «понимает» СУБД).
Корпорация Microsoft для построения полноценных клиент-серверных приложений на базе MS Access рекомендует использовать в качестве движка базы данных СУБД MS SQL Server. При этом имеется возможность совместить с присущей MS Access простотой инструменты для управления БД и средства разработки.
Известны также реализации клиент-серверных приложений на базе связки Access 2003 c другими СУБД, в частности, MySQL.
Полупрофессиональные СУБД
MySQL
MySQL является собственностью компании Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License и под собственной коммерческой лицензией, на выбор. Помимо этого, компания MySQL AB разрабатывает функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации. [9]
MySQL является решением для малых и средних приложений. Входит в LAMP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.
MySQL портирована на большое количество платформ:AIX, BSDi, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, WinCE, Windows Vista и Windows 7. Существует также порт MySQL на OpenVMS. Важно отметить, что компания MySQL AB предоставляет для свободной загрузки не только исходные коды СУБД, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули.
MySQL имеет API для языков Delphi, C, C++, Эйфель, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk и Tcl, библиотеки для языков платформы .NET, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC.
Профессиональные СУБД
Oracle
Oracle Database - первая в мире база данных, разработанная специально для работы в сетях распределенных вычислений. Oracle Database предназначена для эффективного развертывания на базе различных типов оборудования, от небольших серверов до Oracle Enterprise Grid мощных многопроцессорных серверных систем, от отдельных кластеров до корпоративных распределенных вычислительных систем.
Oracle Database позволяет пользователям виртуализировать использование аппаратного обеспечения - серверов и систем хранения данных. Oracle Database обладает технологиями, которые позволяют администраторам надежно хранить и быстро распределять и извлекать данные для пользователей и приложений, работающих в сетях Grid. Oracle Database значительно повышает производительность обработки данных и включает в себя удобные средства администрирования.
Oracle Database предоставляет возможность автоматической настройки и управления, которая делает ее использование простым и экономически выгодным.
Ее уникальные возможности осуществлять управление всеми данными предприятия - от обычных операций с бизнес-информацией до динамического многомерного анализа данных (OLAP), операций с документами формата XML, управления распределенной/локальной информацией - делает ее идеальным выбором для выполнения приложений, обеспечивающих обработку оперативных транзакций, интеллектуальный анализ информации, хранение данных и управление информационным наполнением.
Некоторые ключевые возможности Oracle Database:
Real Application Cluster (RAC) обеспечивает работу одного экземпляра базы данных на нескольких узлах grid, позволяя управлять нагрузкой и гибко масштабировать систему в случае необходимости.
Automatic Storage Management (ASM) позволяет автоматически распределять данные между имеющимися ресурсами систем хранения данных, что повышает отказоустойчивость системы и снижает общую стоимость владения (TCO).
Производительность. Oracle Database позволяет автоматически управлять уровнями сервиса и тиражировать эталонные конфигурации в рамках всей сети.
Простые средства разработки. Новый инструмент разработки приложений HTML DB позволит простым пользователям создавать эффективные приложения для работы с базами данных в короткие сроки.
Самоуправление. Специальные механизмы Oracle Database позволяют самостоятельно перераспределять нагрузку на систему, оптимизировать и корректировать SQL-запросы, выявлять и прогнозировать ошибки.
Большие базы данных. Теперь максимальный размер экземпляра базы данных Oracle может достигать 8 экзабайт.
Недорогие серверные системы. Oracle Database может использовать недорогие однопроцессорные компьютеры или модульные системы из "серверов-лезвий".
В новой версии базы данных реализована поддержка переносимых табличных пространств, система управления потоками данных Oracle Streams и модель распределенных SQL-запросов. Для переноса существующих баз данных в среду Grid в них не потребуется вносить изменений, что позволяет быстро начать использовать все преимущества Oracle Database.