powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
55 сообщений из 55, показаны все 3 страниц
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35347538
Hey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть сущность ЮридическоеЛицо, имеющая такие свойства как НазваниеКомпании, ЮрАдрес, ИНН и тд. А также есть БанковскиеАттрибуты, которые относяться к банку, в котором открыт счет юрлица. Аттрибуты состоят из таких свойств как корреспондентский и расчетный номера счетов, название банка, его адрес и БИК. Нужно-ли их выделять в отдельную таблицу ? С одной стороны, БИК банка явно не относиться к аттрибутам юрлица, с другой стороны, особой пользы от выделения тоже не видно ...
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35347555
Николай1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heyЕсть сущность ЮридическоеЛицо, имеющая такие свойства как НазваниеКомпании, ЮрАдрес, ИНН и тд. А также есть БанковскиеАттрибуты, которые относяться к банку, в котором открыт счет юрлица. Аттрибуты состоят из таких свойств как корреспондентский и расчетный номера счетов, название банка, его адрес и БИК. Нужно-ли их выделять в отдельную таблицу ? С одной стороны, БИК банка явно не относиться к аттрибутам юрлица, с другой стороны, особой пользы от выделения тоже не видно ...
Достойны, если отделить мух от котлет. Банк, БИК и корсчет - это банковские атрибуты, а расчетный счет - атрибут юрлица. Причем у одного юрлица может быть несколько счетов в разных банках. Так что думайте.

ЗЫ. Список банков России - официальная информация. Раньше распостранаялась в файле bnkseek.dbf, поищите источник.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35347588
trdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ы...
достойны..
ты когда нить о нормализации слышал? гений...
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35347940
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hey пишет:
> которые относяться к банку, в котором открыт счет юрлица. Аттрибуты
> состоят из таких свойств как корреспондентский и расчетный номера
> счетов, название банка, его адрес и БИК. Нужно-ли их выделять в
> отдельную таблицу ?

Да, безусловно, в первую очередь потому, что банковских счетов как правило
у предприятий несколько.

С одной стороны, БИК банка явно не относиться к
> аттрибутам юрлица,

БИК банка относится к банку, а не к юрлицу, которое он обслуживает.
(точнее наверное даже к филиалу банка, но это уже что считать банком).
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35348609
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heyс другой стороны, особой пользы от выделения тоже не видно ...
Справочник банков подлежит еще куда более серьезной настройке разграничения прав доступа, чем справочник контрагентов. Потому что это деньги предприятия, и неверный БИК/SWIFT/BLZ/IBAN и т.п. там могут стоить очень дорого. Еще и поэтому необходимо иметь справочник банков в том или ином виде (справочник БИК из bnkseek от ЦБ только для РФ вполне подойдет), а не из-за требований нормальных форм. Все атрибуты банка (БИК/SWIFT/коррсчет и другие) должны быть в справочнике банков. Все прочие платежные реквизиты, являющиеся атрибутами контрагентов, должны быть заданы в разрезе контрагентов. Учтите, что банк может быть и обычным контрагентом, например, может оказывать услуги, выходящие за рамки движения денежных средств.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35348683
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivБИК банка относится к банку, а не к юрлицу, которое он обслуживает.
(точнее наверное даже к филиалу банка, но это уже что считать банком).
Posted via ActualForum NNTP Server 1.4

Сергей Васкецов Все атрибуты банка (БИК/SWIFT/коррсчет и другие) должны быть в справочнике банков.
Одна тонкость. БИК и другие реквизиты банка именно в том виде, как они официально сообщены контрагентом, прописаны в договоре, также могут быть юридически значимы. Это может послужить основанием чтобы продублировать соответствующие поля (но не значения) и в справочнике конрагентов и возможно договоров.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35348727
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRБИК и другие реквизиты банка именно в том виде, как они официально сообщены контрагентом, прописаны в договоре, также могут быть юридически значимы
Не очень понял Вашу мысль. Имеет ли смысл платить контрагенту, если он указал БИК и корсчет, которых вообще нет в актуальном справочнике ЦБ РФ? Пройдет ли такой платеж клиринг ЦБ?
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35348806
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelR пишет:

> Одна тонкость. БИК и другие реквизиты банка именно в том виде, как они
> официально сообщены контрагентом, прописаны в договоре, также могут быть
> юридически значимы. Это может послужить основанием чтобы продублировать
> соответствующие поля (но не значения) и в справочнике конрагентов и
> возможно договоров.

А чем вас бы не устроила ссылка на БИК и другие реквизиты банка из договоров ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35348820
Фотография shelsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelR

1) Автор скорей всего имел в виду статическую фиксацию определенных действий (пример: неизменная атрибутивная часть описания документа)
2) Это не отменяет использование справочника банковских реквизитов


______________________________________________________
Задолбали вихри яростных атак ...
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35349017
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Васкецов ModelRБИК и другие реквизиты банка именно в том виде, как они официально сообщены контрагентом, прописаны в договоре, также могут быть юридически значимы
Не очень понял Вашу мысль. Имеет ли смысл платить контрагенту, если он указал БИК и корсчет, которых вообще нет в актуальном справочнике ЦБ РФ? Пройдет ли такой платеж клиринг ЦБ?
Платеж конечно не пройдет, возникнет вопрос кто виноват. Ответ - либо тот, кто сообщил неверные реквизиты (см. договор), либо тот, кто не прочитал договор (см. опять же договор).
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35349041
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelR Сергей Васкецов ModelRБИК и другие реквизиты банка именно в том виде, как они официально сообщены контрагентом, прописаны в договоре, также могут быть юридически значимы
Не очень понял Вашу мысль. Имеет ли смысл платить контрагенту, если он указал БИК и корсчет, которых вообще нет в актуальном справочнике ЦБ РФ? Пройдет ли такой платеж клиринг ЦБ?
Платеж конечно не пройдет, возникнет вопрос кто виноват. Ответ - либо тот, кто сообщил неверные реквизиты (см. договор), либо тот, кто не прочитал договор (см. опять же договор).
Я как-бы не спрашивал, кто виноват. Я спрашивал, если буквально, что означает "могут быть юридически значимы".
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35349045
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivА чем вас бы не устроила ссылка на [справочник - я так понял /ModelR] БИК и другие реквизиты банка из договоров ?
Posted via ActualForum NNTP Server 1.4
В справочнике БИК хочется видеть только ЦБ-шные данные. Если пополнять его также опечатками из договоров, он перестанет быть нормативным. Если же запретить пополнять, то невозможно ввести юридический факт - договор подписан, но БИКу не соответсвует.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35349052
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRюридический факт - договор подписан, но БИКу не соответсвует.
Что это за факт такой? Чувствую себя растерянным первоклассником... ЕМНИП бредовый БИК в договоре вообще ник чему не обязывает, равно как никто не обязывает банк дожить до окончания срока действия договора между третьими лицами.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35349057
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ВаскецовЯ как-бы не спрашивал, кто виноват. Я спрашивал, если буквально, что означает "могут быть юридически значимы".Дык кому суд санкции-то присудит?
А еще до этого юрист какие аргУменты должен готовить?
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35349065
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRДык кому суд санкции-то присудит?
А еще до этого юрист какие аргУменты должен готовить?
Ничего не понял. Какие санкции? Почему вовремя не отбашляли по договору с БИКом из соседней вселенной? Зачем вообще заключать договор с несуществующим БИКом?
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35349113
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Васкецов ЕМНИП бредовый БИК в договоре вообще ник чему не обязывает, равно как никто не обязывает банк дожить до окончания срока действия договора между третьими лицами.Если
а) платеж вовремя не прошел, стороны в убытке,
б) одна из сторон считает другую виновной и требует уплаты санкций,
в) согласия стороны не нашли,
то вопрос цивилизованно перезжает в суд. Где собственно и аргументируется - мы платили, в срок, в точности по реквизитам в договоре (см.).
Сергей Васкецов Зачем вообще заключать договор с несуществующим БИКом?
Зачем и кто был в тот момент недостаточно трезвый - это вопрос вполне закономерный, но уже следующий.
Практически же речь о том, что система конечно должна по максимому помогать людям составлять исключительно корректные договора.
Но уметь регистрировать и кривые. И желательно помогать выплывать и из этого.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35349140
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRПрактически же речь о том, что система конечно должна по максимому помогать людям составлять исключительно корректные договора. Но уметь регистрировать и кривые. И желательно помогать выплывать и из этого.
Так и не увидел причину, по которой на этапе регистрации договора нельзя повторно (после регистрации самого контрагента) проверить реквизиты контрагента и ответить в случае чего что-нибудь типа "приходите завтра с правильными реквизитами". Если контрагент принесет ИНН 30-значный, или его ИНН/КПП будут идентичны аналогичным атрибутам другого контрагента, тоже будете регистрировать? В чем отличие этого от бредовых БИК-ов или несоответствия БИКа и коррсчета?
Как раз наоборот, если существует общедоступный справочник БИК от ЦБ РФ, которым все пользуются, в котором должны быть все БИКи без исключения, то "левый" БИК однозначно должен трактоваться как факт, препятствующий заключению договора, если в договоре необходимо указать БИК. При необходимости заключения такого договора нужно понять, что это за БИК такой неуловимый, исправить ошибку, если она есть (например, прощелкали последнее обновление от ЦБ), и только потом продолжить заключение договора. Если бредовый БИК является неотъемлемым атрибутом договора, то утверждать такой договор нельзя, разве что есть желание гарантировано платить в черную дыру.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35349154
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRвопрос цивилизованно перезжает в суд. Где собственно и аргументируется - мы платили, в срок, в точности по реквизитам в договоре
Ей-богу, смешно. Бумажные платежки носите? Приличный банк-клиент с такими БИКами посылает далеко и надолго, и БИКи берет из банка. Банку тоже такая самодеятельность не нужна, чтобы потом разруливать фантазии клиентов.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35349183
Фотография shelsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Васкецов

1) Сергей, я вам принесу договор с правильными банковскими реквизитами ... но денежку за отгруженный товар вы не получите - как это делается оставляю на вашу дотошную проницательность
2) А отлавливается это в т.ч. с использованием жесткой фиксации данных атрибутивной части описания документа, в которую входят не только банковские реквизиты организации (соотвественно это информационная система не "ларька")





______________________________________________________
Задолбали вихри яростных атак ...
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35349228
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shelsoft1) Сергей, я вам принесу договор с правильными банковскими реквизитами ... но денежку за отгруженный товар вы не получите - как это делается оставляю на вашу дотошную проницательность
2) А отлавливается это в т.ч. с использованием жесткой фиксации данных атрибутивной части описания документа, в которую входят не только банковские реквизиты организации (соотвественно это информационная система не "ларька")
Вы что-то путаете. Я не утверждал, что достаточно проверить реквизиты, и можно идти спать, а денежки идут. Я утверждаю, что если банковские реквизиты бредовые, то проблемы гарантированно будут, ибо в сказки типа "давайте сейчас утвердим, а завтра тетя Дуся привезет копию документов, потом все введете" не верю. Соответственно, исходя из предположения небредовости реквизитов, никаких своих БИКов, ИННов в договорах нет, ибо в них нет смысла, достаточно просто иметь ссылку на соответствующий элемент справочника. И не только в договорах.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35349288
Фотография shelsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Васкецов
Надо смотреть конкретную реализацию системы
1) Иногда предложенное ModelR решение является более дешевым и простым , особенно в части хранения истории.
2) Как я уже говорил без справочника для заполнения хотя бы текущих документов не обойтись
3) ModelR видимо не сталкивался с фактами мошенничества в т.ч. и с подтасовкой данных в информационных системах (и последущим их выявлением
).




______________________________________________________
Задолбали вихри яростных атак ...
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35349874
Уважающий ВсехВас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trdmы...
достойны..
ты когда нить о нормализации слышал? гений...
+1 000

Мгновенно необходимо.... ПОСЫЛАТЬ....к книжной полке.....
Это азбука...т.е. должно удовлетворять хотя бы ПЕРВОЙ НОРМАЛЬНОЙ ФОРМЕ....!
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35350303
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelR пишет:

> В справочнике БИК хочется видеть только ЦБ-шные данные. Если пополнять
> его также опечатками из договоров, он перестанет быть нормативным. Если
> же запретить пополнять, то невозможно ввести юридический факт - договор
> подписан, но БИКу не соответсвует.

Так это же и хорошо !
ЗАЧЕМ такой договор вводить ? Только лишь чтобы поднять самосознание
юриста, что его кривой договор лежит "в компьютере" ?
Думаю, что договор будет очень скоро исправлен, а вопросы ведения
версий оформляемых договороф вряд ли находятся в сфере автоматизации,
или, если находятся, то должны быть в другой системе, системе документооборота.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35350454
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
ModelR пишет:

> В справочнике БИК хочется видеть только ЦБ-шные данные. Если пополнять
> его также опечатками из договоров, он перестанет быть нормативным. Если
> же запретить пополнять, то невозможно ввести юридический факт - договор
> подписан, но БИКу не соответсвует.

Так это же и хорошо !
ЗАЧЕМ такой договор вводить ? Только лишь чтобы поднять самосознание
юриста, что его кривой договор лежит "в компьютере" ?
Думаю, что договор будет очень скоро исправлен, а вопросы ведения
версий оформляемых договороф вряд ли находятся в сфере автоматизации,
или, если находятся, то должны быть в другой системе, системе документооборота.
Posted via ActualForum NNTP Server 1.4Я думаю, вы и сами сталкивались с такими ситуациями, когда при внедрении системы клиент говорит - "не фантазируй, у нас такого не бывает". А через некотрое время - опа, "такое" случается.
В частности, скоро исправлен может однажды оказаться не та скоро как надо.

Еще раз скажу- может. А может и нет. Это вовсе не рецепт на все случаи жизни.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35350709
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRВ частности, скоро исправлен может однажды оказаться не та скоро как надо
Тем более не понятно, на основании чего такие договора имеют право на существование.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35351536
Фотография космонахт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроме проверки правильности БИК неплохо еще проверять, не является ли кредитная организация в стадии ликвидации. А то плакали Ваши денежки).Эта информация тоже есть в bnkseek.dbf от ЦБ.
И еще неплохо бы проверять правильность корреспондентского и расчетного счетов по ключу.

