Доходы и расходы семьи
Курсовая работа, 05 Марта 2014, автор: пользователь скрыл имя
Краткое описание
В настоящее время существует множество способов хранения и обработки информации. Лучшим из них является базы данных. Сегодня невозможно представить ничего без баз данных. Они присутствуют везде. Достоинством баз данных является простота использования, легкость в получении данных. Недостатком является хранение и обработка данных. При слабом компьютере работа с достаточно большой базой данных займет длительное время. Главной задачей курсовой работы является создание клиент-серверного приложения для работы с базой данных. Создание таблиц, хранение и обработка данных будет осуществляться не на клиентском компьютере, а не сервере.
Содержание
Введение 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
Прикрепленные файлы: 1 файл
КурсоваяЛысенко.docx
— 4.16 Мб (Скачать документ)go
drop table Расписание
go
drop table Рейсы
go
drop table Самолеты
go
drop table Сотрудники
go
drop table Экипаж
go
create table Покупатель
(
КодПокупателя int primary key identity,
ФИО varchar(50) not null,
ДатаРождения datetime not null,
СерияПаспорта varchar(2) not null,
НомерПаспорта int not null
)
go
create table Билет
(
КодБилета int primary key identity,
КодПокупателя int not null,
КодРейса int not null,
ДатаПродажи datetime not null,
Цена money not null,
Место int not null
)
go
create table Багаж
(
КодБагажа int primary key identity,
КодБилета int not null,
ТипБагажа nvarchar(25) not null,
Вес int not null
)
go
create table Расписание
(
КодРасписания int primary key identity,
НомерМаршрута int not null,
ПунктВылета varchar(15) not null,
ПунктПрилета varchar(15) not null,
ВремяОтправления datetime not null
)
go
create table Рейсы
(
КодРейса int primary key identity,
ДатаВылета datetime not null,
КодРасписания int not null,
КодСамолета int not null,
)
go
create table Самолеты
(
КодСамолета int primary key identity,
НомерСамолета int not null,
КодМарки int not null,
ГодВыпуска datetime not null,
КодАвиакомпании int not null
)
go
create table Марка
(
КодМарки int primary key identity,
Название varchar(20)
)
go
create table Сотрудники
(
КодСотрудника int primary key identity,
ФИО varchar(50),
)
go
create table Экипаж
(
КодЭкипажа int primary key identity,
КодРейса int not null,
КодСотрудника int not null,
Должность varchar(20) not null
)
go
create table Авиакомпании
(
КодАвиакомпании int primary key identity,
Название varchar(20) not null,
Страна varchar(15) not null
)
/*
Определение связей между таблицами
*/
go
ALTER TABLE Билет ADD
CONSTRAINT FK_Билет_Покупатель
FOREIGN KEY(КодПокупателя)
REFERENCES Покупатель(КодПокупателя),
CONSTRAINT FK_Билет_Рейсы
FOREIGN KEY(КодРейса)
REFERENCES Рейсы(КодРейса)
go
ALTER TABLE Багаж ADD
CONSTRAINT FK_Багаж_Билет
FOREIGN KEY(Кодбилета)
REFERENCES Билет(КодБилета)
go
ALTER TABLE Рейсы ADD
CONSTRAINT FK_Рейсы_Расписание
FOREIGN KEY(КодРасписания)
REFERENCES Расписание(КодРасписания),
CONSTRAINT FK_Рейсы_Самолеты
FOREIGN KEY(КодСамолета)
REFERENCES Самолеты(КодСамолета)
go
ALTER TABLE Самолеты ADD
CONSTRAINT FK_Самолеты_Марка
FOREIGN KEY(КодМарки)
REFERENCES Марка(КодМарки),
CONSTRAINT FK_Самолеты_Авиакомпании
FOREIGN KEY(КодАвиакомпании)
REFERENCES Авиакомпании(КодАвиакомпании)
go
ALTER TABLE Экипаж ADD
CONSTRAINT FK_Экипаж_Рейсы
FOREIGN KEY(КодРейса)
REFERENCES Рейсы(КодРейса),
CONSTRAINT FK_Экипаж_Сотрудники
FOREIGN KEY(КодСотрудника)
REFERENCES Сотрудники(КодСотрудника)
4 Схема
диалога пользователя с разработанным
приложением
4.1 Корректировка таблиц-справочников
Таблицы-справочники содержат в себе основную информацию аэропорта. В данном приложении это информация о покупателях, расписание полетов, экипаж самолета, авиакомпании и марка самолета.
Для просмотра таблиц справочников необходимо выбрать соответвующий пункт меню справочников (рисунок 4.1).
Рисунок 4.1 – Пункты меню для выбора таблиц-справочников
Каждую таблицу можно открыть (рисунок 4.2).
Рисунок 4.2 – Открытие справочника
Все записи можно изменить или добавить новую (рисунок 4.3).
Рисунок 4.3 – Изменение и добавление записи
Помимо этого, запись из таблицы-справочника можно удалить (рисунок 4.5) при отсутствия связанной записи в дочерней таблице. Перед удалением появится информационное окно (рисунок 4.4).
Каскадное удаление не предусмотрено в данной БД для предотвращения потери данных. Удалить запись можно при условии, если на эту запись не ссылаются другие таблицы.
Рисунок 4.4 – Предупреждение об удалении записи
Рисунок 4.5 – Результат удаления записи
4.2 Основная
функциональность приложения по
ведению базы данных
Помимо таблиц-справочников существуют дочерние таблицы. В них содержится дополнительная информация о таблицах-справочниках (рисунок 4.6).
Рисунок 4.6 – Дочерние таблицы
Дочерние таблицы хранят в себе данные о билетах покупателя, его багаже, информацию о рейсах, самолетах и экипаже рейса.
Каждая дочерняя таблица изменяется как и таблицы-справочники. Вместо кодов родительских таблиц используется удобный выпадающий список родительских полей (рисунок 4.7).
Рисунок 4.7 – Выпадающий список
Любое поле можно изменить (рисунок 4.8).
Рисунок 4.8 – Изменение записи
В каждую таблицу можно добавить запись (рисунок 4.9).
Рисунок 4.9 – Добавление записи
4.3 Построение печатных форм
Для построения отчетов предназначен пункт меню (рисунок 4.10).
Рисунок 4.10 – Выбор печатной формы
В разработанной БД присутствует 5 отчетов:
1. Авиакомпании (рисунок 4.11);
2. Информация о покупателе (рисунок 4.12);
3. Годовой отчет продажи билетов (рисунок 4.13);
4. Самолеты авиакомпаний (рисунок 4.14);
5. Информация о покупателях (рисунок 4.15).
Рисунок 4.11– Отчет «Авиакомпании»
Для создания отчета Информация о покупателях используется запрос Информация о покупателях. Текст отчета ниже:
SELECT ФИО,
ДатаПродажи,
Цена
FROM Покупатель, Билет
WHERE Покупатель.кодпокупателя=
and введите_год=Year(ДатаПродажи);
Рисунок 4.12 – Отчет «Покупатели»
Для создания отчета Годовой отчет о продажи билетов используются запрос Годовой отчет по продажам. Текст запроса описан ниже:
SELECT ФИО,
ДатаПродажи,
Цена
FROM Покупатель, Билет
WHERE Покупатель.кодпокупателя=
and введите_год=Year(ДатаПродажи)
Рисунок 4.13 – Отчет «Годовой отчет продажи билетов»
Рисунок 4.14 – Отчет «Самолеты Авиакомпаний»
Для создания отчета был использован запрос:
exec ИнфоПокупатель Сидоров
Рисунок 4.15 – Отчет «Информация о покупателе»
Формирования запроса для отчета Годовой отчет продажи билетов:
SELECT ФИО,
ДатаПродажи,
Цена
FROM Покупатель, Билет
WHERE Покупатель.кодпокупателя=
and введите_год=Year(ДатаПродажи);
Формирования запроса для отчета Информация о покупателях:
SELECT Покупатель.ФИО,
Покупатель.СерияПаспорта,
Покупатель.НомерПаспорта,
Покупатель.ДатаРождения,
Билет.ДатаПродажи,
Билет.Цена,
Багаж.Вес
FROM Билет, Багаж, Покупатель
WHERE (((Покупатель.кодПокупателя)=[
AND ((Билет.КодБилета)=[Багаж].[
4.4 Дополнительная функциональность приложения
Использование отсортированных записей упрощает поиск и обработку данных. В данном приложении используется собственная индексация в таблице Авиакомпании. Сортировка происходит по Названию и страны авиакомпании.
При добавлении новой записи (рисунок 4.16).
Рисунок 4.16 – Добавление новой записи
Запись добавляется в конец списка, потому что данные не обновлены на сервере. Для этого нужно нажать на кнопку обновить все (рисунок 4.17).
Рисунок 4.17 – Обновление записей
После обновления запись займет соответствующее место в списке (рисунок 4.18).
Рисунок 4.18 – Отсортированный список
5 Использованные средства MS SQL Server
5.1 Использование представлений
Для вывода на экран монитора всех таблиц используются представления приведенные в таблице 5.1.
Таблица 5.1 – Представления
Название |
Назначение |
Где используется |
1 СамолетыИнфо |
Выборка полей из таблиц |
Просмотр таблицы самолеты, отчет самолетов авиакомпаний |
2 ОбладательБагажа |
Выборка полей из таблиц |
Просмотр таблицы Багаж |
3 БилетРейсы |
Выборка полей из таблиц |
Просмотр таблицы Билет,Экипаж |
Ниже приведен текст SQL, создающий представления:
/* представление для отображения самолетов без кодов родителей*/
go
drop view СамолетыИнфо
go
create view СамолетыИнфо
as
select НомерСамолета,
Марка.Название as Марка,
ГодВыпуска,
Авиакомпании.Название as НазвАвиа,
Страна
from Самолеты,Марка,Авиакомпании
where Самолеты.КодМарки=Марка.
and Самолеты.КодАвиакомпании=
Авиакомпании.КодАвиакомпании
/*представление для таблицы Багаж*/
go
drop view ОбладательБагажа
go
create view ОбладательБагажа
as
select Багаж.КодБилета,
ФИО,
ДатаПродажи,
ТипБагажа,
Вес
from Покупатель,Билет,Багаж
where Покупатель.КодПокупателя=
and Билет.КодБилета=Багаж.
/* представление для таблицы Билет,Экипаж*/
go
drop view БилетРейсы
go
create view БилетРейсы
as
select Рейсы.КодРейса,
Расписание.КодРасписания,
ПунктВылета,
ПунктПрилета,
ВремяОтправления,
ДатаВылета
from Билет,Рейсы,Расписание
where Билет.КодРейса=Рейсы.КодРейса
and Рейсы.КодРасписания=
5.2 Использование хранимых процедур
Таблица 5.2 – Хранимые процедуры
Название |
Назначение |
Где используется |
1 ИнфоПокупатель |
Поиск покупателя по ФИО |
Для отчета информации о покупателе |
Ниже приведен текст SQL, создающий процедуры:
/*процедура для отображения информации о покупателе*/
go
drop proc ИнфоПокупатель
go
create procedure ИнфоПокупатель @ФИО varchar(40)
as
select ФИО,
ДатаРождения,
Цена,
Место,
Вес
From Покупатель,Билет,Багаж
where Покупатель.
and Билет.КодБилета=Багаж.
and ФИО=@ФИО
Заключение
В результате было разработано база данных управлением аэропорта. Приложение создано в среде MS Acces 2013 и MS SQL SERVER 2008.
В ходе выполнения создания приложения были выполнены следующие действия:
- База данных приведена к третьей нормальной форме;
- Разработаны процедуры, представления для выполнения действий на сервере, чтобы снизить нагрузку на пользовательский компьютер;
- Сделан интуитивно понятливый интерфейс;
- Созданы печатные отчеты.
Данную базу данных можно легко изменять для выполнения самых разнообразных задач.
Список использованных источников
1 Винкоп, С. Использование Microsoft SQL Server
7.0 : специальное издание / С. Винкоп. –
СПб. : Издательский дом «Вильямс», 2001.
– 816 с.
2 Хоторн, Р. Разработка баз данных
Microsoft SQL Server 2000 на примерах / Р. Хоторн.
– М. : Бином, 2001. – 464 с.
3 Змитрович, А.И. Базы данных : учебное пособие для вузов / А.И. Змитрович. – Мн. : Университетское, 1991. – 271 с.
4 Риордан, Р. Программирование в Microsoft
SQL Server 2000. Шаг за шагом / Р. Риордан. – М.
: Эком, 2002. – 608 с.
5 Кренке, Д. Теория и практика построения баз данных / Д. Кренке. – 8-е изд. – СПб. : Питер, 2003. – 800 с.