Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите с проектированием / 25 сообщений из 38, страница 1 из 2
16.11.2005, 12:21
    #33381038
koch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
Уважаемый All. Подскажите новичку. Уж очень не хочется делать ошибок на этапе проектирования, а спросить не кого. Где может возникнуть засада позже?

ТЗ
Имеем несколько теплоходов выполняющих рейсы. На каждом теплоходе у нас соответсвенно есть каюты (они различаются классу). В каютах живут люди.

Делаю такую структуру. Чуствую что где-то ошибся. А понять не могу :) Как например будет выглядеть запрос о свободных каютах в одном круизе и запрос о не полностью заселенных каютах в том же круизе.
Надо ли вводить в базу понятие места в каюте? Ведь мест в каюте может быть от 1 до 4, плюс диванчик, который тоже может быть местом.
...
Рейтинг: 0 / 0
16.11.2005, 12:22
    #33381043
koch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
...
Рейтинг: 0 / 0
16.11.2005, 13:16
    #33381272
ModelR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
Похоже, ключ Заселения должен включать Круиз.
Место вводить не обязательно, если только оно не указывается в путевке.
С запросами проблем не видно.

Успехов!
...
Рейтинг: 0 / 0
16.11.2005, 13:37
    #33381378
mir
mir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
Согласен. У Заселения должен быть составной PK (КодКлиента,кодКаюты, КодКруиза)
...
Рейтинг: 0 / 0
16.11.2005, 13:40
    #33381395
mir
mir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
kochКак например будет выглядеть запрос о свободных каютах в одном круизе и запрос о не полностью заселенных каютах в том же круизе.
Надо ли вводить в базу понятие места в каюте? Ведь мест в каюте может быть от 1 до 4, плюс диванчик, который тоже может быть местом.Для указанных запросов место в базе хранить не обязательно. Узнать количество занятых мест в каюте можно через Заселения (сколько заселилось). Узнать количество свободных мест можо как разность между кол. мест в каюте и кол. занятых мест в каюте.
...
Рейтинг: 0 / 0
16.11.2005, 13:50
    #33381439
koch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
Спасибо большое за быстрый ответ. Мне тоже казалось, что надо бы делать PK из 3 полей, но в прочитанной литературе (немногочисленной пока) таких примеров не приводилось и связь многие-ко-многим всегда приводилась из двух полей. Это меня и смутило.

Очень жалею сейчас о пропущенных лекциях в интитуте по теории БД. :( Чего бы почитать посоветуете на эту тему. Книг много, хочется лучшую :)
...
Рейтинг: 0 / 0
16.11.2005, 14:03
    #33381497
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
А если один клиент пожелает плыть в одиночку в 4 местной каюте?
...
Рейтинг: 0 / 0
16.11.2005, 14:07
    #33381511
Валентин К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
А зачем ключ сотрудника и ключ клиента в каютах? зачем вообще разносить физлиц на разные справочники?
...
Рейтинг: 0 / 0
16.11.2005, 14:11
    #33381530
koch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
ModelR
Место вводить не обязательно, если только оно не указывается в путевке.


Или, например, позже в структуру БД будет вводится ЦЕНА за место, зависящая от категории каюты и круиза. Правильно я понимаю? Или же цены можно будет ввести другим образом? Каким например?

Еще один ламерский вопрос, если позволите...
Можно или нельзя ввести PK КодЗаселения , и избавится от составного ключа из 3 полей КодКаюты, КодКлиента, КодКруиза (читая форум, я понял, что это не всегда есть хорошо и по возможности следует избегать этой ситуации). ПОЧЕМУ?

Спасибо
...
Рейтинг: 0 / 0
16.11.2005, 14:16
    #33381548
koch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
СерегаА если один клиент пожелает плыть в одиночку в 4 местной каюте?

дык он и будет там один. В чем проблема то? Не понимаю. Извините, за глупый вопрос.
...
Рейтинг: 0 / 0
16.11.2005, 14:17
    #33381553
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
Возможна ли покупка части круиза? Типа один клиент от Москвы до Астрахани, а другой обратно? Если возможно, то это в структуре не отражено.
...
Рейтинг: 0 / 0
16.11.2005, 14:19
    #33381557
koch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
Валентин КА зачем ключ сотрудника и ключ клиента в каютах? зачем вообще разносить физлиц на разные справочники?

Соотрудник отвечает за проданную каюту и контролирует, например сдачу всех документов на визу. Поэтому он обязательно должен фигурировать в заселении.

Разносить может и не стоит. Не подумал так глубоко :)
...
Рейтинг: 0 / 0
16.11.2005, 14:21
    #33381567
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
kochдык он и будет там один. В чем проблема то? Не понимаю. Извините, за глупый вопрос.
По структуре одно заселение = одно место. В данном случае это будет не так. И не понятно, на какое место поселен клиент - на основное или дополнительное. А это наверное разная цена + другие условия могут быть, типа только если клиент покупает всю каюту ему может быть предоставлено доп.место для ребенка например.
...
Рейтинг: 0 / 0
16.11.2005, 14:21
    #33381568