ничто не слишком!
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35351743
Hey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если можно, то еще один вопрос - а стоит-ли выделять в отдельную таблицу например паспорт у Клиента ? Ведь не бывает 2 человек с одинаковым номером паспорта, т.е. он гаранированно уникален. Вроде нет смысла выделять, но все-таки он ведь тоже отдельная сущность ...
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35351749
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heyЕсли можно, то еще один вопрос - а стоит-ли выделять в отдельную таблицу например паспорт у Клиента ? Ведь не бывает 2 человек с одинаковым номером паспорта, т.е. он гаранированно уникален. Вроде нет смысла выделять, но все-таки он ведь тоже отдельная сущность ...
Стоит выделять. Для документов, удостоверяющих личность. Там же будет и паспорт.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35351903
Hey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Васкецов
Стоит выделять. Для документов, удостоверяющих личность. Там же будет и паспорт.

но вопрос-то в том, почему? Ведь паспорт будет внесен только один раз, следовательно дублирования информации не будет.
Вопрос можно обобщить - нужно-ли выделять сущности, которые очевидно являются самостоятельными сущностями со своими аттрибутами, но в то-же время больше нигде не дублируются.
Ну скажем описание характеристик винчестера у сущности Компьютер. Сами по-себе характеристики характеризуют именно винчестер, а не компьютер, но с другой - какая именно польза может быть от их выноса в другую таблицу ? Ведь вполне могут себе лежать и в таблице с компьютером ...
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35351919
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heyВедь паспорт будет внесен только один раз
Это неверно.

heyНу скажем описание характеристик винчестера у сущности Компьютер. Сами по-себе характеристики характеризуют именно винчестер, а не компьютер, но с другой - какая именно польза может быть от их выноса в другую таблицу ? Ведь вполне могут себе лежать и в таблице с компьютером ...
Перенесли винт на другой комп, например. Или заменили на новый.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35351933
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heyВедь паспорт будет внесен только один разлюди, бывает, меняют паспорта

heyНу скажем описание характеристик винчестера у сущности Компьютер. Сами по-себе характеристики характеризуют именно винчестер, а не компьютер, но с другой - какая именно польза может быть от их выноса в другую таблицу ? Ведь вполне могут себе лежать и в таблице с компьютером ... а у меня в компе 2 винта, а в сервере - 7
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35352238
Hey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Васкецов
Это неверно.

где вы хотите заносить его еще раз ?

Сергей Васкецов
Перенесли винт на другой комп, например. Или заменили на новый.

так и поменяли данные прямо в таблице Компьютер.

egorych
люди, бывает, меняют паспорта

данные о паспорте тоже можно поменять прямо в таблице Клиент.

egorych
а у меня в компе 2 винта, а в сервере - 7

это меняет постановку исходной задачи :)

Так все-таки, в чем собственно выгода выноса ? Только в том, что в каждой таблице будет только одна сущность ? Из каких правил нормализации это следует ?
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35352376
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hey пишет:

> Если можно, то еще один вопрос - а стоит-ли выделять в отдельную таблицу
> например паспорт у Клиента ? Ведь не бывает 2 человек с одинаковым
> номером паспорта, т.е. он гаранированно уникален.

Ты веришь в сказки, оказывается ?

Вроде нет смысла
> выделять, но все-таки он ведь тоже отдельная сущность ...

Паспортов у человека может быть много (несмотря на все старания милиции).

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35352381
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hey пишет:

> Так все-таки, в чем собственно выгода выноса ? Только в том, что в
> каждой таблице будет только одна сущность ? Из каких правил нормализации
> это следует ?

1 НФ.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35352387
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hey пишет:
> люди, бывает, меняют паспорта
>
>
> данные о паспорте тоже можно поменять прямо в таблице Клиент.

Если ты обработаешь у себя в системе верно ситуацию, когда,
например, человек получил деньги под отчет по одному паспорту,
сдал их, потом получил по другому и сдал,
и тебе надо напечатать два этих авансовых отчета одновременно
(и правильно), то тогда действительно все в порядке.
Ты можешь менять прямо в таблице. И не делать доп. таблицу
для паспортов.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35352514
Hey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Паспортов у человека может быть много (несмотря на все старания милиции).
...
Если ты обработаешь у себя в системе верно ситуацию, когда,
например, человек получил деньги под отчет по одному паспорту,
сдал их, потом получил по другому и сдал,
и тебе надо напечатать два этих авансовых отчета одновременно
(и правильно), то тогда действительно все в порядке.
Ты можешь менять прямо в таблице. И не делать доп. таблицу
для паспортов.

ситуацию, когда есть несколько паспортов или винчестеров мы не обсуждаем - там все ясно, интересует именно если сущность одна. Например строго один паспорт или винчестер.
Если хотите другой пример - характеристики двигателя автомобиля. Уж он-то в машине точно один Уносим характеристики двигателя в отдельную таблицу, или оставляем в таблице Автомобиль ?
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35352711
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hey пишет:

> Если хотите другой пример - характеристики двигателя автомобиля. Уж
> он-то в машине точно один Уносим характеристики двигателя в отдельную
> таблицу, или оставляем в таблице Автомобиль ?

Любая нормализация строится на понятии "функциональная зависимость".
Функциональная зависимость определяется предметной областью и постановкой
задачи. Для одной задачи МОЖНО характеристики двигателя приписать автомобилю.
Для ДРУГОЙ - нельзя.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35352983
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЕсли хотите другой пример - характеристики двигателя автомобиля. Уж он-то в машине точно один Уносим характеристики двигателя в отдельную таблицу, или оставляем в таблице Автомобиль ?
А подумать ?

Хечбэк 1.4 скока-то цилиндров, клапанов и др. характеристики
Хечбэк 1.6 характеристики двигателя
Седан 1.4 характеристики двигателя
Седан 1.6 характеристики двигателя
Универсал 1.6 характеристики двигателя
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35353231
474
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hey
ситуацию, когда есть несколько паспортов или винчестеров мы не обсуждаем - там все ясно, интересует именно если сущность одна. Например строго один паспорт или винчестер.


Хм. Сегодня Иванова получила аванс по паспорту, о чем сделана запись в журнал выдачи авансов.
Завтра Иванова вышла замуж, взяла фамилию Петрова.
Через неделю получила новый паспорт, в БД поменяли ей карточку, а затем снова взяла аванс, о чем снова сделана запись в журнале.

Еще через неделю бухгалтер распечатала журнал авансов, и о ужас - в реестре две записи о выдаче аванса Петровой, а согласно информации из кадров, по штату в копании на дату первой записи никакой Петровой не было!

Паспорт у нее был и есть один. А отчет неверный. Кому отрывать голову?
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35353356
Hey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Любая нормализация строится на понятии "функциональная зависимость".
Функциональная зависимость определяется предметной областью и постановкой
задачи. Для одной задачи МОЖНО характеристики двигателя приписать автомобилю.
Для ДРУГОЙ - нельзя.

