|
документы в структуру data vault
|
|||
---|---|---|---|
#18+
Добрый день! Помогите, пожалуйста, понять, как правильно спроектировать таблицы data vault для документов клиента. Есть client_hub , к нему сателлиты, client_fio_sat , client_inn_sat и т.д. Но есть документы, у которых много типов (около 20), в классической структуре, что-то вроде такой: table document_type(id, name) и document(id, client_id, document_type_id, serial....) . Как лучше это разложить? У меня 3 варианта пока, какой правильный, не знаю: 1) Делать на каждый тип документа свой сателлит (client_passport_sat, client_foreign_passport_sat, military etc) 2) Делать хаб документа, сателлиты на тип документа (но тогда все равно где-то надо закодировать тип документа, хотя бы в целях нормализации, а вот где - не могу придумать) 3) Сделать standalone таблицу с типом документа и не париться, записывать ID как foreign key Подскажите, в каком ключе рассуждать в подобных случаях ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 12:53 |
|
документы в структуру data vault
|
|||
---|---|---|---|
#18+
kaldoreyПодскажите, в каком ключе рассуждать в подобных случаях Рассуждай от потребностей приложения, которое будет этой базой пользоваться. Лично я вообще пока не вижу нужды расширять структуру: документы всех типов отлично вписываются в таблицу document. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 13:06 |
|
документы в структуру data vault
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Я пытаюсь разложить именно в data vault, вроде как на данный момент это универсальная структура хранения данных в качестве нижнего слоя в хранилище. Заранее неизвестно, кто будет этим пользоваться, поэтому хочу уловить суть раскладывания данных на данном примере. С документами еще проще, а есть такие данные, у которых 20 типов, но атрибуты почти не совпадают, тогда в базах приходится делать EAV, чего я хочу избежать, по возможности. Если где-то ушел не туда в рассуждениях, поправьте, плиз ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 13:21 |
|
документы в структуру data vault
|
|||
---|---|---|---|
#18+
kaldorey Если где-то ушел не туда в рассуждениях, поправьте, плизЛегко kaldorey Я пытаюсь разложить именно в data vault,Подавляющее большинство срачей здесь возникают по поводу недопонимания друг друга. Дайте свое определение data vault языком ЖЭКа. kaldorey это универсальная структура хранения данных в качестве нижнего слоя в хранилище.Универсальный инструмент всегда хуже набора специализированных. Подумайте как вы будете свои документы использовать. По сабжу я вижу реализацию паттерна Наследование обсосанного здесь не один десяток раз. kaldorey но атрибуты почти не совпадают, тогда в базах приходится делать EAVEAV далеко не единственный выбор. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2018, 17:23 |
|
документы в структуру data vault
|
|||
---|---|---|---|
#18+
kaldoreyКак лучше это разложить? У меня 3 варианта пока, какой правильный, не знаю: 1) Делать на каждый тип документа свой сателлит (client_passport_sat, client_foreign_passport_sat, military etc) satelite делается для группы атрибутов на одну сущность, hub в данном случае наследование в DV не приветствуется вот рассуждения на эту тему: http://answers.datavault.guru/4499/model-inheritance-and-the-data-vault 2) Делать хаб документа, сателлиты на тип документа (но тогда все равно где-то надо закодировать тип документа, хотя бы в целях нормализации, а вот где - не могу придумать) Можно посмотреть понятие Virtual Hub, но от него отказались. Hub должен создаваться на один тип-сущность. 3) Сделать standalone таблицу с типом документа и не париться, записывать ID как foreign key это уже будет не DV, тогда следует рассматривать разные стратегии реализации наследования в rdbms "по Фаулеру": - table per class - table per hierarchy - single table ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2018, 22:47 |
|
|
start [/forum/topic.php?fid=32&fpage=6&tid=1539986]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 239ms |
total: | 389ms |
0 / 0 |