Форум: "Прочее";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
ВнизНаписание собственной базы данных Найти похожие ветки
← →
Climber (2006-03-28 00:45) [0]Господа, коварными преподователями поставленна задача, написать собственную базу данных на Делфи. В частности, создание таблиц с возможностью указания индексов. И так же, интерфейс, через который можно делать запросы и изменять данные в созданных таблицах. Причем индексы нужно реализовать через AVL tree (сбалансированное дерево). То есть, это должна быть именно собственная база данных.
По этому поводу пребываю в растерянности, каким образом и с чего начать. Особенно озадачивает написание индексов и как их сохранять. Премного буду благодарен, если кто поможет советом.
← →
Sergey13 © (2006-03-28 08:59) [1]2Climber (28.03.06 00:45)
>Премного буду благодарен, если кто поможет советом.
Разберись с "коварными преподователями". ИМХО, ты не понял их коварного замысла.
← →
Serg1981 © (2006-03-28 09:06) [2]http://www.sybex.com/WileyCDA/SybexTitle/productCd-078214201X,navId-290584,pageCd-resources.html
← →
Рамиль © (2006-03-28 09:09) [3]
> Climber (28.03.06 00:45)
А теорию вам читали? Если да, для написания простенькой СУБД вполне достаточно лекций, если думалку включить:)
← →
tesseract © (2006-03-28 09:44) [4]
> через AVL tree (сбалансированное дерево). То есть, это должна
> быть именно собственная база дан
А чем B-trieve не устраивает?
Пример реализации - flashfiler, Advandage. Всё на delphi и opensource.
Алгоритмы реализации различных деревьев есть в "Фундаментальные алгоритмы и типы данных на Delphi". От turbopower
← →
palva © (2006-03-28 10:03) [5]Если хранить дерево АВЛ в оперативной памяти, и не заниматься его подкачкой с диска, то все становится довольно просто.
Начинать надо с метода хранения двоичных деревьев в памяти, научиться добавлять и удалять узлы, а потом реализовать балансировку АВЛ.
АВЛ это Адельсон-Вельский и Ландис - всё наши ребята. Так что их лучше писать по-русски. Ландис у нас даже ур-ч-п читал.
← →
Бугага © (2006-03-28 10:52) [6]Господа, коварными преподователями поставленна задача, написать собственную базу данных на Делфи.
Вот сволочи! :) Что они замышляют?
← →
Jeer © (2006-03-28 11:22) [7]
> АВЛ это Адельсон-Вельский и Ландис - всё наши ребята.
http://www.adelson.ru/
Ершовский Архив
http://ershov.iis.nsk.su/archive/eacard.asp?pplid=372
Кнут
http://ershov.iis.nsk.su/archive/eaimage.asp?lang=1&did=12297&fileid=122316
Каисса
http://itblogs.ru/blogs/donskoy/archive/2005/11/11/3309.aspx
← →
ArtemESC © (2006-03-28 11:28) [8]В книге Рода Стивенса "Готовые алгоритмы" написано что
AVL -деревья изобрели Адельсон-Вельский и Ландау!!!
← →
Torry © (2006-03-28 13:49) [9]To tesseract:
> А чем B-trieve не устраивает?
> Пример реализации - flashfiler, Advandage. Всё на delphi
> и opensource.
Я думаю, имелся в виду не Btrieve, а B-tree все-таки? :-)
← →
MBo © (2006-03-28 14:02) [10]>ArtemESC © (28.03.06 11:28) [8]
>В книге Рода Стивенса "Готовые алгоритмы" написано что AVL -деревья изобрели Адельсон-Вельский и Ландау!!!
Врут переводчики безбожно.
Вот в Кормене упоминается, что некий алгоритм изобретен "в 1954 г. Г.Хоппером", хотя очевидно, что это дама - Грейс Хоппер, матушка Фортрана.
← →
tesseract © (2006-03-29 09:12) [11]
> Я думаю, имелся в виду не Btrieve, а B-tree все-таки? :-
> )
Именно он. Самая распространённая версия самобалансируюшихся деревьев :-)
← →
Jeer © (2006-03-29 10:42) [12]tesseract © (29.03.06 09:12) [11]
Вообще-то Btrieve - это СУБД, использующая для организации индексов сбалансированные B-деревья
← →
Climber (2006-03-29 23:29) [13]Комарады, всем большое спасибо за помощь :)
← →
Climber (2006-03-29 23:52) [14]Имелсось ввиду именно B - tree, самобалансирующиеся деревья
← →
Climber (2006-03-29 23:58) [15]Понимаете в чем проблема: я создаю описания таблиц и сохраняю их в файлах.
Потом, в окне запросов, делаю например "Select", так вот, индексы с данными для каждой таблицы лежат в отдельных файлах. И что, получается что каждый раз как нужно делать запрос или инсерт, надо будет загружать весь индекс с диска в память и только после этого производить поиск. Нехорошо это как-то.
← →
Climber (2006-03-30 00:01) [16]например, сял сервер, каким образом он использует индексы? Не держит же он их всех с данными в памяти, но и каждый раз когда делается запрос тоже думаю все это не загружает в память.
← →
Climber (2006-03-30 00:01) [17]например, SQL-Server, каким образом он использует индексы? Не держит же он их всех с данными в памяти, но и каждый раз когда делается запрос тоже думаю все это не загружает в память.
← →
tesseract © (2006-03-30 09:55) [18]
> например, SQL-Server, каким образом он использует индексы?
> Не держит же он их всех с данными в памяти, но и каждый
> раз когда делается запрос тоже думаю все это не загружает
> в память.
Кэширование. Хранимые процедуры сильно его упращают.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.012 c