а можно привести пример, когда это можно, а когда нет ? А то что-то непонятно, то говорят, что согласно правилам нормализации нужно выносить в отдельную таблицу, то говорят что можно оставлять :)

474
Хм. Сегодня Иванова получила аванс по паспорту, о чем сделана запись в журнал выдачи авансов.
Завтра Иванова вышла замуж, взяла фамилию Петрова.
Через неделю получила новый паспорт, в БД поменяли ей карточку, а затем снова взяла аванс, о чем снова сделана запись в журнале.

Еще через неделю бухгалтер распечатала журнал авансов, и о ужас - в реестре две записи о выдаче аванса Петровой, а согласно информации из кадров, по штату в копании на дату первой записи никакой Петровой не было!

Паспорт у нее был и есть один. А отчет неверный. Кому отрывать голову?

в компаниях сотрудники обычно получают уникальные табельные номера, и все завязано именно на них, а не на ФИО и паспорта.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35353370
474
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heyв компаниях сотрудники обычно получают уникальные табельные номера, и все завязано именно на них, а не на ФИО и паспорта.

Вы в жизни себе представляете хоть один бумажный отчет в котором вместо ФИО - табельные номера?
Что произойдет скорее - руководитель подпишет такой отчет, или выгонит программиста, который его написал?
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35355053
Николай1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
474 heyв компаниях сотрудники обычно получают уникальные табельные номера, и все завязано именно на них, а не на ФИО и паспорта.

Вы в жизни себе представляете хоть один бумажный отчет в котором вместо ФИО - табельные номера?
Что произойдет скорее - руководитель подпишет такой отчет, или выгонит программиста, который его написал?

А чего мы все этого hey в чем-то убеждаем?
Примеров приведено достаточно, а он все не внемлет...
Может, пусть себе голову сломит где-нибудь, и, тогда уже задумается?
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35355424
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hey пишет:

> а можно привести пример, когда это можно, а когда нет ? А то что-то
> непонятно, то говорят, что согласно правилам нормализации нужно выносить
> в отдельную таблицу, то говорят что можно оставлять :)

Говорят вам и правильно, и неправильно. Чтобы сказать, что верно
в вашем случае, надо как минимум изучить вашу постановку задачи.
Этого никто естественно не делал, поэтому их советы в общем
очень среднепотолочны, хотя возможно и дают вам какие-то сигнальчики
что у вас может что -то не так.

Примеры может и не придумаю сейчас так вот сходу.

а, не, вспомнил. примеры на "самое святое" - нарушение 1НФ.

Напомню, что требование 1НФ - это атомарность всех атрибутов отношения
(таблицы), т.е. наличие одного и только одного значения в каждом поле.

Пример первый, пусть это будет БД оператора телефонной связи.
Наверное не надо долго убеждать всех, что с точки зрения
телефонии телефонный номер - далеко не атомарное значение, состоящие
из 7 (или скольки-то там) цифр. А это - код страны, код города или
региона (или оператора) и затем код абонента. К этому могут добавиться
еще номера внутренних телефонов, и еще фиг знает что.
В общем случае тел. номер с этой точки зрения - это форма записи порой
достаточно сложного АЛГОРИТМА установки соединения, с переключениями
форм набора номеров, прослушиванием пауз или гудков (несущей) и т.п.

Возможно я тут конечно напорол чушь, я не телефонист, но идея должна быть
ясна.

Второй пример - база данных какой-нибудь online-игры по телевидению или
радио, как напр. клевер-клуб на нашем радио (спец. маленькими буквами, не
реклама ), где должны храниться имя и номер телефона человека, приславшего
ответ. Ну, знаете, как пишут или говорят, что "вот тут правильный ответ
прислали Вова 23455 и Наташа 23145", при этом часто полный телефон не
приводится. В этом случае телефон и имя даже можно хранить в одном поле,
поскольку это даже и не телефон вовсе, а способ идентификации человека,
приславшего ответ или что там присылают. И, поскольку никаких операций
в БД с этим телефоном производится не будет, кроме хранения и выдачи
на куда-то там, мы имеем полное право этот телефон упростить до
тупого поля, содержащего N цифр, и даже сконкатенировать его с именем
пославшего. Несмотря на кажущуюся безграмотность и нарушение 1НФ, его
здесь НЕТ, потому что никакая из операций БД (и приложения, с ней
работающего) не будет выполнять никаких операций с отдельными элементами
этого поля. Тут может кто-то подумает "а как же нам позвонить и отдать
приз выигравшему человеку ?" Это (полный телефон) можно хранить в другом поле,
или, например, вообще не хранить - будет оправдание не вручать приз .

вообще не хранить.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35356003
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hey Сергей ВаскецовЭто неверно.где вы хотите заносить его еще раз ?
Там же, в ту же таблицу.

hey Сергей ВаскецовПеренесли винт на другой комп, например. Или заменили на новый.так и поменяли данные прямо в таблице Компьютер.
Угу, дважды сделали работу (в старом компе и в новом), вместо переноса именно девайса. Атрибуты должны быть у той сущности, чьими атрибутами они являются. Если это не так, должны быть крайне существенные основания, я даже не готов с ходу придумать их сейчас для Вас.

hey egorychлюди, бывает, меняют паспортаданные о паспорте тоже можно поменять прямо в таблице Клиент.
Можно, но не всегда. Для паспортов есть срок действия. Кроме того, паспорт - просто некоторый тип удостоверения личности, местами весьма специфический, но тем не менее УЛ. Надо исходить из таблицы с удостоверениями личности физика, а не лепить просто паспорт. Существует не так много действий, для которых требуется именно паспорт, а не свидетельство о рождении, или загранпаспорт, или права, или студенческий билет, или военный билет. Все они могут использоваться как удостоверения личности. Поэтому надо изначально исходить из правильной постановки, потому что "паспорт в таблице Клиент" - это исключительно дальнейшее развитие ошибки, что паспорт - единственное УЛ и не меняется.

heyЕсли хотите другой пример - характеристики двигателя автомобиля. Уж он-то в машине точно один
Это, кстати, тоже неверно, например, для гибридных автомобилей или троллейбусов с двойной силовой установкой (питание от сети и от аккумуляторов). У одной машины (одного экземпляра) может быть более одного двигателя. А также параметры даже одного двигателя могут отличаться в зависимости от используемого топлива и режима движения.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35357775
Hey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
474
Вы в жизни себе представляете хоть один бумажный отчет в котором вместо ФИО - табельные номера?
Что произойдет скорее - руководитель подпишет такой отчет, или выгонит программиста, который его написал?

вы сами-то вообще поняли, что написали ? Какое отношение отчеты имеют к способу организации данных ? Еще раз - обычно сотрудники компаний получают уникальные номера, или например в медицинских клиниках каждый больной имеет свой номер (часто называемый номером карточки). Именно этот номер уникально идентифицирует человека. И аванс будет соответственно выдан работнику с табельным № 2365, а не Петровой, которая потом стала Ивановой и получила новый паспорт. А вы как я понял, вместо этого предлагаете хранить все паспорта, который были у человека
А какие данные включать в конкретный отчет имеет мало отношения к обсуждению.

