Forum Webscript.Ru

Программирование => PHP => Тема начата: Vad от 15 Октября 2002, 16:28:43

Название: построение деревовидной структуры
Отправлено: Vad от 15 Октября 2002, 16:28:43
Как наиболее разумна организовать деревовидную структуру с тремя уровнями вложенности
нужно для каталога типа
город  - район - улица
если можно с примером. Самое главное как это дело выводить
Название: построение деревовидной структуры
Отправлено: Maniac от 15 Октября 2002, 16:34:35
А это смотря что ты собираешься делать с такой БД.
Название: построение деревовидной структуры
Отправлено: GotZfild от 15 Октября 2002, 18:18:16
Для работы с деревьями хороша эта библиотека
http://dev.e-taller.net/dbtree/SQLTreesRus.tar.gz + http://dev.e-taller.net/dbtree/phpDbTree.zip
Название: построение деревовидной структуры
Отправлено: Oak от 15 Октября 2002, 18:34:54
И как собираешься выводить

Например

$ARR["aaaa.bbbb.cccc"]="dddd";

aaaa, bbb, ccc - это твоя вложенность  ;)
Название: построение деревовидной структуры
Отправлено: Доктор от 16 Октября 2002, 00:24:03
Я не понимаю, о каких деревьях речь. Почитайте внимательнее вопрос.

Vad
Тебе нужно 3 таблицы
1) town (id int, name varchar(30))

2) district (id int, town_id int, name varchar(30))

3) street (id int, district_id int, name varchar(30))

Если одна улица может быть в нескольких райнах, то потребуется таблица связности. Если не знаешь что это такое, то тебе прежде всего надо учить теорию реляционных баз данных, а не программы писать...
Название: построение деревовидной структуры
Отправлено: Vad от 16 Октября 2002, 20:41:25
Реляционные базы данных я знаю  но я думал что хранить такие веши правильней в одной таблице поправте меня если я ошибаюсь. мне важна скорость
Название: построение деревовидной структуры
Отправлено: Макс от 16 Октября 2002, 23:30:39
Vad
Не очень ясно для чего здесь вообще дерево, но вариант Доктора ИМХО вполне подходящий и используется очень часто.
И не обязательно все данные в одну таблицу запихивать.

+ тебе уже дали ссылку на dbtree.php где реализован алгоритм Nested Sets. С ним тоже можно что-то придумать.
Поэтому либо опиши проблему полностью, либо сам по предложеной информации решай ее
Название: построение деревовидной структуры
Отправлено: rembo от 17 Октября 2002, 06:21:09
Цитировать
Реляционные базы данных я знаю но я думал что хранить такие веши правильней в одной таблице поправте меня если я ошибаюсь. мне важна скорость

Не-е-т видимо на самом деле ты не знаешь ни про реляционные ни про иерархические в достаточной мере чтоб создавать их.
Такие вещи ни по логике вещей ни с точки зрения скорости никогда не было и не будет правильней. Видел я одного такого чудака - у него несколько сотен файлов в папке Мои документы и картинки и музыка и видио и все на свете.