- •Содержание
- •1 Анализ предметной области
- •Функциональная структура
- •1.2 Диаграмма потоков данных
- •1.3 Выделение информационных объектов и их атрибутов
- •2 Концептуальная модель
- •3 Логическое моделирование
- •3.1 Построение логической модели
- •3.2. Нормализация отношений.
- •3.3 Целостность данных
- •3.3.1 Целостность объекта
- •3.3.2 Целостность приложения
- •3.3.3 Ссылочная целостность
- •4 Выбор субд
- •5. Физическая модель
- •6 Проектирование и реализация информационной системы
- •6.1 Описание средств, использованных при реализации
- •6.2 Тексты sql-запросов и результаты их выполнения
- •Многотабличные запросы
- •Подзапросы (запрос внутри запроса)
- •Exists и not exists (существует и не существует)
- •Встроенные функции
- •Group by и having
- •Встроенные функции и подзапросы
- •7 Заключение
- •8 Список литературы
- •9. Приложение a. Макетные данные.
Встроенные функции
Запрос 23. Какова min и max СТОИМОСТЬ ПУТЕВКИ?
selectmax(cost), min(cost)
frompass
Результат запроса:
|
|
Инфо 3 |
|
max(cost) |
min(cost) |
|
40000 |
8000 |
Запрос 24. Прибыль туристической компании.
selectsum(Cost)ASПрибыльfromDistributionPass t, Pass t1
wheret.idPass=t1.idPass
Результат запроса:
|
Инфо 4 |
|
Прибыль |
|
370 000,00р. |
Запрос 25. Определить среднее число дней пребывания в России.
selectavg(duration)frompass t, countries t1wheret1.idcountries='1'
Результат запроса:
|
Инфо 5 |
|
Cреднее число дней |
|
12.4210526315789 |
Запрос 26. Сколько путевок имеют длительность 10 дней?
selectcount(*) ASчислопутевокfrompass twheret.duration='10'
Результат запроса:
|
Инфо 6 |
|
Число путевок |
|
8 |
Запрос 27. Общее количество клиентов, которые воспользовались услугами компании.
SELECTcount(*)ASКоличество_клиентовFROMklient;
Результат запроса:
|
Инфо 7 |
|
Количество клиентов |
|
18 |
Запрос 28. Вывести даты приезда/отъезда и общее время пребывания на курорте клиента Гуртового Сергея Андреевича.
SELECT t1.DateDeparture AS Дата_отправления, (t1.DateDeparture+t2.Duration) AS Дата_приезда, t2.Duration AS Длительность_поездки FROM klient t , DistributionPass t1 , Pass t2 WHERE t.idklient=t1.idklient And t1.idPass=t2.idPass And t.FIO='Гуртовой Сергей Андреевич';
Результат запроса:
|
DP | ||
|
Дата_отправления |
Дата_приезда |
Длительность_поездки |
|
03.01.2006 |
18.01.2006 |
15 |
Group by и having
Запрос 29. Для каждого отеля выяснить максимальную комфортность.
selectt.name,max(levelcomfort)fromhotels tgroupbyname
Результат запроса:
|
Hotels | ||
|
idHotels |
Name |
LevelComfort |
|
1 |
Альбино |
5 |
|
2 |
Атлантида |
4 |
|
3 |
Испаньола |
3 |
|
4 |
Эллада |
4 |
|
5 |
Комос |
5 |
|
6 |
Де Ла Фьора |
4 |
|
7 |
Седьмое небо |
5 |
|
8 |
Интурист |
3 |
|
9 |
Прага |
4 |
|
10 |
Звезда |
4 |
|
11 |
Интес |
5 |
|
12 |
Ля Форш |
4 |
|
13 |
Ирис |
3 |
|
14 |
Равиолли |
3 |
|
15 |
Великобритания |
5 |
|
16 |
Инферно |
4 |
Запрос 30. Для каждой страны, у которой больше одной валюты, выяснить максимальный обменный курс.
select t1.names , max(exchangecourse)
from currency t,countries t1
group by t1.names
having count(*)>1
Результат запроса:
|
Инфо 8 | |
|
Names |
max(exchangecourse) |
|
Франция |
35 |
|
Швейцария |
35 |
|
Англия |
35 |
|
Чехия |
35 |
|
Голландия |
35 |
|
Испания |
35 |
|
Италия |
35 |
|
Австрия |
35 |
|
Болгария |
35 |
|
Турция |
35 |