MasterZiv
Пример первый, пусть это будет БД оператора телефонной связи.

это да, хороший пример. Из него следует, что если никто не работает с некоторой сущностью отдельно, то ее можно оставлять в таблице с сущностью-владельцем, а если работает - то выносится в отдельное место ?
Про пример с тем-же паспортом - если я нигде не работаю с ним отдельно, и он везде "прицеплен" к клиенту - то можно оставить в таблице с клиентами, если-же хочу например вести историю изменений паспортов, или например сам по-себе паспорт важная сущность (например для паспортного стола, где они отвечают за прием заявлений на него и их выдачу) - то уношу в другую таблицу ?

Сергей Васкецов
Там же, в ту же таблицу.

в смысле ? У каждого человека паспорт уникален, как вы его еще раз внесете ?

Сергей Васкецов
Угу, дважды сделали работу (в старом компе и в новом), вместо переноса именно девайса.

точно, об этом я не подумал.

Сергей Васкецов
Можно, но не всегда. Для паспортов есть срок действия. Кроме того, паспорт - просто некоторый тип удостоверения личности, местами весьма специфический, но тем не менее УЛ. Надо исходить из таблицы с удостоверениями личности физика, а не лепить просто паспорт. Существует не так много действий, для которых требуется именно паспорт, а не свидетельство о рождении, или загранпаспорт, или права, или студенческий билет, или военный билет. Все они могут использоваться как удостоверения личности. Поэтому надо изначально исходить из правильной постановки, потому что "паспорт в таблице Клиент" - это исключительно дальнейшее развитие ошибки, что паспорт - единственное УЛ и не меняется.

вроде как это зависит от специфики бизнеса. Например вряд-ли вам в банке откроют счет по водительским правам, а по военному билету вы совершенно точно вы пересечете границу. Соответственно зачем там предусматривать различные варианты удостоверений ?
Имхо, как раз не так уж много ситуаций, когда годяться разные варианты УЛ.

Сергей Васкецов
Атрибуты должны быть у той сущности, чьими атрибутами они являются. Если это не так, должны быть крайне существенные основания, я даже не готов с ходу придумать их сейчас для Вас.

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

вы сами-то вообще поняли, что написали ? Какое отношение отчеты имеют к способу организации данных ? Еще раз - обычно сотрудники компаний получают уникальные номера, или например в медицинских клиниках каждый больной имеет свой номер (часто называемый номером карточки). Именно этот номер уникально идентифицирует человека. И аванс будет соответственно выдан работнику с табельным № 2365, а не Петровой, которая потом стала Ивановой и получила новый паспорт. А вы как я понял, вместо этого предлагаете хранить все паспорта, который были у человека
А какие данные включать в конкретный отчет имеет мало отношения к обсуждению.


Я понял, а вот вы, похоже нет.

Если вы не храните изменяемые атрибуты отдельно, то вам рано или поздно придется столкнуться с ситуацией, когда атрибут объекта (сотрудника, к примеру) поменяется, а поскольку он у вас хранится один только раз и история не ведется (негде ее вести, раз нет отдельной таблицы), то всюду в вашей системе у вас будет новое значение вместо старого. Была Иванова, стала Петрова. И при необходимости вывести срез данных на какую-то дату вы столкнетесь с искажением данных. Теперь понятно вам понятно как ответить на ваш же вопрос "Какое отношение отчеты имеют к способу организации данных"? Если непонятно, то я отвечу - отчеты строятся на основе данных. Если данных нет или они искажены - правильный отчет вы не получите.

Об идентификации объектов речь внутри системы я вообще не вел, не приписывайте мне собственных домыслов. То что внутри системы используются ключи сущностей, и для системы Иванова это, к примеру, id100 - понятно даже школьникам. Просто сегодня для пользователя системы id100 это Иванова, а через месяц id100 - это Петрова. В вашей реализации (все хранить в одной сущности и изменять ее атрибуты напрямую) в системе и следа о том, что id100 когда-то была Ивановой не останется.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35358778
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heyв смысле ? У каждого человека паспорт уникален, как вы его еще раз внесете ?
Вы делаете неверный вывод об уникальности паспорта у каждого человека из предпосылки, что у каждого человека в один момент времени может быть только один действующий граджанский паспорт.

heyНапример вряд-ли вам в банке откроют счет по водительским правам
В банк могут быть предоставлены более одного документа УЛ, например, паспорт и водительские права, или паспорт и загранпаспорт. Это может влиять на набор документов, например, необходимый для получения кредита.

heyпо военному билету вы совершенно точно вы пересечете границу
Я так понимаю, Вы хотели написать "не пересечете". Обрадую. В соответствующем законе описаны 3 документа кроме ЗП, которые могут его (ЗП) заменять. При пересечении границы военными подразделениями вообще особый порядок действует.

heyСоответственно зачем там предусматривать различные варианты удостоверений?
Вы либо слушаете, что Вам говорят, если неспроста решили написать, либо игнорируете все ответы.

heyИмхо, как раз не так уж много ситуаций, когда годяться разные варианты УЛ
Как раз с точностью до наоборот.

heyВ том-же паспорте имеется поле КемВыдан, представляющее отделение милиции и его КодПодразделения. Что-то я не думаю, что вы будете выносить подразделение милиции и кодом в отдельное место
Если отделения милиции как таковые мне интересны, например, я их контролирую и надзираю за ними, то безусловно "да". Если же ничего кроме реквизитов УЛ мне не надо, то достаточно просто текстового поля, где будет писаться наименование органа, выдавшего УЛ, в точном соответствии с тем, как оно написано в самом УЛ на момент его выдачи. Например, считаете ли Вы, что после смены наименования региона (область -> край) у всех, кому в этом регионе выдавали паспорта, в паспортах резко сменился орган, который выдавал этот документ?
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35360190
Hey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
474
Я понял, а вот вы, похоже нет.

Если вы не храните изменяемые атрибуты отдельно, то вам рано или поздно придется столкнуться с ситуацией, когда атрибут объекта (сотрудника, к примеру) поменяется, а поскольку он у вас хранится один только раз и история не ведется (негде ее вести, раз нет отдельной таблицы), то всюду в вашей системе у вас будет новое значение вместо старого. Была Иванова, стала Петрова. И при необходимости вывести срез данных на какую-то дату вы столкнетесь с искажением данных. Теперь понятно вам понятно как ответить на ваш же вопрос "Какое отношение отчеты имеют к способу организации данных"? Если непонятно, то я отвечу - отчеты строятся на основе данных. Если данных нет или они искажены - правильный отчет вы не получите.

Об идентификации объектов речь внутри системы я вообще не вел, не приписывайте мне собственных домыслов. То что внутри системы используются ключи сущностей, и для системы Иванова это, к примеру, id100 - понятно даже школьникам. Просто сегодня для пользователя системы id100 это Иванова, а через месяц id100 - это Петрова. В вашей реализации (все хранить в одной сущности и изменять ее атрибуты напрямую) в системе и следа о том, что id100 когда-то была Ивановой не останется.

