Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: 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 вся ветка

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.042 c
9-1119729614
Ford
2005-06-26 00:00
2005.11.06
GTA dff


1-1129098274
Антоныч
2005-10-12 10:24
2005.11.06
Перестала работать функция дополнения класса


14-1129306013
Bogdan1024
2005-10-14 20:06
2005.11.06
где можно скачать решебник задач по электростатике?


2-1129042250
Dofin
2005-10-11 18:50
2005.11.06
Как в SQL запрос подставить значение Edit1.Text?


1-1129709934
maVladimir
2005-10-19 12:18
2005.11.06
Timer. Рестарт.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский