|
Вопрос по схеме данных
|
|||
---|---|---|---|
#18+
Мы только планируем схему данных. База будет реализовываться в PostgreSQL. Очень заманчиво предусмотреть две сущности: "базовая сущность" для хранения журнала изменений конкретной записи и "оборудование", в которой будут хранится атрибуты характеризующие любое оборудование. От сущности "Оборудование" наследуют ключ такие виды оборудования как скаут, контроллеры и другие (не приведенные на данной схеме). При этом все действия с любым оборудованием, например, такие как установка и замена, привязываются не к каждому виду оборудования по отдельности, а именно к родительской сущности "Оборудование". Возник следующий вопрос: насколько я поняла в PostgreSQL использование наследования таблиц не до конца реализовано, и его применить для данной задачи не очень получится. Объем данных предполагается большим (>1000000 записей). Насколько быстро будут работать join-ы при такой иерархической структуре на больших объемах данных? Или стоит провести денормализацию и такие поля как серийный номер и т.д. добавить в каждый вид оборудования ? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2020, 17:19 |
|
Вопрос по схеме данных
|
|||
---|---|---|---|
#18+
rosat в PostgreSQL использование наследования таблиц не до конца реализовано в PostgreSQL всё замечательно с этим. Проблема может быть только в программистах ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2020, 18:18 |
|
Вопрос по схеме данных
|
|||
---|---|---|---|
#18+
Спасибо, буду разбираться. Но главный для меня вопрос: ключ секционированной таблицы может быть внешним ключом в другой таблице. Т.е. Если я партицирую таблицу Оборудования, смогу я ключ id_equipment использовать как внешний в таблицах Место установки и Замена оборудования и других. Интересует версия Postgresqi 10.4, так как она имеет сертификат ФСТЭК и у нас будет стоять именно она ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2020, 15:14 |
|
Вопрос по схеме данных
|
|||
---|---|---|---|
#18+
rosat Спасибо, буду разбираться. Но главный для меня вопрос: ключ секционированной таблицы может быть внешним ключом в другой таблице. Т.е. Если я партицирую таблицу Оборудования, смогу я ключ id_equipment использовать как внешний в таблицах Место установки и Замена оборудования и других. Интересует версия Postgresqi 10.4, так как она имеет сертификат ФСТЭК и у нас будет стоять именно она Напрямую только c PostgreSQL >= 12, для 10.4 можно реализовать через собственные триггеры или через дополнительную не секционированную таблицу содержащую только первичный ключ секционированной таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2020, 08:50 |
|
Вопрос по схеме данных
|
|||
---|---|---|---|
#18+
Похоже на event-based data model. В PPDM была похожая идея, да и не только там. Но сейчас ваша модель неработоспособна, или я не понимаю, чего вы хотите получить на выходе. Обычно подобное делают тогда, когда хотят видеть на каждый момент времени где что стоит, и в каком состоянии, а также отследить историю изменений в каждой точке установки. Найдите человека, у которого в резюме написано что-то типа data arсhitect или, возможно, database architect, и дайте ему контракт на проектирование базы. Тут работы по времени немного, но если накосячить в самом начале, то потом проблем не оберёшься. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2020, 22:54 |
|
Вопрос по схеме данных
|
|||
---|---|---|---|
#18+
Sergei.Agalakov, Это маленький кусочек большой базы. Вы правы: хочется хранить и текущее оборудование и то, что с ним происходило ранее. Я занимаюсь проектированием баз давно (правда в основном использовала СУБД Firebird). Но под postgresPro это мой первый проект. Узнала о возможностях наследования \ секционировании таблиц. Вот и возник вопрос как эту особенность можно применить к данной базе. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2020, 15:05 |
|
Вопрос по схеме данных
|
|||
---|---|---|---|
#18+
Я бы не связывался с наследованием. И несколько миллионов записей можно легко поддерживать без секционирования. Я бы сделал без выпендрежа и добавлял секционирование и прочее только если реально надо, в версии 2 или 3. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2020, 22:06 |
|
|
start [/forum/topic.php?fid=53&fpage=31&tid=1994797]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 280ms |
total: | 434ms |
0 / 0 |