- •Содержание
- •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. Макетные данные.
Встроенные функции и подзапросы
Запрос 31. У какой гостиницы уровень комфортности больше среднего?
selectnamefromhotelswherelevelcomfort> (selectavg(levelcomfort)fromhotels)
Результат запроса:
Инфо 9 |
Name |
Альбино |
Комос |
Седьмое небо |
Интес |
Великобритания |
Запрос 32. Клиент у которого длительность путевки выше средней длительности путевки среди остальных клиентов данной туристической фирмы?
selectt2.*fromdistributionpass t, klient t2 , pass t3wheret3.duration> (selectavg(duration)frompass t)
Результат запроса:
-
Инфо 10
ФИО_Клиента
Номер_российского_паспорта
Номер_заграничного_паспорта
Дата_рождения
Алексеенко Татьяна Сергеевна
6002764913
4565456863
21.12.1960
Запрос 33. Найти клиентов купивших путевку в разные города одной страны.
selectt.FIOASФИО_Клиента,fromworkerpersonner twherenotexists(selectidresortsASСтранаfromresorts t1wherenotcity=any(selectt1.cityASГородfromcountries t2wheret.idresorts=t1.idresortsand
t1.idcountries= t2.idcountries
and t1.city>1))
Инфо 11 | ||
ФИО_Клиента |
Страна |
Город |
Алексеенко Татьяна Сергеевна |
Франция |
Париж |
Алексеенко Александра Олеговна |
Франция |
Париж |
Тропина Светлана Михайловна |
Франция |
Марсель |
Рис. 7. Схема
данных
7 Заключение
В результате выполнения курсового проекта была спроектирована информационная система «Туристическая компания». Была полностью проанализирована предметную область, изучены её функции, описаны смысл операций и ограничений с помощью диаграммы потоков данных. На основе выделенных информационных объектов и их атрибутов построена концептуальная и логическая модель, в связи с большим количеством неуникальности ключей, необходимо было произвести нормализацию отношений. Для защиты нашей базы данных от неправильного внесения изменений, целостность данных была разграничена на три составляюшие: целостность объектов, целостность приложения и ссылочная целостность.
Физическая модель данных представлена реляционными таблицами, вся информация которых содержится в базе данных, реализованной на СУБД Oracle 10g. Была спроектирована и реализована информационная система описанная созданием базы и запросов на языке SQL.
8 Список литературы
1. Дж. Грофф, П. Вайнберг: «Энциклопедия SQL», Питер, 2004 год;
2. Г.А Черноморов «Базы данных в среде промышленных СУБД»- Новочеркасск : ЮРГТУ, 2006;
3. Дейт К. Введение в системы баз данных. К.; М.; Спб; Издат. Дом «Вильямс». 2000.
4. Г.Хансен, Д. Хансен «Базы данных:разработка и управление»//Пер. с англ. – М.: ЗАО «Издательство БИНОМ», - 2003.-704 с.:ил
5. М.Я. Выгодский: «Проектирование баз данных», Москва, 2005.
6.http://rostow-na-donu.ru/organizacii/dsbw~tours.html
9. Приложение a. Макетные данные.
1. Таблица «Currency».
Currency | ||
idCurrency |
Names |
ExchangeCourse |
1 |
Рубль |
1,00р. |
2 |
Доллар |
28,00р. |
3 |
Евро |
35,00р. |
2. Таблица «Countries».
Countries | ||
idCountries |
Names |
idCurrency |
1 |
Франция |
3 |
2 |
Швейцария |
3 |
3 |
Англия |
2 |
4 |
Чехия |
3 |
5 |
Голландия |
3 |
6 |
Испания |
2 |
7 |
Италия |
3 |
8 |
Австрия |
2 |
9 |
Болгария |
3 |
10 |
Турция |
2 |
3. Таблица «Resorts».
Resorts | ||
idResorts |
idCountries |
City |
1 |
1 |
Париж |
2 |
2 |
Берн |
3 |
3 |
Лондон |
4 |
4 |
Прага |
5 |
5 |
Амстердам |
6 |
6 |
Барселона |
7 |
7 |
Рим |
8 |
8 |
Вена |
9 |
9 |
София |
10 |
10 |
Стамбул |
11 |
1 |
Марсель |
4. Таблица «Hotels».
Hotels | ||||||
idHotels |
Names |
Address |
Phone |
Fax |
LevelComfort |
idResorts |
1 |
Альбино |
Социалистическая, 17 |
323323231232 |
6564565434 |
5 |
6 |
2 |
Атлантида |
Комитетская, 58 |
576587875578 |
3423253465 |
4 |
3 |
3 |
Испаньола |
Народная, 49 |
756867984636 |
2342346554 |
3 |
6 |
4 |
Эллада |
Просвещения, 134 |
656236758569 |
5675632354 |
4 |
5 |
5 |
Комос |
Баклановская, 87 |
543543464576 |
3346552345 |
5 |
10 |
6 |
Де Ла Фьора |
Красная, 67 |
699809809809 |
5635475245 |
4 |
7 |
7 |
Седьмое небо |
Калинина, 55 |
345365476563 |
5687698756 |
5 |
2 |
8 |
Интурист |
Крайняя, 34 |
785686796865 |
3242362323 |
3 |
1 |
9 |
Прага |
Атаманская, 89 |
869876785646 |
4523534232 |
4 |
4 |
10 |
Звезда |
Машиностроителей, 156 |
456568757467 |
5342124278 |
4 |
8 |
11 |
Интес |
Центральная, 12 |
456458678575 |
3452342309 |
5 |
9 |
12 |
Ля Форш |
Эйфелева, 67 |
586796876889 |
4523554900 |
4 |
1 |
13 |
Ирис |
Троицкая, 57 |
567586454368 |
2423423699 |
3 |
2 |
14 |
Равиолли |
Ирвина, 98 |
567856654567 |
4643564335 |
3 |
7 |
15 |
Великобритания |
Английская, 68 |
908967856799 |
2144356423 |
5 |
3 |
16 |
Инферно |
Длинная, 122 |
677565435367 |
2323443533 |
4 |
6 |
5. Таблица «WorkerPersonner».
WorkerPersonner | ||||
idWorkerPersonner |
FIO |
DateAcceptance |
Phone |
idResorts |
1 |
Черников Алексей Алексеевич |
23.12.2002 |
89063465876 |
1 |
2 |
Шевченко Михаил Евгеньевич |
12.10.2003 |
89058833634 |
2 |
3 |
Титов Сергей Николаевич |
25.05.2003 |
89286765467 |
3 |
4 |
Сидоров Павел Дмитриевич |
07.04.2004 |
89035646899 |
4 |
5 |
Зайцева Ирина Викторовна |
15.04.2003 |
89066548789 |
5 |
6 |
Петренко Валентина Алексеевна |
10.09.2004 |
89037867568 |
6 |
7 |
Романцова Светлана Владимировна |
13.10.2002 |
89037774674 |
7 |
8 |
Резников Михаил Анатольевич |
17.08.2002 |
89037667845 |
8 |
9 |
Орехова Валентина Андреевна |
19.11.2002 |
89038789807 |
9 |
10 |
Калашникова Юлия Ивановна |
18.01.2003 |
89285778545 |
10 |
6. Таблица «Pass».
Pass | ||||
idPass |
Class |
Duration |
Cost |
idWorkerPersonner |
1 |
1 |
20 |
30 000,00р. |
1 |
2 |
2 |
10 |
10 000,00р. |
1 |
3 |
2 |
10 |
15 000,00р. |
2 |
4 |
3 |
15 |
12 000,00р. |
2 |
5 |
1 |
15 |
40 000,00р. |
3 |
6 |
3 |
10 |
20 000,00р. |
3 |
7 |
2 |
18 |
25 000,00р. |
4 |
8 |
3 |
15 |
20 000,00р. |
5 |
9 |
1 |
10 |
30 000,00р. |
6 |
10 |
2 |
12 |
20 000,00р. |
6 |
11 |
3 |
8 |
10 000,00р. |
6 |
12 |
2 |
15 |
35 000,00р. |
7 |
13 |
1 |
10 |
30 000,00р. |
8 |
14 |
2 |
10 |
15 000,00р. |
8 |
15 |
1 |
15 |
37 000,00р. |
9 |
16 |
2 |
15 |
25 000,00р. |
9 |
17 |
3 |
10 |
10 000,00р. |
9 |
18 |
1 |
8 |
14 000,00р. |
10 |
19 |
3 |
10 |
8 000,00р. |
10 |
20 |
1 |
10 |
2 000,00р. |
1 |
7. Таблица «Klient».
Klient | ||||||
idKlient |
FIO |
NumberRusPassport |
NumberForeignPassport |
DateBirths |
Phone |
NumberCount |
1 |
Алексеенко Татьяна Сергеевна |
6002764913 |
4565456863 |
21.12.1960 |
89043356833 |
8745454548786964 |
2 |
Алексеенко Александра Олеговна |
6001246387 |
4556565878 |
17.09.1980 |
89055667643 |
2765089563554243 |
3 |
Алексеенко Олег Николаевич |
6001245686 |
4565676789 |
25.05.1959 |
89085643689 |
8675644365487785 |
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 |
19 |
Тропина Светлана Михайловна |
1256398748 |
1452369852 |
22.04.1989 |
89281199808 |
1256398574698563 |
8. Таблица «TransportationCompany».
TransportationCompany | ||||
idTransportationCompany |
Names |
NumberLicenses |
LegalAddress |
Fax |
1 |
Аэрофлот |
675454766 |
Москва, ул. Пушкина 286 |
798787454545 |
2 |
Дон-Авиатранспорт |
879897800 |
Ростов, ул. Большая Садовая 122 |
7876685 |
3 |
НПОПАТ |
879678568 |
Новочеркасск, пр. Баклановский 130 |
69897 |
4 |
ООО "Вокруг Света" |
435655466 |
Ростов, ул. Машиностроителей 54 |
5653477 |
5 |
РААПП |
687857675 |
Ростов, ул. Горького 34 |
6865646 |
9. Таблица «DistributionPass».
DistributionPass | |||||
idDistributionPass |
idKlient |
idPass |
DateDeparture |
idHotels |
idTransportationCompany |
1 |
1 |
3 |
21.01.2006 |
7 |
1 |
2 |
2 |
3 |
21.01.2006 |
7 |
1 |
3 |
3 |
3 |
21.01.2006 |
7 |
1 |
4 |
4 |
1 |
15.11.2005 |
8 |
3 |
5 |
5 |
1 |
15.11.2005 |
8 |
3 |
6 |
6 |
8 |
23.10.2005 |
4 |
5 |
7 |
7 |
10 |
20.01.2006 |
3 |
2 |
8 |
8 |
5 |
03.01.2006 |
15 |
3 |
9 |
9 |
2 |
29.12.2005 |
12 |
3 |
10 |
10 |
16 |
20.12.2005 |
11 |
2 |
11 |
11 |
19 |
30.01.2006 |
5 |
1 |
12 |
12 |
12 |
12.02.2006 |
6 |
1 |
13 |
13 |
10 |
06.01.2006 |
1 |
2 |
14 |
14 |
10 |
06.01.2006 |
1 |
2 |
15 |
15 |
8 |
19.01.2006 |
4 |
5 |
16 |
16 |
4 |
10.01.2006 |
13 |
4 |
17 |
17 |
6 |
31.12.2005 |
15 |
4 |
18 |
18 |
14 |
12.01.2006 |
10 |
1 |
19 |
19 |
20 |
17.03.2006 |
7 |
5 |