Практическое задание №1
«Пассажиры автовокзала»
Задание
Провести анализ предметной области и построить информационную модель БД от руки на листе бумаги, используя геометрические фигуры (прямоугольники и соединительные линии). Модель должна состоять не менее чем из 5 таблиц. Определить атрибуты, ключи и связи.
Заполнить таблицу, представленную ниже, в приложении А. Выполнение
Имя атрибута
на руск.яз.
| Имя атрибута
на англ.яз.
| Назначение
| Описание
| Тип данных
| Размерность
| Условие проверки вводимого значения
| Вычисление значения
| Возможны
Null-значения
| Значение, атрибута по умолчанию
| Набор допустимых значений
| 1
| 2
| 3
| 4
| 5
| 6
| 7
| 8
| 9
| 10
| 11
| id_пункта
| point_id
| Код пункта назначения
| Первичный ключ (суррогатный)
| tinyint
| от 0 до 255
| автоинкремент
| -
| -
| -
| -
| пункт назначения
| dest_point
| Название
| -
| varchar(30)
| -
| Исключен ввод латинских букв и цифр
| -
| -
| -
| -
| Таблица Пункт назначения
Таблица Автобус Имя атрибута
на руск.яз.
| Имя атрибута
на англ.яз.
| Назначение
| Описание
| Тип данных
| Размерность
| Условие проверки вводимого значения
| Вычисление значения
| Возможны
Null-значения
| Значение, атрибута по умолчанию
| Набор допустимых значений
| 1
| 2
| 3
| 4
| 5
| 6
| 7
| 8
| 9
| 10
| 11
| id_автобуса
| bus_id
| Код автобуса
| Первичный ключ (суррогатный)
| tinyint
| от 0 до 255
| автоинкремент
| -
| -
| -
| -
| марка
| brand
| Марка автобуса
| -
| varchar(20)
| -
| Исключен ввод посторонних символов
| -
| -
| -
| -
| Число мест
| count_pos
| Вместимость
| -
| tinyint
| от 0 до 255
| Исключен ввод букв и символов
| -
| -
| -
| числа от 0 до 60
| Номер
| number
| Госномер ТС
| -
| varchar(20)
| -
| Исключен ввод латинских букв
| -
| -
| -
| Формат <б><3ц><2б><рег>
| Водитель
| driver
| Водитель ТС
| -
| varchar(30)
| -
| Исключен ввод латинских букв и цифр
| -
| -
| -
| ФИО
|
Таблица Маршрут Имя атрибута
на руск.яз.
| Имя атрибута
на англ.яз.
| Назначение
| Описание
| Тип данных
| Размерность
| Условие проверки вводимого значения
| Вычисление значения
| Возможны
Null-значения
| Значение, атрибута по умолчанию
| Набор допустимых значений
| 1
| 2
| 3
| 4
| 5
| 6
| 7
| 8
| 9
| 10
| 11
| id_маршрута
| route_id
| Код маршрута
| Первичный ключ (суррогатный)
| tinyint
| 0..255
| -
| -
| -
| -
| 0..255
| Пункт отправления
| arr_point
| Название н.п. отправления
| Внешний ключ таб. Пункт назначения
| tinyint
| 0..255
| -
| -
| -
| -
| 0..255
| Пункт прибытия
| dest_point
| Название н.п. прибытия
| Внешний ключ таб. Пункт назначения
| tinyint
| 0..255
| -
| -
| -
| -
| 0..255
| Регулярность
| days
| Дни, по которым выполняется маршрут
| -
| varchar(20)
| -
| Исключен ввод латинских букв
| -
| -
| Ежедневно
| -
| Время в пути
| time_on_road
| Время в пути в минутах
| -
| smallint
| 0..32767
| -
| время приб – время отпр
| -
| -
| -
|
Таблица Остановка Имя атрибута
на руск.яз.
| Имя атрибута
на англ.яз.
| Назначение
| Описание
| Тип данных
| Размерность
| Условие проверки вводимого значения
| Вычисление значения
| Возможны
Null-значения
| Значение, атрибута по умолчанию
| Набор допустимых значений
| 1
| 2
| 3
| 4
| 5
| 6
| 7
| 8
| 9
| 10
| 11
| id_остановки
| station_id
| Код остановки
| Суррогатный первичный ключ
| tinyint
| 0..255
| -
| -
| -
| -
| -
| id_маршрута
| route_id
| Код маршрута
| Внешний ключ таб. Маршрут
| tinyint
| 0..255
| -
| -
| -
| -
| -
| id_пункта
| point_id
| Код н.п.
| Внешний ключ таб. Пункт назн.
| tinyint
| 0..255
| -
| -
| -
| -
| -
| Время стоянки
| stand_time
| Время стоянки ТС на остановке
| -
| smallint
| 0..32767
| Только цифры
| -
| -
| -
| -
|
Таблица Рейс Имя атрибута
на руск.яз.
| Имя атрибута
на англ.яз.
| Назначение
| Описание
| Тип данных
| Размерность
| Условие проверки вводимого значения
| Вычисление значения
| Возможны
Null-значения
| Значение, атрибута по умолчанию
| Набор допустимых значений
| 1
| 2
| 3
| 4
| 5
| 6
| 7
| 8
| 9
| 10
| 11
| id_рейса
| trip_id
| Код рейса
| Суррогатный первичный ключ
| tinyint
| 0..255
| -
| -
| -
| -
| -
| id_маршрута
| route_id
| Код маршрута
| Внешний ключ таб. Маршрут
| tinyint
| 0..255
| -
| -
| -
| -
| -
| Время отпр.
| arr_time
| Время отправления ТС
| -
| datetime
| -
| Значение в часах и минутах ЧЧ:ММ
| -
| -
| -
| -
| Время приб.
| dest_time
| Время прибытия ТС
| -
| datetime
| -
| Значение в часах и минутах ЧЧ:ММ
| -
| -
| -
| -
| id_автобуса
| bus_id
| Код автобуса
| Внешний ключ таб. Автобус
| tinyint
| 0..255
| -
| -
| -
| -
| -
| Цена билета
| ticket_price
| Цена билета от пункта А до В
| -
| float
| 0..5000
| Неотрицательное число
| Если есть льготы, то price = price * 0,01 * (скидка в %)
| -
| -
| -
|
Таблица Билет Имя атрибута
на руск.яз.
| Имя атрибута
на англ.яз.
| Назначение
| Описание
| Тип данных
| Размерность
| Условие проверки вводимого значения
| Вычисление значения
| Возможны
Null-значения
| Значение, атрибута по умолчанию
| Набор допустимых значений
| 1
| 2
| 3
| 4
| 5
| 6
| 7
| 8
| 9
| 10
| 11
| id_билета
| ticket_id
| Код билета
| Суррогатный первичный ключ
| tinyint
| 0..255
| -
| -
| -
| -
| -
| id_рейса
| trip_id
| Код рейса
| Внешний ключ таб. Рейс
| tinyint
| 0..255
| -
| -
| -
| -
| -
| Номер места
| pos_number
| Занимаемое пассажиром место в ТС
| -
| tinyint
| 1..60
| Целочисленное положительное значение
| -
| -
| -
| -
| id_пассажира
| pass_id
| Код пассажира
| Внешний ключ таблицы Пассажир
| tinyint
| 0..255
| -
| -
| -
| -
| -
|
Таблица Пассажир Имя атрибута
на руск.яз.
| Имя атрибута
на англ.яз.
| Назначение
| Описание
| Тип данных
| Размерность
| Условие проверки вводимого значения
| Вычисление значения
| Возможны
Null-значения
| Значение, атрибута по умолчанию
| Набор допустимых значений
| 1
| 2
| 3
| 4
| 5
| 6
| 7
| 8
| 9
| 10
| 11
| id_пассажира
| pass_id
| Код пассажира
| Суррогатный первичный ключ
| tinyint
| 0..255
| -
| -
| -
| -
| -
| ФИО пассажира
| pass_name
| Имя пассажира, купившего билет
| -
| varchar(30)
| -
| Исключаются латинские буквы и цифры
| -
| -
| -
| -
| Документ
| document
| Паспорт (в случае льготы льготный документ)
| -
| varchar(20)
| -
| Исключаются кириллические буквы
| -
| -
| -
| -
| |