|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovL_argoТому, что "Документы" это разные таблицы. Там может быть ссылка на любую сущность в системе. Прэлеестно. Сначала криво проектируем базу, разгоняя одну сущность "Документ" по разным таблицам, а потом лечим неотвратимо вытекающий из этого геморрой ампутацией. Не понял толстого сарказма. Коллега, у Вас все возможные документы в одной таблице ??????? И товарные и кассовые и кадровые и еще чорте_какие ? Только не надо тут писать, что принципиально разного типа документ тут быть "не должен". Например ссылка на документ-основание... Иногда это может быть что угодно: складская отгрузка, счет, возврат, жалоба, акт порчи и т.д.. Т.е. практически любой документ системы. В том же 1С таких разнородных ссылок - сотни. Подобное есть и в других системах. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2019, 17:10 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
А мы сделали полную СЦ для всех атрибутов всех объектов системы. Атрибуты добавляются в рантайме в мета-модели... Не понимаю, что за сыр-бор, откуда великая сложность такая, что от СЦ нужно отказаться :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2019, 17:17 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
L_argoНапример ссылка на документ-основание... Иногда это может быть что угодно: складская отгрузка, счет, возврат, жалоба, акт порчи и т.д.. Т.е. практически любой документ системы. Можно сделать ссылку на документ базового мета-типа. БД легко может обеспечить СЦ по методам TPH или TPT. В общем, на роль экстра-сложной/невыполнимой задача никак не тянет, сорян :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2019, 17:20 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
Можно сделать ссылку на документ базового мета-типа. БД легко может обеспечить СЦ по методам TPH или TPT.Т.е. еще одну ненужную таблицу ? Пардон, а зачем ????? А как контролировать связь между записями в этой таблице и ключами в разных таблицах ? Вдруг в ней останутся записи, ссылки которых будут пустыми ? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2019, 17:43 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
L_argoМожно сделать ссылку на документ базового мета-типа. БД легко может обеспечить СЦ по методам TPH или TPT.Т.е. еще одну ненужную таблицу ? Пардон, а зачем ????? А как контролировать связь между записями в этой таблице и ключами в разных таблицах ? Вдруг в ней останутся записи, ссылки которых будут пустыми ? все эту фигню познаешь - когда делаешь что нить универсальное (и при том работающее) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2019, 20:05 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
ViPRosвсе эту фигню познаешь - когда делаешь что нить универсальное (и при том работающее)Привет Сахават ! Рад тебя видеть здесь ! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 08:56 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
L_argoКоллега, у Вас все возможные документы в одной таблице ??????? А что, у Вас иначе? И Вы ещё этому радуетесь? Заголовки со всеми базовыми атрибутами однозначно надо выносить в одну общую таблицу. А расширения для некоторых типов документов общей погоды не делают. L_argoИ товарные и кассовые и кадровые и еще чорте_какие ? Да. L_argoНапример ссылка на документ-основание... Ссылка на таблице сама на себя для простоты (скажем, допник у договора). Если документы в цепочке собираются из нескольких разных - есть отдельная таблица для взаимосвязи. L_argoПодобное есть и в других системах. Да-да, мы помним про сантехников, пишущих ERP в перерывах между вызовами на чистку бассейна )))) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 09:15 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
hVosttМожно сделать ссылку на документ базового мета-типа. БД легко может обеспечить СЦ по методам TPH или TPT. +1 Только что сам хотел про TPH/TPT упомянуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 09:44 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
L_argoМожно сделать ссылку на документ базового мета-типа. БД легко может обеспечить СЦ по методам TPH или TPT.Т.е. еще одну ненужную таблицу ? Пардон, а зачем ????? Что значит не нужную? В задачи СУБД входит обеспечение ссылочной целостности, есть различные методы, как решать эту задачу средствами СУБД, и она прекрасно решается. Странный у вас вопрос :) L_argoА как контролировать связь между записями в этой таблице и ключами в разных таблицах ? Вдруг в ней останутся записи, ссылки которых будут пустыми ? Не останутся, СУБД не даст такому случиться, и не придётся работать негром, постоянно вычищать данные, чтобы не получать ошибки в ПО и в отчётах. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 09:45 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
Заголовки со всеми базовыми атрибутами однозначно надо выносить в одну общую таблицу. А расширения для некоторых типов документов общей погоды не делают.Слово "Документ" прозвучало для простоты. Ссылки в общем случае могут быть и на справочник, в т.ч. микросправочник (Да/Нет, Муж/Жен). Их тоже залепим в одну таблицу ? :) Вообще нет четкой грани между "документ" и "справочник" (или часть справочника). Эта грань условна. И что мы в итоге получим ? Какой-то мега EAV. Большую систему, состоящую всего из 20 таблиц. И ад из связей. Проектируя систему вообще не должно быть понятия "документ" и "справочник". Для системы существуют только таблицы и поля. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 09:55 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
L_argoИ что мы в итоге получим ? Какой-то мега EAV. Большую систему, состоящую всего из 20 таблиц. И ад из связей. Почему EAV-то? Если вы добавляете атрибут в сущности, то появляется соответствующая колонка, а то и не одна (Value Object). Если атрибут является ссылкой, то добавляете связь в СУБД на соответствующую таблицу. Если добавление и настройка атрибутов происходит в рантайме, точно также в рантайме могут производится вышеуказанные действия. Рассказывать, что это не работает не нужно, мы это сделали, у нас всё прекрасно работает. В чём проблема-то? )) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 10:03 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
L_argoСсылки в общем случае могут быть и на справочник, в т.ч. микросправочник Говорите уж сразу - "ссылка неизвестно на что". Не понимаю, зачем такая нужна. Какую бизнес-задачу может решить такая ссылка. Но самое интересное - о какой целостности в этом случае вообще может идти речь? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 10:07 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
L_argoПроектируя систему вообще не должно быть понятия "документ" и "справочник" Позвольте полюбопытствовать, сколько систем спроектировали лично Вы, чтобы позволять себе бросаться подобными тезисами? Между документами и справочниками есть принципиальные отличия. Подумайте, какие. Что вводится в систему документами, а что используется в качестве справочников. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 10:07 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
Сергей ВаскецовПозвольте полюбопытствовать, сколько систем спроектировали лично Вы, чтобы позволять себе бросаться подобными тезисами? Между документами и справочниками есть принципиальные отличия. Подумайте, какие. Что вводится в систему документами, а что используется в качестве справочников. +1 отличный вопрос :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 10:10 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
Не останутся, СУБД не даст такому случиться, и не придётся работать негром, постоянно вычищать данные, чтобы не получать ошибки в ПО и в отчётах. Ну прям серебряная пуля..... ) Ошибки в данных совсем нечасто случаются от нарушения СЦ. Если с данными работать правильно, нарушение СЦ вообще не должно возникать. СЦ нужна для тех, кто небрежно работает с данными. Что попало вставляет и удаляет. И вопрос ошибок целостности не раскрыт. Допустим есть большой SQL-скрипт автоматической обработки(импорта) данных, запускаемой по расписанию. Вдруг происходит попытка вставить несуществующий ключ (или удалить задействованный). СЦ выдаст ошибку. Что далее ? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 10:15 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
Сергей ВаскецовПозвольте полюбопытствовать, сколько систем спроектировали лично Вы, чтобы позволять себе бросаться подобными тезисами? Между документами и справочниками есть принципиальные отличия. Вообще-то, в этих словах коллеги доля истины больше, чем в Ваших - хотя он криво и безобразно сформулировал. О принципиальном различии документов и справочников как правило говорят те, чей опыт сводится к OLTP, причём довольно локальному OLTP. Когда поработаешь с хранилищами данных либо с большими бизнес-процессами, становится очевидно: то, что на одном этапе (для одного отдела, одной ИС) является документом, для следующего этапа (соседнего отдела, другой ИС) становится справочником. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 10:17 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
L_argoЕсли с данными работать правильно, нарушение СЦ вообще не должно возникать. Верно. И тем, кому не нужно СЦ, БД тоже не нужна - они вполне способны обработать данные в уме и сразу выдать финальный результат. L_argoВдруг происходит попытка вставить несуществующий ключ (или удалить задействованный). СЦ выдаст ошибку. Что далее ? Так в чём проблема? Вы ставите задачу - так Вы и скажите, что должно быть далее. А то Вы как-то весело просите угадать, чего же Вы хотите. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 10:23 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
Так в чём проблема? Вы ставите задачу - так Вы и скажите, что должно быть далееЯ задаю вопрос. Куда и в каком виде упадет ошибка ? Что из нее можно узнать (можно ли установить значения ключей, вызвавших проблему) ? Что будет после ошибки ? Рассматриваем абстрактную SQL-СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 10:52 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
softwarerКогда поработаешь с хранилищами данных либо с большими бизнес-процессами, становится очевидно: то, что на одном этапе (для одного отдела, одной ИС) является документом, для следующего этапа (соседнего отдела, другой ИС) становится справочником. Для этого придумали термин "bound context". Для большой системы невозможно создание всеохватывающей модели. Для различных actors и use cases модель будет своя, хотя в чем-то эти модели могут пересекаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 11:06 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
L_argoЯ задаю вопрос. Это-то и странно. Всё равно как садясь в такси, спрашивать у водителя: "Куда Вы поедете?" L_argoКуда и в каком виде упадет ошибка ? (пожимая плечами) Куда скажу, туда и упадёт. L_argoЧто из нее можно узнать (можно ли установить значения ключей, вызвавших проблему) ? Можно. L_argoЧто будет после ошибки ? (пожимая плечами) Что скажу, то и будет. L_argoРассматриваем абстрактную SQL-СУБД. "Обычный стиральный порошок"? Этот подход годится только для того, чтобы впаривать хомячкам всякий бред. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 13:18 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
softwarerВообще-то, в этих словах коллеги доля истины больше, чем в Ваших - хотя он криво и безобразно сформулировал. О принципиальном различии документов и справочников как правило говорят те, чей опыт сводится к OLTP, причём довольно локальному OLTP Мне ближе позиция, что об отсутствии различий между документами и справочниками говорят как раз те, кто не касался этих различий. ERP - это же не только витрина данных. Если осознать, что именно вводится в систему документами, то различия будут понятны (скажем, я не видел ни в одной системе проводок по справочникам). А если касаться только обобщённых отчётов и все данные воспринимать только статическими, то тогда конечно. softwarerКогда поработаешь с хранилищами данных либо с большими бизнес-процессами, становится очевидно: то, что на одном этапе (для одного отдела, одной ИС) является документом, для следующего этапа (соседнего отдела, другой ИС) становится справочником. То есть в одной кучке аспектов нет разницы, с чем работать. Как отсюда следует хоть что-то про другую кучку аспектов? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 13:20 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
Сергей Васкецовскажем, я не видел ни в одной системе проводок по справочникам Вы не видели. Очень точная формулировка. Теперь подумайте, например, о справочнике лицевых счетов в ЖКХ. Вы правда не видели проводок по лицевым счетам? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 13:23 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
Разве проводка сама по себе не является документом?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 13:25 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovРазве проводка сама по себе не является документом?.. Ну не совсем. Проводка обычно имеет документ-основание, но сама по себе проводка - не документ, во всяком случае в "бумажном" смысле. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 13:27 |
|
Стоит ли хранить значения атрибутов отдельными столбцами ?
|
|||
---|---|---|---|
#18+
softwarerПроводка обычно имеет документ-основание, но сама по себе проводка - не документ, во всяком случае в "бумажном" смысле. В бумажном-то может и да, но формально на основании документа создаются проводки, на основании проводок изменяются остатки по счетам, так что признаки документа таки присутствуют по-моему. С другой стороны, моя собственная бухгалтерия не имеет ни проводок ни остатков, так что не мне об этом говорить. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2019, 13:46 |
|
|
start [/forum/topic.php?fid=32&msg=39874977&tid=1539895]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
others: | 231ms |
total: | 406ms |
0 / 0 |