АВТ
Язык:

Дистанционный практикум по программированию

Задачи On-line статус ЧаВо Турниры
Для авторов:
 
Здравствуйте, Гость! Войдите с паролем или зарегистрируйтесь.

Схема данных БД "Автовокзал"

Особенности отправки SQL-запросов в проверяющую систему смотрите в FAQ.
В частности, всем вычисляемым полям необходимо явно давать имена длиной до 30 символов, например, так:
select min(price) as minpr from km_prices

Схема данных представлена на следующем рисунке:


  1. km_prices (расценки за километр)
    • class(класс автобуса)
    • price (цена за км для данного класса)
  2. models (марки или модели автобусов)
    • cod_model (код, суррогатный ключ)
    • name_model (название, атрибут носит справочный характер)
    • places (количество мест в автобусах данной марки)
    • class (класс комфортности)
  3. buses (автобусы)
    • cod_bus (код автобуса, возможно его инвентарный номер)
    • bus_number (номер ГИБДД, атрибут носит чисто справочный характер)
    • cod_model (марка автобуса, внешний ключ)
  4. points (населенные пункты)
    • cod_point (код, суррогатный ключ)
    • name_point (название)
    • distance (расстояние от пункта отправления)
  5. routes (маршруты)
    • cod_route (код, суррогатный ключ)
    • name_route (название маршрута)
  6. points_routes (связь между пунктами и маршрутами)
    • cod_point (код пункта, внешний ключ)
    • cod_route (код маршрута, внешний ключ)
  7. trips (рейсы)
    • cod_trip (код рейса, суррогатный ключ)
    • week_day (день недели)
    • hour (часы)
    • minute (минуты)
    • cod_route (код маршрута)
    • cod_bus (код автобуса, назначенного на данный рейс)
    • tickets (количество проданных билетов)

Некоторые пояснения.

Пункты и маршруты имеют связь "Многие-ко-Многим" (через каждый пункт может проходить несколько маршрутов и каждый маршрут имеет несколько остановок). Для этого служит таблица-связка points_routes.

Сущность trips (рейсы) связывает сущности Маршруты и Автобусы, дополняя их такими важными атрибутами как время отправления. Здесь же фиксируется и количество проданных билетов на каждый рейс (после отправления рейса поле обнуляется).

Дни недели в trips - числа от 1 до 7, где 1 - понедельник, 2 - вторник и т.д.

Номера и марки автобусов, названия маршрутов, названия населенных пунктов уникальны

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

 
время генерации 0.015 сек.
© Copyright ВоГТУ, АВТ, Носов Д.А.