Каковы компромиссы при денормализации для вычисляемого столбца? - PullRequest
2 голосов
/ 30 ноября 2010

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

Для моего текущего проекта я проектирую относительно простую базу данных, используя sql server 2008. Для одной из таблиц я решил ввести 'Computed Column' (не сохранилось). Его выражение является просто произведением двух других числовых столбцов, и его единственная причина существования - удобство (я делаю некоторую одностороннюю привязку данных к веб-странице).

Однако я понял, что использование вычисляемого столбца нарушает первую нормальную форму. Это заставило меня задуматься: Ват это компромиссы? Если моя единственная причина для вычисляемого столбца - удобство, перевешивает ли он денормализацию?

Ответы [ 2 ]

1 голос
/ 30 ноября 2010

«использование вычисляемого столбца нарушает первую нормальную форму»: совсем нет!Он не сохраняется, он пересчитывается с учетом самых последних данных за все время.Так что это отличное решение, так же, как вычисление столбца в представлении.

0 голосов
/ 01 декабря 2010

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

Затем поместитерасчет в вашем операторе SELECT, а не в базе данных.

...