powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Подскажите как спроектировать
32 сообщений из 32, показаны все 2 страниц
Подскажите как спроектировать
    #39009102
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть 3 сущности:
- партия вагонов;
- вагон;
- сопроводительные документы.

Партия вагонов имеет вагоны.
Сопроводительные документы могут быть как на отдельный вагон, так и на всю партию.
Можно ли сделать 2 внешних ключа в таблице документов - один на вагон, другой, на партию, и чтоб заполнялся какой-то один?
Или как это лучше организовать?
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009110
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvlad,

Можно.

Еще можно документы привязывать только к партии, а один вагон считать партией из одного вагона.
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009117
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat FisherЕще можно документы привязывать только к партии, а один вагон считать партией из одного вагона.

А если есть партия из 3-х вагонов и с каждым разные документы?

ТС - можно либо сделать общего "предка" вагона и партии и привязывать документ к нему, либо сделать 2 связующие таблицы "Вагоны2Документы" и "Партии2Документы". Выбор зависит от того, может ли один документ быть привязан к части партии.
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009118
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat Fisherодин вагон считать партией из одного вагона
+1
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009121
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинА если есть партия из 3-х вагонов и с каждым разные документы?

Значит это три разные партии. Ибо партии считаются по документам, а не по физическим сцепкам.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009124
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat Fishersvnvlad,

Можно.

Еще можно документы привязывать только к партии, а один вагон считать партией из одного вагона.

Один вагон нельзя считать партией, потому что функции таблицы партия другие, и она уже занята всеми остальными вагонами.

Бывает в партии 20 вагонов, и на каждый из них есть свой документ, а бывает что в партии 20 вагонов - и один документ на всю партию.

Документ не бывает привязанным к части партии.
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009126
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladДокумент не бывает привязанным к части партии.
Именно поэтому всё, к чему привязан документ - партия. Даже если несколько партий приходят
одной кучей.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009128
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovКот МатроскинА если есть партия из 3-х вагонов и с каждым разные документы?

Значит это три разные партии. Ибо партии считаются по документам, а не по физическим сцепкам.

Партии считаются не по документам, а по общему времени прихода и одному типу груза.
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009131
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovКот МатроскинА если есть партия из 3-х вагонов и с каждым разные документы?

Значит это три разные партии. Ибо партии считаются по документам, а не по физическим сцепкам.


Что есть "партия" для данной конкретной организации - тайна сия велика есть.Вот, например, кейс - есть три вагона. К первому привязаны документы A и B, ко второму - А и C, к третьему - А и D. Как мы это хозяйство делим на партии и какие ссылки прописываем в документы?
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009135
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladПартии считаются не по документам, а по общему времени прихода и одному типу
груза.
Тогда это будет так: Партии --> Документы --> Вагоны. Каждая связь 1:N.
Или так: Документы <-- Вагоны --> Партии.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009154
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинDimitry Sibiryakovпропущено...

Значит это три разные партии. Ибо партии считаются по документам, а не по физическим сцепкам.


Что есть "партия" для данной конкретной организации - тайна сия велика есть.Вот, например, кейс - есть три вагона. К первому привязаны документы A и B, ко второму - А и C, к третьему - А и D. Как мы это хозяйство делим на партии и какие ссылки прописываем в документы?

Немного не правильно объяснил.

Вагоны приходят на склад и разгружаются в партию на складе. Вагоны имеют внешние ключи к партии (чтобы знать, какой вагон выгрузился в какую партию). Партии формируются по дате (для повременной тарификации хранения).
Т.е. сегодня может придти 2 вагона, и выгрузиться в одну партию, завтра придет 3 вагона, выгрузится в другую партию.
И вот теперь нужно прикрепить сопроводительный документ. Бывает, что он должен быть прикреплен к вагону, а бывает, что к партии.
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009157
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при этом не хотелось бы создавать две таблицы сопроводительных документов, типа одна для партий, другая для вагонов. А напротив, все в одной таблице.
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009158
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
например, сегодня пришло 2 вагона, выгрузили в партию, и на все это один документ.
А завтра пришло 3 вагона, выгрузили в партию, но на каждый из вагонов был свой документ.
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009165
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvlad,

ТС - можно либо сделать общего "предка" вагона и партии и привязывать документ к нему

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Create table DocumentTarget (DocumentTargetID )

Create table Party (PartyID,
                          DocumentTargetID)

