Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8   вперед  Ctrl      все
 Недостатки Firebird  [new]
akhan
Member

Откуда:
Сообщений: 69
Начал изучать Firebird и сразу наткнулся на ряд проблем:
1. Нет параметризованного просмотра(view). Можно обойтись процедурой выбора, но это не то. И вообще мне кажется странным возвращение процедурой набора данных как таблица. Процедура должна быть процедурой - выполнять определенные действия. Конечно и в ней бывает OUT параметры, но не целые наборы записей!
2. Нет обычных PSQL-ных функции. Т.е. нельзя создать функции и вызывать из прямо в селекте - в списке полей. в условии. включать в выражении.
3. Не смог выполнить подзапрос вида select b.* from (select * from a) b where b.field=100;

Мне очень интересно, как люди работают с такой СУБД??? А их судя по интернету не мало...
За первый день знакомства столько разочаровании...
10 дек 09, 21:10    [8049282]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
arni
Member

Откуда: Иваново
Сообщений: 3544
Не похоже, чтобы вы хотели быть переубежденным. Сообщество ничего не потеряет, если оставит ваш спич без ответа, а заодно и вас самих. Похоже, что освоив один продукт, вы заимели Эталон. Так зачем рушить чьи-то идеалы?
10 дек 09, 21:19    [8049314]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54784

akhan
1. Нет параметризованного просмотра(view).

Т.е. додуматься параметризовать запрос к view не получилось.
akhan
Не смог выполнить подзапрос вида select b.* from (select *
from a) b where b.field=100;
Мне очень интересно, как люди работают с такой СУБД??? А их судя по
интернету не мало...

Да редко кому в голову придёт такой бессмысленный запрос. Додуматься
написать
select b.* from a b where b.field=100
так же не получилось.

+1 к предыдущему оратору. Возвращайтесь к своему загадочному оракулу.

Posted via ActualForum NNTP Server 1.4

10 дек 09, 21:53    [8049458]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30253
akhan
Нет параметризованного просмотра(view).

а что это за чудо такое? view это вообще-то "хранимый запрос", не более.

akhan
И вообще мне кажется странным возвращение процедурой набора данных как таблица.

не нравится - не пиши селективные процедуры. Другим людям нравится эта полезная фича.

akhan
Т.е. нельзя создать функции и вызывать из прямо в селекте - в списке полей.

пофиг.

akhan
Не смог выполнить подзапрос вида select b.* from (select * from a) b where b.field=100;

не ту версию FB используешь?

akhan
Мне очень интересно, как люди работают с такой СУБД?

ну да конечно, все кто работает с Firebird дебилы и уроды, ты именно это хотел сказать?
Тебя, кстати, не парит, что например в MS SQL чудовищно уродливые триггеры (по сравнению с FB)?

akhan
За первый день знакомства столько разочаровании...

иди себе, иди...
10 дек 09, 21:56    [8049474]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
Таблоид
Member

Откуда:
Сообщений: 9456
Блог
akhan
Начал изучать Firebird и сразу наткнулся на ряд проблем:
1. Нет параметризованного просмотра(view). Можно обойтись процедурой выбора, но это не то. И вообще мне кажется странным возвращение процедурой набора данных как таблица. Процедура должна быть процедурой - выполнять определенные действия. Конечно и в ней бывает OUT параметры, но не целые наборы записей!
2. Нет обычных PSQL-ных функции. Т.е. нельзя создать функции и вызывать из прямо в селекте - в списке полей. в условии. включать в выражении.
3. Не смог выполнить подзапрос вида select b.* from (select * from a) b where b.field=100;

Мне очень интересно, как люди работают с такой СУБД??? А их судя по интернету не мало...
За первый день знакомства столько разочаровании...

Никогда не был апологетом данной СУБД, вынужден с ней работать "по работе", но всё же:
1.1) чем конкретно не устраивает ХП с параметрами, возвращающая то, что вам надо ?
1.2) ничего странного в возврате из ХП таблицы нет; вы с МС СКЛ работали ? представьте себе, там есть табличные функции, и ими пользуются! и никто не видит в этом ничего странного
2) ложь, нужно только вместо указания в select-секции делать left join с этой функцией. Кстати, юзание внутри select-секции подзапросов - моветон. Вы не дадите оптимизатору никакой возможности выбрать метод соединения, кроме вложенных циклов.
Вот пример:
+
create procedure ZU_DIGITS_ONLY (
    A_STR varchar(255))
