Форум: "Потрепаться";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];
ВнизБД Найти похожие ветки
← →
Игорь Шевченко (2004-01-19 10:43) [40]Style © (19.01.04 08:57) [38]
> Зачем для задачи в три таблицы? Использовать БД.
> Сортировку и поиск написать не сложно, алгоритмы все есть
> в инете. И зато все будет работать быстро и не будет проблем
> с установкой
Дети Ивана Кулибина. Сортировка и поиск в базе данных это не такая простая задача, как кажется.
← →
Danilka (2004-01-19 10:56) [41][39] nikkie © (19.01.04 10:14)
> кстати, только сейчас пришло в голову: а возможно, что при
> установленном Access XP нет Jet?
по-моему, у меня тот-самый вариант.
← →
Anatoly Podgoretsky (2004-01-19 11:01) [42]nikkie © (19.01.04 10:14) [39]
Невозможно, JET в этом случае установлен.
← →
Danilka (2004-01-19 11:11) [43][42] Anatoly Podgoretsky © (19.01.04 11:01)
А как проверить его наличие?
Access стит вместе с офисом ХР проф.
Клиент этого форума от MSimm не работает - говорит, не хватает какой-то библиотеки. В файле readme.txt клиента написано, что для работы требуется
Microsoft Jet OLE DB Provider.
← →
Danilka (2004-01-19 11:12) [44]сорри, клиент от McSimm.
← →
Anatoly Podgoretsky (2004-01-19 11:26) [45]Самый последний JET валяется на сайте Микрософта ипри этом бесплатно. ТОлько учесть, что кроме него потребуется АДО, валяется там же и самый последний, вроде как 2.9
← →
Тимохов (2004-01-19 11:27) [46]Игорь Шевченко © (19.01.04 10:43) [40]
Про кулибиных сложно согласиться. Очень согласен с nikkie © (19.01.04 10:14) [39]. Для трех таблиц можно и самому организовать. Было бы время и цель создать продукт с простой установкой и "никакими" требованиями.
Сортировка... разве это сложно?
Поиск... тоже считаете сложно - индексов нафигачил бинарными деревьями и в путь.
От сортировки до группировки недалеко... Сам делал такое. На 50млн записей по двум числовым полям скорость была сравнима с MS SQL сервером на соседней аналогичной машине. Серавак выигрывал только в одном случае - если у него был кластерный индекс.
Одним словом, имхо, это все не так сложно. Зато проблем никаких у пользователя не будет.
← →
KSergey (2004-01-19 11:28) [47]Просветите меня, плиз, по поводу FireBird Embed "всего одна DLL и великолепный движок" (Embedded Yaffil): это многопользовательский вариант или нет?
← →
Anatoly Podgoretsky (2004-01-19 11:41) [48]http://www.ibase.ru
← →
Vlad (2004-01-19 11:46) [49]
> KSergey © (19.01.04 11:28) [47]
> Просветите меня, плиз, по поводу FireBird Embed "всего одна
> DLL и великолепный движок" (Embedded Yaffil): это многопользовательский
> вариант или нет?
Однопользовательский, локальный.
← →
Игорь Шевченко (2004-01-19 11:50) [50]Тимохов © (19.01.04 11:27)
> Было бы время
Ключевое слово. У Кулибина оно было :) У авторов мелких задач его чаще всего нету - им прикладную часть надо писать. Что-то это мне напоминает - вроде того, что программы надо на API писать, тогда они маленькие получаются, а то, что дольше - это не важно, главное, что маленькие :)
← →
Тимохов (2004-01-19 11:57) [51]Игорь Шевченко © (19.01.04 11:50) [50]
Не совсем согласен с API. Ключевой момент моего несогласия - пишешь ли ты на api либо на дельфи - все равно это будет одинаково работать, независимо от того, что есть у пользователя на компе. В данном случае в зависимости от подхода будут разные требования к пользовательской машине. Ясно выразился?
← →
nikkie (2004-01-19 12:02) [52]>Danilka
спасибо. у меня у одного человека стоит программа работающая с Access через BDE - при установленном Access XP проблема. попробую сказать ему поставить jet.
>Игорь Шевченко
>то, что дольше - это не важно
при наличие некоторого навыка получается не дольше. правда, дельфи для этого не очень подходящее средство. а по поводу того, что не стоит затевать написание своего SQL-движка я согласен :). но может автору надо иметь 3 таблицы по 50 записей? тогда и без сортировки-поиска можно обойтись...
← →
Anatoly Podgoretsky (2004-01-19 12:05) [53]3 таблицы по 50 записей - TClientDataset
← →
Тимохов (2004-01-19 12:08) [54]Могу поделиться опытом.
Есть свой рекордсет. По опитамальности хранения (занимаемая память) во много раз превосходит Ado.Recordset и дельфовые компоненты. Есть набор стандартных операций из SQL - сортировка, группировка, поиск по полю, отбор по полям, слияние. При таком наборе операций sql-движок не нужен - требуемые действия можно комбинировать из описанных више операций. Если чего не хватает, можно по необходимости дописать.
Говорю это для того, чтобы показать, что при серьезной долгоживущей задаче можно поднапрячься и написать свое.
← →
Тимохов (2004-01-19 12:09) [55]TClientDataset - во, тоже выход.
← →
Style (2004-01-19 12:16) [56]Игорь Шевченко ©
--
>>Дети Ивана Кулибина. Сортировка и поиск в базе данных это не >>такая простая задача, как кажется.
Это комплимент ;)
Это смотря какие исходные данные и какая вообще структура данных.
На данный момент - помоему задача не сложная, и для ее реализации есть ли смысл работать с Access? и почему бы не попробовать написать свой интерфейс, сам процесс написания только пойдет ему на пользу, покрайней мере человек поймет как же на самом деле все сложно организовано и сколько сил потратили программеры на написания БД. Не получица, пусть все стирает и ставит Access всем пользователям и работает с ADO! :0)
← →
Mike Kouzmine (2004-01-19 12:21) [57]Использовать надо "удобоворимые форматы". Которые и без вас прочитать смогут.
← →
Style (2004-01-19 12:24) [58]2Mike Kouzmine ©
А если не надо что бы другие читали?
← →
Mike Kouzmine (2004-01-19 12:24) [59]Style © (19.01.04 12:24) [58] тогда вообще не пиши.
← →
Игорь Шевченко (2004-01-19 12:30) [60]Style © (19.01.04 12:16)
> Это комплимент ;)
Скорее, горький опыт ;)
> и почему бы не попробовать написать свой интерфейс, сам
> процесс написания только пойдет ему на пользу, покрайней
> мере человек поймет как же на самом деле все сложно организовано
> и сколько сил потратили программеры на написания БД.
"За эти два года несчастный мог окончить археологический институт или изобрести самодвижущееся пресс-папье, как должно быть обидно такому человеку сознавать, что
все его труды пропали даром..." (с) Аркадий Бухов
← →
Style (2004-01-19 12:32) [61]Mike Kouzmine ©
да правильно мастера, лучше пойти у кого нить код свистнуть, чем просто попробовать написать самому. >:[
А как же полет фантазий и вообще сам творческий процесс, пусть оно и не нужным окажеться, зато сколькому можно научиться и просто многое понять. Это же полезно!
А может вообще ему Oracle для трех таблиц поставить?
← →
Style (2004-01-19 12:35) [62]Игорь Шевченко ©
Горький опыт чего если не секрет?
- Но есть действительно элементарные задачи, которые требуют элементарного подхода, зачем эти задачи усложнять? Тут же не весь BDE нужно переписывать?
← →
Тимохов (2004-01-19 12:36) [63]Style © (19.01.04 12:35) [62]
Приветствую единомышленника!
← →
Mike Kouzmine (2004-01-19 12:42) [64]Style © (19.01.04 12:32) [61] Да я не мастер, а так, подмастерий. У меня нет времени заниматься такими сложными задачами.
← →
Style (2004-01-19 12:44) [65]Mike Kouzmine © - а вот вопрос времени, - это уже другой вопрос.
Но стоит один раз чего нить самому написать хорошее, и в дальнейшим успешно это использовать.
← →
Danilka (2004-01-19 12:52) [66]
> [65] Style © (19.01.04 12:44)
> Mike Kouzmine © - а вот вопрос времени, - это уже другой
> вопрос.
Причем, вопрос времени - самый главный.
Хех, развели разговоров скоро сотня постов будет и к чему? %))
Все от задачи зависит, возможно что автору какой-нибудь типизированный файл будет как раз в пору. А возможно, как раз лучше какая-нибудь клиент-серверная СУБД.
> [61] Style © (19.01.04 12:32)
> Mike Kouzmine ©
> А как же полет фантазий и вообще сам творческий процесс,
> пусть оно и не нужным окажеться, зато сколькому можно научиться
> и просто многое понять. Это же полезно!
Да ну? Кто сказал что это полезно? А может все-таки намного делать то, за что деньги заплатят, вместо изобретения в тысячный раз велосипеда? Кстати, там тоже офигенно многому надо учиться, а уж в смысле пользы - побольше будет, точно.
← →
Danilka (2004-01-19 12:53) [67]Слово забыл в предыдущем посте:
А может все-таки намного полезнее делать то, за что деньги заплатят, вместо изобретения в тысячный раз велосипеда?
← →
Style (2004-01-19 12:55) [68]>>Да ну? Кто сказал что это полезно? А может все-таки намного >>делать то, за что деньги заплатят, вместо изобретения в >>тысячный раз велосипеда? Кстати, там тоже офигенно многому >>надо учиться, а уж в смысле пользы - побольше будет, точно.
А кто сказал что ему за это денег не заплатят?
← →
Тимохов (2004-01-19 13:00) [69]Как говорилось в самом начале топика - важно знать решаемую автором вопроса задачу. Он, к сожалению, очень мало сказал о том что делает. Он сам сделал только вывод, что т.к. ему нужна сортировака, то нужно использовать sql без вариантов.
← →
Danilka (2004-01-19 13:01) [70][68] Style © (19.01.04 12:55)
t1 - время потраченое на написание программы с использованием готовых решений.
t2 - время потраченое на написание всего самому. В идеале, полностью на винАПИ.
t2 - t1 = потерянное время, потерянное и в смысле денег и в смысле "полезного" опыта.
"полезный" опыт - тот за который платят деньги. :))
с учето того, что t2 может быть в несколько раз больше t1, или даже на порядки больше, можно что-то сказать на счет эффективности работы таких людей.
← →
Vlad (2004-01-19 13:01) [71]
> Style © (19.01.04 12:44) [65]
> Mike Kouzmine © - а вот вопрос времени, - это уже другой
> вопрос.
> Но стоит один раз чего нить самому написать хорошее, и в
> дальнейшим успешно это использовать.
Есть такое понятие, как корпоративная разработка. Подразумевается что твой код будут сопровождать другие люди (в случае твоей болезни, отпуска, увольнения, итд.)
Представь, что возникла необходимость срочно что-то исправить в коде. Твои коллеги влезают в код и видят, что у тебя к примеру вместо класса TDataSet реализован собственный, улучшенный по твоему мнению класс. Как ты думаешь, сколько "приятных" слов в твой адрес они выскажут в такой ситуации ?
ИМХО, причины для изобретания улучшенных велосипедов должны быть очень вескими иначе овчинка выделки не стоит.
← →
Anatoly Podgoretsky (2004-01-19 13:04) [72]Тимохов © (19.01.04 13:00) [69]
TClientDataset поддерживает сортировку полученого набора в памяти, без наличия физического индекса, по любым полям.
← →
Anatoly Podgoretsky (2004-01-19 13:05) [73]Более того в некоторых случаях даже самого физического набора может и не быть.
← →
Nous Mellon (2004-01-19 13:06) [74]
> А кто сказал что ему за это денег не заплатят?
Заплатят, но крохи :)
Но мне как начинающему кодеру этого хватит.
> Стоять должно DCOM+MDAC+JET
Мне важно понять что с чем поставляется
JET с Офисом(насколько я понял)
А осатльное?
> Как говорилось в самом начале топика - важно знать решаемую
> автором вопроса задачу.
ДВе связанные таблицы, с небольшим кол-вом полей. Я понимаю: написать свой движок отличный вариант, но времени мало. И если я решу все что там помимо работы с БД и останется время, то пока БД не забита могу накатать свой простенький движок. А ведь может и не останется так что сейчас надо на чем то остановится.
← →
Style (2004-01-19 13:07) [75]Vlad ©
Опять же - кто сказал что это корпоративный проект?
ИМХО! Если бы он был корпоративным, то в форуме не задавали бы вопрос о том какую БД лучше использовать?
А если это мой проект - лично мой, есть заказчик - я исполнитель.
← →
Игорь Шевченко (2004-01-19 13:10) [76]Style © (19.01.04 12:35)
Горький опыт разработки поиска и сортировки, причем, не ради изобретательства велосипеда, а согласно поставленной задаче. Задачу решить было необходимо, другими средствами нельзя было, вот и пришлось порешать.
> есть действительно элементарные задачи, которые требуют
> элементарного подхода
Элементарный подход в данном случае - TDataSet
← →
Danilka (2004-01-19 13:10) [77][74] Nous Mellon © (19.01.04 13:06)
>ДВе связанные таблицы, с небольшим кол-вом полей.
Если надо будет выводить данные в грид/печатать на основе данных какие-нибудь отчеты, сортировка/фильтрация, то лучше всего использовать какого-нибудь наследника от TDataSet, например TClientDataset.
Если понадобится многопользовательская работа, то надо смотреть дальше :))
← →
Anatoly Podgoretsky (2004-01-19 13:13) [78]Nous Mellon © (19.01.04 13:06) [74]
Я уже писал, подробности смотри у Микрософта, эта информация динамическая.
В твоем случае хорошо будет если ты используешь один из самодостаточных движков, желательно встраиваемый в исполнимый файл (без каких либо ДЛЛ и внешних движков), тогда поставка только exe и сама база (возможно даже и саой базы физически не будет если readonly из ресурса).
Тратиться на написание движка - это не ценить свое время.
← →
Style (2004-01-19 13:13) [79]>>ДВе связанные таблицы
Nous Mellon ©
:)
Лучше конечно попробуй сначала напиши все под ADO, просто чтобы понять как все это работает! Затем если будет время напиши типизированный файл для двух то таблиц это не сложная задача и сделай выводы.
← →
Style (2004-01-19 13:17) [80]Игорь Шевченко ©
>>Элементарный подход в данном случае - TDataSet
:)
Ну это смотря как посмотреть, если посмотреть на код самого проекта с двумя связными таблицами наследниками TDataSet - действительно элементарно,
но если залезть в юнит db.pas и посмотреть что там :) - помоему не совсем элементарно ;)
Может там задача решается спомощью двух TStringList :)
Страницы: 1 2 3 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];
Память: 0.61 MB
Время: 0.01 c