Работники турагентства продают путевки путешествий по разным странам. В каждую страну организуются несколько маршрутов. По каждому маршруту указывается цель путешествия (отдых, экскурсия, лечение, шоп-тур, обучение и др.).
Необходимо спроектировать базу данных ТУРАГЕНТСТВО, информация которой позволит определять наиболее популярные маршруты за текущий год, отслеживать обращения клиентов и др.

В БД должна храниться информация:
•о СТРАНАХ: код страны, название страны, стоимость визы (руб.);
•МАРШРУТАХ: код страны, код маршрута, наименование маршрута;
•ПРОДАЖАХ: код маршрута, цель путешествия, цена путевки (руб.), количество проданных путевок по маршруту, дата продажи.
При проектировании БД необходимо учитывать следующее:
•в каждую страну организуются несколько маршрутов. Маршрут имеет отношение только к одной стране;
•маршрут участвует в нескольких продажах. Продажа связана только с одним маршрутом.
Кроме того следует учесть:
•по каждой стране обязательно организуется маршрут. Каждый маршрут обязательно имеет отношение к некоторой стране;
•маршрут не обязательно может участвовать в продаже (может быть невостребован). Каждая продажа обязательно связана с одним маршрутом.

Травка58 Травка58    2   02.12.2020 14:32    66

Ответы
haru2000 haru2000  20.12.2023 14:19
Добрый день! Для проектирования базы данных ТУРАГЕНТСТВО, мы должны учесть все требования и информацию, указанную в задании. 1. В первую очередь, нам нужно создать таблицу "СТРАНЫ" для хранения информации о странах: - код страны (уникальный идентификатор, например, числовое значение или буквенно-цифровой код); - название страны (текстовое поле); - стоимость визы (руб.) (числовое поле). Например: +-----------+----------------------+------------------+ | Код страны | Название страны | Стоимость визы | +-----------+----------------------+------------------+ | Страна1 | Название страны1 | 1000 | | Страна2 | Название страны2 | 1500 | +-----------+----------------------+------------------+ 2. Затем нужно создать таблицу "МАРШРУТЫ" для хранения информации о маршрутах: - код страны (идентификатор, связанный с кодом страны из таблицы "СТРАНЫ"); - код маршрута (уникальный идентификатор); - наименование маршрута (текстовое поле). Например: +-----------+---------------+---------------------+ | Код страны | Код маршрута | Наименование маршрута | +-----------+---------------+---------------------+ | Страна1 | Маршрут1 | Название маршрута1 | | Страна1 | Маршрут2 | Название маршрута2 | +-----------+---------------+---------------------+ Второе поле "Код страны" связывает таблицу "МАРШРУТЫ" с таблицей "СТРАНЫ", чтобы указать, к какой стране относится каждый маршрут. 3. Далее создадим таблицу "ПРОДАЖИ" для хранения информации о продажах: - код маршрута (идентификатор, связанный с кодом маршрута из таблицы "МАРШРУТЫ"); - цель путешествия (текстовое поле, например, отдых, экскурсия и т.д.); - цена путевки (руб.) (числовое поле); - количество проданных путевок по маршруту (числовое поле); - дата продажи (дата и время). Например: +--------------+-----------------+-----------------+----------------------+---------------------+ | Код маршрута | Цель путешествия | Цена путевки | Проданные путевки | Дата продажи | +--------------+-----------------+-----------------+----------------------+---------------------+ | Маршрут1 | Отдых | 5000 | 10 | 2021-01-01 | | Маршрут1 | Экскурсия | 4500 | 5 | 2021-02-01 | +--------------+-----------------+-----------------+----------------------+---------------------+ Первый столбец "Код маршрута" связывает таблицу "ПРОДАЖИ" с таблицей "МАРШРУТЫ", чтобы указать, к какому маршруту относится каждая продажа. Теперь мы можем ответить на вопрос и выполнить необходимые запросы: 1. Наиболее популярные маршруты за текущий год: Для этого мы можем использовать запрос с объединением таблиц "МАРШРУТЫ" и "ПРОДАЖИ", группировкой по маршруту и подсчетом общего количества проданных путевок по каждому маршруту. Затем мы сортируем результаты по убыванию количества путевок и выбираем первые несколько записей. Пример SQL-запроса: SELECT МАРШРУТЫ.Код_маршрута, МАРШРУТЫ.Наименование_маршрута, SUM(ПРОДАЖИ.Проданные_путевки) AS Общее_количество_путевок FROM МАРШРУТЫ INNER JOIN ПРОДАЖИ ON МАРШРУТЫ.Код_маршрута = ПРОДАЖИ.Код_маршрута GROUP BY МАРШРУТЫ.Код_маршрута, МАРШРУТЫ.Наименование_маршрута ORDER BY SUM(ПРОДАЖИ.Проданные_путевки) DESC LIMIT 5; Этот запрос вернет топ 5 самых популярных маршрутов за текущий год, с указанием их кода и наименования маршрута, а также общего количества проданных путевок. 2. Отслеживание обращений клиентов: Чтобы отследить обращения клиентов, мы можем использовать таблицу "ПРОДАЖИ". При каждой продаже новой путевки, мы добавляем соответствующую запись в таблицу "ПРОДАЖИ" с указанием кода маршрута, цели путешествия, цены путевки, количества проданных путевок и даты продажи. Таким образом, мы можем по-прежнему использовать эту таблицу для отслеживания и анализа обращений клиентов. Пример SQL-запроса: SELECT * FROM ПРОДАЖИ WHERE Дата_продажи >= '2021-01-01' AND Дата_продажи <= '2021-12-31'; Этот запрос вернет все продажи путевок, совершенные за текущий год, с полной информацией о каждой продаже. Таким образом, база данных ТУРАГЕНТСТВО позволяет хранить информацию о странах, маршрутах и продажах, а также выполнять различные запросы для анализа и управления этими данными.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика