Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 56 57 58 59 60 [61] 62 63 64 65 .. 75   вперед  Ctrl
 Re: Выбор СУБД!  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Gluk (Kazan)
Всегда удивлялся, для чего люди пишут inner join (так короче, да ?)


Для того, чтобы отделить мух от котлет - условия связывания (FROM) от условий фильтрации (WHERE).
5 фев 09, 14:42    [6783537]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Gluk (Kazan)
Member

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

Стандарт он всегда стандарт.
Я понимаю, что у некоторых монастырей - совершенно другие стандарты ;), но всё-таки....


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

Откуда:
Сообщений: 9365
locky
Gluk (Kazan)
Дело хорошее, если бы еще работало нормально, вообще было-бы шоколадно

С этого места, если можно, подробнее.


Хреново в Oracle ANSI JOIN-ы работают. С момента появления.
Советовать использовать можно только врагам
5 фев 09, 14:44    [6783553]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

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

Ты это, всё-таки посмотри.
Это не к спеху и скорее академический вопрос - но всё равно интересно.
5 фев 09, 14:46    [6783578]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
МСУ
Member [заблокирован]

Откуда: http://codearticles.ru
Сообщений: 31089
Ух-ты ё-маё... Не успел чаю испить на обеде - уже 4 страницы напостили. Спамеры, блин.

Дак было бы ап чём гутарить - про апдейты всё трут. Ну, работает же апдейт в сиквеле, что же вам еще надо-то... )
5 фев 09, 14:48    [6783595]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Gluk (Kazan)
Member

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


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;               

Вроде и блэкджек и всё остальное - есть. все пк, все фк, всё по чесноку.


Всегда удивлялся, для чего люди пишут inner join (так короче, да ?)
ANSI синтаксис (до сих пор) не самое сильное место Oracle


Могу предположить, что не хватает уникальности element.type
ее здесь Oracle никто не обещал
5 фев 09, 15:18    [6783840]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

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

Могу предположить, что не хватает уникальности element.type
ее здесь Oracle никто не обещал

А её там и быть не должно...
Хотя по схеме вроде как выходит, что одному Value строго соответствует не более одного settings....
И (если исключить из рассмотрения соединения с element, а соединять value с settings "в лоб") - оракл это хавает.
5 фев 09, 15:37    [6783993]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Gluk (Kazan)
Member

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

Могу предположить, что не хватает уникальности element.type
ее здесь Oracle никто не обещал

А её там и быть не должно...
Хотя по схеме вроде как выходит, что одному Value строго соответствует не более одного settings....
И (если исключить из рассмотрения соединения с element, а соединять value с settings "в лоб") - оракл это хавает.


Неа, не получается, во вложении схема по констрейнтам, не вижу:

автор
что одному Value строго соответствует не более одного settings


К сообщению приложен файл. Размер - 0Kb
5 фев 09, 15:43    [6784038]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
МСУ
Member [заблокирован]

Откуда: http://codearticles.ru
Сообщений: 31089
Какие же страшные диаграммы, прям дрожь пробирает... )
5 фев 09, 15:49    [6784080]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67463
Блог
locky
skelet
Вас же попросили привести пример сценария когда баговая gtt попадёт в продакшен,
можете или нет?
Или таки слив?

накатываем обновление №1, которое создает и использует GTT MyTemp.
Тестируем.

Замечательно.

locky
Накатываем обновление №2, которое создает и использует GTT MyTemp с другой структурой.

Откуда оно взялось, если этот конфликт разрешен ещё на этапе дизайна БД? Когда внося новую таблицу в ER-диаграмму, разрабочик увидел, что такая уже есть?

locky
Тестируем.

Даже если Вы сумели создать такое обновление - как Вы ухитряетесь протестировать то, что нельзя накатить? Ваш сценарий забыл учесть тот факт, что create table X склонен давать ошибку, если table X уже существует.

locky
Отдаем обновления в продакшн.

Простите, слив засчитан.
5 фев 09, 15:52    [6784104]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67463
Блог
Yo.!
а чем параметры через контекстные переменные не устраивают ? у меня работает ...

Не устраивают тем, что громоздко и неудобно. Хотелось бы использовать так же, как и любые нормальные параметры в запросах.
5 фев 09, 15:57    [6784140]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
МСУ
Member [заблокирован]

Откуда: http://codearticles.ru
Сообщений: 31089
Софтварер, что там у нас по воркфлоу? :)
5 фев 09, 15:57    [6784144]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
softwarer
locky
skelet
Вас же попросили привести пример сценария когда баговая gtt попадёт в продакшен,
можете или нет?
Или таки слив?

накатываем обновление №1, которое создает и использует GTT MyTemp.
Тестируем.

