Вниз
Скачать: 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.031 c
8-1115301949
Дельфин
2005-05-05 18:05
2005.11.06
Ошибка проигрывания avi файлов


2-1129104924
Gomez
2005-10-12 12:15
2005.11.06
Соотношение микронов и пикселей


1-1129609852
7#Z$Ad!*7
2005-10-18 08:30
2005.11.06
Не работает TopItem в компоненте TTreeView


2-1129024501
Rolf
2005-10-11 13:55
2005.11.06
Ошибка при создании ComboBox.


1-1128930294
SnakeAK
2005-10-10 11:44
2005.11.06
Прозрачность TImage.




   Наверх