Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
Уважаемый All. Подскажите новичку. Уж очень не хочется делать ошибок на этапе проектирования, а спросить не кого. Где может возникнуть засада позже? ТЗ Имеем несколько теплоходов выполняющих рейсы. На каждом теплоходе у нас соответсвенно есть каюты (они различаются классу). В каютах живут люди. Делаю такую структуру. Чуствую что где-то ошибся. А понять не могу :) Как например будет выглядеть запрос о свободных каютах в одном круизе и запрос о не полностью заселенных каютах в том же круизе. Надо ли вводить в базу понятие места в каюте? Ведь мест в каюте может быть от 1 до 4, плюс диванчик, который тоже может быть местом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 12:21 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
Похоже, ключ Заселения должен включать Круиз. Место вводить не обязательно, если только оно не указывается в путевке. С запросами проблем не видно. Успехов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 13:16 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
Согласен. У Заселения должен быть составной PK (КодКлиента,кодКаюты, КодКруиза) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 13:37 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
kochКак например будет выглядеть запрос о свободных каютах в одном круизе и запрос о не полностью заселенных каютах в том же круизе. Надо ли вводить в базу понятие места в каюте? Ведь мест в каюте может быть от 1 до 4, плюс диванчик, который тоже может быть местом.Для указанных запросов место в базе хранить не обязательно. Узнать количество занятых мест в каюте можно через Заселения (сколько заселилось). Узнать количество свободных мест можо как разность между кол. мест в каюте и кол. занятых мест в каюте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 13:40 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
Спасибо большое за быстрый ответ. Мне тоже казалось, что надо бы делать PK из 3 полей, но в прочитанной литературе (немногочисленной пока) таких примеров не приводилось и связь многие-ко-многим всегда приводилась из двух полей. Это меня и смутило. Очень жалею сейчас о пропущенных лекциях в интитуте по теории БД. :( Чего бы почитать посоветуете на эту тему. Книг много, хочется лучшую :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 13:50 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
А если один клиент пожелает плыть в одиночку в 4 местной каюте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 14:03 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
А зачем ключ сотрудника и ключ клиента в каютах? зачем вообще разносить физлиц на разные справочники? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 14:07 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
ModelR Место вводить не обязательно, если только оно не указывается в путевке. Или, например, позже в структуру БД будет вводится ЦЕНА за место, зависящая от категории каюты и круиза. Правильно я понимаю? Или же цены можно будет ввести другим образом? Каким например? Еще один ламерский вопрос, если позволите... Можно или нельзя ввести PK КодЗаселения , и избавится от составного ключа из 3 полей КодКаюты, КодКлиента, КодКруиза (читая форум, я понял, что это не всегда есть хорошо и по возможности следует избегать этой ситуации). ПОЧЕМУ? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 14:11 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
СерегаА если один клиент пожелает плыть в одиночку в 4 местной каюте? дык он и будет там один. В чем проблема то? Не понимаю. Извините, за глупый вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 14:16 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
Возможна ли покупка части круиза? Типа один клиент от Москвы до Астрахани, а другой обратно? Если возможно, то это в структуре не отражено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 14:17 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
Валентин КА зачем ключ сотрудника и ключ клиента в каютах? зачем вообще разносить физлиц на разные справочники? Соотрудник отвечает за проданную каюту и контролирует, например сдачу всех документов на визу. Поэтому он обязательно должен фигурировать в заселении. Разносить может и не стоит. Не подумал так глубоко :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 14:19 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
kochдык он и будет там один. В чем проблема то? Не понимаю. Извините, за глупый вопрос. По структуре одно заселение = одно место. В данном случае это будет не так. И не понятно, на какое место поселен клиент - на основное или дополнительное. А это наверное разная цена + другие условия могут быть, типа только если клиент покупает всю каюту ему может быть предоставлено доп.место для ребенка например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 14:21 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
СерегаВозможна ли покупка части круиза? Типа один клиент от Москвы до Астрахани, а другой обратно? Если возможно, то это в структуре не отражено. Нет круиз продается полностью. Такая ситуация не возможна. Мне хочется в этой структуре пока не касаться финансов, но иметь возможность позже ввести необходимые таблицы малой кровью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 14:21 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
kochМне хочется в этой структуре пока не касаться финансов, но иметь возможность позже ввести необходимые таблицы малой кровью. ИМХО, это взаимоисключающие хотения. 8-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 14:22 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
Серега По структуре одно заселение = одно место. В данном случае это будет не так. И не понятно, на какое место поселен клиент - на основное или дополнительное. А это наверное разная цена + другие условия могут быть, типа только если клиент покупает всю каюту ему может быть предоставлено доп.место для ребенка например. По ТЗ не имеет значения на каком месте к каюте живет пассажир. Важна свзяка клиент-каюта-круиз. Необходимо только контролировать чтобы в одной каюте в одном круизе не оказалось больше пассажиров чем того позволяют возможности каюты (ОсновныхМест+ДополнительныхМест) СерегаИМХО, это взаимоисключающие хотения. 8-) А если пойти путем через статусы оплаты путевки (забронировано, предоплата, полная оплата), а не через суммы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 14:33 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
kochПо ТЗ не имеет значения на каком месте к каюте живет пассажир. Важна свзяка клиент-каюта-круиз. Но количество то мест важно. Если я один оплачиваю 4х местную каюту и не хочу, что бы ко мне еще на диванчик кого то подселили? Это должно быть отражено, если такая ситуация возможна . Может ТЗ надо подправить - согласовать. kochА если пойти путем через статусы оплаты путевки (забронировано, предоплата, полная оплата), а не через суммы? Это тебе решать и придумывать. Я просто критикую (надеюсь конструктивно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 14:39 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
Серега Может ТЗ надо подправить - согласовать. Да я сам себе ТЗ :) Поправлю. Серега Я просто критикую (надеюсь конструктивно). Более чем. Спасибо, Серега. Наверно действительно введу понятие места. Позже отпишусь с ожиданием новой критики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 14:45 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
kochНаверно действительно введу понятие места. Позже отпишусь с ожиданием новой критики. Вполне может быть будет достаточно ввести количество мест в "заселении". Тут надо думать и прикидывать ситуации. Изнасилуй заказчика на предмет выявления нестандартных ситуаций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 14:49 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
kochМожно или нельзя ввести PK КодЗаселения , и избавится от составного ключа из 3 полей КодКаюты, КодКлиента, КодКруиза (читая форум, я понял, что это не всегда есть хорошо и по возможности следует избегать этой ситуации). ПОЧЕМУ?Потому, что наличие потенциального ключа предотвращает, скажем, повторный ввод в БД одних и тех же данных о заселении. То есть либо должны отличаться рейсы (для того же человека и каюты), либо каюты (для того же человека и рейса), либо люди (для того же рейса и каюты). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 14:57 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
Серега Вполне может быть будет достаточно ввести количество мест в "заселении". гениально ! Серега Изнасилуй заказчика а вот этого не надо. я сам заказчик :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 14:58 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
На такой схеме нужны ли обведенные связи. Что дает их наличие? Отсутствие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 15:07 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
kochа вот этого не надо. я сам заказчик :) Так ты "владелец заводов, газет, пароходов"? И еще программы пишешь? Ну ты и скряга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 15:07 |
|
||
|
Помогите с проектированием
|
|||
|---|---|---|---|
|
#18+
Серега kochа вот этого не надо. я сам заказчик :) Так ты "владелец заводов, газет, пароходов"? И еще программы пишешь? Ну ты и скряга. а куда деваться Шучу, конечно не владелец. Просто хочется помочь родной alma mater ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2005, 15:12 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33381511&tid=1545553]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
131ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 284ms |
| total: | 540ms |

| 0 / 0 |