returns (
    HAS_DIGITS_ONLY integer)
as
begin
  -- проверка строки на вхождение в неё символов,
  -- ОТЛИЧАЮЩИХСЯ от цифр (0-9). Возвращает 1, если в строке ЕСТЬ хотя бы один
  -- символ - НЕ_цифра (в т.ч. внутренний пробел)
  -- Для строки вида '    0564656    ' вернёт 0
  -- (т.е. все крайние пробелы предварительно отсекаются)
  -- (C) WildSery :-)
  has_digits_only=
  1-sign( char_length(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(
             trim(:a_str),
           '0', ''), '1', ''), '2', ''), '3', ''), '4', ''), '5', ''), '6', ''), '7', ''), '8', ''), '9', ''))
        );
  suspend;
end

-- Таблица для теста:
recreate table zzz_test_str (str varchar(20));
insert into zzz_test_str(str) values('98328923489J78378');
insert into zzz_test_str(str) values('89389897789781378');
insert into zzz_test_str(str) values('65656465hshh22378');
insert into zzz_test_str(str) values('627676572$$%@^378');
insert into zzz_test_str(str) values('87248720000078378');
commit;
-- сам тест:
select str,u.*
from zzz_test_str z
left join zu_digits_only(z.str) u on 1=1
-- result:
STRHAS_DIGITS_ONLY
98328923489J783780
893898977897813781
65656465hshh223780
627676572$$%@^3780
872487200000783781

3) ложь:
select b.* from (select str from zzz_test_str)b where b.str like '6%'
(на той же таблице)

Что действительно мне не хватает после работы с МС СКЛ, это оконных функций (они вроде как есть в планах на 2010). Раздражает также необходимость добавлять в выборках из "ниоткуда" длинное "from rdb$database". Иногда возникают неясности с тем, почему оптимизатор выбирает такой, а не "сякой" план выполнения - но этот вопрос и в других СУБД постоянно лезет.

Но!
1) СУБД бесплатная
2) как я понял, ведущие её разработчики - наши, и главное - они тут, на sql.ru, живут постоянно. След-но, на адекватный и конкретный вопрос вам дадут _самый_ квалифицированный ответ, который возможен. И в минимальное время (днём в будни - не более 3-4 минут).
3) исправления багов, в отличие от маздая, действительно ***идут***. Если найдёте новый, вас попросят прислать тест. Вы можете представить, чтобы маздай или Оракл САМ попросил вас об этом ?
4) есть нормальный и бесплатный инструмент (ИБЭ), а не эта гов%нная SSMS, в которой только в 2008 додумались делать подсказки при вводе ключевых слов, имен полей, таблиц етц (да еще выдают это за сверхдостижение).
5) СУБД устанавливается и запускается СРАЗУ. Её даже не надо "инсталлить", вроде бы - просто скачал и запустил батник, он сам создаст и запустит службу. Для сравнения: установку M$ SQL 2008 я делал два дня с матюгами: надо было скачать 400М дистрибутивов, а при запуске ПЯТЬ раз выяснялось, что ему чего-то там не хватало. Снова качал, снова запускал, снова ждал по 10 минут, пока опять не выяснялось о нехватке очередного "сервиспака с постфиксом".
6) есть ряд бесплатных инструментов по администрированию, а те, что платные - за вменяемую для любого предприятия цену (200-300 долл). И они поддерживаются: после покупки мне отвечали на все вопросы, которые я задавал.
7) работает у нас с числом коннектов свыше 200 (скоро будет больше 300), все затыки, которые были найдены, обуславливались ТОЛЬКО кривизной рук или ошибками при проектировании.

ЗЫ. Сей топик надо перемещать в "Сравнение СУБД". ИМХО.
10 дек 09, 21:57    [8049475]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
hvlad
Member

Откуда:
Сообщений: 11553
Народ, вас разводят, пятница завтра :)
10 дек 09, 22:00    [8049488]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
akhan
Member