Замечательно.
locky
Накатываем обновление №2, которое создает и использует GTT MyTemp с другой структурой.

Откуда оно взялось, если этот конфликт разрешен ещё на этапе дизайна БД? Когда внося новую таблицу в ER-диаграмму, разрабочик увидел, что такая уже есть?
locky
Тестируем.

Даже если Вы сумели создать такое обновление - как Вы ухитряетесь протестировать то, что нельзя накатить? Ваш сценарий забыл учесть тот факт, что create table X склонен давать ошибку, если table X уже существует.
locky
Отдаем обновления в продакшн.

Простите, слив засчитан.



Вы меня, конечно, извините, но я что-то не помню в изначальной постановке задачи упомининания об ER-диаграмме. Значит, видимо, конфликт не был разрешен "еще на этапе дизайна БД".
Второе. Кто сказал, что "сценарий забыл учесть"? Сценарий не забыл. Он дропнул таблицу (иже такая существует) и создал свою. Никаких ошибок, всё путём.

зы кстати, я не забыл (совершенно случайно ;) ) упомянуть, что у меня ведется список используемых объектов, и имена LTT выбираются уникальными и непересекающимися по всем code path? :))
так что, у меня никакая ошибка в продакшн не ушла. А ушла как раз у вас.
5 фев 09, 15:59    [6784153]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
МСУ
Member [заблокирован]

Откуда: http://codearticles.ru
Сообщений: 31089
softwarer
Ваш сценарий забыл учесть тот факт, что create table X склонен давать ошибку, если table X уже существует.

Имхо, это уже придирки, которые можно не учитывать в дискуссии...
5 фев 09, 15:59    [6784160]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
МСУ
softwarer
Ваш сценарий забыл учесть тот факт, что create table X склонен давать ошибку, если table X уже существует.

Имхо, это уже придирки, которые можно не учитывать в дискуссии...


Не может эта ошибка уйти в продакт.
Она до тестов даже не дойдет, CompileTime аднака
5 фев 09, 16:02    [6784185]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67463
Блог
МСУ
softwarer
MSSQL может быть и сможет померяться с Oracle качеством продуктов, но вряд ли когда-нибудь сумеет померяться их количеством :)

Ну, уважаемый мембер Gluk (Kazan) нам уже поведал о качестве оракло-софта,

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

МСУ
softwarer
Выбирая из кучи вариантов самый простой: чем Вас не устраивает дизайнер Oracle Workflow?

Ответ напрашивается самый простой - эта система удовлетворяет требованиям двух международных стандартов — ISO 9001 и ISO 14001?

Представления не имею, меня это направление не интересует. У нас этим занимались другие люди, я смотрел мельком. Названные Вами страшные слова ничем не пугают; разве что к активикс вряд ли кому-нибудь нужно лазить. Но как это всё разбросано по продуктам и насколько перекрывает одно другое, что входит в Workflow, что в BPEL, что в OWB/AWM, что в Oracle BI и купленные сибелевские продукты итп.... это уже не ко мне.
5 фев 09, 16:05    [6784204]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Gluk (Kazan)
МСУ
softwarer
Ваш сценарий забыл учесть тот факт, что create table X склонен давать ошибку, если table X уже существует.

Имхо, это уже придирки, которые можно не учитывать в дискуссии...

Не может эта ошибка уйти в продакт.
Она до тестов даже не дойдет, CompileTime аднака

Вот ведь, прости господи....

--patch 1
if exists(select * from all_tables where table_name='MyTemp') exec immediate 'drop table MyTable';
create table MyTable(id number);
create or replace procedure Proc1
is
begin
 do some work with MyTemp;
end;

--patch 2
if exists(select * from all_tables where table_name='MyTemp') exec immediate 'drop table MyTable';
create table MyTable(name varchar2(10));
create or replace procedure Proc2
is
begin
 do some work with MyTemp;
end;

запускаем первый патч, тестируем - всё ок.
Запускаем второй патч, тестируем - всё ок.
Накатываем на продакш первый патч, второй.
proc1 - невалидная и нерабочая.
5 фев 09, 16:06    [6784210]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

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

очепятка в названии таблицы, не MyTable, а MyTemp.
А то исчо прицепитесь
5 фев 09, 16:06    [6784215]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
МСУ
Member [заблокирован]

Откуда: http://codearticles.ru
Сообщений: 31089
Gluk (Kazan)
Не может эта ошибка уйти в продакт.
Она до тестов даже не дойдет, CompileTime аднака

Вот Вы же сами (уверен) поняли, о чем я
Софтварушка просто придрался к Локи, ну давайте на чистоту.
5 фев 09, 16:07    [6784219]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

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

Неа, не получается, во вложении схема по констрейнтам, не вижу:

буду рад примеру DML, который к одному value привяжет более одного settings.
5 фев 09, 16:07    [6784222]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
Yo.!
Guest
locky


запускаем первый патч, тестируем - всё ок.

хде ?
SQL> if exists(select * from all_tables where table_name='MyTemp') exec immediate 'drop table MyTable';
SP2-0734: unknown command beginning "if exists(..." - rest of line ignored.
5 фев 09, 16:12    [6784250]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
locky
Gluk (Kazan)
МСУ
softwarer
Ваш сценарий забыл учесть тот факт, что create table X склонен давать ошибку, если table X уже существует.

Имхо, это уже придирки, которые можно не учитывать в дискуссии...

Не может эта ошибка уйти в продакт.
Она до тестов даже не дойдет, CompileTime аднака

Вот ведь, прости господи....

--patch 1
if exists(select * from all_tables where table_name='MyTemp') exec immediate 'drop table MyTable';
create table MyTable(id number);
create or replace procedure Proc1
is
begin
 do some work with MyTemp;
end;

--patch 2
if exists(select * from all_tables where table_name='MyTemp') exec immediate 'drop table MyTable';
create table MyTable(name varchar2(10));
create or replace procedure Proc2
is
begin
 do some work with MyTemp;
end;

запускаем первый патч, тестируем - всё ок.
Запускаем второй патч, тестируем - всё ок.
Накатываем на продакш первый патч, второй.
proc1 - невалидная и нерабочая.


А так ты про MS SQL ???
Я про Oracle говорил разумеется. В MS SQL GTT вроде нет

А в Oracle кстати, за создание таких "временных" таблиц кырдык делають
execute immediate ага :)

Они на то и G что создаются патчем. Для всех. Один раз.
И это хорошо
5 фев 09, 16:14    [6784263]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67463
Блог
Sgt.Pepper
Возможно. Конечно вопрос привычки, но постаравшись быть объективным, какой подход Вам ближе?..

Лично я предпочитаю чётко раскладывать по полочкам, и с этой точки зрения даже PL/SQL представляется мне "немного слишком интегрированным". Скажем, я пишу

cursor crSomething (.. params ..) is << селект на двадцать строчек >>;
...
for recSomething in crSomething (.. params ..) loop
  ...

там, где большинство коллег вставляют этот <<селект на двадцать строчек>> непосредственно в цикл. T-SQL, с моей точки зрения, удачный язык для написания скриптов, батчей, но хранимый код мне на нём писать некомфортно.
5 фев 09, 16:15    [6784276]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
МСУ
Gluk (Kazan)
Не может эта ошибка уйти в продакт.
Она до тестов даже не дойдет, CompileTime аднака

Вот Вы же сами (уверен) поняли, о чем я
Софтварушка просто придрался к Локи, ну давайте на чистоту.


Ну у меня нет никакого желания защищать softwarer-а (он и сам себя в обиду не даст)
здесь вопрос принципиальный - о дисциплине обновления БД в продакте

MS SQL WAY vs Oracle WAY
5 фев 09, 16:15    [6784278]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
МСУ
Member [заблокирован]

Откуда: http://codearticles.ru
Сообщений: 31089
softwarer
про "может быть и сможет померяться" я тоже не зря упомянул..

Ладно, "меряться" не будем, ибо оно глупо. Проезжаем этот момэнт :)

softwarer
Представления не имею, меня это направление не интересует. У нас этим занимались другие люди, я смотрел мельком. Названные Вами страшные слова ничем не пугают; разве что к активикс вряд ли кому-нибудь нужно лазить. Но как это всё разбросано по продуктам и насколько перекрывает одно другое, что входит в Workflow, что в BPEL, что в OWB/AWM, что в Oracle BI и купленные сибелевские продукты итп.... это уже не ко мне.

Вот-вот. Всё разнесено, логика в самых разных кусках различных решений, мурос да и только.
И как представляется проводить интеграцию в таком, простите, хаосе?
А замечательные средства интеграции от мелкомягких - всё в одном. Выстраиваете интеграционный бизнесс-процесс, согласовав детали со всеми взаимодействующими узлами - и впирёт :)

P.S. Ладно, про интеграционные решения заканчиваем.
Иисходя из дискусии по ним, считаю, что оракло-поделия и прочие софто-строительные решения (НЕ мелкомягкие) - не смогут тягаться "с нами" :)
P.S2. Хотя, товарищи, интеграция - очень "близка" с БД (порой, на столько близка, что только с ней и процессит). Жаль, что оракло-строители не предусмотрели некоего универсального решения.
5 фев 09, 16:16    [6784279]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 56 57 58 59 60 [61] 62 63 64 65 .. 75   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить