Моделирование деревьев или графиков SQL: как разделить свойства узлов и информацию об узлах - PullRequest
0 голосов
/ 22 февраля 2011

Я моделирую концептуальную онтологию, такую ​​как политическое дерево .

Используя модель списка ребер , это будет:

CREATE TABLE nodes(
  nodeID CHAR(1) PRIMARY KEY
);

CREATE TABLE edges(
  childID CHAR(1) NOT NULL,
  parentID CHAR(1) NOT NULL,
  PRIMARY KEY(childID,parentID)
);

Моя проблема в том, как я могу смоделировать его в SQL, чтобы узлы могли иметь другие свойства, такие как «типы».Например.

(father-node) **Music**  

имеет

(child-node) **jazz** [type: genre], **soul** [type: genre]
(child-node) **concert** [type: performed], **DJ set** [type: performed]

1 Ответ

0 голосов
/ 22 февраля 2011

Вы должны проверить модель вложенного набора Celkos, http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/

Но в любом случае просто добавьте идентификатор жанра в таблицу узлов

CREATE TABLE nodes(
  nodeID CHAR(1) PRIMARY KEY
  genre_id
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...