Как связать дерево и базу данных например как в 1с предприятие когда там создаются справочники
Здравствуйте, Аноним, Вы писали:
А>Я никогда не создавал дерево поэтому вообще не знаю как это делать. может у кого то есть подробный обучающий материал или исходник чтобы научиться
Посмотри
здесь есть несколько статей, которые могут тебе помочь.
Если вообще новичек в SQL, то на sql.ru есть книга "Основы SQL"
Здравствуйте, Аноним, Вы писали:
А>>>Как связать дерево и базу данных например как в 1с предприятие когда там создаются справочники
B>>Может кроме первичного ключа, создать еще одно поле (того же типа что и ключевое), которое будет ссылаться на элементы ("разделы") этой же таблицы?
B>>Я правильно понял вопрос?
А>Я никогда не создавал дерево поэтому вообще не знаю как это делать. может у кого то есть подробный обучающий материал или исходник чтобы научиться
Простейший случай — сделать таблицу из 2-x полей для организации дерева и доп. полей для хранения данных:
ID integer, (PK)
PARENTID integer, FK, ссылается на ID из этой же таблицы
INFO — VARCHAR(xxx) — тут будем хранить какие-то данные
Условимся, что у элементов, которые не имеют родителя значение ParentID=0. Тогда работа по получению веток дерева сведется к запросу:
SELECT
ID, PARENTID, INFO
FROM MYTREETABLE
WHERE PARENTID=:CURRENTID
После этого на клиенте запоминаем ID узла (записи) и при попытке распахнуть очередную ветку передаем в наш запрос значение ID узла, который выбран в дереве (т.к. он является "родителем").
На первом этапе ParentID=0 т.к. мы должны получить узлы, у которых нет родителя.