когда выбрать eav против плоского стола, с точки зрения изменений схемы? - PullRequest
0 голосов
/ 25 мая 2018

Прочитав несколько постов здесь, я не нашел решения нашей проблемы.

наша проблема заключается в следующем:

мы находимся на распутье, использовать ли плоский стол или eavТаблица, лично я против нереляционной таблицы в реляционной базе данных.у нас есть 3 схемы поставщиков данных:

  1. не сильно изменится, скажем, за 3 месяца.
  2. также не сильно изменится, скажем, за 5 месяцев.
  3. динамический построитель форм, который сильно изменится.

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

myБольшой вопрос - когда идти по пути, когда нужно принимать во внимание: схема меняется с точки зрения года, месяца.

Кстати, наша база данных - mssql 2008 r2, а код на стороне сервера - c #, сначала код структуры сущности..

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

И какова семантика этих данных, предоставленных вашими тремя различными поставщиками данных?

Какова предполагаемая семантика таблиц, в которых вы находитесьсобирается заполнить вашу собственную систему?

Как первая семантика логически отображает / переводит на последнюю?

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

0 голосов
/ 25 мая 2018

EAV следует использовать, если у вас есть таблица с несколькими столбцами.В некоторых столбцах не будет данных, скажем, нулевых или повторяющихся данных (например, допустим, скидка для нескольких сотрудников может быть одинаковой, а для некоторых она неприменима).

Например, в * есть один столбец1003 * X таблица с 10000 записями.Только 5 строк имеют значения в этом столбце, остальные строки не имеют данных в этом столбце, поэтому вместо этого столбца вы можете создать таблицу Y , в которой есть значение этого столбца и X PK таблицы.

EAV полезен, когда вы не хотите сильно изменять таблицу.Как добавление нового столбца в таблицу.поэтому в этом случае вы добавите новую строку в таблицу Y .

EAV также повышает производительность, например, если вы хотите изменить значение столбца на X таблица, которая имеет 10000 записей.лучше изменить его значение в таблице Y .

Примечание: EAV поддерживает базу данных отношений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...