Create table  Boxcar ( BoxcarID,
                          DocumentTargetID )


Create table Document (DocumentID,  DocumentTargetID )
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009188
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все равно что-то тут не так.

На самом деле есть две разные сущности. С одной стороны - партия на складе, как порция товара. С другой - вагон, или группа вагонов, которые приехали и эту партию привезли.

Так вот, неправильно будет привязывать документы о прибытии вагонов - к партии (грузу, который они привезли). Иначе случайно залетевший дятел прибывший пустой вагон разрушит информационную систему :-)

Почему-то до сих пор никто не спросил - о каких, собственно, документах идет речь? Что автоматизируем?
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009208
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladЕсть 3 сущности:
- партия вагонов;
- вагон;
- сопроводительные документы.
Это о чём вообще речь? Вагоностроительный завод отправляет продукцию речным транспортом? Что-то мне кажется, что по этой задаче не удастся сказать ничего разумного до тех пор, пока не будет вменяемой постановки.
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009219
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvlad,

На практике объектом является вагон. И не важно один или несколько. Отслеживается именно вагон. Соответственно документ привязывается к вагону.
Ну а что там у теоретиков - это только им известно.
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009254
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой БобрНа практике объектом является вагон. И не важно один или несколько. Отслеживается именно вагон. Соответственно документ привязывается к вагону.

Ух ты классно когда есть возможность у эксперта спросить )))
Да- в некоторых случаях такого упрощения достаточно, но не всегда.

svnvladЕсть 3 сущности:
- партия вагонов;
- вагон;
- сопроводительные документы.

Партия вагонов имеет вагоны.
Сопроводительные документы могут быть как на отдельный вагон, так и на всю партию.

Если ближе к предметной области (железная дорога): есть мелкая отправка – предъявляемая по одной накладной, ограниченная по массе и объему (от 0,02 до 5 тонн и объемом не более 1/3 вместимости вагона) партия груза, для перевозки которой не требуется предоставление отдельного вагона или контейнера.

Я бы на вашем месте сделал: грузовую отправку, а уже ее связывал бы с одним или несколькими вагонами. А документ уже на отправку оформлять.
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009264
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergueiЯ бы на вашем месте сделал: грузовую отправку, а уже ее связывал бы с одним или несколькими вагонами. А документ уже на отправку оформлять.
Угу. И ещё контейнеры. И ещё учесть, что контейнеры могут быть перегружены в пути. А вагоны с одной партией могут ехать в разных составах и даже разными маршрутами. И так далее.
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009270
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerУгу. И ещё контейнеры. И ещё учесть, что контейнеры могут быть перегружены в пути. А вагоны с одной партией могут ехать в разных составах и даже разными маршрутами. И так далее.
Ну самое забавное что они еще и теряются . Сам был в шоке от такого чуда.
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009281
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerА вагоны с одной партией могут ехать в разных составах и даже разными маршрутами.
нет такого быть не может, если под одной партией понимается несколько вагонов в одном документе.
Вагоны оформленные одной накладной не могут ехать в разных составах и тем более разными маршрутами. На то она и групповая отправка.
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009422
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerSergueiЯ бы на вашем месте сделал: грузовую отправку, а уже ее связывал бы с одним или несколькими вагонами. А документ уже на отправку оформлять.
Угу. И ещё контейнеры. И ещё учесть, что контейнеры могут быть перегружены в пути. А вагоны с одной партией могут ехать в разных составах и даже разными маршрутами. И так далее.

вагон на самом деле тоже контейнер, либо для товара, либо для других контейнеров.
то, что он называет партией, на самом деле кажется "поезд". партии есть у товара, который перевозится. есть еще ТТН, оно не повагонно оформляется, а возможно на несколько вагонов, но один отправитель и получатель. короче, главное понимать, что вагон это контейнер для груза.
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009423
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergueisoftwarerА вагоны с одной партией могут ехать в разных составах и даже разными маршрутами.
нет такого быть не может, если под одной партией понимается несколько вагонов в одном документе.
Вагоны оформленные одной накладной не могут ехать в разных составах и тем более разными маршрутами. На то она и групповая отправка.

