Автор работы: Пользователь скрыл имя, 05 Марта 2014 в 13:10, курсовая работа
В настоящее время существует множество способов хранения и обработки информации. Лучшим из них является базы данных. Сегодня невозможно представить ничего без баз данных. Они присутствуют везде. Достоинством баз данных является простота использования, легкость в получении данных. Недостатком является хранение и обработка данных. При слабом компьютере работа с достаточно большой базой данных займет длительное время. Главной задачей курсовой работы является создание клиент-серверного приложения для работы с базой данных. Создание таблиц, хранение и обработка данных будет осуществляться не на клиентском компьютере, а не сервере.
Введение 3
1 Назначение разработанного приложения 4
2 Создание индексов в среде MS SQL Server 5
3 Структура базы данных 8
3.1 Состав таблиц базы данных 8
3.2 Структура таблиц базы данных 9
3.3 SQL-код по созданию таблиц и описания ограничений 11
4 Схема диалога пользователя с разработанным приложением 15
4.1 Корректировка таблиц-справочников 15
4.2 Основная функциональность приложения по ведению базы данных 18
4.3 Построение печатных форм 20
4.4 Дополнительная функциональность приложения 24
5 Использованные средства MS SQL Server 27
5.1 Использование представлений 27
5.2 Использование хранимых процедур 28
Заключение 29
Список использованных источников 30
Содержание
В настоящее время существует множество способов хранения и обработки информации. Лучшим из них является базы данных. Сегодня невозможно представить ничего без баз данных. Они присутствуют везде.
Достоинством баз данных является простота использования, легкость в получении данных. Недостатком является хранение и обработка данных. При слабом компьютере работа с достаточно большой базой данных займет длительное время.
Главной задачей курсовой работы является создание клиент-серверного приложения для работы с базой данных. Создание таблиц, хранение и обработка данных будет осуществляться не на клиентском компьютере, а не сервере.
Разработка базы данных будет происходить в Microsoft SQL Server 2008.
Клиентское приложение создано при помощи Microsoft Access 2013.
По итогам курсового проекта мы будем иметь готовое клиент-серверное приложение для работы с разработанной базой данных.
В ходе выполнения курсовой работы было разработано клиент-серверное приложение для работы с базой данных аэропорта. Данное приложение позволит сотрудникам аэропорта быстро, легко и удобно получать всю необходимую информацию, через удобное меню.
Все данные хранятся на сервере, доступ к которым осуществляется через данное приложение. Обработка данных происходит также на сервере. Это позволит снизить требования к производительности рабочего компьютера.
Для работы приложения необходим сервер.
Основные функции и схему общения пользователя с приложением можно увидеть на рисунке 1.1.
Рисунок 1.1 – Схема работы приложения
Индексы упрощают поиск необходимых данных. Это способ отсортировать данные. Когда список отсортирован, намного проще производить поиск необходимых данных. Сервер SQL получает доступ к данным одним из следующих способов:
В каждой таблице обязательно должен присутствовать первичный ключ (рисунок 2.1.), который однозначно идентифицирует запись в таблице. Индекс для первичного ключа создаётся автоматически и он становится кластерным. По определению, первичный ключ может содержать только уникальные значения.
Рисунок 2.1 – Задание первичного ключа
Индексы бывают кластерными (CLUSTERED) и не кластерными (NONCLUSTERED). В кластерном индексе строки физически сортируются на диске в соответствии с индексируемым полем (рисунок 2.2). По определению, у таблицы может быть только один кластерный индекс. Все остальные индексы могут быть только не кластерные.
Рисунок 2.2 – Сортировка данных по кластерному индексу
При не кластерном индексе строки могут на диске храниться в любом порядке, а сортировка осуществляется с помощью определенной таблицы или дерева индекса (рисунок 2.3).
Рисунок 2.3 – Сортировка данных по не кластерному индексу
При создании индексов нужно учитывать 2 фактора два фактора, для гарантирования, что индексы будут более эффективны, чем сканирование таблицы: природа данных и природа запросов к таблице.
Сервер SQL использует индексы для указания на расположение строки в странице данных вместо просматривания всех страниц таблицы. При создании индексов нужно учитывать достоинства и недостатки индексов.
Достоинства индексов:
Недостатки индексов:
Вы должны создавать только самые необходимые индексы, потому что каждый лишний индекс может серьезно ударить по производительности во время добавления новых записей. Это особенно становится заметным, при массовой загрузке данных.
Разработанная база данных состоит из 10 таблиц, которые связаны между собой.
В ходе выполнения данной курсовой работы была разработана база данных, предназначенная для использования .
Разработанная база данных состоит из 10 таблиц, описание которых в таблице 3.1.
Имя таблицы |
Описание |
Покупатель |
Информация о покупателях |
Билет |
Список билетов покупателя |
Багаж |
Список багажа билета |
Расписание |
Информация о маршрутах полета |
Рейсы |
Информация о рейсах |
Самолеты |
Информация о самолетах авиакомпаний |
Марка |
Список марок самолетов |
Авиакомпании |
Список авиакомпаний |
Сотрудники |
Список сотрудников самолёта |
Экипаж |
Список состава экипажа рейса |
Таблица 3.1 – Состав таблиц базы данных приложения
Связи между таблицами базы данных отображены на рисунке 3.1
Создание таблиц осуществлялось в среде Microsoft Office Access.
В базе данных использовался вид связей: «один–ко–многим» – то есть, одному экземпляру родительского объекта соответствует несколько экземпляров дочернего. Этот вид связи является наиболее оптимальным при проектировании реляционных баз данных.
В таблицах 3.2-3.11 приведено описание состава таблиц спроектированной базы данных.
Таблица 3.2 – Структура таблицы “Покупатель”
Наименование поля |
Формат поля |
Содержимое поля |
КодПокупателя |
числовой, счетчик |
уникальный код покупателя |
ФИО |
текстовый |
ФИО |
ДатаРождения |
дата/время |
дата рождения |
СерияПаспорта |
текстовый |
серия паспорта |
НомерПаспорта |
числовой |
номер паспорта |
Таблица 3.3 – Структура таблицы “Билет”
Наименование поля |
Формат поля |
Содержимое поля |
1 |
2 |
3 |
КодБилета |
числовой, счетчик |
уникальный код билета |
Окончание Таблицы 3.3
1 |
2 |
3 |
КодПокупателя |
числовой |
код покупателя |
КодРейса |
числовой |
код рейса |
ДатаПродажи |
дата/время |
дата продажи |
Цена |
денежный |
цена билета |
Место |
числовой |
место |
Таблица 3.4 – Структура таблицы “Багаж”
Наименование поля |
Формат поля |
Содержимое поля |
КодБагажа |
числовой, счетчик |
уникальный код багажа |
КодБилета |
числовой |
код билета |
ТипБагажа |
числовой |
тип багажа |
Вес |
числовой |
вес багажа |
Таблица 3.5 – Структура таблицы “Расписание”
Наименование поля |
Формат поля |
Содержимое поля |
КодРасписания |
числовой, счетчик |
уникальный код расписания |
НомерМаршрута |
числовой |
номер маршрута |
ПунктВылета |
текстовый |
название пункта вылета |
ПунктПрилета |
текстовый |
название пункта прилета |
ВремяОтправления |
дата/время |
время отправления |
Таблица 3.6 – Структура таблицы “Рейсы”
Наименование поля |
Формат поля |
Содержимое поля |
КодРейса |
числовой, счетчик |
уникальный код рейса |
ДатаВылета |
дата/время |
дата вылета |
КодРасписания |
числовой |
код расписания |
КодСамолета |
числовой |
код самолета |
Таблица 3.7 – Структура таблицы “Самолеты” ”
Наименование поля |
Формат поля |
Содержимое поля |
КодСамолета |
числовой, счетчик |
уникальный код самолета |
НомерСамоелта |
числовой |
номер самолета |
КодМарки |
числовой |
код марки самолета |
ГодВыпуска |
дата/время |
Год выпуска самолета |
КодАвиакомпании |
числовой |
кодАвиакомпании |
Таблица 3.8 – Структура таблицы “Марка”
Наименование поля |
Формат поля |
Содержимое поля |
КодМарки |
числовой, счетчик |
уникальный код марки |
Название |
текстовый |
название марки самолета |
Таблица 3.9 – Структура таблицы “Авиакомпании”
Наименование поля |
Формат поля |
Содержимое поля |
КодАвиакомпании |
числовой, счетчик |
уникальный код авиакомпании |
Название |
текстовый |
название авиакомпании |
Страна |
текстовый |
название страны |
Таблица 3.10 – Структура таблицы “Экипаж”
Наименование поля |
Формат поля |
Содержимое поля |
КодЭкипажа |
числовой, счетчик |
уникальный код экипажа |
КодРейса |
числовой |
код рейса |
КодСотрудника |
числовой |
код сотрудника |
Должность |
текстовый |
название должности сотрудника |
Таблица 3.11 – Структура таблицы “Сотрудники”
Наименование поля |
Формат поля |
Содержимое поля |
КодСотрудника |
числовой, счетчик |
уникальный код сотрудника |
ФИО |
текстовый |
ФИО сотрудника |
/*
Удаление связей
*/
ALTER TABLE Билет
DROP FK_Билет_Покупатель, FK_Билет_Рейсы
go
ALTER TABLE Багаж
DROP FK_Багаж_Билет
go
ALTER TABLE Рейсы
DROP FK_Рейсы_Расписание,FK_Рейсы_
go
ALTER TABLE Самолеты
DROP FK_Самолеты_Марка,FK_Самолеты_
go
ALTER TABLE Экипаж
DROP FK_Экипаж_Рейсы,FK_Экипаж_
/*
Создание и удаление таблиц с помощью SQL-запросов.
*/
go
drop table Авиакомпании
go
drop table Багаж
go
drop table Билет
go
drop table Покупатель
go
drop table Марка