- •Содержание
- •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 |