о майн гот.

Табельный номер и карточка в клинике - это не просто внутренний номер системы, а вполне общеизвестный аттрибут. Если вы придете/позвоните в клинику, то вас первым делом попросят назвать свой номер, а если не помните - то только тогда будут искать по имени/фамилии/дате рождения.
Табельный номер сотрудников тоже обычно присутствует на куче бумажных документов - от зарплатных списков до каких-нибудь отчетов или справок. А у нас на фирме например он еще и является логином пользователя на вход в систему.
Если-же требуется вести историю - то конечно сущность лучше вынести.

Ответьте мне пожалуйста на следующий вопрос: при вашем способе реализации человек идентифицируется ФИО + паспорт. Судя по вашим словам "Еще через неделю бухгалтер распечатала журнал авансов, и о ужас - в реестре две записи о выдаче аванса Петровой, а согласно информации из кадров, по штату в копании на дату первой записи никакой Петровой не было! Паспорт у нее был и есть один. А отчет неверный. Кому отрывать голову?" у вас в системе будет следующая ситуация - две записи о выдачи аванса, одна из них про Петрову, другая про Иванову с другим паспортом. Таким образом один и тот-же человек (хотя по отчету кажется, что они разные) получил аванс дважды, что предположим, запрещено правилами компании. Кому теперь будем отрывать голову ?


Сергей Васкецов
Как раз с точностью до наоборот.

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

Сергей Васкецов
Если отделения милиции как таковые мне интересны, например, я их контролирую и надзираю за ними, то безусловно "да". Если же ничего кроме реквизитов УЛ мне не надо, то достаточно просто текстового поля, где будет писаться наименование органа, выдавшего УЛ, в точном соответствии с тем, как оно написано в самом УЛ на момент его выдачи.

это похоже на вышеприведенный пример MasterZiv'а про телефоны - если телефон это просто аттрибут, с которым отдельно не работаем, то оставляем в таблице с владельцем, если нет - то выносим. Отсюда вытекает такой момент, что (по аналогии с КемВыдан и его кодом подразделения) если я с паспортом нигде отдельно не работаю, то можно оставлять в таблице владельца ? Если так, то все встает на свои места.

Сергей Васкецов
Например, считаете ли Вы, что после смены наименования региона (область -> край) у всех, кому в этом регионе выдавали паспорта, в паспортах резко сменился орган, который выдавал этот документ?

Не знаю, вряд-ли, ведь у меня в паспорте например местом рождения числится Свердловск, хотя это теперь Екатеринбург.
Кстати, а вот вы будете разбивать поле Прописка на составляющие ? Имхо та-же история - хотим работать с ее составляющими - выносим, не хотим - вписываем в одно текстовое поле ...
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35360267
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heyВот делаю я предположим систему, где клиенты имеют только один документ - паспорт, который согласно бизнес-правилам может быть только один, и изменения этих бизнес-правил пока не предвидеться
Архитектор любой системы должен предполагать, что будет с системой, если чуть-чуть колыхнуть предпосылки, на которых система построена. Ваша система не обладает достаточной гибкостью. К чему это приведет - пока сказать сложно, может быть потеряете клиента, если он будет настаивать на оформлении не по паспорту, может быть потребуется внести изменения и переписать функциональность и всякие отчеты. Я же предпочитаю сделать сразу правильно, чтобы потом не было мучительно больно.

heyКстати, а вот вы будете разбивать поле Прописка на составляющие ? Имхо та-же история - хотим работать с ее составляющими - выносим, не хотим - вписываем в одно текстовое поле ...
Работать с составляющими адреса регистрации невозможно по определению. Вы путаете адрес (например, дома) как таковой и атрибут документа. Повторю еще раз. При изменении улицы адрес дома поменяется, а адрес, указанный в регистрации человека в этом доме - нет.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35360363
474
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heyЕсли-же требуется вести историю - то конечно сущность лучше вынести.
Я про это и писал. Рад, что стало понятно.

heyОтветьте мне пожалуйста на следующий вопрос: при вашем способе реализации человек идентифицируется ФИО + паспорт.
Я второй раз повторю: я не говорил о идентификации, я говорил и говорю о хранении атрибутов. Вы опять приписываете мне то, чего я не утверждал. Идентифицировать объект в системе можно как угодно, по естественным ключам или по суррогатным - это как вы хотите.

hey
Судя по вашим словам "Еще через неделю бухгалтер распечатала журнал авансов, и о ужас - в реестре две записи о выдаче аванса Петровой, а согласно информации из кадров, по штату в копании на дату первой записи никакой Петровой не было! Паспорт у нее был и есть один. А отчет неверный. Кому отрывать голову?" у вас в системе будет следующая ситуация - две записи о выдачи аванса, одна из них про Петрову, другая про Иванову с другим паспортом. Таким образом один и тот-же человек (хотя по отчету кажется, что они разные) получил аванс дважды , что предположим, запрещено правилами компании. Кому теперь будем отрывать голову ?
Запись о получении аванса в системе - это отражение факта в реальном мире. Если одному и тому-же человеку выдали аванс дважды, что запрещено правилами - отрывать голову надо тому, кто выдал. Почему ему - потому что правила пишутся для людей , а не для компьютеров.

Внутри системы эти два человека - это один объект, но в срезах на конкретную дату у него могут быть разные значения атрибутов. Если в требованиях на систему было прописано соответвие правилам (то есть ограничение на выдачу аванса дважды), но реализовано не было - тогда дополнительно оторвать голову и программисту.

Вам Сергей Васкецов правильно заметил, что надо предусматривать запас гибкости в системе, а вы почему-то все это избежать хотите. Дополнительный код не хочется писать?
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35362909
Hey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Васкецов
Архитектор любой системы должен предполагать, что будет с системой, если чуть-чуть колыхнуть предпосылки, на которых система построена. Ваша система не обладает достаточной гибкостью. К чему это приведет - пока сказать сложно, может быть потеряете клиента, если он будет настаивать на оформлении не по паспорту, может быть потребуется внести изменения и переписать функциональность и всякие отчеты. Я же предпочитаю сделать сразу правильно , чтобы потом не было мучительно больно.

вы-же сами написали "Если же ничего кроме реквизитов УЛ мне не надо, то достаточно просто текстового поля, где будет писаться наименование органа, выдавшего УЛ, в точном соответствии с тем, как оно написано в самом УЛ" . Почему-же если мне нужны только аттрибуты паспорта, то вписывать его в таблицу владельца неправильно ?
На самом деле хочу сказать, что вы с MasterZiv'ом меня безусловно убедили в необходимости выноса сущностей, спасибо вам, просто есть пара моментов, которые не дают спокойно спать. Если отделение милиции мне как таковое не нужно и его можно оставлять в таблице с паспортом, то почему если не нужен паспорт как таковой, то его нельзя оставить в таблице с владельцем ? Так, на всякий случай ? Только из-за пресловутой гибкости системы ?

Сергей Васкецов
Работать с составляющими адреса регистрации невозможно по определению. Вы путаете адрес (например, дома) как таковой и атрибут документа. Повторю еще раз. При изменении улицы адрес дома поменяется, а адрес, указанный в регистрации человека в этом доме - нет.