Откуда:
Сообщений: 69
Наоборот, я хотел, чтобы вы, давние пользователи этого продукта, переубедили меня. Чем заменить мной указанные недостатки, как выйти из данного положения? То, что я считаю недостатком Firebird, реализованы во многих изветных СУБД с самых ранних версии, например в Оракл, MS SQL, и даже в "настольной" СУБД MS Access 97!
10 дек 09, 22:00    [8049492]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
Таблоид
Member

Откуда:
Сообщений: 9456
Блог
akhan
реализованы во многих изветных СУБД с самых ранних версии, например в Оракл, MS SQL
ну что, напишите прямо сейчас пример селекта из MS SQL, который вам не удалось реализовать на ФБ ?
Только со скриптом заполнения тестовыми данными, плз (как у меня выше).
10 дек 09, 22:06    [8049518]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30253
akhan
я хотел, чтобы вы, давние пользователи этого продукта, переубедили меня.

ты не по адресу. насильно на ФБ тебя тянуть никто не будет.

akhan
Чем заменить мной указанные недостатки, как выйти из данного положения?

не бывает такого чтобы 2 СУБД в точности совпадали по функционалу, и тем более по SQL. А еще сильнее могут отличаться архитектуры. И даже если бы по SQL такие СУБД совпадали, одну и ту же задачу пришлось бы решать по разному, например на блокировочнике и версионнике.

akhan
То, что я считаю недостатком Firebird, реализованы во многих изветных СУБД с самых ранних версии,

свистеть насчет "с самых ранних версий" не надо. IB/FB это первый версионник, среди прочих.
Кроме того, работающие в ФБ могут назвать тучу фич, которых нет в других СУБД.
Например, людям, работающим и с ФБ и с Ораклом, в Оракле недостает тех самых селективных процедур, на тему которых ты там возмущался. Я уже упомянул, что триггеры в MS SQL по сравнению с ФБ просто ужасные.
Ну а про Access даже нечего говорить. Мог бы и про FoxPro брякнуть, что он лучше всех.
10 дек 09, 22:10    [8049525]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
Микросекунда
Member

Откуда: Из предыдущего мгновения
Сообщений: 1905
hvlad пишет:

h> Народ, вас разводят, пятница завтра :)

Сегодня :)

Posted via ActualForum NNTP Server 1.4

10 дек 09, 22:44    [8049631]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
dennis-r
Member

Откуда:
Сообщений: 236
akhan
... и даже в "настольной" СУБД MS Access 97!
Я бы даже сказал "особенно в MS Access"!

P.S. У меня один проект до сих пор работает в MS Access.
Весь из себя многопользовательский.
Замечательно работает!

Правда данные берёт из Firebird через ODBC.
Из этих самых "непараметризированных view" с наложенными на них параметрами в WHERE.
И сводные данные для кросс-отчётов из этих самых - отвратных селективных процедур.
10 дек 09, 22:44    [8049633]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
Esperito
Member

Откуда:
Сообщений: 1441
Микросекунда
Сегодня :)
Пятница у всех по-разному начинается.
У кого-то вообще семь пятниц на неделе.
10 дек 09, 23:05    [8049738]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7000
akhan
То, что я считаю недостатком Firebird, реализованы во многих изветных СУБД с самых ранних версии, например в Оракл, MS SQL, и даже в "настольной" СУБД MS Access 97!

а ну-ка поподробнее, с какой версии Оракл поддерживает параметризованные вьюхи? Может и синтаксис заодно озвучишь? :-)
10 дек 09, 23:06    [8049740]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
SEYD
Member

Откуда:
Сообщений: 241
Микросекунда
hvlad пишет:

h> Народ, вас разводят, пятница завтра :)

Сегодня :)


человек видимо из другого часового пояса :)
10 дек 09, 23:51    [8049859]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
hvlad
Member

Откуда:
Сообщений: 11553
Esperito
Микросекунда
Сегодня :)
Пятница у всех по-разному начинается.
У кого-то вообще семь пятниц на неделе.
У некоторых она не заканчивается :)
10 дек 09, 23:55    [8049866]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
Таблоид
Member

Откуда:
Сообщений: 9456
Блог
dimitr
с какой версии Оракл поддерживает параметризованные вьюхи? Может и синтаксис заодно озвучишь? :-)
поддерживает он их вроде бы давно:
хижина дяди Тома
Submitted on 13-Feb-2001 6:26 Central time zone
Last updated 11-Nov-2009 15:54
You Asked