koch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
СерегаВозможна ли покупка части круиза? Типа один клиент от Москвы до Астрахани, а другой обратно? Если возможно, то это в структуре не отражено.

Нет круиз продается полностью. Такая ситуация не возможна.

Мне хочется в этой структуре пока не касаться финансов, но иметь возможность позже ввести необходимые таблицы малой кровью.
...
Рейтинг: 0 / 0
16.11.2005, 14:22
    #33381573
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
kochМне хочется в этой структуре пока не касаться финансов, но иметь возможность позже ввести необходимые таблицы малой кровью.
ИМХО, это взаимоисключающие хотения. 8-)
...
Рейтинг: 0 / 0
16.11.2005, 14:33
    #33381603
koch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
Серега
По структуре одно заселение = одно место. В данном случае это будет не так. И не понятно, на какое место поселен клиент - на основное или дополнительное. А это наверное разная цена + другие условия могут быть, типа только если клиент покупает всю каюту ему может быть предоставлено доп.место для ребенка например.

По ТЗ не имеет значения на каком месте к каюте живет пассажир. Важна свзяка клиент-каюта-круиз.

Необходимо только контролировать чтобы в одной каюте в одном круизе не оказалось больше пассажиров чем того позволяют возможности каюты (ОсновныхМест+ДополнительныхМест)

СерегаИМХО, это взаимоисключающие хотения. 8-)
А если пойти путем через статусы оплаты путевки (забронировано, предоплата, полная оплата), а не через суммы?
...
Рейтинг: 0 / 0
16.11.2005, 14:39
    #33381626
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
kochПо ТЗ не имеет значения на каком месте к каюте живет пассажир. Важна свзяка клиент-каюта-круиз.
Но количество то мест важно. Если я один оплачиваю 4х местную каюту и не хочу, что бы ко мне еще на диванчик кого то подселили? Это должно быть отражено, если такая ситуация возможна . Может ТЗ надо подправить - согласовать.

kochА если пойти путем через статусы оплаты путевки (забронировано, предоплата, полная оплата), а не через суммы?
Это тебе решать и придумывать. Я просто критикую (надеюсь конструктивно).
...
Рейтинг: 0 / 0
16.11.2005, 14:45
    #33381635
koch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
Серега Может ТЗ надо подправить - согласовать.
Да я сам себе ТЗ :) Поправлю.

Серега
Я просто критикую (надеюсь конструктивно).

Более чем. Спасибо, Серега.

Наверно действительно введу понятие места. Позже отпишусь с ожиданием новой критики.
...
Рейтинг: 0 / 0
16.11.2005, 14:49
    #33381662
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
kochНаверно действительно введу понятие места. Позже отпишусь с ожиданием новой критики.
Вполне может быть будет достаточно ввести количество мест в "заселении". Тут надо думать и прикидывать ситуации. Изнасилуй заказчика на предмет выявления нестандартных ситуаций.
...
Рейтинг: 0 / 0
16.11.2005, 14:57
    #33381692
mir
mir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
kochМожно или нельзя ввести PK КодЗаселения , и избавится от составного ключа из 3 полей КодКаюты, КодКлиента, КодКруиза (читая форум, я понял, что это не всегда есть хорошо и по возможности следует избегать этой ситуации). ПОЧЕМУ?Потому, что наличие потенциального ключа предотвращает, скажем, повторный ввод в БД одних и тех же данных о заселении. То есть либо должны отличаться рейсы (для того же человека и каюты), либо каюты (для того же человека и рейса), либо люди (для того же рейса и каюты).
...
Рейтинг: 0 / 0
16.11.2005, 14:58
    #33381694
koch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
Серега
Вполне может быть будет достаточно ввести количество мест в "заселении".

гениально !

Серега Изнасилуй заказчика
а вот этого не надо. я сам заказчик :)
...
Рейтинг: 0 / 0
16.11.2005, 15:07
    #33381726
koch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
На такой схеме нужны ли обведенные связи. Что дает их наличие? Отсутствие?
...
Рейтинг: 0 / 0
16.11.2005, 15:07
    #33381727
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
kochа вот этого не надо. я сам заказчик :)
Так ты "владелец заводов, газет, пароходов"? И еще программы пишешь? Ну ты и скряга.
...
Рейтинг: 0 / 0
16.11.2005, 15:12
    #33381739
koch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
Серега kochа вот этого не надо. я сам заказчик :)
Так ты "владелец заводов, газет, пароходов"? И еще программы пишешь? Ну ты и скряга.

а куда деваться
Шучу, конечно не владелец. Просто хочется помочь родной alma mater
...
Рейтинг: 0 / 0
16.11.2005, 15:14
    #33381749
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с проектированием
kochНа такой схеме нужны ли обведенные связи. Что дает их наличие? Отсутствие?
Теплоход - Место лишняя связь. Можно через "каюты" узнать.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите с проектированием / 25 сообщений из 38, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]