powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как хранить древовидную структуру в БД?
8 сообщений из 8, страница 1 из 1
Как хранить древовидную структуру в БД?
    #32092982
DennisS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть идея.
Хочу перевести конференцию, которые ведутся по электронной почте (yahoo groups, кое-какие другие) в формат базы данных и представлять их в виде дерева (TreeView или есть еще варианты). Не придумаю никак, как мне сделать формат базы, чтобы хранила древовидную структуру. Если хранить в базе в формате в таком виде:
Код: plaintext
1.
2.
3.
4.
5.
6.
QuestionId	AnswerId 		Subject
 1 		 1 		Как купить корабль
 1 		 2 		Re: Как купить корабль
 1 		 3 		Re: Как купить корабль
 1 		 4 		Re: Re: Как купить корабль
 1 		 5 		Re: Re: Re: Как купить корабль
 2 		 1 		Зачем люди покупают корабли


То легко сделать отобрать все вопросы, ответы на конкретный вопрос и пр. Но я не могу сделать ответ на ответ. Или добавить еще одно поле со счетчиком и делать ссылку на него? В общем, я в раздумьях. Элегантное решение не приходит в голову.
В общем, вопрос такой: где можно почитать про хранение деревьев в базе данных. Или подскажите тут.

Большое человеческое спасибо!
...
Рейтинг: 0 / 0
Как хранить древовидную структуру в БД?
    #32093040
Фотография Bol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для хранения древовидной структуры между записями одной таблицы должны быть связи: 1_ое поле - это уникальный код записи; 2-е поле - это ссылка на поле 1 для определения "куда входит данная запись", а третье поле - это собственно наименование например "вопроса/ответа". Для различения вопрос это или ответ введи четвертое поле, которое будет принимать только два значения, например "1" или "0" . И пользуйся Tree... фильтруя или не фильтруя данные.
...
Рейтинг: 0 / 0
Как хранить древовидную структуру в БД?
    #32093041
Samir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например так:

ID ParentID Subject
1 0 Как купить корабль
2 1 Re: Как купить корабль
3 1 Re: Как купить корабль
4 2 Re: Re: Как купить корабль
5 4 Re: Re: Re: Как купить корабль
6 0 Зачем люди покупают корабли
...
Рейтинг: 0 / 0
Как хранить древовидную структуру в БД?
    #32093046
Graf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
почитай-ка
http://www.ibase.ru/devinfo/treedb.htm
...
Рейтинг: 0 / 0
Как хранить древовидную структуру в БД?
    #32093246
DennisS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое всем спасибо.
Так и сделал, как вы посоветовали, только поле QuestionId я оставил для отбора всех ответов на вопрос. TreeView работает красиво. Вот только думаю не будет ли тормозов с ним, так как у меня есть базы с тысячами записей (а то и десятками тысяч). Но попробовать их пока не могу, так как процедура читающая мыло и добавляющая их в базу еще не закончена.
Статья тоже интересная.
Еще раз спасибо.
...
Рейтинг: 0 / 0
Как хранить древовидную структуру в БД?
    #32093373
Маveric
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
отправил
...
Рейтинг: 0 / 0
Как хранить древовидную структуру в БД?
    #32093374
Маveric
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сори не туда поместил
...
Рейтинг: 0 / 0
Как хранить древовидную структуру в БД?
    #32097456
a1ex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как хранить древовидную структуру в БД?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]