Разработка веб-приложения на тему 'Организация въездного туризма в Республике Беларусь'

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,34 Мб
  • Опубликовано:
    2014-09-23
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка веб-приложения на тему 'Организация въездного туризма в Республике Беларусь'

ВВЕДЕНИЕ


О пользе туризма человечеству известно с древних времен. Именно благодаря удивительным способностям туризма просвещать, удивлять, лечить и дарить отдых эта услуга приобрела такую популярность в наши дни. Сегодня на земном шаре нет человека, который не мечтал бы о каком-нибудь путешествии.

Еще в древности люди поняли, что сидя дома многого о мире не узнаешь, а если и прочитаешь в книгах о загадочных дальних странах, но все равно ничто не сравниться с возможностью увидеть их своими глазами. Именно в образовательных целях путешествовали умнейшие люди древности, и именно с этими целями продолжают увлекаться туризмом наши современники. Возможность увидеть многогранный и удивительный мир, во всех оттенках его красок, со всеми его тайнами и удивительными обитателями, с осколками древних цивилизаций и лучшими творениями наших современников - все это делает туризм важнейшим занятием человечества.[1]

Поэтому туризм - это неотъемлемая часть нашей жизни. Каждая страна - это источник новых впечатлений и расширения кругозора, и важно не только самим путешествовать, а еще и помогать другим открывать новые места. Поэтому необходимо обратить внимание на развитие въездного туризма там, где он слаб. Ведь въездной туризм - одна из самых прибыльных отраслей в экономике любой страны. Если верить данным Всемирной туристской организации, прием иностранных гостей в шесть раз выгоднее экспорта мяса, в три раза - экспорта электроники. Поэтому каждая страна уделяет большое внимание развитию въездного туризма. А что же в этом отношении делается в Беларуси? Чем мы можем привлечь иностранных гостей?[<#"783907.files/image001.gif">

Рисунок 1.1 - Состав туристического продукта

Реализация тура субъекту туристической деятельности осуществляется на основании договора комиссии или иных договоров, не запрещенных законодательством.

Реализация тура участнику (участникам) туристической деятельности осуществляется на основании договора оказания туристических услуг.

Договор оказания туристических услуг заключается в письменной форме и кроме существенных условий, определенных законодательством, должен содержать следующие существенные условия:

–   стоимость туристических услуг, сроки и порядок их оплаты;

–   сведения об исполнителе, его месте нахождения (месте жительства индивидуального предпринимателя) и банковские реквизиты;

–   сведения о заказчике в объеме, необходимом для оказания туристических услуг;

–   программу туристического путешествия;

–   права, обязанности и ответственность сторон;

–   условия изменения и расторжения договора оказания туристических услуг, порядок урегулирования возникших споров и возмещения причиненных убытков (вреда);

–   иные условия, относительно которых по заявлению одной из сторон должно быть достигнуто соглашение.[закон]

На рисунке 1 также представлена схема взаимодействия объектов и субъектов туристической деятельности в среде въездного туризма.

Необходимо выделить субъекты нашей системы: турагент, туроператор, пользователь туристических услуг.

Турагент - организация - посредник <https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%81%D1%80%D0%B5%D0%B4%D0%BD%D0%B8%D0%BA>, занимающаяся продажей <https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B4%D0%B0%D0%B6%D0%B0> сформированных туроператором <https://ru.wikipedia.org/wiki/%D0%A2%D1%83%D1%80%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80> туров <https://ru.wikipedia.org/wiki/%D0%A2%D1%83%D1%80>.Турагент приобретает туры у туроператора и реализует туристский продукт <https://ru.wikipedia.org/wiki/%D0%A2%D1%83%D1%80%D0%B8%D1%81%D1%82%D1%81%D0%BA%D0%B8%D0%B9_%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82> покупателю, либо выступает посредником между туристом и туроператором за комиссионное вознаграждение, предоставляемое туроператором.

Туроператор (туристический оператор) - организация, занимающаяся комплектацией туров <https://ru.wikipedia.org/wiki/%D0%A2%D1%83%D1%80%D0%B8%D1%81%D1%82%D1%81%D0%BA%D0%B8%D0%B9_%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82> и формированием комплекса услуг для туристов <https://ru.wikipedia.org/wiki/%D0%A2%D1%83%D1%80%D0%B8%D1%81%D1%82>, продвижением и реализацией туров. Туроператор разрабатывает туристские пакеты, обеспечивает предоставление туристских услуг, рассчитывает цены на туры, передает туры турагентам <https://ru.wikipedia.org/wiki/%D0%A2%D1%83%D1%80%D0%B0%D0%B3%D0%B5%D0%BD%D1%82> для их последующей реализации туристам, обеспечивает информационную поддержку процесса реализации тура.

Некоторые турфирмы <https://ru.wikipedia.org/wiki/%D0%A2%D1%83%D1%80%D1%84%D0%B8%D1%80%D0%BC%D0%B0> совмещают функции туроператора и турагента <https://ru.wikipedia.org/wiki/%D0%A2%D1%83%D1%80%D0%B0%D0%B3%D0%B5%D0%BD%D1%82>, выступая как туроператор (компания, формирующая туристский продукт) по одному или нескольким направлениям и как турагент (компания, реализующая продукт, созданный другими туроператорами) по многим другим направлениям, для ассортимента.[7]

Рисунок 1.2 - Структура тура и взаимодействие между субъектами туристической деятельности

Также важно различать, что туроператором может быть только юридическое лицо, а турагентом - как индивидуальный предприниматель, так и юридическое лицо.

Для составления тура нам необходимо будет выбирать точки, которые можно назвать туристическими объектами. В свою очередь, туристические объекты можно разделить на три группы (рисунок 1.3) и выделить отдельную категорию - комплекс. Каждая категория отличается целенаправленностью туристического объекта и данными, которые предоставляются. Как видно из рисунка, к группе А относятся природные объекты, к группе В - достопримечательности, а к группе С - достопримечательности и объекты со своей инфраструктурой.

Рисунок 1.3 - Разделение туристических объектов по группам

На рисунке 1.4 представлено разделение туристических объектов по группам и определение данных, которые будут характеризовать каждую группу.

Рисунок 5 - Основные атрибуты по группам туристических объектов

2. ОПИСАНИЕ ПРОЦЕССА СОЗДАНИЯ И РЕАЛИЗАЦИИ ТУРА

Исходя из анализа предметной области, главным процессом предметной области является создание и реализация тура. Описание процесса реализуется с помощью методологии IDEF0.

Входными данными к данному процессу являются:

–   данные о туре - необходимы данные для создания туристического продукта: время начала, время окончания, туристические объекты, предлагаемые услуги;

–   данные о турфирме/туроператоре/турагенте - данные, необходимые для идентификации поставщика тур продуктов и составления договора: реквизиты, адрес и пр.;

–   данные о клиенте - данные, необходимые для составления договора, а также пожелания и контактные данные;

–   данные об исследовании рынка - данные, необходимые для создания туристического объекта, включающие в себя маркетинговые исследования и опросы о пожеланиях клиента.

Стрелка управления - это правила, стратегии, процедуры, стандарты, которые определяют условия, необходимые функции, чтобы произвести правильный выход. [9] В построенной модели работа туроператора, турагента и клиента осуществляется в рамках закона Республики Беларусь "О туризме", правил разработки туристического продукта и правил использования системы, написанных разработчиком.

Механизмами нашего процесса являются туроператор, турагент и пользователь туристической услуги.

На выходе мы получим договор оказания туристических услуг и реализованный туристический продукт.

Функциональная модель процесса - «Создание и реализация тура» представлена на рисунке 2.1.

Главный процесс можно разделить на четыре подпроцесса:

.        проектирование туристического продукта - этап, на котором выделяются основные направления, выбираются необходимые данные и составляется проект тура;

.        создание туристического продукта - создание туристического продукта после его утверждения;

.        внедрение туристического продукта на рынок;

.        реализация тура и заключение договора - реализация тура здесь предполагает оплату туристического продукта и получение всех услуг клиентом.

Рисунок 2.1 - Контекстная диаграмма верхнего уровня

Результат декомпозиции главного функционального блока можно увидеть на рисунке 2.2.

В свою очередь, разработка туристического продукта состоит из следующих этапов:

–   первый этап: определение цели;

–   второй этап: общие рамочные условия предложения (например, тема, название/наименование, продолжительность);

–   третий этап: выбор соответствующей сервисной составляющей предложения;

–   четвертый этап: расчет стоимости сервисной составляющей, оценка стоимости предложения на человека;

–   пятый этап: описание туристического пакета с текстом и (значащими!) картинками, веб-сайт / интерактивная карта и т.д. ;

–   шестой этап: анализ проекта.

Рисунок 2.2 - Декомпозиция главного функционального блока

Результат декомпозиции блока "Проектирование туристического продукта " представлен на рисунке 2.3.

Рисунок 2.3 - Декомпозиция блока «Проектирование туристического продукта»

Следующий процесс, который необходимо разбить на подпроцессы - это реализация тура и заключение договора. Данный процесс необходимо разбить, т.к. в разрабатываемой системе будет предоставлена возможность автоматической печати договоров.

В первую очередь турагент должен обработать заявку, поступившую от клиента. Затем, взаимодействуя с клиентом, определяется тур, в который поедет клиент, сроки, условия оплаты и прочее. Далее составляется договор, в котором будут отражены все известные данные. После этого договор подписывают обе стороны и турагент дожидается оплаты туруслуги и самого тура. Только после этого на выходе мы получим реализованный туристический продукт.

Рисунок 2.4 - Декомпозиция блока "Реализация тура и заключение договора"

3. ПОСТАНОВКА ЗАДАЧИ И ОБЗОР МЕТОДОВ ЕЁ РЕШЕНИЯ

При разборе предметной области и описании основного процесса мы определили следующие задачи:

-   разработать информационную систему и реализовать ее в виде клиент-серверного web-приложения;

-   реализовать предусмотренные варианты использования;

-   разработать клиентское приложения с простым и доступным интерфейсом.

Языком программирования для разработки серверной части информационной системы по организации въездного туризма в Республике Беларусь был выбран Java, что обусловлено рядом преимуществ данного языка:

.        Кросс - платформенность;

.        Унифицированный доступ к базам данных;

.        Ориентация на Internet-задачи, сетевые распределенные приложения;

Для разработки сервисов на языке Java был выбран фреймфорк Jersey, который позволяет проектировать RESTful <#"783907.files/image009.gif">

Рисунок 3 - Варианты использования системы

5. МОДЕЛИ ПРЕДСТАВЛЕНИЯ СИСТЕМЫ И ИХ ОПИСАНИЕ

Для лучшего представления спроектированной системы необходимо было построить UML диаграммы: последовательности, состояний, компонентов, развертывания, классов.

Первая диаграмма - диаграмма последовательности. На ней можно увидеть последовательность действий программы при авторизации пользователя на сайте. В ней участвуют пользователь, страница index.html, обработчик и контроллер Controllers.js, класс веб-сервиса TourServices.java, класс логики ReciepeDao.java, класс сущности User.java и сама база данных TripStoreDB. Рисунок диаграммы представлен в приложении Б.

Вторая диаграмма - диаграмма классов. Диаграммы классов используются для разработки статического представления системы. Классы размещены в различных пакетах, поэтому диаграммы построены для каждого из них и представлены в приложении В.

В пакете by.piulskaya.entity находятся классы - сущности базы данных.

В пакете by.piulskaya.dao находятся классы доступа к данным.

В пакете by.piulskaya.services находятся классы бизнес-логики приложения, веб-сервисы.

В пакете by.piulskaya.util находятся вспомогательные классы приложения.

Следующая диаграмма - диаграмма состояний. Она отображает возможные состояния определенного объекта во время функционирования системы. В данном случае в качестве объекта были выбраны данные о туробъекте. Сама диаграмма представлена в приложении Г.

Четвертая по счету диаграмма - диаграмма компонентов, которая показывает разбиение программной системы на структурные компоненты <#"783907.files/image010.gif">

Рисунок 7.1 - Алгоритм создания тура

8. ОБОСНОВАНИЕ ОРИГИНАЛЬНЫХ РЕШЕНИЙ ПО ИСПОЛЬЗОВАНИЮ ТЕХНИЧЕСКИХ И ПРОГРАММНЫХ СРЕДСТВ, НЕ ВКЛЮЧЕННЫХ В ТРЕБОВАНИЯ

Для создания кросс-браузерного CSS и упрощения работы был использован CSS - препроцессор Stylus. Stylus - это препроцессор CSS, позволяющий писать ясный CSS с использованием программных конструкций вместо статических правил. Он имеет ряд преимуществ, таких как:

–   Stylus - очень гибкий препроцессор.

–   В Stylus есть такая вещь как прозрачные миксины - возможность вызвать функцию как обычное CSS-свойство. Прозрачные миксины очень сильно упрощают поддержку браузерных префиксов. Не нужно запоминать, какие префиксы имеет то или иное свойство, и заботиться о том, нужно ли для очередного свойства писать специальную конструкцию. Достаточно просто всегда писать без префиксов, а об их добавлении позаботится подключённая библиотека.

–   Stylus написан на JS. Это значит, что его проще поддерживать и исправлять в нём ошибки.

Для обработки данных и связи клиентского приложения с веб-сервисами был использован AngularJS - JavaScript-фреймворк <https://ru.wikipedia.org/w/index.php?title=JavaScript-%D1%84%D1%80%D0%B5%D0%B9%D0%BC%D0%B2%D0%BE%D1%80%D0%BA&action=edit&redlink=1> с открытым исходным кодом <https://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5>. Он предназначен для разработки одностраничных приложений <https://ru.wikipedia.org/wiki/Single_Page_Application>. Его цель - расширение браузерных приложений на основе MVC <https://ru.wikipedia.org/wiki/Model-View-Controller> шаблона, а также упрощение тестирования и разработки.Фреймворк работает с HTML <https://ru.wikipedia.org/wiki/HTML>, содержащим дополнительные пользовательские атрибуты, которые описываются директивами, и связывает ввод или вывод области страницы с моделью, представляющей собой обычные переменные JavaScript. Значения этих переменных задаются вручную или извлекаются из статических или динамических JSON-данных.

Преимущества данного фреймворка:

–   Имеет двустороннюю привязку данных;

–   Модели - это простые объекты JavaScript;

–   Имеет внедрение зависимости;

–   Имеет автоматическую фильтрацию просмотра;

–   Обновляет DOM асинхронно.

Для работы с картой была использована библиотека Leaflet - JavaScript библиотека c открытым исходным кодом для создания интерактивных карт.

9. РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ РАЗРАБОТАННОЙ СИСТЕМЫ И ОЦЕНКА ВЫПОЛНЕНИЯ ЗАДАЧ

При разработке системы по организации въездного туризма в Беларуси было создано два модуля:

.        Модуль для туристов;

.        Модуль для турфирм и операторов.

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

Рисунок 9.1 - Главная страница пользователя

Выбрав одну из областей, мы переходим на страницу с результатами поиска по данной области, а также небольшую информацию о самой области.

Список результатов, а также сопутствующую информацию можно увидеть на рисунке 9.2.

Рисунок 9.2 - Результаты поиска по области

Нажав на кнопку "Подробнее" у выбранного объекта мы перейдём на страницу с описанием места. Снимок страницы изображен на рисунке 9.3.

Рисунок 9.3 - Страница описания туристического объекта

При нажатии кнопки "В мой маршрут" появится форма входа/регистрации пользователя. Пользователь также имеет возможность войти в систему через социальную сеть. Форма изображена на рисунке 9.4.

Рисунок 9.4 - Форма регистрации/входа

Рассмотрим работу второго модуля. При входе турагента в систему загружается рабочая панель. Справа - статическая область навигации, по центру - динамический контент (рисунок 9.5).

Рисунок 9.5 - Рабочая панель турагента/туроператора

Нажав на кнопку пользователя в левом верхнем углу перед нами открывается панель пользовательских настроек. Результат представлен на рисунке 9.6.

Рисунок 9.6 - Панель настроек пользователя

При нажатии ссылки "Сообщения" перед нами открывается окно с сообщениями, где можно увидеть список всех входящих сообщений, а также создать новое сообщение и выбрать отправителя. Список сообщений отображен на рисунке 9.7.

Рисунок 9.7 - Панель сообщений

Также у пользователя есть возможность создания туробъектов, где есть два варианта определения координат и адреса места: вводом вручную и перетаскиванием маркера на карте (рисунок 9.8).

Рисунок 9.8 - Панель сообщений

Тестирование системы показало, что основные задачи курсового проекта были выполнены.

туризм программный интерфейс алгоритм

ВЫВОДЫ И ЗАКЛЮЧЕНИЯ

Данный курсовой проект заключался в проектировании и разработке веб-приложения на тему «Организация въездного туризма в Республике Беларусь».

В начале проектирования были поставлены задачи, которые необходимо было реализовать, а также были определены варианты использования данной системы. Большая часть задач была выполнена, однако, некоторые варианты использования требуют доработки и оптимизации.

Была создана информационная модель, которая удовлетворяет всем требованиям к данной системе, что говорит о том, что предметная область была разобрана качественно.

И что немаловажно, был создан приятный и удобный интерфейс, который сможет привлечь иностранных посетителей, а также не заставит их каждый раз ждать перезагрузки страницы благодаря использованию Ajax.

В заключение можно отметить, что данное приложение практически не имеет аналогов на белорусском рынке и тем более за рубежом, поэтому его расширение действительно может помочь развитию как въездного туризма, так и внутреннего. Сайт можно улучшить добавлением возможностей обратной связи, добавлением возможности отправки сообщений на телефонные номера клиентов для оповещения их о процессе организации поездки, постепенным добавлением других иностранных языков, а также добавлением возможности оценки туров и поставщиков туристических услуг, для того, чтобы иностранные граждане не ошиблись в своем выборе. Также, пользовательская часть данного приложения будет удобна для пользователей мобильных устройств, поэтому разработка мобильного приложения на основе данного приложения также может помочь развитию туризма в нашей стране.

ЛИТЕРАТУРА

[1] [Электронный ресурс]. - Электронные данные. - Режим доступа : #"783907.files/image020.jpg">

Рисунок A.1 - Физическая модель базы данных

Приложение Б


Диаграмма последовательности процесса авторизации пользователя



Приложение В


Диаграммы классов

Рисунок В.1 -Пакет by.piulskaya.entity

Приложение Г


Диаграмма состояний для туристического объекта

Рисунок Г.1 - Диаграмма состояний

Приложение Д


Диаграмма компонентов разработанного сервера

Рисунок Д.1 - Диаграмма компонентов

Приложение Е


Диаграмма развертывания

Рисунок Е.1 - Диаграмма развертывания

Приложение И

Листинг скрипта генерации базы данных «TripStoreDB»

CREATE SCHEMA IF NOT EXISTS `tripstoredb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;`tripstoredb` ;TABLE IF NOT EXISTS `tripstoredb`.`DateTime` (

`idDateTime` DATETIME NOT NULL,

`day` INT NULL,

`month` INT NULL,

`year` INT NULL,

`hour` INT NULL,

`minutes` INT NULL,KEY (`idDateTime`))= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`lang` (

`idlang` INT NOT NULL AUTO_INCREMENT,

`langname` VARCHAR(45) NOT NULL,KEY (`idlang`))= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`Country` (

`idCountry` INT NOT NULL AUTO_INCREMENT,

`countryName` VARCHAR(100) NULL,

`lang` INT NOT NULL,

`lang_idlang` INT NOT NULL,KEY (`idCountry`),`fk_Country_lang1_idx` (`lang_idlang` ASC),`fk_Country_lang1`KEY (`lang_idlang`)`tripstoredb`.`lang` (`idlang`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`Region` (

`idRegion` INT NOT NULL AUTO_INCREMENT,

`country` INT NOT NULL,

`region_name` VARCHAR(255) NULL,

`lang_idlang` INT NOT NULL,KEY (`idRegion`),`fk_Region_Country1_idx` (`country` ASC),`fk_Region_lang1_idx` (`lang_idlang` ASC),`fk_Region_Country1`KEY (`country`)`tripstoredb`.`Country` (`idCountry`)DELETE NO ACTIONUPDATE NO ACTION,`fk_Region_lang1`KEY (`lang_idlang`)`tripstoredb`.`lang` (`idlang`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`City` (

`idCity` INT NOT NULL AUTO_INCREMENT,

`cityName` VARCHAR(255) NULL,

`Region_idRegion` INT NOT NULL,

`Country_idCountry` INT NOT NULL,

`lang_idlang` INT NOT NULL,KEY (`idCity`),`fk_City_Region1_idx` (`Region_idRegion` ASC),`fk_City_Country1_idx` (`Country_idCountry` ASC),`fk_City_lang1_idx` (`lang_idlang` ASC),`fk_City_Region1`KEY (`Region_idRegion`)`tripstoredb`.`Region` (`idRegion`)DELETE NO ACTIONUPDATE NO ACTION,`fk_City_Country1`KEY (`Country_idCountry`)`tripstoredb`.`Country` (`idCountry`)DELETE NO ACTIONUPDATE NO ACTION,`fk_City_lang1`KEY (`lang_idlang`)`tripstoredb`.`lang` (`idlang`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`Address` (

`idAddress` INT NOT NULL AUTO_INCREMENT,

`street` VARCHAR(255) NOT NULL,

`house` INT NULL,

`locX` INT NULL,

`locY` INT NULL,

`floor` INT NULL,

`office` INT NULL,

`index` INT NULL,

`City_idCity` INT NOT NULL,KEY (`idAddress`),`fk_Address_City1_idx` (`City_idCity` ASC),`fk_Address_City1`KEY (`City_idCity`)`tripstoredb`.`City` (`idCity`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`Place` (

`idPlace` INT NOT NULL AUTO_INCREMENT,

`` VARCHAR(45) NULL,

`Address_idAddress` INT NOT NULL,

`description_iddescription` INT NOT NULL,

`title_idtitle` INT NOT NULL,KEY (`idPlace`),`fk_Place_Address1_idx` (`Address_idAddress` ASC),`fk_Place_Address1`KEY (`Address_idAddress`)`tripstoredb`.`Address` (`idAddress`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`Category` (

`idCategory` INT NOT NULL AUTO_INCREMENT,

`categoryName` VARCHAR(50) NOT NULL,

`lang_idlang` INT NOT NULL,KEY (`idCategory`))= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`Category_has_Place` (

`Category_idCategory` INT NOT NULL,

`Place_idPlace` INT NOT NULL,KEY (`Category_idCategory`, `Place_idPlace`),`fk_Category_has_Place_Place1_idx` (`Place_idPlace` ASC),`fk_Category_has_Place_Category1_idx` (`Category_idCategory` ASC),`fk_Category_has_Place_Category1`KEY (`Category_idCategory`)`tripstoredb`.`Category` (`idCategory`)DELETE NO ACTIONUPDATE NO ACTION,`fk_Category_has_Place_Place1`KEY (`Place_idPlace`)`tripstoredb`.`Place` (`idPlace`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`currency` (

`idcurrency` INT NOT NULL AUTO_INCREMENT,

`currencyname` VARCHAR(45) NULL,

`convercion` DOUBLE NULL,KEY (`idcurrency`))= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`price` (

`idprice` INT NOT NULL AUTO_INCREMENT,

`price_person` INT NOT NULL,

`price_child` INT NULL,

`notes` TINYTEXT NULL,

`currency_idcurrency` INT NOT NULL,KEY (`idprice`),`fk_price_currency1_idx` (`currency_idcurrency` ASC),`fk_price_currency1`KEY (`currency_idcurrency`)`tripstoredb`.`currency` (`idcurrency`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`tour` (

`idtour` INT NOT NULL AUTO_INCREMENT,

`duration` INT NOT NULL,

`start_time` DATETIME NOT NULL,

`end_time` DATETIME NOT NULL,

`title_idtitle` INT NOT NULL,

`description_iddescription` INT NOT NULL,

`price_idprice` INT NOT NULL,KEY (`idtour`),`fk_tour_DateTime1_idx` (`start_time` ASC),`fk_tour_DateTime2_idx` (`end_time` ASC),`fk_tour_price1_idx` (`price_idprice` ASC),`fk_tour_DateTime1`KEY (`start_time`)`tripstoredb`.`DateTime` (`idDateTime`)DELETE NO ACTIONUPDATE NO ACTION,`fk_tour_DateTime2`KEY (`end_time`)`tripstoredb`.`DateTime` (`idDateTime`)DELETE NO ACTIONUPDATE NO ACTION,`fk_tour_price1`KEY (`price_idprice`)`tripstoredb`.`price` (`idprice`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`CheckPoint` (

`idCheckPoint` INT NOT NULL AUTO_INCREMENT,

`tour_idtour` INT NOT NULL,KEY (`idCheckPoint`),`fk_CheckPoint_tour1_idx` (`tour_idtour` ASC),`fk_CheckPoint_tour1`KEY (`tour_idtour`)`tripstoredb`.`tour` (`idtour`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`TourFirm` (

`idTourOperator` INT NOT NULL,

`tourFirmName` VARCHAR(45) NOT NULL,

`email` VARCHAR(255) NULL,KEY (`idTourOperator`))= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`user` (

`iduser` INT NOT NULL AUTO_INCREMENT,

`email` VARCHAR(255) NOT NULL,

`usercol` VARCHAR(45) NULL,

`fio` LONGTEXT NOT NULL,KEY (`iduser`))= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`request` (

`idRequest` INT NOT NULL AUTO_INCREMENT,

`email` VARCHAR(255) NOT NULL,

`tour_idtour` INT NOT NULL,

`reqtime` DATETIME NOT NULL,

`user_iduser` INT NOT NULL,KEY (`idRequest`),`fk_Request_tour1_idx` (`tour_idtour` ASC),`fk_request_DateTime1_idx` (`reqtime` ASC),`fk_request_user1_idx` (`user_iduser` ASC),`fk_Request_tour1`KEY (`tour_idtour`)`tripstoredb`.`tour` (`idtour`)DELETE NO ACTIONUPDATE NO ACTION,`fk_request_DateTime1`KEY (`reqtime`)`tripstoredb`.`DateTime` (`idDateTime`)DELETE NO ACTIONUPDATE NO ACTION,`fk_request_user1`KEY (`user_iduser`)`tripstoredb`.`user` (`iduser`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`tourType` (

`idtourType` INT NOT NULL AUTO_INCREMENT,

`typeName` VARCHAR(45) NOT NULL,

`lang_idlang` INT NOT NULL,KEY (`idtourType`, `typeName`))= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`tour_has_tourType` (

`tour_idtour` INT NOT NULL,

`tourType_idtourType` INT NOT NULL,

`tourType_typeName` VARCHAR(45) NOT NULL,KEY (`tour_idtour`, `tourType_idtourType`, `tourType_typeName`),`fk_tour_has_tourType_tourType1_idx` (`tourType_idtourType` ASC, `tourType_typeName` ASC),`fk_tour_has_tourType_tour1_idx` (`tour_idtour` ASC),`fk_tour_has_tourType_tour1`KEY (`tour_idtour`)`tripstoredb`.`tour` (`idtour`)DELETE NO ACTIONUPDATE NO ACTION,`fk_tour_has_tourType_tourType1`KEY (`tourType_idtourType`, `tourType_typeName`)`tripstoredb`.`tourType` (`idtourType`, `typeName`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`GroupPrice` (

`idGroupPrices` INT NOT NULL AUTO_INCREMENT,

`num1` INT NULL,

`num2` INT NULL,

`price_idprice` INT NOT NULL,KEY (`idGroupPrices`),`fk_GroupPrices_price1_idx` (`price_idprice` ASC),`fk_GroupPrices_price1`KEY (`price_idprice`)`tripstoredb`.`price` (`idprice`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`InPrice` (

`idInPrice` INT NOT NULL AUTO_INCREMENT,

`includeText` TINYTEXT NULL,

`price_idprice` INT NOT NULL,KEY (`idInPrice`),`fk_InPrice_price1_idx` (`price_idprice` ASC),`fk_InPrice_price1`KEY (`price_idprice`)`tripstoredb`.`price` (`idprice`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`touragent` (

`idtouragent` INT NOT NULL AUTO_INCREMENT,

`TourFirm_idTourOperator` INT NOT NULL,KEY (`idtouragent`),`fk_touragent_TourFirm1_idx` (`TourFirm_idTourOperator` ASC),`fk_touragent_TourFirm1`KEY (`TourFirm_idTourOperator`)`tripstoredb`.`TourFirm` (`idTourOperator`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`Document` (

`idDocument` INT NOT NULL AUTO_INCREMENT,

`docName` VARCHAR(45) NOT NULL,

`touragent_idtouragent` INT NOT NULL,KEY (`idDocument`),`fk_Document_touragent1_idx` (`touragent_idtouragent` ASC),`fk_Document_touragent1`KEY (`touragent_idtouragent`)`tripstoredb`.`touragent` (`idtouragent`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`agreement` (

`idagreement` INT NOT NULL AUTO_INCREMENT,

`docnumber` INT NOT NULL,

`user_iduser` INT NOT NULL,

`touragent_idtouragent` INT NOT NULL,KEY (`idagreement`),`fk_agreement_user1_idx` (`user_iduser` ASC),`fk_agreement_touragent1_idx` (`touragent_idtouragent` ASC),`fk_agreement_user1`KEY (`user_iduser`)`tripstoredb`.`user` (`iduser`)DELETE NO ACTIONUPDATE NO ACTION,`fk_agreement_touragent1`KEY (`touragent_idtouragent`)`tripstoredb`.`touragent` (`idtouragent`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`message` (

`idmessage` INT NOT NULL AUTO_INCREMENT,

`messagetext` LONGTEXT NOT NULL,

`messagetheme` VARCHAR(45) NOT NULL,

`user_iduser` INT NOT NULL,

`touragent_idtouragent` INT NOT NULL,KEY (`idmessage`),`fk_message_user1_idx` (`user_iduser` ASC),`fk_message_touragent1_idx` (`touragent_idtouragent` ASC),`fk_message_user1`KEY (`user_iduser`)`tripstoredb`.`user` (`iduser`)DELETE NO ACTIONUPDATE NO ACTION,`fk_message_touragent1`KEY (`touragent_idtouragent`)`tripstoredb`.`touragent` (`idtouragent`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`requisites` (

`idrequisites` INT NOT NULL AUTO_INCREMENT,

`requisitescol` VARCHAR(45) NULL,

`touragent_idtouragent` INT NOT NULL,KEY (`idrequisites`),`fk_requisites_touragent1_idx` (`touragent_idtouragent` ASC),`fk_requisites_touragent1`KEY (`touragent_idtouragent`)`tripstoredb`.`touragent` (`idtouragent`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`street` (

`idstreet` INT NOT NULL AUTO_INCREMENT,

`streetname` VARCHAR(45) NOT NULL,

`Address_idAddress` INT NOT NULL,

`lang_idlang` INT NOT NULL,KEY (`idstreet`),`fk_street_Address1_idx` (`Address_idAddress` ASC),`fk_street_lang1_idx` (`lang_idlang` ASC),`fk_street_Address1`KEY (`Address_idAddress`)`tripstoredb`.`Address` (`idAddress`)DELETE NO ACTIONUPDATE NO ACTION,`fk_street_lang1`KEY (`lang_idlang`)`tripstoredb`.`lang` (`idlang`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;TABLE IF NOT EXISTS `tripstoredb`.`Place_has_CheckPoint` (

`Place_idPlace` INT NOT NULL,

`CheckPoint_idCheckPoint` INT NOT NULL,KEY (`Place_idPlace`, `CheckPoint_idCheckPoint`),`fk_Place_has_CheckPoint_CheckPoint1_idx` (`CheckPoint_idCheckPoint` ASC),`fk_Place_has_CheckPoint_Place1_idx` (`Place_idPlace` ASC),`fk_Place_has_CheckPoint_Place1`KEY (`Place_idPlace`)`tripstoredb`.`Place` (`idPlace`)DELETE NO ACTIONUPDATE NO ACTION,`fk_Place_has_CheckPoint_CheckPoint1`KEY (`CheckPoint_idCheckPoint`)`tripstoredb`.`CheckPoint` (`idCheckPoint`)DELETE NO ACTIONUPDATE NO ACTION)= InnoDB;

Похожие работы на - Разработка веб-приложения на тему 'Организация въездного туризма в Республике Беларусь'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!