Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 66 67 68 69 70 71 72 [73] 74 75   вперед  Ctrl
 Re: Выбор СУБД!  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
а за что интересно МСУ забанили? (это не я)
мне вобще-то тоже хотелось, но формальных поводов вроде не было
9 фев 09, 23:53    [6798558]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Изопропил
Member

Откуда:
Сообщений: 31627
SergSuper,

https://www.sql.ru/forum/actualthread.aspx?tid=637085&pg=12#6798167
10 фев 09, 00:10    [6798579]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
locky
Gluk (Kazan),
ну-с, когда оракл позволяет выстрелить себе в ногу - это кошер.
Когда сиквел такое позволяет - это треф.


У Вас похоже только черная и белая краска в палитре :( Не существует однозначно плохих или однозначно хороших решений. Все решения кривые, но если последствия select * в хранимом коде очевидны, то последствия грамотно обновленного (с молчаливого одобрения BOL) представления можно искать ДОЛГО.

Собственно о том и речь, что фичи предоставляемые Oracle позволяют меньше заниматься Unit-тестированием, смещая акцент на фазу компиляции (отсутствующую в MS), а также предпочитают дать программисту по рукам на фазе исполнения молчаливому одобрению неопределенного поведения.

У каждого свой вкус и спорить об этом бесполезно, но лично я (по этим пунктикам) предпочитаю Oracle
10 фев 09, 08:28    [6798893]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Gluk (Kazan),

в моем случае оракл "дал мне по рукам" в абсолютно нормальной ситуации, и вынудил меня искать кривое решение.
Более того, несложно представить себе ситуацию, когда внесение минорных изменений в базу приведет к обрушению уже действующего кода.
10 фев 09, 13:25    [6800878]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
locky
Gluk (Kazan),

в моем случае оракл "дал мне по рукам" в абсолютно нормальной ситуации, и вынудил меня искать кривое решение.
Более того, несложно представить себе ситуацию, когда внесение минорных изменений в базу приведет к обрушению уже действующего кода.


Обида вообще-то не очень конструктивна, а на инструмент ... он играет как может
пишите в техподдержку, пусть встраивают ИИ
10 фев 09, 13:30    [6800914]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Gluk (Kazan)
Member

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

Более того, несложно представить себе ситуацию, когда внесение минорных изменений в базу приведет к обрушению уже действующего кода.


Мне сложно, softwarer-у вроде тоже
Если Вам не сложно представить - помогите представить ее нам
10 фев 09, 13:31    [6800922]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Gluk (Kazan)

Обида вообще-то не очень конструктивна, а на инструмент ... он играет как может
пишите в техподдержку, пусть встраивают ИИ

Это не обида, это недоумение.
Когда инструмент, который "играет как может", фдрук! считает себя умнее меня. Причем, как выясняется, неправильно считает. И не дает мне никакой возможности собой рулить.
10 фев 09, 13:52    [6801076]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Gluk (Kazan)
locky

Более того, несложно представить себе ситуацию, когда внесение минорных изменений в базу приведет к обрушению уже действующего кода.


Мне сложно, softwarer-у вроде тоже
Если Вам не сложно представить - помогите представить ее нам

В моём примере мне предложили построить индекс - и всё заработало.
Следовательно, если в действующей системе грохнуть индекс - то всё упадёт.

Создание индекса - не есть вмешательство в логику, не так ли?
10 фев 09, 13:53    [6801091]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
locky
В моём примере мне предложили построить индекс - и всё заработало.
Следовательно, если в действующей системе грохнуть индекс - то всё упадёт.

Создание индекса - не есть вмешательство в логику, не так ли?

Не знаю шо за пример у вас, но, действительно, отсутствие индекса на внешний ключ, например, может приводить к блокировкам, которые будут проявляться в виде зависаний заблокированных. Но это не логика все же, а такая типа физика. Однако, оно не упадет при гроханьи индекса, а кое-кто иногда буит неожиданно висеть.
10 фев 09, 14:17    [6801274]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
locky
Gluk (Kazan)
locky

Более того, несложно представить себе ситуацию, когда внесение минорных изменений в базу приведет к обрушению уже действующего кода.


Мне сложно, softwarer-у вроде тоже
Если Вам не сложно представить - помогите представить ее нам

В моём примере мне предложили построить индекс - и всё заработало.
Следовательно, если в действующей системе грохнуть индекс - то всё упадёт.

Создание индекса - не есть вмешательство в логику, не так ли?


Удаление индекса может обрушить любую БД (по производительности)
На логику индексы вроде как влиять не должны, возможно в вашем случае, речь шла не об индексе, а о ограничении уникальности ? Также возможен вариант отсутствующего индекса на внешнем ключе (тоже довольно неприятно).

В общем более детальное описание ситуации в вашем случае было бы не лишним
Иначе это гадание по облакам
10 фев 09, 14:19    [6801300]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Gluk (Kazan)
Member

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

Когда инструмент, который "играет как может", фдрук! считает себя умнее меня. Причем, как выясняется, неправильно считает. И не дает мне никакой возможности собой рулить.


Это именно обида

Инструмент не может быть умнее или глупее того кто им пользуется
Вы можете знать или не знать об особенностях инструмента, это безусловно
10 фев 09, 14:21    [6801316]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Gluk (Kazan)
Удаление индекса может обрушить любую БД (по производительности)

Или наоборот, поднять производительность.

Gluk (Kazan)

В общем более детальное описание ситуации в вашем случае было бы не лишним
Иначе это гадание по облакам

Детальное описание было дано в репро.
10 фев 09, 15:29    [6801928]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Gluk (Kazan)
Инструмент не может быть умнее или глупее того кто им пользуется
Вы можете знать или не знать об особенностях инструмента, это безусловно

Я знаю о некоей особенности инструмента, которая не дают выполнить вполне честный запрос исходя из того, что инструмент не в состоянии полностью проанализировать схему, но, тем не менее, делает выводы о "невозможности" некоего действия.

Видимо, нужно воспринимать это как "фичу". И изобретать велосипеды там, где они не нужны.
10 фев 09, 15:32    [6801949]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
locky
Gluk (Kazan)
Удаление индекса может обрушить любую БД (по производительности)

Или наоборот, поднять производительность.

Gluk (Kazan)

В общем более детальное описание ситуации в вашем случае было бы не лишним
Иначе это гадание по облакам

Детальное описание было дано в репро.


Если речь идет о вашем примере, то не помню где там появился индекс.
понятия не имею что такое репро
имейте уважение к собеседникам, что проще выложить один раз или гонять по всех хронологии переписки ???
10 фев 09, 15:46    [6802063]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Gluk (Kazan)
Member

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

Видимо, нужно воспринимать это как "фичу". И изобретать велосипеды там, где они не нужны.


Если велосипед нужен для обеспечения работоспосоюности какой-то необходимой фичи, то это вроде как уже и не совсем велосипед. Я понимаю, обида сильна, но у вас два выбора:

1. Научиться работать этим инструментом
2. В дальнейшем пользоваться другими инструментами
10 фев 09, 15:48    [6802091]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Gluk (Kazan)
имейте уважение к собеседникам, что проще выложить один раз или гонять по всех хронологии переписки ???


create table Type(id varchar2(1) primary key);

create table Element(id number primary key,type varchar2(1) )
alter table Element add constraint aaa foreign key(type) references type(id)

create table Value(element number,Parameter number,val varchar(2))
alter table Value add constraint Value_pk primary key(element,parameter)
alter table value add constraint aaa1 foreign key(element) references element(id)
alter table value add constraint aaa2 foreign key(parameter) references element(id)


create table Settings(etype varchar2(1),ptype varchar2(1),defval varchar2(1))
alter table settings add constraint set_pk primary key(etype,ptype)
alter table settings add constraint aaa4 foreign key(etype) references type(id)
alter table settings add constraint aaa5 foreign key(ptype) references type(id)



update (
select v.val,s.defval
from   Value V inner join Element E on V.Element = E.ID
               inner join Element P on V.Parameter = P.ID
               inner join Settings S on E.Type = S.Etype and S.PTYPE = p.type
)
set val=defval;  
все индексы, ПК, ФК - на месте.
Не работает
Самый простой и наглядный способ - обновление с курсором и rowid.
10 фев 09, 15:57    [6802149]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Кстати, об "этапе компиляции".

create table Rem(prod number,amount number)
create table Move(prod number,amount number)


create or replace procedure UpdateAmount
is begin
update (
select R.Amount,M.MAmount
from Rem R inner join (select prod,sum(Amount) as MAmount from Move group by prod) M on R.Prod = M.Prod
)
set Amount = Amount + MAmount;

end;

begin
UpdateAmount;
end;
На выходе получается валидная процедура, которая заведомо не работает.
Почему так?

-------------------------
There’s no silver bullet!
10 фев 09, 16:04    [6802213]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Eugenkru3
Guest
"МСУ Member [заблокирован]"
))))))))))))))))))))))))))))
Неужели свершилось правосудие?
Глазам своим не верю
10 фев 09, 16:19    [6802319]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Eugenkru3
Guest
Егоров Александр
Вам уже приводили пример - в VisualStudio больше НЕ включается Visual FoxPro. Казалось бы зачем MS отказываться от среды разработки, превосходящей остальные продукты? Может быть потому что прикладная часть FoxPro довольно узка? И новые продукты MS предоставляют гораздо больше прикладных вещей, не теряя при этом и универсальности?

