Вы должны использовать третью таблицу для установления отношений:
- ОБЪЕКТ (ID, ИМЯ, ЗНАЧЕНИЕ)
- УЗЛ (ID, ИМЯ)
- OBJ_NOD(NODE, OBJECT)
Вы можете сделать вставки следующим образом:
insert into object (name, value) values ('some_name', 123)
@oid = mysql_last_insert_id()
insert nodes (name) values ('node_name')
@nid = mysql_last_insert_id()
insert obj_node (node,object) values (@nid, @oid)
Затем вы можете использовать соединения, чтобы получить узел для определенного объекта (или объекты для узла):
SELECT O.ID AS OID, O.NAME AS ONAME, O.VALUE, N.NAME AS NNAME, N.ID AS NID
FROM OBJECT AS O
JOIN OBJ_NOD ON OBJ_NOD.OBJECT = O.ID
JOIN NODES AS N ON N.ID = OBJ_NOD.NODE
WHERE O.ID = @object_id; —- or 'N.ID = @node_id' if you want to get elements from a node id