ID Int // ID узла (PK)
Parent Int // Родитель
Ndx Int // Позиция внутри уровня
Name Char(64) // Имя узла
Организация данных
Мне нужно создать базу данных в Access, а затем использовать
в C++Bulder.База состоит из одной таблицы.
Данные в таблице считываются и по ним строится дерево,
как в диспетчере устройств,т.е вся информация об узлах дерева,названиях
узлов,вложенность хранится в таблице.
Проблема в том , что не могу пока создать наиболее идеальную
структуру таблицы.Как можно организовать данные в таблице?
Цитата:
Originally posted by Fevzi
Проблема в том , что не могу пока создать наиболее идеальную
структуру таблицы.Как можно организовать данные в таблице?
Проблема в том , что не могу пока создать наиболее идеальную
структуру таблицы.Как можно организовать данные в таблице?
Нужно читать тексты по теории баз данных. Про нормальную форму Бойса-Кодда слышать доводилось? Если нет, то сходи для начала сюда:
http://lib.prm.ru/books/dbms/3/contents.htm или http://khpi-iip.mipk.kharkiv.edu/library/extent/dbms/push/index.html#top
Хорошо, что есть такие помощники, как вы!
А не могли бы подсказать какие-нибудь ссылки на документацию по программированию баз данных под
Access или SQL в C++Builder?
Заранее благадарю.
Цитата:
Originally posted by Fevzi
Огромное спасибо!
Хорошо, что есть такие помощники, как вы!
А не могли бы подсказать какие-нибудь ссылки на документацию по программированию баз данных под
Access или SQL в C++Builder?
Заранее благадарю.
Огромное спасибо!
Хорошо, что есть такие помощники, как вы!
А не могли бы подсказать какие-нибудь ссылки на документацию по программированию баз данных под
Access или SQL в C++Builder?
Заранее благадарю.
Найти можно на этом самом сайте, да в яндексе. В нете полным-полно такой информации.
И никогда не благодари заранее (это моветон), вот если помогут - тогда и благодари :)
Код:
P.S. я убрал пред. мессинг, та структура хорошо подходит, если данные сохраняются в текстовом файле.
Если сохранять и level, тогда добавление одного узла, может потребовать изменения level у нескольких сот других узлов. А эта структура требует только две команды. Напр. для ID=10 в 4ю позицию добавляется узел (ID=20, name="node 20"). Тогда
UPDATE table1 SET Ndx=Ndx+1 WHERE Id = 10 AND Ndx > 2
INSERT INTO table1 VALUES(20, 10, 3, "node 20")
О древовидных структурах очень хорошо написано в книге Джо Селко: "SQL для профессионалов".