если вагоны расцепляют, то разбивают ТТН, потому что груз тогда не примут. еслив ттн есть вагон, а в составе нет, оформляется документ, что вагоны нет, и жд потом досылает новую ттн .
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009530
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivто, что он называет партией, на самом деле кажется "поезд". партии есть у товара, который перевозится. есть еще ТТН, оно не повагонно оформляется, а возможно на несколько вагонов, но один отправитель и получатель. короче, главное понимать, что вагон это контейнер для груза.
Партия - это груз с одного или нескольких вагонов, выгруженный на склад единовременно.
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009579
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскинsvnvlad,

ТС - можно либо сделать общего "предка" вагона и партии и привязывать документ к нему

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Create table DocumentTarget (DocumentTargetID )

Create table Party (PartyID,
                          DocumentTargetID)

Create table  Boxcar ( BoxcarID,
                          DocumentTargetID )


Create table Document (DocumentID,  DocumentTargetID )



А вот так нельзя?
Код: sql
1.
2.
3.
4.
5.
6.
Create table Party (PartyID)

Create table  Boxcar (BoxcarID)


Create table Document (DocumentID,  DocumentTargetID, BoxcarID)
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009588
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladКот Матроскинsvnvlad,

пропущено...


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Create table DocumentTarget (DocumentTargetID )

Create table Party (PartyID,
                          DocumentTargetID)

Create table  Boxcar ( BoxcarID,
                          DocumentTargetID )


Create table Document (DocumentID,  DocumentTargetID )



А вот так нельзя?
Код: sql
1.
2.
3.
4.
5.
6.
Create table Party (PartyID)

Create table  Boxcar (BoxcarID)


Create table Document (DocumentID,  DocumentTargetID, BoxcarID)


Опечатался
Код: sql
1.
2.
3.
4.
5.
Create table Party (PartyID)

Create table  Boxcar (BoxcarID)

Create table Document (DocumentID,  PartyID, BoxcarID)
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39009624
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladКот Матроскинsvnvlad,

пропущено...


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Create table DocumentTarget (DocumentTargetID )

Create table Party (PartyID,
                          DocumentTargetID)

Create table  Boxcar ( BoxcarID,
                          DocumentTargetID )


Create table Document (DocumentID,  DocumentTargetID )



А вот так нельзя?
Код: sql
1.
2.
3.
4.
5.
6.
Create table Party (PartyID)

Create table  Boxcar (BoxcarID)


Create table Document (DocumentID,  DocumentTargetID, BoxcarID)



видимо, подразумевалось
Create table Document (DocumentID, PartyID, BoxcarID)

Целостность данных контролировать сложнее - на уровне структуры будет нельзя прописать, что заполнена должна быть одна и только одна ссылка, только кодом (триггерами/check-ами/etc.).
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39010116
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladПартия - это груз с одного или нескольких вагонов, выгруженный на склад единовременно

Чисто теоретически груз из одного вагона могут выгрузить наверное на разных складах.
В любом случае нужна сущность "партия груза" в контексте склада. Эта сущность должна быть связана с отправкой и вагоном из которого он был выгружен ну и со складом разумеется.



MasterZivвагон на самом деле тоже контейнер, либо для товара, либо для других контейнеров.

вагон это вагон, контейнер это контейнер. Не надо вносить путаницу в термины. Но они оба являются транспортными средствами.
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39010216
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergueiвагон это вагон, контейнер это контейнер.

Я бы для ясности сказал так:

Вагон - это контейнер для контейнеров.
Контейнер - это контейнер не для контейнеров.
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39010222
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat FisherЯ бы для ясности сказал так:
Я бы для ясности сказал так: ни в коем случае не следует путать понятия предметной области и идиомы проектирования. Если в предметной области говорят о контейнерах и вагонах - значит эти слова накрепко привязаны к конкретным металлоконструкциям, а для тех абстракций, которые придумывает разработчик, надо выбрать совсем другие слова.
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39010260
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

Так где же столько слов взять, если все приличные уже заняты.

Придется использовать модульную нотацию и комментарии:

Код: pascal
1.
2.
3.
4.
5.
uses 
   Железнодорожный, Вместилища;

Железнодорожный.Вагон - это Вместилища.контейнер для Железнодорожный.контейнеров. // в вагон влазят контейнеры
Железнодорожный.Контейнер - это Вместилища.контейнер не для Железнодорожный.контейнеров. // в контейнер влазит все, кроме другого контейнера
...
Рейтинг: 0 / 0
Подскажите как спроектировать
    #39010263
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat FisherВагон - это контейнер для контейнеров.
Контейнер - это контейнер не для контейнеров.

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


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