а вот давайте теперь колыхнем вашу систему - скажем заказчик теперь хочет знать, сколько у него иногородних клиентов (не такое-уж невероятное изменение в требованиях), а прописка у вас, по вашим словам, текстовое поле. Что вы будете делать ? Система-то негибкая получилась. По такой логике получается нужно вообще все сущности разделять. Даже пример MasterZiv'а про телефоны перестает работать - вдруг там клиент захочет теперь знать, из каких городов чаще выигрывают - придеться телефон таки бить на составляющие номера и уносить в другое место. Да и отделение милиции с кодом подразделения из паспорта можно вынести - тоже на всякий случай, ради гибкости.

474
Я про это и писал. Рад, что стало понятно.

у вас интересная манера вести разговор - вы сами придумали изначально отсутствующее требование про ведение истории и строите на ней все ваши выводы. По сути, это вообще не относиться к разговору, ибо даже если-бы паспорт у меня был вынесен, то никакой истории изменений все равно-бы не велось и ваши примеры про Петрову/Иванову все-равно были-бы совершенно нерелевантны.

474
Запись о получении аванса в системе - это отражение факта в реальном мире. Если одному и тому-же человеку выдали аванс дважды, что запрещено правилами - отрывать голову надо тому, кто выдал. Почему ему - потому что правила пишутся для людей, а не для компьютеров.

Внутри системы эти два человека - это один объект, но в срезах на конкретную дату у него могут быть разные значения атрибутов. Если в требованиях на систему было прописано соответвие правилам (то есть ограничение на выдачу аванса дважды), но реализовано не было - тогда дополнительно оторвать голову и программисту.

тогда спрошу по-другому: хорошо, в системе это один человек, реализовано правило о невыдаче аванса дважды - все замечательно.
По вашим словам "Вы в жизни себе представляете хоть один бумажный отчет в котором вместо ФИО - табельные номера?" в бумажных документах и на экране компьютера вашей системы человек идентифицируется ФИО + паспорт (внутри системы может быть также или введен суррогатный ключ). Кроме того, ФИО и паспорт показываються в соответствии с историей - если в апреле Иванова была Петровой, то на экране за апрель светиться именно Петрова. (кстати вы откуда вообще взяли такую дурацкую постановку задачи ? Никого не интересует, какое ФИО у нее было в апреле, если это не отделение милиции. И табельные номера с номерами клиентов к клиниках введены вовсе не для того, чтобы реализовывать такие требования - просто встречаются абсолютные тезки, и в отчетах для различения их пришлось-бы вбивать номера паспортов).
Все верно, я ничего вам не приписал ?
Так вот, бухгалтер хочет выдать аванс Ивановой (паспорт 45 3456), но система говорит, что этот человек уже получал аванс в этом месяце. Бухгалтер запрашивает отчет об авансах за этот месяц и конечно никакой Ивановой (паспорт 45 3456) там не находит, ибо она там еще была Петровой (паспорт 66 7890). Что теперь должна делать бухгалтер и кому будем отрывать голову ?
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35363630
474
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heyу вас интересная манера вести разговор - вы сами придумали изначально отсутствующее требование про ведение истории и строите на ней все ваши выводы. По сути, это вообще не относиться к разговору, ибо даже если-бы паспорт у меня был вынесен, то никакой истории изменений все равно-бы не велось и ваши примеры про Петрову/Иванову все-равно были-бы совершенно нерелевантны.
Я думал, что очевидным является, что реквизиты банков также меняются, как и атрибуты любых иных объектов. Извиняюсь, что не объяснил. Приведу пример тогда.

К примеру, многофилиальный банк (все филиалы в одном регионе) переходит на единый БИК и на единый корсчет. Эта ситуация не выдуманная, такое происходило в банке, где обслуживалась моя фирма. Банк остается тот же самый, но реквизиты изменились. Если вам понадобится распечатать для налоговой копию платежки по уплате налогов за позапрошлый год вы будете ее печатать с новыми реквизитами?

heyВсе верно, я ничего вам не приписал ?
За исключением того, что я не говорил об идентификации и о том, что для нее необходимо и достаточно ФИО + паспорт, да, верно.

hey
Так вот, бухгалтер хочет выдать аванс Ивановой (паспорт 45 3456), но система говорит, что этот человек уже получал аванс в этом месяце. Бухгалтер запрашивает отчет об авансах за этот месяц и конечно никакой Ивановой (паспорт 45 3456) там не находит, ибо она там еще была Петровой (паспорт 66 7890). Что теперь должна делать бухгалтер и кому будем отрывать голову ?
Отрывать программисту или аналитику (смотря кто писал ТЗ). Иными словами - если система в информационных сообщениях связанных с объектами, показывает пользователю только изменяемые атрибуты объектов - это ошибка реализации, пусть и не критическая. Наличие в системе таких сообщений потенциально увеличивает операционные риски при работе с системой.

Насчет дурацких требований.. Навскидку могу предположить, что кроме милиции (кстати, а что это за милиция? миграционная служба, например, - это милиция или нет?), в хранении изменяемых ФИО граждан заинтересованы как минимум средние и высшие учебные заведения, загсы, банки, страховые компании, налоговые органы (а из-за этого почти все налоговые агенты), службы ЖКХ, операторы фиксированной связи, и еще множество организаций, которые лень перечислять, если честно.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35366782
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heyПочему-же если мне нужны только аттрибуты паспорта, то вписывать его в таблицу владельца неправильно ?
Вы, видимо, запутались. Даже если интересуемая сущность атомарная и не предполагается ее делить, ссылаться на нее и прочее, если таких сущностей более одной, в одно поле их запихивать не стоит. В случае с паспортом необходимо только обосновать, что одним пасортом в любом случае не обойтись, как бы этого кому-то ни хотелось.

heyЕсли отделение милиции мне как таковое не нужно и его можно оставлять в таблице с паспортом, то почему если не нужен паспорт как таковой, то его нельзя оставить в таблице с владельцем ? Так, на всякий случай ? Только из-за пресловутой гибкости системы ?
У одного документа УЛ орган, выдавший этот документ, один, и не меняется в течение времени жизни документа. С отношением человек-паспорт все по другому.

heyа вот давайте теперь колыхнем вашу систему - скажем заказчик теперь хочет знать, сколько у него иногородних клиентов (не такое-уж невероятное изменение в требованиях), а прописка у вас, по вашим словам, текстовое поле. Что вы будете делать ?
Сделаю еще одно поле со ссылкой на регион проживания. Адрес любой регистрации (в паспорте или на отдельном бланке, о чем Вы, видимо, позабыли) - это исключительно атрибут документа (а не человека). При изменении наименования региона адрес проживания для целей такой аналитики, как Вы описали выше, должен измениться, а адрес, указанный в документе - не должен. То есть, подобные адреса - это разные сущности. Другой вопрос, что заполнить такую ссылку можно в первом приближении на основании информации из текстового адреса (то есть запросы типа update ... from ... where ... like ...). Если же требование знать откуда физик - на уровне пожелания, то подойдет простейший like, с большой вероятностью этого будет достаточно для ответа на вопрос вида "а много ли у нас иногородних"? То есть, реализация зависит от цели, зачем это надо, насколько строгий учет необходим.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35369846
Hey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
474
Я думал, что очевидным является, что реквизиты банков также меняются, как и атрибуты любых иных объектов. Извиняюсь, что не объяснил. Приведу пример тогда.

