![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
помогите советом с выбором BD для cgi проги
NORDmen © (2006-08-24 21:54:00)очень нужен совет спецов по проектированию бд.
я вот только столкнулся с необходимостью делать прогу с бд, опыта маловато, а рыть в неверном направлении непозволительно.
!нужен совет какую бд выбрать!
прога по тестированию учащихся. клиент работает через броузер по сети, сервер на на отдельном компе - cgi (т.е. обрашение к бд будет из этой cgi)
основные критерии к бд:
1 простота установки и относительно малый дистрибутив (мне то все равно, а клиенты просто не потянут слишком сложное ПО)
2 быстродействие - компы заведомо слабые. множественые обрашения к cgi (хак?) смогут все повесить
3 чтоб легко программировалось :) т.е. отсутствие подводных камней и наличие готовых компонент для удобства (если не сложно скажите, что юзать). прога freeware, делаю только я и времени на разбирательства со всяким глюкалом у меня нет.
так же не знаю какие тут могут быть тонкости в такого рода проге (относительно бд). скажите если есть что стоит учесть.
повторюсь, я новичок в программировании бд.
заранее благодарен.
StriderMan (2006-08-25 17:39:00) [21]
> ANB ©
я так понял ты просто фанат Оракла и FB просто на дух не переносишь. верно?
ANB (2006-08-25 17:30:00) [22]
> но по моему пункт "6 4 V-10"
Дык он не написал, чего хотел то :) Глядя на его хранимку, я сделал вывод, что он хочет сплошную нумерацию по отдельным названиям. Такой запрос я и нарисовал :)
sniknik (2006-08-25 17:27:00) [23]а.... понял, ты там с звменой поля предложил, типа инкремент главный а расчитывать то что было у него. понятно, в [39] не прав был.
ANB (2006-08-25 17:26:00) [24]
> в MSSQL 2005 есть уже какой-то WITH
MS SQL отстает от оракла лет на 5. Да и сам T-SQL они переделывать вроде как не собираются. Вложенные курсоры на нем - убийство писать.
Danilka (2006-08-25 17:22:00) [25][38] ANB © (25.08.06 16:41)
в MSSQL 2005 есть уже какой-то WITH, до конца с ним не разобрался еще, однако дерево построить на манер connect by prior получилось, возможно и аналог ROW_NUMBER() с ним можно закрутить.
Правда, все равно, получается монстуозный запрос, совсем нет изящества орокловых аналитических функций.
sniknik (2006-08-25 17:22:00) [26]> Так вот у большинства клиентов вообще админа DB не было. И ничего не падало.
год назад с одной конторой начали работать, поставили одну из своих прог (использует MSDE2000 (бесплатная версия MSSQL)), недавно (пару месяцев назад) начались проблемы пропадают описания товаров... проблема решилась, по логам нашли "диверсанта" ;), но это породило у них активность... типа а где лежат файлы с данными чтобы их время от времени копировать типа бэкапа... обясняем, бэкап уже делается (дежится три последних дня/можно поставить больше (на весь обьем диска ;о))) но он не для этого... (не подымать же вчерашнюю базу изза 10-20 испорченных (ну не "теме" человек как их по правилам писать, не показали, исправлял по своему разумению) описаний записей... паралельно с этим горздо больше внесли/исправили правильно) и файлов как таковых нет, есть MSSQL и ее база.
вот тут последовала довольно "оригинальная"(мягко сказано) реация, КАК!!! У ВАС MSSQL??? это же МЕЛКОСОСОФТ! у него же все такое глючное (типа не на винде сидят ;)...), нам же теперь в каждый магазин администратора бд нужно (год работали и не подозревали, и нужды не было, а узнали так все сразу "упало"... ;о)).
неделю гдего "колбасило", постоянные звонки, наезды "что вы намерены делать в сложившейся ситуации?" (какой? и что делать то? единственная проблема и та ваша.), потом менеджера по своим каналам чегото там решили, толи договор подняли, то ли поговорили по "душам" в обход ретивого не в меру админа с его начальством и все утихло... (уволили судя по всему)
> А это мой на него ответ :
неправильный похоже... не знаток оракла конечно, но по моему пункт "6 4 V-10" в приведенном желательном результате, у тебя будет стоять на 4м месте. т.е. будет выглядеть "4 4 V-10".
ANB (2006-08-25 16:41:00) [27]
> По поводу использования я всегда отдам предпочтение стандарту.
По этой ссылочке был вопросик :
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1156155450&n=1
А это мой на него ответ :
select MT.MID, MT.MSoftName,
ROW_NUMBER()
OVER (PARTITION BY MT.MSoftName ORDER BY MT.MID) AS MNN
from MainTable MT
Изгальниська написать подобное на ANSI/FB/MSSQL
ANB (2006-08-25 16:37:00) [28]
> Быстрее пишется и отлаживается там где лучше знаешь. А ПЛ/СКЛ
> не всегда и нужен то, по большому счету. Можно и без него.
>
> Так что про стоимость ты ИМХО зря.
Даже если мне всего лишь нужно написать хитрый запрос, я в оракле его без проблем напишу. Более того, практически не встречал вариантов, когда данные нельзя вытащить одним запросом без хранимок. В FB так не получится, т.к. ущербный он. В MS SQL ты дерево без клиента или хранимки не раскрутишь.
Anatoly Podgoretsky (2006-08-25 16:37:00) [29]sniknik © (25.08.06 16:16) [34]
Что то есть подобное, возможно тот же самый COALESCE.
По поводу использования я всегда отдам предпочтение стандарту.
Sergey13 (2006-08-25 16:20:00) [30]> [34] sniknik © (25.08.06 16:16)
UDF-ку надо подключать вроде из стандартного набора.
sniknik (2006-08-25 16:16:00) [31]> С NVL все проще, всего 2 параметра
тогда это наверное IsNull() в "понятиях" mssql, теже 2 параметра, но только тогда не знаю есть ли оно в FB.
Sergey13 (2006-08-25 16:06:00) [32]> [30] ANB © (25.08.06 15:57)
Быстрее пишется и отлаживается там где лучше знаешь. А ПЛ/СКЛ не всегда и нужен то, по большому счету. Можно и без него.
Так что про стоимость ты ИМХО зря.
evvcom (2006-08-25 15:58:00) [33]> [25] Anatoly Podgoretsky © (25.08.06 15:20)
Ну я не знаю о чем они думали, в их мозгах не копался. Детище самостоятельное или нет тоже спорить не буду, вероятно, самостоятельное, более оптимизированное. COALESCE принимает переменное количество параметров, т.е. такой синтаксис преобразуется во внутренее представление с указателем на список аргументов, внутри цикл по списку, сравнение, соответственно накладные расходы на все эти дела. С NVL все проще, всего 2 параметра, которые и сравниваются внутри функции. Потому использование этой функции является более оптимальным. При одинаковом количестве параметров (т.е. 2) результат выполнения этих функций идентичен. Я не говорю, что NVL - это замена, но для 2 параметров, чего достаточно в большинстве случаев, является более оптимальным аналогом функции COALESCE.
Кстати для COALESCE в оракловой документации:
This function is a generalization of theNVL function.
Anatoly Podgoretsky (2006-08-25 15:58:00) [34]ANB © (25.08.06 15:50) [28]
Я думаю наоборот, поскольку на Оракле много дороже, чем на DBF
ANB (2006-08-25 15:57:00) [35]
> Sergey13 © (25.08.06 15:52) [29]
Правильный код на PL/SQL пишется раз в 5 быстрее, а на отладку убью раз в 10 меньше времени.
А стоимость крутого спеца по ораклу максимум вдвое выше, чем на остальные СУБД.
Sergey13 (2006-08-25 15:52:00) [36]> [28] ANB © (25.08.06 15:50)
Обоснуй про стоимость.
ANB (2006-08-25 15:50:00) [37]
> Я подозреваю, что многим этим конторам и ФБ бы хватило,
> но в силу "халявности" почему бы и Оракл не поставить. 8-
> )
Им бы и DBF хватило, но стоимость разработки на оркале намного ниже, а надежность намного выше.
Sergey13 (2006-08-25 15:42:00) [38]> [26] ANB © (25.08.06 15:27)
> Не в первой конторе работаю, у которой клиенты сидят на
> оракле. Так вот у большинства клиентов вообще админа DB
> не было. И ничего не падало.
Я подозреваю, что многим этим конторам и ФБ бы хватило, но в силу "халявности" почему бы и Оракл не поставить. 8-)
ANB (2006-08-25 15:27:00) [39]оракл поддерживает COALESCE. Но им никто не пользуется.
> Высокая степень интеграции с офисом, виндоус и большинство
> форматов данных. Гетерогенные и пакетные запросы.
Гетерогенность - это да, лучше чем у оракла.
Но T-SQL - птичий язык, ужасно реализована работа с курсорами, нету понятия "исключение" и, соответственно, его обработки, нету удобных средств для работы с XML, нету HTTP сервера.
MS то и продвигает трехслойку, чтобы скрыть явные недоработки своего сервака. Продвинули его за счет российской налоговой, а сделать толком не сделали. Фичей мышовых навтыкали и все. Под оракл тоже есть целая куча программ для администрирования, где можно одной мышей работать.
Не в первой конторе работаю, у которой клиенты сидят на оракле. Так вот у большинства клиентов вообще админа DB не было. И ничего не падало.
Anatoly Podgoretsky (2006-08-25 15:20:00) [40]evvcom © (25.08.06 15:09) [24]
Вообще то это самостоятельное детище, ни о какой замене COALESCE они и не думали.