Добрый день всем.
Задание:
Разработать ER-диаграмму, а затем, пользуясь средствами СУБД Microsoft Access, создать базу данных для информационной системы железной дороги (пригородные поезда). Основная задача системы — предоставление справочной информации о расписании движения поездов и продажа билетов.
В системе хранится следующая информация:
1. Перечень направлений, по которым следуют пригородные поезда. Каждое направление содержит последовательность станций.
2. Для каждого поезда известно направление, по которому он следует, известен день недели, когда он отправляется и перечень станций, на которых он останавливается, с указанием времени прибытия для каждой станции. Через некоторые станции поезд может следовать без остановки.
3. Билет продается на конкретную дату, пассажир может занимать любое место в любом вагоне. Для каждого поезда известно общее количество мест в поезде.
4. Для каждой пары соседних станций в направлении задана стоимость переезда, и стоимость билета вычисляется как сумма стоимости между всеми станциями, через которые проезжает пассажир.
Поскольку система предназначена только для продажи билетов, не требуется хранить информацию о физических вагонах, из которых составлен поезд, отправляющийся в конкретную дату. База данных должна содержать следующие ограничения целостности:
5. Время стоянки на каждой станции должно быть не менее одной минуты
6. Билет может быть продан не ранее чем за 30 дней. (подсказка: функция Date() позволяет определить текущую дату, функция DateAdd(“d”; кол-во дней; дата) позволяет получить дату, отстоящую от указанной на определенное количество дней)
7. Два поезда не могут прибыть на станцию в одно и то же время
Вопросы:
1) Одно направление, много станций.
Допустимо ли связывать таблицы через имя направления, или надо связывать через счетчик с помощью дополнительной таблицы?
2) Поезд и билеты.
Как сделать ограничение на количество билетов для определенного поезда? Надо чтобы в сущности "билеты" записи связанные с определенным поездом можно было сделать только столько, сколько есть мест для поезда. Можно ли такое сделать в access?
3) Цена билета.
Определяется как сумма стоимостей проездов между станциями. Правильно ли я понимаю что нужно сделать сущность связывающую 2 станции и в ней в качестве атрибута будет цена проезда?
4) Ограничения.
1. Как сделать чтобы нельзя было заказать билет до станции, на которой поезд не останавливается?
2. Поезд связан с направлением. Как сделать чтобы можно было выбрать станции на которых он останавливается, только те, которые есть в направлении?
Прошу прощения за количество вопросов, но сделать нужно много а информацию взять не понятно откуда)
http://www.sql.ru/forum/1237441/kak-sdelat-ogranichenie-na-kolichestvo-tablic