|
|
|
Power Designer One-toOne Ref
|
|||
|---|---|---|---|
|
#18+
Приветствую! Вот как PD реализует one-to-one mandatory с обеих сторон. Код: 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. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. Код: plaintext 1. 2. Код: plaintext 1. 2. Код: plaintext 1. 2. 3. 4. 5. и я поменяю WIFE 2, 2 на 2, 1, то теперь уже две записи WIFE будут ссылаться на одну запись в HUSBAND. Более того, на HUSBAND 2, 2 уже никто не ссылается - сирота! Это уж никак не one-to-one. Почему PD так поступает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2009, 00:33 |
|
||
|
Power Designer One-toOne Ref
|
|||
|---|---|---|---|
|
#18+
На мой взгляд, моделируешь ты сам, а PD лишь готовит скрипт на основании твоей модели. Как минимум, если есть внешний ключ на 2 поля, то в родительской таблице должно быть построено ограничение уникальности по 2-м полям. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2009, 12:03 |
|
||
|
Power Designer One-toOne Ref
|
|||
|---|---|---|---|
|
#18+
Denis Popov, PD не дает создать уникальный индекс, включив туда поле, не принадлежащее сущности на уровне концепуальной модели. А вообще, Денис, это полный бред, то что PD делает. И если я устанавливяю one-to-one между сушностями, меня не волнует как это будет сделано PD, лишь было-бы правильно. И инструмент, к большому сожалению, этого не обеспечивает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2009, 19:11 |
|
||
|
Power Designer One-toOne Ref
|
|||
|---|---|---|---|
|
#18+
Relic HunterPD не дает создать уникальный индекс, включив туда поле, не принадлежащее сущности на уровне концептуальной модели. А вообще, Денис, это полный бред, то что PD делает. И если я устанавливаю one-to-one между сущностями, меня не волнует как это будет сделано PD, лишь было-бы правильно. И инструмент, к большому сожалению, этого не обеспечивает. Я не знаю, честно говоря, как это делается в концептуальной модели, я с ней не работаю. Но в физической модели сделал бы таблицу FAMILY, со ссылками на HUSBAND и WIFE и соответствующими уникальностями. Если же тебе хочется работать именно с перекрестными ссылками, то имхо можно обойтись в ключах и одним полем, как PD и сделал: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2009, 20:39 |
|
||
|
Power Designer One-toOne Ref
|
|||
|---|---|---|---|
|
#18+
Denis Popov, Да, согласен можно и так, хотя первый (мой) вариант мне нравится больше. CDM модель не обеспечивает ни первого ни второго. При генерации PDM это хорошо видно. Таким образом PD не обеспечивает правильной реализации one-to-one. Более того, создает отношение сушностей one-to-may с возможностью получения orfants. Вот, собственно, и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2009, 21:05 |
|
||
|
Power Designer One-toOne Ref
|
|||
|---|---|---|---|
|
#18+
Relic Hunter, Вы перенапряглись :) То что вы пытаетесь сделать на уровне БД работать не будет. Две связи здесь абсолютно избыточны, и об этом абсолютно справедливо предупреждает PD (circular reference) при Check Model в PDM. Все что нужно сделать, это определить в CDM доминантную роль, а в PDM добавить AK по husband_id в таблице wife, чтобы запретить многоженство :) P/S/ 1-1 обычно используется для эмуляции наследования сущностей в БД. Для 1-1 нужно знать идентификаторы/альтернативные ключи с обеих сторон. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2009, 10:26 |
|
||
|
|

start [/forum/topic.php?fid=32&tid=1543187]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
188ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 213ms |
| total: | 494ms |

| 0 / 0 |
