|
|
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Подскажите, пожалуйста. Допустим, есть сущность "человек" и есть сущность "проект". Они сделаны в виде таблиц. И предположим, что у проекта есть две категории людей: начальники и исполнители (для примера) - все это связи многое-ко-многим. Как вот задать такую связь? Вариантов видится два: 1. Две связующие таблицы. Если вариантов связей больше - и таблиц больше. 2. Одна связующая таблица с дополнительной колонкой - "тип связи" (начальник/подчиненный). Тип связи тоже можно сделать отдельной таблицей. Какой вариант более правильный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2008, 16:46 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Sanchez911 пишет: > 2. Одна связующая таблица с дополнительной колонкой - "тип связи" > (начальник/подчиненный). Тип связи тоже можно сделать отдельной таблицей. > > Какой вариант более правильный? 2-ой Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2008, 17:40 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Sanchez911Подскажите, пожалуйста. Допустим, есть сущность "человек" и есть сущность "проект". Они сделаны в виде таблиц. И предположим, что у проекта есть две категории людей: начальники и исполнители (для примера) - все это связи многое-ко-многим. Как вот задать такую связь? Вариантов видится два: 1. Две связующие таблицы. Если вариантов связей больше - и таблиц больше. 2. Одна связующая таблица с дополнительной колонкой - "тип связи" (начальник/подчиненный). Тип связи тоже можно сделать отдельной таблицей. Какой вариант более правильный? в там раскладе можно сделать так: три таблицы-справочника: человек, проект, роль в проекте и таблица связей со ссылкой на эти три сущности. можно еще добавить временной период действия связи. данная таблица - факт участия человека в проекте с определенной ролью (ролями). как показывает практика - человек в проекте может быть с разными ролями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2008, 17:42 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Понятно, спасибо. А например ORM-решения как такое реализовывают? Три класса, и в каждом ссылки на друг друга (массив например)? Или два класса, где например класс проекта имеет 2 массива - начальники и исполнители? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2008, 18:15 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Sanchez911Понятно, спасибо. А например ORM-решения как такое реализовывают? Три класса, и в каждом ссылки на друг друга (массив например)? Или два класса, где например класс проекта имеет 2 массива - начальники и исполнители? ну это как вам удобнее - выберете "центральную" сущность, а остальные к ней массивами. это зависит от дальнейшего использования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2008, 18:21 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Ну а в известных ОРМ это как делается? У меня просто небольшая собственная, и встала такая задача, поэтому я и спрашиваю :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2008, 18:31 |
|
||
|
Связи между таблицами
|
|||
|---|---|---|---|
|
#18+
Sanchez911 пишет: > Понятно, спасибо. А например ORM-решения как такое реализовывают? Три Так, как напишешь. Возможны любые варианты. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2008, 20:16 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=96&tid=1543581]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 360ms |

| 0 / 0 |
