Форум: "Базы";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
ВнизСтруктура базы - подскажите. Найти похожие ветки
← →
TechnoDreamer © (2005-09-24 03:41) [0]Как лучше сделать базу.
Есть три таблицы: диск, папка, файл. (Можно и в одной, но три вроде удобнее, там не все поля одинаковые).
Все оно хранится в древовидной структуре.
Каждый диск, файл или папка уникальны и имеют свой id и id родительского элемента (для корневых это 0).
Как лучше сделать структуру этой базы, что бы иметь максимально быстрый по ней поиск на запросы вида:
всё файлы в папке "такой то" с учетом все подпапок.
← →
Sergey_Masloff (2005-09-24 08:44) [1]Сначала ответь чем диск отличается от папки.
← →
TechnoDreamer © (2005-09-24 11:41) [2]Разве это существенно? Ну вообщем у дисков немного другие поля. Плюс диск не может быть дочерним элементом другого диска, папки или файла.
А файл не может быть родителем любого другого элемента.
← →
Anatoly Podgoretsky © (2005-09-24 11:47) [3]Нету никаких дисков, это все папки
← →
Виталька2005 (2005-09-24 12:45) [4]Если вложенность небольшая, то можно у каждого элемента сделать
поля с id-шниками всех родителей, и при добавлении их обновлять.
← →
TechnoDreamer © (2005-09-24 14:34) [5]Вложенность можент быть очень большой. Я так понимаю без рекурсии тут никак?
2Anatoly Podgoretsky: глубокомысленное утверждение конечно, только чем это может мне помочь?
← →
atruhin © (2005-09-24 17:02) [6]Набери в поисковике "деревья в базах данных" потом внимательно читай ссылки и думай. Так как корневой элемент у тебя диск а остальные вложенные, типично задача решается одной таблицей.
У любого диска, папки, файла есть ID, Имя, Родитель, Дата создания и т.д, если оставшаяся информация сильно различается, делаешь 3 доп. таблицы, а в основной ссылку на доп. информацию, обычная связь 1 к 1.
Способов реализации дерева есть немало, в зависимости от глубины вложенности, от необходимой скорости поиска, вставки, аналитических выборок.
Вобщем прочитай ВСЮ найденную информацию, потом задавай конкретные вопросы.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c