|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
Здравствуйте. Требуется подсказка опытного проектировщика БД. Фирма занимается автоперевозками груза, ремонтом автомобилей, ... Ежесуточно составляется план работ, распределение работников, механизмов. Всего 4 таблицы: Код: 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. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
Вопрос: Таблица 2 сочетает в себе 3 потенциальные сущности: "Перевозка"(атрибуты: Код_автозаезда,Груз,Тонн,Кол-во,Ед_изм), "Ремонт"(атрибуты: А/м_для_ремонта, Кол-во), "Уборка"(атрибуты: Место_работ). Поле "Код_автозаезда" является FK только при значении поля Тип_задания - Перевозка, во всех других случаях значение данного поля null. В случае добавления новых Типов_задания будут добавлены новые поля в таблицу № 2 для данного типа_задания. Понимаю что таблица № 2 не нормализована, содержит избыточные поля неиспользуемые в зависимости от Типа_задания. Схема данных такова Табл№1(Код_автозаездаPK)->Табл№2(Код_автозаездаFK)-(Код_работPK)->Табл№3(Код_работFK) и ->->Табл№4(Код_работFK) схема данных проста. Если разделять сущности из таблицы 2, то с нормализацией будет все Ok, но таблицы будет иметь вид: Код: 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. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
Усложнились таблицы 3-4, т.к. там появились дополнительные FK, учитывая то, что для FK желателен индекс для быстрой SQL связки, то на элементарную таблицу (Код_работ(FK), Мех-м) три индекса многовато. Посоветуйте опытные проектировщики как оптимально организовать таблицы, я склонен к первому варианту, но что-то не устраивает не могу врубиться что. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2003, 11:00 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
можно попробовать сделать "связь-категоризации". (Если ты проектируешь БД в ERwin'е, там есть кнопочка complete sub-category). Например, сделать сущность Тип_задания с атрибутами Код_работ(PK), Дата и дескриптером - тип_номер (можно по другому обозвать). Это будет "общая сущность". А сущности категории: 1. Перевозка (Код_работ(FK), Код_автозаезда, Груз, Тонн_Кол-во, Ед_изм) 2. Ремонт (Код_работ(FK), А/м_для_ремонта,Кол-во) и 3. УБорка (Код_работ(FK), Место_работ) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2003, 10:38 |
|
|
start [/forum/topic.php?fid=32&fpage=177&tid=1546826]: |
0ms |
get settings: |
14ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 253ms |
total: | 413ms |
0 / 0 |