Разработка системы управления базой данных (СУБД) «Аэропорт»

Автор работы: Пользователь скрыл имя, 08 Июня 2015 в 23:49, курсовая работа

Описание работы

СУБД — это программное обеспечение, которое взаимодействует с прикладными программами пользователя, базой данных и обладает перечисленными ниже возможностями:
позволяет создать базу данных, что обычно осуществляется с помощью языка определения данных (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-сущности при помощи аннотаций;
  • Реализовать удаление записей из базы данных;
  • Реализовать добавление записей в базу данных;
  • Реализовать просмотр содержимого таблиц базы данных;
  • Реализовать поиск данных по определенным параметрам.

 

 

 

  1. РАЗРАБОТКАТЕХНИЧЕСКОГО ЗАДАНИЯ

 

 

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

Таким образом, ТЗ является документом, который позволяет представить конечный продукт и требования к нему для последующей проверки на соответствие предъявленным требованиям.

Техническое задание для данного курсового проекта приведено в приложении А.

 

    1. Выбор среды проектирования

 

 

Среда проектирования – это программное средство для проектирования программного обеспечения на начальных этапах ее разработки, включающее создание 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. Выбор языка программирования

 

 

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

Сравнение языков программирования представлено в таблице 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. Выбор среды разработки

 

 

Среда программирования – это программа или комплекс программ, предназначенная для разработки программного обеспечения и обычно ориентируется на конкретный язык или несколько языков программирования. Интегрированная среда программирования содержит в себе все необходимые компоненты для разработки программ: редактор с подсветкой синтаксиса конкретного языка программирования, отладчик для тестирования программы и выявления в ней логических ошибок.

Сравнение сред разработки приведено в таблице 1.3.

 

Таблица 1.3 – Сравнение сред разработки

Название

Microsoft Visual Studio

SharpDevelop

Поддержка рефакторинга

Да

Да

Поддержка профилирования

Да

Да

Автодополнение набираемых конструкция на лету

Да

Да

Предопределенные шаблоны кода

Да

Да

Выделение синтаксических конструкций цветом

Да

Да

Открытый исходный код

Нет

Да

Бесплатность

Нет

Да

Поддержка отладки программного обеспечения

Да

Да

Кроссплатформенность

Нет

Нет

Русский язык интерфейса

Да

Нет

Поддерживаемые языки программирования

C++, C#, Visual Basic

C#, Visual Basic .NET, Boo, IronPython, IronRuby, F#, C++


 

 

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

 

 

 

 

 

 

  1. ПРОЕКТИРОВАНИЕ СУБД

 

    1. Выявление необходимого набора сущностей.

 

 

В данном курсовом проекте необходимо реализовать базу данных «Аэропорт», в связи с чем выявлены основные сущности:

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


 

 

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

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

Информация о работе Разработка системы управления базой данных (СУБД) «Аэропорт»