VisualStudio включает Visual FoxPro. Если у тебя не включает значит у тебя не полная VisualStudio.
Доплати 800 баксов за Visual FoxPro 9 и будет полная. А если ты хотел за 100 баксов купить фокс тогда купи на рынке закаточную машинку - будешь грибы закатывать.
10 фев 09, 16:24    [6802365]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
locky
Gluk (Kazan)
имейте уважение к собеседникам, что проще выложить один раз или гонять по всех хронологии переписки ???


create table Type(id varchar2(1) primary key);

create table Element(id number primary key,type varchar2(1) )
alter table Element add constraint aaa foreign key(type) references type(id)

create table Value(element number,Parameter number,val varchar(2))
alter table Value add constraint Value_pk primary key(element,parameter)
alter table value add constraint aaa1 foreign key(element) references element(id)
alter table value add constraint aaa2 foreign key(parameter) references element(id)


create table Settings(etype varchar2(1),ptype varchar2(1),defval varchar2(1))
alter table settings add constraint set_pk primary key(etype,ptype)
alter table settings add constraint aaa4 foreign key(etype) references type(id)
alter table settings add constraint aaa5 foreign key(ptype) references type(id)



update (
select v.val,s.defval
from   Value V inner join Element E on V.Element = E.ID
               inner join Element P on V.Parameter = P.ID
               inner join Settings S on E.Type = S.Etype and S.PTYPE = p.type
)
set val=defval;  
все индексы, ПК, ФК - на месте.
Не работает
Самый простой и наглядный способ - обновление с курсором и rowid.


