|
как сделать ограничение на количество таблиц
|
|||
---|---|---|---|
#18+
Добрый день всем. Задание: Разработать ER-диаграмму, а затем, пользуясь средствами СУБД Microsoft Access, создать базу данных для информационной системы железной дороги (пригородные поезда). Основная задача системы — предоставление справочной информации о расписании движения поездов и продажа билетов. В системе хранится следующая информация: 1. Перечень направлений, по которым следуют пригородные поезда. Каждое направление содержит последовательность станций. 2. Для каждого поезда известно направление, по которому он следует, известен день недели, когда он отправляется и перечень станций, на которых он останавливается, с указанием времени прибытия для каждой станции. Через некоторые станции поезд может следовать без остановки. 3. Билет продается на конкретную дату, пассажир может занимать любое место в любом вагоне. Для каждого поезда известно общее количество мест в поезде. 4. Для каждой пары соседних станций в направлении задана стоимость переезда, и стоимость билета вычисляется как сумма стоимости между всеми станциями, через которые проезжает пассажир. Поскольку система предназначена только для продажи билетов, не требуется хранить информацию о физических вагонах, из которых составлен поезд, отправляющийся в конкретную дату. База данных должна содержать следующие ограничения целостности: 5. Время стоянки на каждой станции должно быть не менее одной минуты 6. Билет может быть продан не ранее чем за 30 дней. (подсказка: функция Date() позволяет определить текущую дату, функция DateAdd(“d”; кол-во дней; дата) позволяет получить дату, отстоящую от указанной на определенное количество дней) 7. Два поезда не могут прибыть на станцию в одно и то же время Вопросы: 1) Одно направление, много станций. Допустимо ли связывать таблицы через имя направления, или надо связывать через счетчик с помощью дополнительной таблицы? 2) Поезд и билеты. Как сделать ограничение на количество билетов для определенного поезда? Надо чтобы в сущности "билеты" записи связанные с определенным поездом можно было сделать только столько, сколько есть мест для поезда. Можно ли такое сделать в access? 3) Цена билета. Определяется как сумма стоимостей проездов между станциями. Правильно ли я понимаю что нужно сделать сущность связывающую 2 станции и в ней в качестве атрибута будет цена проезда? 4) Ограничения. 1. Как сделать чтобы нельзя было заказать билет до станции, на которой поезд не останавливается? 2. Поезд связан с направлением. Как сделать чтобы можно было выбрать станции на которых он останавливается, только те, которые есть в направлении? Прошу прощения за количество вопросов, но сделать нужно много а информацию взять не понятно откуда) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 20:49 |
|
как сделать ограничение на количество таблиц
|
|||
---|---|---|---|
#18+
Вопрос 1 явно показывает, что анализ или не выполнен, или выполнен неверно. В любом случае остальные вопросы задавать было бессысленно. А по первому - коли задаача учебная, проделайте нализ самостоятельно и покажите. Будут ошибки - подскажем, где и почему. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 21:00 |
|
как сделать ограничение на количество таблиц
|
|||
---|---|---|---|
#18+
то есть нарисовать ER диаграмму? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 21:12 |
|
как сделать ограничение на количество таблиц
|
|||
---|---|---|---|
#18+
marty66, такое ощущение, что ржд само толком не может разобраться в своем хозяйстве и подсовывает в профильные вузы вот такие задачки в поисках идей... имхо здравый смысл в такой системе есть если она позволяет покупателю (как минимум): 1. Задать параметры: откуда (город, вокзал), куда (город, вокзал) и когда нужно ехать 2. В ответ получить список поездов которые останавливаются в Куде (тип, время отправления и в пути), в них количество и тип свободных мест + стоимость этих мест. 3. Выбрать нужные свободные места и купить их. Теперь можно читая выше, попробовать ответить на вопросы: 1. Направление как-то теряет смысл, но если оно нужно, то сначала нужно ответить себе на вопрос - может ли одна станция входить в несколько направлений, если да, то напрашивается промежуточная связывающая таблица "направление-станция". 2. Ответ в самом вопросе - каждый поезд имеет определенное количество (и качество) мест, статус места как такового: свободно, забронировано или продано определяет - можно продать это место или нет (см. п. 3 описания системы) 3. Тайна, покрытая мраком - уже везде динамическая цена билета, регулируемая спросом. Один и тот же билет (по качеству) за 45 суток можно купить за 3 500 р., за неделю до отъезда за 5- 6 000 р. по сему уточняйте у препода - что имелось ввиду и делайте как сажет... 4. Как... 1. Ответ в п.2 описания маломайской системы выше 2. Ответ там же в п.2 только нужно выбрать не одну станцию а все в направлении где поезд останавливается... Может где чего не так сказал, билетами не занимался, товарищи, надеюсь подправят и не дадут вам уйти с правильных рельсов... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 21:38 |
|
как сделать ограничение на количество таблиц
|
|||
---|---|---|---|
#18+
marty66то есть нарисовать ER диаграмму? До рисования диаграммы надо выполнить ещё большой пласт работы. Выделить сущности, их атрибуты и связи, разобрать бизнес-процессы, описать их суть и их влияние на всё вышеперечисленное. Диаграмма - это всего лишь визуальное отображение результатов такого анализа, а если анализа не было, то нарисовать можно такое... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 22:45 |
|
как сделать ограничение на количество таблиц
|
|||
---|---|---|---|
#18+
marty66, в сети есть нечто подобное (но как и всё готовое - платное, правда описание и скрины там бесплатные), можно полюбопытствовать, и наваять подобное , но своё (преподы плагиат могут не приветствовать) http://access.avorut.ru/load/bazy_dannykh_ms_access/kontrolnye_raboty_po_bazam_dannykh_ms_access/skachat_bazu_dannykh_bd_asu_dispetchera_zhd_vokzala_ms_access/3-1-0-18 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 22:50 |
|
как сделать ограничение на количество таблиц
|
|||
---|---|---|---|
#18+
marty661. Перечень направлений, по которым следуют пригородные поезда. Каждое направление содержит последовательность станций. 2. Для каждого поезда известно направление, по которому он следует, известен день недели, когда он отправляется и перечень станций, на которых он останавливается, с указанием времени прибытия для каждой станции. Через некоторые станции поезд может следовать без остановки. Вот уже противоречие. С одной стороны, Направление однозначно должно определять Станцию, т.е. Станция - мульти-атрибут Направления. С другой стороны, Поезд.Направление не оставляет от этой однозначности ничего, потому что запросто может не остановиться. Так что не Станция - атрибут Направления, а наоборот. Не говоря уж о том, что атрибутом Поезда является не Направление, а связный список Станций (от начальной до конечной) - ну хотя бы потому, что Поезд запросто может стартовать от Станции одного Направления и ехать через центральный узел до Станции другого Направления. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2016, 22:51 |
|
как сделать ограничение на количество таблиц
|
|||
---|---|---|---|
#18+
marty66, я там это... попутал - отвечал как для поездов дальнего следования, сбило с толку вот это недоразумение marty662) Поезд и билеты. Как сделать ограничение на количество билетов для определенного поезда? Надо чтобы в сущности "билеты" записи связанные с определенным поездом можно было сделать только столько, сколько есть мест для поезда. Можно ли такое сделать в access? в пригородных поездах не продают (за редким исключением) билеты на конкретную электричку, билеты как правило действительны в течение суток - этот вопрос само регулируемый - не влез в двери, едешь на следующей электричке... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 08:43 |
|
как сделать ограничение на количество таблиц
|
|||
---|---|---|---|
#18+
По поводу станций. Я связал из с направлением. Правильно ли делать через вложения в промежуточных таблицах? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 19:37 |
|
как сделать ограничение на количество таблиц
|
|||
---|---|---|---|
#18+
Нет, неправильно. marty66Каждое направление содержит последовательность станций. Покажите, где хранится ПОСЛЕДОВАТЕЛЬНОСТЬ. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 19:46 |
|
как сделать ограничение на количество таблиц
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 20:10 |
|
как сделать ограничение на количество таблиц
|
|||
---|---|---|---|
#18+
Вы показываете набор, а не последовательность. Последовательность предполагает наличие связного списка или иного способа однозначного задания порядка. А просто набор записей - это неупорядоченная куча. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 21:23 |
|
|
start [/forum/topic.php?fid=45&msg=39342933&tid=1613000]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 338ms |
total: | 471ms |
0 / 0 |