powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите с проектированием
38 сообщений из 38, показаны все 2 страниц
Помогите с проектированием
    #33381038
koch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый All. Подскажите новичку. Уж очень не хочется делать ошибок на этапе проектирования, а спросить не кого. Где может возникнуть засада позже?

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

гениально !

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

а куда деваться
Шучу, конечно не владелец. Просто хочется помочь родной alma mater
...
Рейтинг: 0 / 0
Помогите с проектированием
    #33381749
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kochНа такой схеме нужны ли обведенные связи. Что дает их наличие? Отсутствие?
Теплоход - Место лишняя связь. Можно через "каюты" узнать.
...
Рейтинг: 0 / 0
Помогите с проектированием
    #33381761
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
koc. я сам заказчик :)Тогда постарайтесь посмотреть на пару шагов вперед, включая финансы. Потраченное время не сравнимо с десятой долей того, что придется передлывать на живой системе.
Про ключи писали много, кратко написал здесь .
Читать лучше Дейта. Объемно, но лучше него никто не объясняет.
...
Рейтинг: 0 / 0
Помогите с проектированием
    #33386644
koch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
За Дейта спасибо. Основательная книженция. Скачал 7 издание. 8-го не нашел. Кто знает их отличия?
...
Рейтинг: 0 / 0
Помогите с проектированием
    #33386769
koch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
начал копать различные варианты и понял что начальная структура (мой первый пост в этом топике) никуда не годится.

я продаю место в каюте. На месте всегда живет физлицо. Заказ на это место может разместить как само физлицо проживающее на этом месте, так и организация продавшая это место физлицу и передавшая заказ мне. В заказе может быть заброниравано сразу несколько мест в различных каютах и круизах.

Мозг дымится. :) Не пойму с какой стороны начать распутывать этот клубок.

Застрял на этом этапе.
...
Рейтинг: 0 / 0
Помогите с проектированием
    #33386838
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Помогите с проектированием
    #33386950
koch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сорри, впердь буду пользоваться поиском. Спасибо
...
Рейтинг: 0 / 0
Помогите с проектированием
    #33386995
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое главное в вашей системе чтоб дважды не забронировать/не продать билеты на однои то же место в одном и том же круизе. И чтоб отчеты по забронированным/проданным/вакантным местам получались быстро.
Удачи!
...
Рейтинг: 0 / 0
Помогите с проектированием
    #33387064
koch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, покритикуйте плз. Просьба отнестись с пониманием и вниманием (если конечно у вас есть для этого время). Это первая база которую я попытался спроектировать. :)

Серега, что думаешь?
...
Рейтинг: 0 / 0
Помогите с проектированием
    #33387091
koch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gardenmanСамое главное в вашей системе чтоб дважды не забронировать/не продать билеты на однои то же место в одном и том же круизе.

а для этого надо ввести поля в таблице МЕСТА ЗабронированоС и ЗабронированоДо. Правильно?

или быть может, чтобы не плодить огород сделать это можно через запрос с полями ДатаНачалаКруиза и ОкокнчаниеКруиза?
...
Рейтинг: 0 / 0
Помогите с проектированием
    #33387112
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kochСерега, что думаешь?
Ничего. Пятница же.
Вроде нормально. Может еще типы мест и типы кают в справочники загнать.
...
Рейтинг: 0 / 0
Помогите с проектированием
    #33387197
koch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Серега
Может еще типы мест и типы кают в справочники загнать.

это сделано, просто не стал отображать на схеме, дабы не отвлекать внимания от сути
...
Рейтинг: 0 / 0
Помогите с проектированием
    #33389302
koch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
господа гуру. Дайте плз комметнраии по поводу последней схемы. Для полноты картины так сказать. :)
...
Рейтинг: 0 / 0
Помогите с проектированием
    #33389366
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Расскажите, а как в вашей схеме учитываться будут отказы (возвраты), и собственно деньги?
...
Рейтинг: 0 / 0
Помогите с проектированием
    #33389458
koch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
деньги здесмь не учитываются. Учитывается только статус оплаты брони (без оплаты, предоплата, полная оплата).

Возвраты и отказы . В чем там проблема не пойму пока. ?
...
Рейтинг: 0 / 0
38 сообщений из 38, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите с проектированием
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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