|
|
|
Правильное vs Хорошее проектирование
|
|||
|---|---|---|---|
|
#18+
Всем Респект Коллеги!!! Есть таблица каналы channel. Она ссылкается на два справочника, в каждом из которых по две записи. И на таблицу parent которая находится на более высокой иерархии. Один ко многим. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. есть таблицы фактов fact которая ссылкается на channel. Код: plaintext 1. 2. 3. 4. Данные в эту таблицу приходят в виде xml Файла. В файле содержится поле code которые имеет только четыре значение 01, 02, 03, 04. Бизнес логика в том что 01 это Активная Прямая т.е. dim1.id = 1 и dim2.id = 1. 02 = Активная обратная dim1.id = 1 и dim2.id = 2 и так далее. Спор с колелгами произошол из-за того добавлять ли в таблицу channel поле code!!! Попытаюсь описать плюсы и минусы реализации с полем code: - Де нормализация, поле code и форен кеи справочников должны быть в соответствовии + Большая легкость поиска по этому полю Есть плюсы и минусы которые коллеги мне пытались обяснить, но я сомневаюсь в их однозначности, в том что они действительно плюсы и минусы: - Хард код при загрузки/мэппинге xml файла в таблицу. Но так или иначе будет, просто на дургом уровне. Например при вставке в таблицу parent для нее будет создаваться четыре записи в channel. + Нет привязки данных к Праймари кею Вот это самой не понятный для меня аргумент. Что возможно или бизнес логика изменится (а это нельзя исключать) и добавится на новый code со значением разным 05. И тогда придется переделывать бизнес логику мэпинга. Но я чую в этом есть тоже подвох. Коллеги прошу рассудить кто прав кто виноват? Какие минусы плюсы я упустил? Приведите хорошие примеры этого так называемого плохово стиля привязывания данных к PK. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2008, 14:29 |
|
||
|
Правильное vs Хорошее проектирование
|
|||
|---|---|---|---|
|
#18+
Помоему, вам просто надо создать вместо двух - один справочник, в который ввести поле "Код" (1,2,3,4) и признаки "Активный" / "Реактивный", "Прямой" / "Обратный" и все ваши плюсы и минусы исчезнут и все будут довольны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2008, 15:19 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35620477&tid=1543603]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
189ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 486ms |

| 0 / 0 |
