|
|
|
Отношение "предок-потомок" и циклические ссылки
|
|||
|---|---|---|---|
|
#18+
Народ, подскажите. Ну например : 1.таблица служащий emp(emp_id, emp_name) emp_id primary key 2. Таблица отношений emp_parents(начальник - подчиненный) (p_emp_id, f_emp_id) p_emp_id, f_emp_id являются foreign key emp(emp_id) (p_emp_id, f_emp_id) primary key Как избежать варианта когда Служащий1 приходится начальником Служащему2 и в тоже время Служащий2 приходится начальником Служащему1. Вот и немогу понять, это проблемы ссылочной целостности или процедурной и как это решается. Если обратился не в ту ветку......отправьте по адресу :) З.Ы. Все это будет под Oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 19:38 |
|
||
|
Отношение "предок-потомок" и циклические ссылки
|
|||
|---|---|---|---|
|
#18+
А почему не хотите в одной таблице держать и EMP_ID, и EMP_PARENT? Проблемы те же, а на одну таблицу меньше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 19:58 |
|
||
|
Отношение "предок-потомок" и циклические ссылки
|
|||
|---|---|---|---|
|
#18+
RebusAВот и немогу понять, это проблемы ссылочной целостности или процедурной и как это решается. Ссылочно это ограничение обеспечить не удастся. Либо процедурами, либо триггерами. Также надо не забыть, что циклы могут быть и большей длины чем 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 22:09 |
|
||
|
Отношение "предок-потомок" и циклические ссылки
|
|||
|---|---|---|---|
|
#18+
RebusAКак избежать варианта когда Служащий1 приходится начальником Служащему2 и в тоже время Служащий2 приходится начальником Служащему1. Вот и немогу понять, это проблемы ссылочной целостности или процедурной и как это решается. Хм. Во-первых, я бы не стал вводить такую терминологию. Есть целостность "вообще". Есть некоторые типовые виды проверок (например, ссылочная целостность) и поддерживаемые фичи для них (constraint-ы). Сейчас фич для проверки "ациклической целостности" нет, завтра их могут ввести, но странно считать, что проблема оттого перекочует в какую-то другую область. На уровне constraint-ов эта задача имеет только весьма извратные решения, например: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2007, 01:15 |
|
||
|
Отношение "предок-потомок" и циклические ссылки
|
|||
|---|---|---|---|
|
#18+
Пожалуй, добавлю, что таблицу Подчинение лучше было бы назвать например ДопустимыеПодчинения, и по смыслу это справочник, заполняемый один раз (и отсутствие циклов проверяется именно там). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2007, 01:18 |
|
||
|
Отношение "предок-потомок" и циклические ссылки
|
|||
|---|---|---|---|
|
#18+
> как это решается Выбросьте нафиг все, что Вы здесь нарисовали. Постройте стандартную структуру данных для штатного расписания. > Все это будет под Oracle Зачем Вам Oracle, если Вы не умеете проектировать? Тренируйтесь на кошках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2007, 10:43 |
|
||
|
Отношение "предок-потомок" и циклические ссылки
|
|||
|---|---|---|---|
|
#18+
Дело все в том что в моем случае, возможен вариант когда у одного потомка есть два или более предков :). Вообщем всем большое спасибо за ответы и советы. На этом мой вопрос не заканчивается, но это уже касается некоторых деталей реализации в оракле, так что буду писать в соответствующую ветку. Еще раз всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2007, 10:59 |
|
||
|
Отношение "предок-потомок" и циклические ссылки
|
|||
|---|---|---|---|
|
#18+
guest_20040621> как это решается Выбросьте нафиг все, что Вы здесь нарисовали. Постройте стандартную структуру данных для штатного расписания. > Все это будет под Oracle Зачем Вам Oracle, если Вы не умеете проектировать? Тренируйтесь на кошках. Уважаемый, учится надо вам. Кто вам сказал что это штатное расписание? И мне кажется что я не просил - "народ, сделайте за меня". Да, мне до проектировщика БД еще очень и очень далеко. Но как спроектировать обычное дерево я понимаю и стараюсь учиться. Короче, что спорить :). Не моя вина что у вас, уважаемый guest_20040621 проблемы личного или какого-то другого характера. Да и не вас(гения от рождения) я собственно говоря спрашивал, я хотел услышать совет людей ОПЫТНЫХ или тех кто стремится таковыми стать. Еще раз всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2007, 11:08 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34356904&tid=1544711]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
153ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 423ms |

| 0 / 0 |
