Разработка системы управления базой данных (СУБД) «Аэропорт»
Курсовая работа, 08 Июня 2015, автор: пользователь скрыл имя
Описание работы
СУБД — это программное обеспечение, которое взаимодействует с прикладными программами пользователя, базой данных и обладает перечисленными ниже возможностями:
позволяет создать базу данных, что обычно осуществляется с помощью языка определения данных (DDL — Data Definition Language). Язык DDL предоставляет пользователям средства указания типа данных и их структуры, а также средства задания ограничений для информации, хранимой в базе данных;
Файлы: 1 файл
Пояснительная_записка.docx
— 488.04 Кб (Скачать файл)Содержание
ВВЕДЕНИЕ
Темой данного проекта является разработка системы управления базой данных (СУБД) «Аэропорт».
СУБД — это программное обеспечение, которое взаимодействует с прикладными программами пользователя, базой данных и обладает перечисленными ниже возможностями:
- позволяет создать базу данных, что обычно осуществляется с помощью языка определения данных (DDL — Data Definition Language). Язык DDL предоставляет пользователям средства указания типа данных и их структуры, а также средства задания ограничений для информации, хранимой в базе данных;
- позволяет вставлять, обновлять, удалять и извлекать информацию из базы данных, что обычно осуществляется с помощью языка манипулирования данными (DML — Data Manipulation Language). Наличие централизованного хранилища всех данных и их описаний позволяет использовать язык DML как общий инструмент организации запросов, который иногда называют языком запросов (query language);
- предоставляет контролируемый доступ к базе данных.
СУБД является передаточным механизмом между прикладной программой и информационным хранилищем и позволяет сосредоточиться на работе с данными, абстрагировавшись от их физического размещения, а также берет на себя заботу эффективного их сохранения и выборки. С СУБД связаны такие понятия, как запрос, транзакция и модель данных. Разрабатываемая СУБД будет работать с сервером баз данных MySQL. Для связи классов разрабатываемого проекта с таблицами базы данных (БД) будет использоваться библиотека для языка программирования C# – NHibernate.
NHibernate – инструмент объектно-реляционного отображения (Object-RelationalMapping, ORM) данных для C#-окружения. Целью NHibernate является освобождение разработчика от большинства общих работ, связанных с задачами получения, сохранения данных в СУБД. Эта технология помогает удалить или инкапсулировать зависящий от поставщика SQL-код, а также решает стандартную задачу преобразования типов C#-данных в типы данных SQL и наборов данных из табличного представления в объекты C#-классов. [Э1]
Для достижения желаемой цели – разработка СУБД «Аэропорт», требуется решить следующие задачи:
- Спроектировать базу данных «Аэропорт»;
- Создать инициализирующий скрипт БД для СУБД MySQL;
- Подключить библиотеку NHibernate;
- Организовать mapping-сущности при помощи аннотаций;
- Реализовать удаление записей из базы данных;
- Реализовать добавление записей в базу данных;
- Реализовать просмотр содержимого таблиц базы данных;
- Реализовать поиск данных по определенным параметрам.
РАЗРАБОТКАТЕХНИЧЕСКОГО ЗАДАНИЯ
Техническое задание (ТЗ) – исходный материал для создания информационной системы или другого продукта. ТЗ, в первую очередь, должно содержать основные технические требования к продукту и отвечать на вопрос, что данная система должна делать, как работать и при каких условиях.
Таким образом, ТЗ является документом, который позволяет представить конечный продукт и требования к нему для последующей проверки на соответствие предъявленным требованиям.
Техническое задание для данного курсового проекта приведено в приложении А.
Выбор среды проектирования
Среда проектирования – это программное средство для проектирования программного обеспечения на начальных этапах ее разработки, включающее создание UML-диаграмм, генерация кода для конструируемого программного обеспечения и в некоторых случаях реверс-инжиниринг имеющегося кода на некоторых языках программирования.
Таблица сравнения сред проектирования приведена в таблице 1.1.
Таблица 1.1 - Сравнение сред проектирования
Название |
Enterprise Architect |
Microsoft Visual Studio |
Поддержка UMLмоделей и диаграмм |
Да |
Да |
Генерация кода для конструирования программного обеспечения |
Да |
Нет |
Реверс-инжиниринг имеющегося кода на некоторых языках программирования |
Да |
Нет |
Поддержка тестирования, управления сопровождением и изменениями программного обеспечения |
Да |
Нет |
Документация на русском языке |
Нет |
Да |
Поддерживаемые языки программирования |
C++, C#, Delphi, Java, Python, PHP, VB.NET, Visual Basic |
C++, C#, Visual Basic |
Возможность создания документации |
Да |
Нет |
В данном курсовом проекте была выбрана среда проектирования Enterprise Architect по ряду преимуществ, представленных в таблице 1.1 по сравнению с другими средами проектирования. Наиболее важными критериями выбора среды проектирования были поддержка языка программирования Javaи реверс-инжиниринг имеющегося кода на языке Java.
Выбор языка программирования
Язык программирования (ЯП) – это формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит компьютер под ее управлением.
Сравнение языков программирования представлено в таблице 1.2.
Таблица 1.2 – Сравнение языков программирования
Название |
Java |
C# |
Простота изучения |
Да |
Да |
Объектно-ориентированный язык |
Да |
Да |
Независимость от платформы |
Да |
Нет |
Автоматический сборщик мусора |
Да |
Да |
Документация на русском языке |
Нет |
Да |
Интерпретируемый |
Да |
Да |
Поддержка интерфейсов |
Да |
Да |
Поддержка множественного наследования классов |
Нет |
Нет |
В данном курсовом проекте был выбран язык программирования C# по преимуществам, описанным в таблице 1.2.
C# — это полнофункциональный объектно-ориентированный язык, который поддерживает все три «столпа» объектно-ориентированного программирования: инкапсуляцию, наследование и полиморфизм. Он имеет прекрасную поддержку компонентов, надежен и устойчив благодаря использованию «сборки мусора», обработки исключений, безопасности типов. Язык C# разрабатывался «с нуля» и вобрал в себя много полезных свойств таких языков, как C++, Java, Visual Basic, а также Pascal, Delphy и др. При этом необходимость обратной совместимости с предыдущими версиями отсутствовала, что позволило языку C# избежать многих отрицательных сторон своих предшественников. Как и Java, C# разрабатывался для Интернет и примерно 75% его синтаксических возможностей аналогичны языку программирования Java, его также называют «очищенной версией Java». 10% подобны языку программирования C++, а 5% – заимствованы из языка программирования Visual Basic. Объем новых концептуальных идей в языке C# около 10%. Выделение и объединение лучших идей современных языков программирования делает язык C# не просто суммой их достоинств, а языком программирования нового поколения.
Выбор среды разработки
Среда программирования – это программа или комплекс программ, предназначенная для разработки программного обеспечения и обычно ориентируется на конкретный язык или несколько языков программирования. Интегрированная среда программирования содержит в себе все необходимые компоненты для разработки программ: редактор с подсветкой синтаксиса конкретного языка программирования, отладчик для тестирования программы и выявления в ней логических ошибок.
Сравнение сред разработки приведено в таблице 1.3.
Таблица 1.3 – Сравнение сред разработки
Название |
Microsoft Visual Studio |
SharpDevelop |
Поддержка рефакторинга |
Да |
Да |
Поддержка профилирования |
Да |
Да |
Автодополнение набираемых конструкция на лету |
Да |
Да |
Предопределенные шаблоны кода |
Да |
Да |
Выделение синтаксических конструкций цветом |
Да |
Да |
Открытый исходный код |
Нет |
Да |
Бесплатность |
Нет |
Да |
Поддержка отладки программного обеспечения |
Да |
Да |
Кроссплатформенность |
Нет |
Нет |
Русский язык интерфейса |
Да |
Нет |
Поддерживаемые языки программирования |
C++, C#, Visual Basic |
C#, Visual Basic .NET, Boo, IronPython, IronRuby, F#, C++ |
В данном курсовом проекте была выбрана среда разработки Microsoft Visual Studio по некоторым преимуществам, таким, как: она проще для начинающего потребителя, в ней лучше инструменты рефакторинга, больше пользовательских настроек.
ПРОЕКТИРОВАНИЕ СУБД
Выявление необходимого набора сущностей.
В данном курсовом проекте необходимо реализовать базу данных «Аэропорт», в связи с чем выявлены основные сущности:
Airport. Описывает аэропорт. Содержит следующие атрибуты: ID, название, ID города.
Board. Описывает борт. Содержит следующие атрибуты: ID, название, ID самолета, ID компании.
ClassType. Описывает тип класса. Содержит следующие атрибуты: ID, название.
Company. Описывает компанию. Содержит следующие атрибуты: ID, название, количество самолетов, ID страны.
City. Описывает город. Содержит следующие атрибуты: ID, название, ID страны.
Country. Описывает страну. Содержит следующие атрибуты: ID, название.
Flight. Описывает рейс. Содержит следующие атрибуты: ID, ID борта, время взлета, время посадки, ID аэропорта взлета, ID аэропорта посадки.
Orders. Описывает заказ. Содержит следующие атрибуты: ID, ID рейса, дата рейса, ID типа класса, место, ID пассажира, стоимость, статус оплаты.
Passenger. Описывает пассажира. Содержит следующие атрибуты: ID, имя, фамилия, отчество, номер паспорта, пол, дата рождения.
Plane. Описывает самолет. Содержит следующие атрибуты: ID, название, количество мест.
Users. Описывает пользователя. Содержит следующие атрибуты: ID, логин, пароль, привилегии.
Сущности "City" и "Airport" – связь «многие к одному».
Сущности "Plane" и "Board" – связь «многие к одному».
Сущности "Company" и "Board" – связь «многие к одному».
Сущности "City" и "Country" – связь «многие к одному».
Сущности "Country" и "Company" – связь «многие к одному».
Сущности "Board" и "Flight" – связь «многие к одному».
Сущности "Airport" и "Flight" – связь «многие к одному».
Сущности "Flight" и "Orders" – связь «многие к одному».
Сущности "ClassType" и "Orders" – связь «многие к одному».
Сущности "Passenger" и "Orders" – связь «многие к одному».
В таблице 2.1 представлен перечень сущностей, названия первичных ключей и атрибуты сущностей.
Таблица 2.1 – Перечень сущностей, названия первичных ключей и атрибуты сущностей
Сущность |
Первичный ключ |
Вторичные ключи |
Атрибуты |
Airport |
ID |
id_country |
name, city |
Board |
ID |
id_plane, id_company |
name |
ClassType |
ID |
name | |
Company |
ID |
id_country |
name, planesCount |
City |
ID |
id_country |
name |
Продолжение таблицы 2.1
Сущность |
Первичный ключ |
Вторичные ключи |
Атрибуты |
Country |
ID |
name | |
Flight |
ID |
id_board, id_ap_up, id_ap_down |
name, downTime |
Orders |
ID |
id_flight, id_classType, id_passenger |
flightDate, seatNumber, cost, payed |
Passenger |
ID |
name, surname, surname, passportNumber, gender, dob | |
Plane |
ID |
name, seats | |
Users |
ID |
name, password, admin |