Dear Tom
Hi!!!
My problems...
1)Why does'nt Oracle permits to create a Parameterized View in the lines of a
Parameterized Cursor. <...skipped...>

and we said...

1) we do, it works like this:
create view myview
as select * from t where x = userenv('client_info')
/

and then:
SQL> exec dbms_application_info.set_client_info('my_data')
SQL> select * from myview;

You can also use dbms_session.set_context in 8i and up to greatly increase the
namespace/number of parameters you can pass and reference via the SYS_CONTEXT() function.

Но из всех наворотов, которые есть у "больших братьев", повторюсь, по-настоящему не хватает только оконных (windowed) функций. Ну, в отдельных случаях еще оператор apply бы был кстати. А так - всё без особого труда "эмулируется".
11 дек 09, 00:49    [8050020]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54784

хижина дяди Тома
1) we do, it works like this:
create view myview
   as select * from t where x = userenv('client_info')

Так вот он какой, северный олень...

Маркетинг у Оракула как всегда на высоте: такую мелочь так высокопарно
называют. Отчего бы им не начать гордиться ещё и чем-нибудь в этом роде:
create view myview
   as select * from t where x = 2

Posted via ActualForum NNTP Server 1.4

11 дек 09, 01:00    [8050043]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
Alex Truhin
Member

Откуда:
Сообщений: 541
Таблоид,

И кто мешает, точно то же написать в Firebird? Вроде переменные начиная с 2.0 поддерживаются.
11 дек 09, 07:03    [8050235]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
Sok
Member

Откуда:
Сообщений: 30
Таблоид
[

насчет установки МС - руки кривые) ставится легко...
чего не хватает в FB (как бывший МСовец)
- очень убивает отсутствие нормального профайлера - что не позволяет делать нормальный дебаг...
- не реально сделать рефакторинг БД - дурацкие связи, метаданные или что это....
- ну и как вообще вносить изменение в действующую систему , только отключать всех ...
11 дек 09, 07:55    [8050288]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7000
Таблоид
поддерживает он их вроде бы давно

так я и думал. Слив засчитан, спасибо :-)
11 дек 09, 07:55    [8050290]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
dennis-r

Из этих самых "непараметризированных view" с наложенными на них параметрами в WHERE.


Точно, значит и в fb надо сделать как в access. Добавляешь параметры к view и при запуске появляется табличка ввода. Хорошая идея! В трекер! Немедля!
11 дек 09, 08:25    [8050351]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
Sok
очень убивает отсутствие нормального профайлера

В 2.5 ситуация конкретно изменилась
Sok
- что не позволяет делать нормальный дебаг...

А вот интересно, в MSSQL можно просмотреть стек при ошибке в процедуре?

Sok
не реально сделать рефакторинг БД - дурацкие связи, метаданные или что это.

И чем они дуракцие? Оч. удобная вещь.

Sok
ну и как вообще вносить изменение в действующую систему , только отключать всех

Много ли таких изменений, при которых надо всех отключать? Я синхронизирую метаданные запросто, никого не отключая. С view только проблемы бывают, но в 2.5 вроде ситуация изменилась опять же
11 дек 09, 08:48    [8050408]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
Sok
Member

Откуда:
Сообщений: 30
FreemanZAV

Sok
не реально сделать рефакторинг БД - дурацкие связи, метаданные или что это.

И чем они дуракцие? Оч. удобная вещь.

а вы попробуйте переименовать поле Таблицы, Таблицу или процедуру в FB а потом в MS
11 дек 09, 08:57    [8050434]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
Таблоид
Member

Откуда:
Сообщений: 9456
Блог
Alex Truhin
Таблоид,

И кто мешает, точно то же написать в Firebird? Вроде переменные начиная с 2.0 поддерживаются.
я отвечал за ТС, он спал, видимо; так что этот - к нему.
11 дек 09, 09:00    [8050447]     Ответить | Цитировать Сообщить модератору
 Re: Недостатки Firebird  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
Sok
FreemanZAV

Sok
не реально сделать рефакторинг БД - дурацкие связи, метаданные или что это.

И чем они дуракцие? Оч. удобная вещь.

а вы попробуйте переименовать поле Таблицы, Таблицу или процедуру в FB а потом в MS

То, что этого делать нельзя - благо
11 дек 09, 09:02    [8050454]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить