|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.10.2007, 10:52 | #1 |
Форумчанин
Регистрация: 09.11.2006
Сообщений: 274
|
Дерево
Буду очень признателен если подскажите как можно сохранить дерево в базе, любыми методами, главное что бы можно было легко его модифицировать, т. есть вставлять новые записи и удалять
Единственный приличный формат, разработанный Microsoft'ом, - format c:
|
24.10.2007, 12:56 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Посмотрите темку
http://www.programmersforum.ru/showthread.php?t=8004 Я там давал пример. Если мало, начните свой топик. Не понял, при чем тут раздел "Свободное общение"? Тема вроде бы вполне конкретная... |
24.10.2007, 15:53 | #3 |
Новичок
Джуниор
Регистрация: 17.10.2007
Сообщений: 2
|
Если хранить только родителя, ситуация такая: при выборке от потомка к родителю все OK, но от родителя вниз по дереву идет перетряхивание всей базы. Поэтому желательно хранить и ближайших потомков. Это выливается в большое число пустых полей при резервировании на максимальное ожидаемое их число и вылет за пределы этого числа. Зато топология дерева летает как пчёлка.
Реально надо смотреть на задачу. Может и родителя хватит, если некритична быстрота вниз. |
25.10.2007, 11:29 | #4 |
Форумчанин
Регистрация: 09.11.2006
Сообщений: 274
|
Что бы не создавать новую тему, прошу админов перенести тему в общее!!!
mihali4 Проблема не в посторении дерева, это работает без проблем. Проблема заключается в хранении дерева в базе, т. есть пользователь создал дерево и потом его сохранил, потом опять загрузил и и добавил узлы вставил узел между узлами и т. п. Вот как правильно сохранить дерево в базе, что бы потом можно было востановить его в прежнем виде. Думал для каждой ветки ставить номер, но при вствке нового узла на ум приходит только одно - удалить с базы данные и заново проиндексировать и сохранить в базе, этого хочется меньше всего, если подскажите другой вариант, буду рад
Единственный приличный формат, разработанный Microsoft'ом, - format c:
|
25.10.2007, 12:39 | #5 | ||
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
чтобы сохранить дерево в базе, нужна таблица с 2-мя полями всего лишь. Эти поля - код родителя и код потомка. Именно поэтому вот это - бред! См. ниже... Цитата:
К ней привязывается еще одна таблица, тоже с двумя полями - код родителя (или потомка) из первой таблицы и поле наименования (т.е. капшен соответствующего узла дерева). Все! |
||
05.11.2007, 11:50 | #6 |
Форумчанин
Регистрация: 09.11.2006
Сообщений: 274
|
Ещё вопросик по дереву: мне нужно скопировать ветку и вставить, подскажите как?
Единственный приличный формат, разработанный Microsoft'ом, - format c:
|
05.11.2007, 20:13 | #7 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
|
13.06.2008, 17:30 | #8 |
Форумчанин
Регистрация: 09.11.2006
Сообщений: 274
|
2 mihali4, тут начал работать над сохранением дерева и возник вопрос насчёт удаления узла, если в нём есть подузлы, это тогда надо рекурсивно удалять с базы все подузлы? или есть другой способ?
Единственный приличный формат, разработанный Microsoft'ом, - format c:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дерево | Rifler | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 06.05.2008 08:42 |
Экономическое дерево | Droid | Общие вопросы Delphi | 8 | 26.04.2008 16:05 |
Дерево | Yoger | БД в Delphi | 3 | 25.01.2007 01:24 |