- •Содержание
- •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. Макетные данные.
Многотабличные запросы
Запрос 11. Вывести список предлагаемых компанией путёвок в Швейцарию.
SELECTt2.CityASГород, t.DurationASДлительность, t.CostASСтоимость, t1.FIOASГид ,t.classASклассFROMPass t, WorkerPersonner t1, Resorts t2, Countries t3WHEREt.idWorkerPersonner=t1.idWorkerPersonnerAndt1.idResorts=t2.idResortsAndt2.idCountries=t3.idCountriesAndt3.Names='Швейцария';
Результат запроса:
Pass1 | ||||
Город |
Класс |
Длительность |
Стоимость |
Гид |
Берн |
Средний |
10 |
15 000,00р. |
Шевченко Михаил Евгеньевич |
Берн |
Низкий |
15 |
12 000,00р. |
Шевченко Михаил Евгеньевич |
Запрос 12. Вывести страны в которых используют валюту «Евро».
SELECT t1.idCountriesASНомерстраны,t1.NamesASСтрана,t. idcurrency ASВалюта
FROMcurrency t,countries t1
WHEREt.idcurrency = t1.idcurrency andt.Names='Евро'
Результат запроса:
Currency | ||
Номер_страны |
Страна |
Валюта |
1 |
Франция |
Евро |
2 |
Швейцария |
Евро |
4 |
Чехия |
Евро |
Запрос 13. Вывести информацию о сотрудниках, находящихся в Италии.
SELECT t.FIO AS Сотрудники
FROM WorkerPersonner t , Resorts t1, Countries t2
WHERE t.idResorts=t1.idResorts And t1.idCountries=t2.idCountries And t2.idCountries=’ Испания’;
Результат запроса:
WP |
Сотрудники |
Петренко Валентина Алексеевна |
Запрос 14. Вывести информацию о сотруднике – Титове Сергее Николаевиче.
SELECT t2.Name AS Страна, t1.City AS Город, t.Phone AS Контактный_телефон, t.DateAcceptance AS Дата_приёма_на_работу
FROM WorkerPersonner t, Resorts t1, Countries t2
WHERE t.idResorts=t1.idResorts And t1.idCountries=t2.idCountries And t.idWorkerPersonner= ‘Титов Сергей Николаевич’;
Результат запроса:
WP | |||
Страна |
Город |
Контактный_телефон |
Дата_приёма_на_работу |
Англия |
Лондон |
89286765467 |
25.05.2003 |
Запрос 15. Информация о местоположении клиента Ковалёва Валерия Николаевича.
SELECT t4.names,t1.city,t2.name FROM klient t, hotels t2, distributionpass t3, resorts t1 , countries t4,workerpersonner t5,pass t6 WHERE t2.idhotels=t3.idhotels and t2.idresorts=t1.idresorts and t1.idcountries=t4.idcountries and t3.idklient=t.idklient
and t3.idpass= t6.idpass and t5.idworkerpersonner=t6.idworkerpersonner and t.FIO='Ковалёв Валерий Николаевич';
Результат запроса:
DP | ||
Страна |
Город |
Гостиница |
Испания |
Барселона |
Альбино |
Запрос 16. Вывести список гостиниц Италии, с которыми сотрудничает туристическая компания.
SELECT t.Name AS Название гостиницы
FROM Countries t1, Resorts t2, Hotels t
WHERE t1.idCountries=t2.idCountries And t2.idResorts=t.idResorts And t1.idCountries=’Италия’;
Результат запроса:
DP |
Название гостиницы |
Де Ла Фьора |
Равиолли |
Запрос 17. Вывести имя ответственного гида , название компании-перевозчика и номер путёвки клиента Путина Владимира Владимировича.
selectt3.name, t2.fio, t4.idpassfromklient t,distributionpass t1,workerpersonner t2,transportationcompany t3 , pass t4wheret.idklient=t1.idklientandt1.idtransportationcompany=t3.idtransportationcompanyandt2.idworkerpersonner=t4.idworkerpersonnerandt1.idpass=t4.idpassandt.fio='Путин Владимир Владимирович'
Результат запроса:
DP | ||
Номер_путёвки |
Гид |
Компания_перевозчик |
4 |
Шевченко Михаил Евгеньевич |
ООО "Вокруг Света" |
Запрос 18. Список самых комфортабельных гостиниц, сотрудничающих с туристической фирмой.
SELECT t.Name AS Название_гостиницы, t2.Name AS Страна, t1.City AS Город, t.Address AS Адрес
FROM Hotels t, Resorts t1, Countries t2
WHERE t.idResorts=t1.idResorts and t1.idCountries=t2.idCountries and t.LevelComfort=”5”;
Результат запроса:
Hotels | |||
Название_гостиницы |
Страна |
Город |
Адрес |
Седьмое небо |
Швейцария |
Берн |
Калинина, 55 |
Великобритания |
Англия |
Лондон |
Английская, 68 |
Альбино |
Испания |
Барселона |
Социалистическая, 17 |
Интес |
Болгария |
София |
Центральная, 12 |
Комос |
Турция |
Стамбул |
Баклановская, 87 |