Главная страница

йцуеепр. Разработка распределенной базы данных турфирма на


Скачать 0.78 Mb.
НазваниеРазработка распределенной базы данных турфирма на
Анкорйцуеепр
Дата06.06.2022
Размер0.78 Mb.
Формат файлаdocx
Имя файла4761.docx
ТипРеферат
#573396
страница3 из 3
1   2   3



_type_pitaniya

type_pitania




id







type









type_tour







id







type














gorog







id







name







land













id




name




stars




gorod




type_razmeshcheniya




price










id




name






id




type_razm


Рисунок 11 – Диаграмма баз данных

3. 4 Создание запросов

Запрос 1 на выборку городов Великобритании с использованием соединения:

select gorog.name from gorog inner join land on gorog.land=land.id where land.name='Великобритания'



Рисунок 12 Результат запроса 1

Запрос 2 на выборку всех отелей Великобритании с использованием соединения и сортировка по количеству звезд, а так же по цене проживания за ночь:

select hotel.name, stars, price from hotel inner join gorog inner join land on gorog.land=land.id on gorod=gorog.id where land.name='Великобритания' order by stars asc, price asc



Рисунок 13 Результат запроса 2

Запрос 3, подсчитывающий среднюю стоимость ночи проживания в отеле в каждой из стран:

select land.name, AVG(hotel.price) as [Средняя стоимость] from hotel inner join gorog inner join land on gorog.land=land.id on gorod=gorog.id group by (land.name)



Рисунок 14 Результат запроса 3

Запрос 4, отображающий отели, стоимость проживания в которых ниже либо равна средней стоимости проживания в отелях за одну ночь с сортировкой по названию страны, цене и количеству звезд:

select hotel.name as [Отель], stars as [Звезды], gorog.name as [Город], land.name as [Страна], price as [Цена] from hotel inner join gorog inner join land on gorog.land=land.id on gorod=gorog.id where hotel.price <= (select AVG(hotel.price) from hotel) order by land.name, price asc, stars asc



Рисунок 15 Результат запроса 4

Запрос 5, отображающий продажи клиентам и подсчитывающий общую сумму продаж каждому из клиентов:

select f, prodazha.date, prodazha.price, type_tour.type from clients inner join prodazha inner join tour inner join type_tour on tour.type_tour=type_tour.id on prodazha.tour=tour.id on prodazha.client=clients.id order by f compute sum(price) by f



Рисунок 16 Результат запроса 5

Запрос 6 на нахождение разницы суммы продаж:

select ((select MAX(price)from prodazha) - (select MIN(price) from prodazha)) as 'Разница'



Рисунок 17 Результат запроса 6

Запрос 7, отображающий продажи текущего месяца:

select type_tour.type, prodazha.date from prodazha inner join tour inner join type_tour on tour.type_tour=type_tour.id on prodazha.tour=tour.id where DATEPART(month, prodazha.date)=DATEPART(month, getdate())


Рисунок 18 Результат запроса 7

3. 5 Создание представлений Код создания представления:

CREATE VIEW hotel1 as select hotel.name as [Отель], stars as [Звезды], gorog.name as [Город], land.name as [Страна], price as [Цена] from hotel inner join gorog inner join land on gorog.land=land.id on gorod=gorog.id where hotel.price <= (select AVG(hotel.price) from hotel)



Рисунок 19 Представление «Отели»

3. 6 Создание процедур и триггеров

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

«Клиент»:

create procedure clients1 (@f varchar(30), @i varchar(30), @o varchar(30), @date date, @adres varchar(30), @telefon varchar(30)) as

declare @id int

set @id = (select MAX(id) from clients) set @id=@id+1

insert into clients values ( @id, @f, @i, @o, @date, @adres, @telefon)

execute clients1 'Иванов', 'Иван', 'Иванович', '1987-10-25', 'Балаково', '+79283854875'

Код создания триггера удаления сведений о стране и связанных с ней записях:

create trigger landdelete on land for delete as begin

declare @a int

set @a = (select id from deleted)

delete from gorog where gorog.land=@a end
3. 7 Создание транзакции

Код создания транзакции на добавление данных о новом городе и отеле: begin tran

insert into gorog values ('57', 'Balakovo', '6')

insert into hotel values ('169', 'Balakovo', '4', '57', '2', '4230') if (@@ERROR=0) begin

commit tran end

else begin print 'Error' rollback tran end

ЗАКЛЮЧЕНИЕ

В ходе выполнения курсового проекта «Разработка распределенной базы данных на основе MS SQL Server» были получены навыки концептуального, логического и физического проектирования распределенных баз данных. Были изучены синтаксис и основные команды языка Т-SQL. Освоено создание базы данных, таблиц, запросов, триггеров, процедур, представлений и транзакций, а так же установка ограничений. Итогом выполнения курсового проекта стала распределенная база данных «Турфирма», которая позволяет хранить, обрабатывать и изменять информацию о клиентах, турах, продажах и авиарейсах.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ



  1. Виейра Р. Программирование баз данных Microsoft SQL Server 2005.

Базовый курс. / Роберт Виейра. М.: Диалектика, 2008. 1066с.

  1. Голицына О.Л. Базы данных. / О.Л. Голицина, Н.В. Максимов, И.И. Попов. – М.: Форум – Инфра-М, 2007. 400с.

  2. Грабер М. SQL. Справочное руководство. 2-е изд. / М. Грабер. М.: Лори, 2006. 354с.

  3. Грабер М. Введение в SQL. / М. Грабер. М.: Лори, 2010. 238с.

  4. Диго С.М. Базы данных. Проектирование и использование: учебник. /

С.М. Диго. – М.: Финансы и статистика, 2005. – 592с.

  1. Клайн К. SQL. Справочник. 2-е изд. / К. Клайн, Д. Клайн, Б. Хант.

М.: Кудиц-образ, 2006. – 832с.

  1. Крёнке Д. Теория и практика построения баз данных. 9-е изд./ Д. Крёнке. – СПб.: Питер, 2005. – 864с.

  2. Малыхина М.П. Базы данных: основы, проектирование, использование.

/ М.П. Малыхина. СПб.: БХВ-Петербург, 2004. 512с.

  1. Пирогов В.Ю. Информационные системы и базы данных: организация и проектирование. / В.Ю. Пирогов. СПб.: БХВ-Петербург, 2009. 528с.

  2. Фленов М. Transact-SQL. / М. Фленов. СПб.: БХВ-Петербург, 2006. 576с.

ПРИЛОЖЕНИЕ А

(обязательное)


Информация предоставлена на цифровом носителе.
1   2   3


написать администратору сайта