как сделать деревья с разными столами - PullRequest
0 голосов
/ 11 ноября 2010

У меня есть эта структура ...

дедушка имеет многих детей, дети имеет многих детей

Могу ли я сделать дерево из этих 3 таблиц? Я думаю, что мой вопрос на самом деле, могу ли я использовать только эти таблицы, не создавая другую для создания древовидной структуры?

1 Ответ

2 голосов
/ 11 ноября 2010

Я не думаю, что вы можете, потому что поведение дерева для 1 таблицы.

Но вы можете использовать таблицу persons, persons_kids

+--------------------+
|   persons          |
+--------------------+
|  id  |  Name       | 
+--------------------+
|  1   |  Grandpa    |
+--------------------+
|  2   |  Dad        |
+--------------------+
|  3   |  Me         |
+--------------------+
|  5   |  MyChildren |
+--------------------+
|  4   |  MyBrother  |
+--------------------+

+--------------------+
|   persons_kids     |
+--------------------+
| parent_id | kid_id | 
+--------------------+
|    1      |   2    | // Grandpa -> Dad
+--------------------+
|    2      |   3    | // Dad -> Me
+--------------------+
|    2      |   3    | // Dad -> MyBrother
+--------------------+
|    3      |   5    / // Me -> MyChildren
+--------------------+

И parent_id, и kid_id будут указывать на person_id Вы можете создать разностную модель, которая указывает на разный внешний ключ в таблице persons_kids.

Удачи.

Для получения дополнительной информации см. Поваренная книга

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...