К примеру, многофилиальный банк (все филиалы в одном регионе) переходит на единый БИК и на единый корсчет. Эта ситуация не выдуманная, такое происходило в банке, где обслуживалась моя фирма. Банк остается тот же самый, но реквизиты изменились. Если вам понадобится распечатать для налоговой копию платежки по уплате налогов за позапрошлый год вы будете ее печатать с новыми реквизитами?

вы-уж все-таки определитесь, какой пример имеете ввиду, а то сначала говорите про авансы и бухгалтершу, а потом в качестве примера нужности ведения истории рассказываете про реквизиты платежки =)

474
Отрывать программисту или аналитику (смотря кто писал ТЗ). Иными словами - если система в информационных сообщениях связанных с объектами, показывает пользователю только изменяемые атрибуты объектов - это ошибка реализации, пусть и не критическая. Наличие в системе таких сообщений потенциально увеличивает операционные риски при работе с системой.

Насчет дурацких требований.. Навскидку могу предположить, что кроме милиции (кстати, а что это за милиция? миграционная служба, например, - это милиция или нет?), в хранении изменяемых ФИО граждан заинтересованы как минимум средние и высшие учебные заведения, загсы, банки, страховые компании, налоговые органы (а из-за этого почти все налоговые агенты), службы ЖКХ, операторы фиксированной связи, и еще множество организаций, которые лень перечислять, если честно.

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


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

так ведь паспорт у меня не в одном текстовом поле, а нескольких полях таблицы владельца

Сергей Васкецов
hey
Если отделение милиции мне как таковое не нужно и его можно оставлять в таблице с паспортом, то почему если не нужен паспорт как таковой, то его нельзя оставить в таблице с владельцем ? Так, на всякий случай ? Только из-за пресловутой гибкости системы ?

У одного документа УЛ орган, выдавший этот документ, один, и не меняется в течение времени жизни документа. С отношением человек-паспорт все по другому.

;) так все-таки почему этот самый паспорт, хоть он и меняется на протяжении жизни, нужно выделять ? Историю паспортов вести согласно бизнес-правилам не надо, нескольких паспортов тоже нету. Ну никак не возьму в толк - отделение милиции оставляем, а паспорт все равно выносим, хотя они с точки зрения логики одинакого достойны выноса/оставления

Сергей Васкецов
Сделаю еще одно поле со ссылкой на регион проживания. Адрес любой регистрации (в паспорте или на отдельном бланке, о чем Вы, видимо, позабыли) - это исключительно атрибут документа (а не человека). При изменении наименования региона адрес проживания для целей такой аналитики, как Вы описали выше, должен измениться, а адрес, указанный в документе - не должен. То есть, подобные адреса - это разные сущности. Другой вопрос, что заполнить такую ссылку можно в первом приближении на основании информации из текстового адреса (то есть запросы типа update ... from ... where ... like ...). Если же требование знать откуда физик - на уровне пожелания, то подойдет простейший like, с большой вероятностью этого будет достаточно для ответа на вопрос вида "а много ли у нас иногородних"? То есть, реализация зависит от цели, зачем это надо, насколько строгий учет необходим.

а зачем нам считать, что если вынести регионы (и заодно улицы и дома), то они прекращают быть аттрибутами паспорта ? Если регион (город, улица) изменился, то мы его просто не будем менять, раз это аттрибут паспорта.
Like по очевидным причинам будет давать не самые точные результаты (да еще и не самые быстрые), а приделав дополнительные столбцы вы получается просто дублируете прописку (и множите потенциальные ошибки ввода).
Ведь вообще-то вопрос "а сколько у нас иногородних" или "сколько человек живет в этой части города" вовсе не означает, что ответ должен непременно содержать новое название улицы (или города итп), которое ей дали вчера. Да и кто будет поддерживать согласованное состояние такой информации ? Это-же по-сути никому не нужно, и даже более того, имхо куда очевиднее для пользователей ожидать от системы ответа, базирующегося именно на прописке, а не на реальном положении вещей.
Возможно есть какие-то исключения (какая-нибудь милиция или налоговики, хотя и то сомнительно), но для обычных бизнес-процессов это имхо не нужно совершенно точно.
...
Рейтинг: 0 / 0
Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
    #35370205
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heyтак ведь паспорт у меня не в одном текстовом поле, а нескольких полях таблицы владельца
Диагноз подтвержден?

heyтак все-таки почему этот самый паспорт, хоть он и меняется на протяжении жизни, нужно выделять ? Историю паспортов вести согласно бизнес-правилам не надо, нескольких паспортов тоже нету
Это очень наивные бизнес-правила, отсюда и необходимость выделять УЛ отдельно.

heyНу никак не возьму в толк - отделение милиции оставляем, а паспорт все равно выносим, хотя они с точки зрения логики одинакого достойны выноса/оставления
Нет, не одинаково. Паспорт - атрибут гражданина. Адрес регистрации - атрибут паспорта - атрибут атрибута гражданина.

heyа зачем нам считать, что если вынести регионы (и заодно улицы и дома), то они прекращают быть аттрибутами паспорта?
Зачем внуки не вписываются в паспорт бабушек и дедушек?

heyа приделав дополнительные столбцы вы получается просто дублируете прописку (и множите потенциальные ошибки ввода).
Ничего подобного. Очевидные примеры - временная регистрация, проживание без регистрации вообще.

heyВедь вообще-то вопрос "а сколько у нас иногородних" или "сколько человек живет в этой части города" вовсе не означает, что ответ должен непременно содержать новое название улицы (или города итп), которое ей дали вчера
Но когда Химки присоединят к Москве, или Мск объединят с МО, ничего не должно перевернуться с ног на голову. Причем независимо от того, все еще Вы будете делать эту систему, или кто-то другой.

heyДа и кто будет поддерживать согласованное состояние такой информации? Это-же по-сути никому не нужно
Именно что задача неадекватная.

heyкуда очевиднее для пользователей ожидать от системы ответа, базирующегося именно на прописке, а не на реальном положении вещей
Пример такой задачи можете привести? Я знаю, что такой анализ (по фактическим данным пользователей) проводится в том числе, когда хочется создать новый дешевый филиан в другом городе. А вот реально анализировать именно прописку для коммерческой конторы - вообще не пойму зачем.

heyВозможно есть какие-то исключения (какая-нибудь милиция или налоговики, хотя и то сомнительно), но для обычных бизнес-процессов это имхо не нужно совершенно точно.
И я о том же, только с моей колокольни все как раз наоборот.
...
Рейтинг: 0 / 0
55 сообщений из 55, показаны все 3 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Достоины-ли БанковскиеАттрибуты выделения в отдельную таблицу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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