Вниз
Скачать: CL | DM;

Структура базы - подскажите.   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
2-1129363024
Vital
2005-10-15 11:57
2005.11.06
Рисунок на форме


14-1129181128
syte_ser78
2005-10-13 09:25
2005.11.06
Книга "советы программистов"


2-1129281477
Ardeh
2005-10-14 13:17
2005.11.06
MS WORD


14-1129553071
Игорь Шевченко
2005-10-17 16:44
2005.11.06
Почти по Екклезиасту...


2-1129215799
Fast2
2005-10-13 19:03
2005.11.06
Почему при выполнении пишет Transaction is active ?




   Наверх