|
|
|
Когда оптимально отклонение от 3нф-формы?
|
|||
|---|---|---|---|
|
#18+
Есть две таблицы "Заказы" (хранятся общие данные заказа) и "Заказы_детали"(хранится перечень товаров, стоимость товаров, скидка и т.п.). Между таблицами связь1-ко-многим. Стоит ли хранить общую сумму заказа в таблице "Заказы" или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 23:54 |
|
||
|
Когда оптимально отклонение от 3нф-формы?
|
|||
|---|---|---|---|
|
#18+
Ну и собственно сам сабж... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 23:58 |
|
||
|
Когда оптимально отклонение от 3нф-формы?
|
|||
|---|---|---|---|
|
#18+
МихаилКСтоит ли хранить общую сумму заказа в таблице "Заказы" или нет?Распишите плюсы и минусы обоих вариантов в Вашем конкретном случае с грубой прикидкой коэффициента значимости каждого из влияющих факторов. На месте ведь всегда виднее. Можете сделать это в данном топике, но тогда Вам придется доказывать значимость каждого из факторов, так как не исключено, что будут иные мнения. А что Вы имеете в виду под сабжем ? Допустимо ли иметь зависимости, кроме как от основного ключа ? Типа, в первом абзаце ? Опять же Ваше решение, если в этом есть практический смысл, то ради Бога, а на нет и суда нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 01:12 |
|
||
|
Когда оптимально отклонение от 3нф-формы?
|
|||
|---|---|---|---|
|
#18+
ChAТипа, в первом абзаце ?На всякий, в первом абзаце нарушения 3НФ нет. Имелось в виду аналогия, типа, храним отдельные значения и их сумму, но в одной таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 01:34 |
|
||
|
Когда оптимально отклонение от 3нф-формы?
|
|||
|---|---|---|---|
|
#18+
ChAРаспишите плюсы и минусы обоих вариантов Если хранить сумму в таблице "Заказы", то скорей всего производительность отчётов увеличится, но тогда нужно будет "вешать" тригер на изменение в поле "Сумма" таблицы "Заказы_детали", что в свою очередь уменьшит производительность при редактировании данных. Важность производительности отчётов и скорости редактирования ... допустим одинаковая, остальные показатели не учитываем (например, физ. память). Проверить на практике немного утомительно. Может априори уже есть правильный ответ? По 3нф: Да, в примере нарушения 3-нф нет, но есть избыточность данных, что может привести к нарушению целостности данных. Основной вопрос - это насколько/в какой мере испоьзование двух связанных таблиц уступает производительности одной таблицы для формирования отчёта. Как определить когда наступает избыточная нормализация? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 14:42 |
|
||
|
Когда оптимально отклонение от 3нф-формы?
|
|||
|---|---|---|---|
|
#18+
МихаилК Как определить когда наступает избыточная нормализация? Попробуйте вывести в грид заказы с суммами и поскроллировать вперед-назад (сумму желательно хранить) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 15:07 |
|
||
|
Когда оптимально отклонение от 3нф-формы?
|
|||
|---|---|---|---|
|
#18+
МихаилКМожет априори уже есть правильный ответ?Ну не может быть однозначного ответа. Могу только выразить частное мнение, что вряд ли есть необходимость делать дополнительное поле в Вашем случае. Агрегирующие операции типа SUM выполняются достаточно быстро, так что принципиального, на порядки, прироста производительности при выполнении отчетов добавлением предрассчитанной суммы Вы все равно не получите. Но взамен получаете некие хлопоты по синхронизации и обновлению. МихаилКОсновной вопрос - это насколько/в какой мере испоьзование двух связанных таблиц уступает производительности одной таблицы для формирования отчёта. Как определить когда наступает избыточная нормализация?Как правило, при очень больших объемах, когда затраты на чтение и агрегацию из подчиненной таблицы превышают некий порог, после которого выгоднее один раз выполнить предрасчет. Чаще всего это присуще системам OLAP/DSS, но что-то мне подсказывает, что это не Ваш случай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 15:27 |
|
||
|
Когда оптимально отклонение от 3нф-формы?
|
|||
|---|---|---|---|
|
#18+
ChA при очень больших объемах, когда затраты на чтение и агрегацию из подчиненной таблицы превышают некий порог, после которого выгоднее один раз выполнить предрасчет Можно уточнить о каких цифрах идёт речь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 16:50 |
|
||
|
Когда оптимально отклонение от 3нф-формы?
|
|||
|---|---|---|---|
|
#18+
SQL Server попадает в эту категорию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 17:50 |
|
||
|
Когда оптимально отклонение от 3нф-формы?
|
|||
|---|---|---|---|
|
#18+
МихаилКМожно уточнить о каких цифрах идёт речь?Нет, не могу, это слишком зависит от контекста задачи, о чем уже говорилось выше. Если эта сумма вычисляется только один раз в каком-либо отчете, то, скорее всего, не имеет смысл ее предрасчитывать. Или рассчитать один раз только перед выполнением ровно этого отчета. Много всяких "или", и если не хватает логики для выбора того или иного решения, то критерий истины один - практика. Конкретных чисел Вам никто не даст, а если и даст, то лично я бы не поверил им без дополнительной проверки в своей конкретной ситуации. МихаилКSQL Server попадает в эту категорию?Исходя из вышесказанного, надеюсь понятно, что принятие решения в наименьшей, если не сказать - никакой, степени не зависит от сервера, разумеется, если выбирать из зарекомендовавших себя на рынке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 18:23 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=130&tid=1544918]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 350ms |

| 0 / 0 |
