Проектирование и реализация информационной системы. Туристическая компания

Автор: Пользователь скрыл имя, 04 Декабря 2011 в 12:00, курсовая работа

Краткое описание

Туристическая компания предоставляет свои услуги по обеспечению отдыха клиентам на определённый период времени на предлагаемых компанией курортах на территории различных стран. Предлагается рассмотреть типичную туристическую компанию, предоставляющую свои услуги клиентам на наиболее популярных курортах в различных странах мира.

Оглавление

1 Анализ предметной области…………………………………………………2
1.1 Функциональная структура……………….…………………………………4
1.2. Диаграмма потоков данных…………………………………………………5
1.3. Выделение информационных объектов и их атрибутов…………………..8
2 Концептуальная модель……………………………………………………...9
3 Логическое моделирование…………………………………………………13
3.1 Построение логической модели………………………………………..…..13
3.2 Нормализация отношений………………………………………………….13
3.3 Целостность данных…………………………………………………….….19
3.3.1 Целостность объекта……………………………………………………..19
3.3.2 Целостность приложения………………………………………………..19
3.3.3 Ссылочная целостность……………………………………………….…20
4 Выбор СУБД.....................................................................................................21
5 Физическая модель………………………………………………….………22
6 Проектирование и реализация информационной системы …………...23
Описание средств, использованных при реализации…………………....23
6.2 Тексты SQL-запросов и результаты их выполнения…………………….24
7 Заключение………………………………………………………….…….…36
8 Список литературы ……………………………………………………...…36
9 Приложение A Макетные данные …….

Файлы: 1 файл

начало курсача.doc

— 1.40 Мб (Скачать)

    FROM Countries t1, Resorts t2, Hotels t

    WHERE t1.idCountries=t2.idCountries And t2.idResorts=t.idResorts And t1.idCountries=’Италия’;

    Результат запроса:

DP
Название  гостиницы
Де Ла Фьора
Равиолли
 

         Запрос 17. Вывести имя ответственного гида , название компании-перевозчика и номер путёвки   клиента Путина Владимира Владимировича.

    select  t3.name, t2.fio, t4.idpass 
    from    klient t,distributionpass t1,workerpersonner t2,transportationcompany t3 , pass t4 
    where    t.idklient=t1.idklient and t1.idtransportationcompany=t3.idtransportationcompany and 
    t2.idworkerpersonner=t4.idworkerpersonner and t1.idpass=t4.idpass and t.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
 
 

    ПОДЗАПРОСЫ

    (запрос  внутри запроса) 

         Запрос 19. Какие транспортные компании отправят клиентов   06.01.2011?

    select t.name AS Название_Транспортной компании 
    from transportationcompany t 
    where  idtransportationcompany in 
                     (select idtransportationcompany 
                      from distributionpass t1 
                      where t1.datedeparture='06.01.2011')

    Результат запроса: 

Название_Транспортной компании
ДонАвтотранс
ООО Вокруг Света
 

         Запрос 20. (некоррелированный подзапрос – подзапрос, значение которого не зависит ни от какого внешнего запроса). Перечислить гидов закрепленных, за местом отдыха Париж.

    select fio AS ФИО гида 
    from workerpersonner t 
    where t.idworkerpersonner in 
                   (select t.idworkerpersonner  
                    from workerpersonner t 
                    where t.idresorts in 
                                 (select t1.idresorts 
                                  from resorts t1 
                                  where t1.city=
    'париж'))

    Результат запроса: 

Инфо1
ФИО гида
Черников  Алексей Алексеевич
 

    EXISTS  и NOT EXISTS

    (существует  и не существует) 

         Запрос 21.(коррелированный подзапрос). Перечислить клиентов, которые не живут в гостинице под номером 7 .

    select
    from klient t  
    where not exists  
         (select
         from  distributionpass t1 
         where t.idklient=t1.idklient and t1.idhotels=
    7)

    Результат запроса:

Klient
idKlient FIO NumberRusPassport NumberForeignPassport DateBirths Phone NumberCount
4 Андреев Борис Петрович 2305670943 9897666899 12.04.1960 89036560908 4564576796578563
5 Андреева Валентина  Александровна 2305463798 6454647688 15.08.1955 89031299864 8767356345768798
6 Бурухин Константин Петрович 3003625916 4564578789 30.01.1979 89088764228 8735436476876846
7 Винокуров Павел Михайлович 5309468201 4564989809 07.02.1966 89097652975 6854642342567874
8 Гуртовой Сергей Андреевич 5832096931 2324344323 08.06.1983 89289089863 3254768768766345
9 Долгушина Наталья Фёдоровна 3290458912 6543453657 20.10.1945 89049898988 7658768635443563
10 Елисеев Андрей Иванович 3109421060 7786545667 24.09.1957 89282223466 4365476874523454
11 Жириновский Владимир Вольфович 2941383940 8798678976 12.11.1955 89098786430 8465723452345768
12 Иванов Алексей  Николаевич 3859476076 2324354324 19.04.1965 89046876585 3264867867462345
13 Ковалёв Валерий Николаевич 3205689457 3234234354 06.03.1970 89048790963 8678465423564756
14 Ковалёва Любовь Мартиновна 3203740928 4556565556 27.07.1973 89288789622 4587687967868877
15 Малыхин Дмитрий Сергеевич 1001460284 5768876546 23.12.1978 89059877534 3787685786787989
16 Путин Владимир Владимирович 2195349528 8786765546 14.06.1954 89038976456 3214235435656346
17 Серов Леонид Валерьевич 1234567890 6876856756 10.03.1977 89068763859 7657694534523454
18 Фролов Константин Николаевич 2490443355 7768787888 16.12.1961 89288773548 6457235342534545
 

         Запрос 22. Перечислить гидов, назначенных на место отдыха Испания (может быть реализован при помощи двойного отрицания). Перечислить гидов, для которых не существует место отдыха Испания , на которое они не назначены.

    select t.FIO AS ФИО гида 
    from workerpersonner t 
    where not exists 
         (select idresorts 
         from resorts t1 where not exists  
                     (select
                       from countries t2 
                       where t.idresorts=t1.idresorts and

              t1.idcountries= t2.idcountries

              and t1.idcountries='Испания'))

    Результат запроса:

Инфо2
ФИО гида
Петренко  Валентина Алексеевна
 

    ВСТРОЕННЫЕ  ФУНКЦИИ 

         Запрос 23. Какова min и max СТОИМОСТЬ ПУТЕВКИ?

    select max(cost), min(cost)

    from pass

    Результат запроса:

  Инфо 3
max(cost) min(cost)
40000 8000
 

         Запрос 24. Прибыль туристической компании.

    select sum(Cost)AS Прибыль 
    from DistributionPass t, Pass t1

    where t.idPass=t1.idPass

        Результат запроса:

Инфо 4
Прибыль
370 000,00р.
 
 

         Запрос 25. Определить среднее число дней пребывания в России.

    select avg(duration) 
    from pass t, countries t1  
    where t1.idcountries=
    '1'

    Результат запроса: 

Инфо  5
Cреднее число дней
12.4210526315789
 
 

         Запрос 26. Сколько путевок имеют длительность 10 дней?

    select count(*) AS число путевок 
    from pass t 
    where t.duration=
    '10'

    Результат запроса:

Инфо  6
Число путевок
8
 
 

         Запрос 27.  Общее количество клиентов, которые воспользовались услугами компании.

    SELECT count(*) AS Количество_клиентов 
    FROM klient;

    Результат запроса:

Инфо  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. Для каждого отеля выяснить максимальную комфортность.

    select t.name,max(levelcomfort) 
    from hotels t 
    group by name

    Результат запроса:

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
 
 

    ВСТРОЕННЫЕ  ФУНКЦИИ  И  ПОДЗАПРОСЫ 

         Запрос 31. У какой гостиницы уровень комфортности больше среднего?

    select name 
    from hotels 
    where levelcomfort> 
                    (select avg (levelcomfort) 
                     from hotels)

    Результат запроса:

Инфо  9
Name
Альбино
Комос
Седьмое небо
Интес
Великобритания
 

         Запрос 32. Клиент у которого длительность путевки выше средней длительности путевки среди остальных клиентов данной туристической фирмы?

    select t2.* 
    from distributionpass t, klient t2 , pass t3 
    where t3.duration> 
                    (select avg (duration) 
                     from pass t)

    Результат запроса: 

    Инфо 10
    ФИО_Клиента Номер_российского_паспорта Номер_заграничного_паспорта Дата_рождения
    Алексеенко  Татьяна Сергеевна 6002764913 4565456863 21.12.1960

Информация о работе Проектирование и реализация информационной системы. Туристическая компания