1. Вот я и говорю, что не уловил при чем тут развал логики при удалении индекса ???
2. Удобно пользоваться курсором + ROWID -> кто мешает ? Религия ???
3. Можно создать представление явно и повесить на него триггер, если уж так хочется апдейтить представления
10 фев 09, 16:37    [6802476]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
locky
Кстати, об "этапе компиляции".

create table Rem(prod number,amount number)
create table Move(prod number,amount number)


create or replace procedure UpdateAmount
is begin
update (
select R.Amount,M.MAmount
from Rem R inner join (select prod,sum(Amount) as MAmount from Move group by prod) M on R.Prod = M.Prod
)
set Amount = Amount + MAmount;

end;

begin
UpdateAmount;
end;
На выходе получается валидная процедура, которая заведомо не работает.
Почему так?

-------------------------
There’s no silver bullet!


Потому что ДАЛЕКО не все ошибки можно отловить на этапе CompileTime,
а что MS SQL в CompileTime отлавливает больше ошибок ???

P.S. Мне кстати тоже хотелось бы жить в идеальном мире, где все люди добрые и небо всегда голубое ...
10 фев 09, 16:40    [6802505]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Gluk (Kazan)

1. Вот я и говорю, что не уловил при чем тут развал логики при удалении индекса ???
2. Удобно пользоваться курсором + ROWID -> кто мешает ? Религия ???
3. Можно создать представление явно и повесить на него триггер, если уж так хочется апдейтить представления

1. в приведенной схеме есть все индексы, пк, фк. Тем не менее - обновление не работает. Почему?
2. не "удобно", а "другого выхода нет".
3. Мне не "представление нужно апдейтить", а перенести данные из одной таблички в другую.
10 фев 09, 16:42    [6802525]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
locky
Gluk (Kazan)

1. Вот я и говорю, что не уловил при чем тут развал логики при удалении индекса ???
2. Удобно пользоваться курсором + ROWID -> кто мешает ? Религия ???
3. Можно создать представление явно и повесить на него триггер, если уж так хочется апдейтить представления

1. в приведенной схеме есть все индексы, пк, фк. Тем не менее - обновление не работает. Почему?
2. не "удобно", а "другого выхода нет".
3. Мне не "представление нужно апдейтить", а перенести данные из одной таблички в другую.


Еще раз спрашиваю, кто мешает ?
10 фев 09, 16:44    [6802535]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Gluk (Kazan)
Потому что ДАЛЕКО не все ошибки можно отловить на этапе CompileTime,

Насколько я понимаю - конкретно эту ошибку на этапе компиляции отловить можно.


Gluk (Kazan)

а что MS SQL в CompileTime отлавливает больше ошибок ???

MS Sql? Нет, не больше. Он просто выполняет такую процедуру так, как и было задумано.
10 фев 09, 16:44    [6802542]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Gluk (Kazan)
Еще раз спрашиваю, кто мешает ?

Советы старины Кайта, который рекомендовал использовать SQL, а не курсоры.
10 фев 09, 16:45    [6802550]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 66 67 68 69 70 71 72 [73] 74 75   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить