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

Откуда: 127.0.0.1
Сообщений: 67390
Блог
locky
Но, увы и ах - "оракл не даст вам выстрелить себе в ногу"

И вот тут нам приходится вспомнить, что лучшая СУБД - это FoxPro. Потому что в ней можно написать примерно так:

select field1, field2, field3 from table group by field2

и она честно возьмет случайные значения для field1 и field3 - не то что всякие мудрые хрени, которые "не дадут выстрелить себе в ногу".
6 фев 09, 15:25    [6789166]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
locky
Gluk (Kazan)
Oracle ничего не знает о запросах, которые ты собираешься формировать, ибо даром предвидения не обладает, он оперирует ограничениями на БД, которые ты задал, а их явно недостаточно, не знаю как тебе это объяснить, да и утомил меня этот пример слегка

С моей т.з. - достаточно.
PK на value, PK на сеттинг, транзитное отношение 1-1 в element как бэ намекает нам на то, что settings мапится на value в пропорции 1:1.
Но, увы и ах - "оракл не даст вам выстрелить себе в ногу"


Не даст.
Стоит также вспомнить про принцип KISS
6 фев 09, 15:26    [6789174]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
softwarer
locky
Но, увы и ах - "оракл не даст вам выстрелить себе в ногу"

И вот тут нам приходится вспомнить, что лучшая СУБД - это FoxPro. Потому что в ней можно написать примерно так:
select field1, field2, field3 from table group by field2
и она честно возьмет случайные значения для field1 и field3 - не то что всякие мудрые хрени, которые "не дадут выстрелить себе в ногу".


И если это не описано в документации - то это, разумеется, жопа.
Но если взять, к пример, тот же самый Sybase ASE, и написать в нём нечто вроде
select a,b,count(c)
from Table1
group by a
то ничего страшного не произойдёт, а будет посчитан вполне предсказуемый результат.

Правда, насчет внятного описания поведения в документации - тут я не уверен, по моему нету.
6 фев 09, 16:07    [6789480]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Fox5631
Guest
softwarer
locky
Но, увы и ах - "оракл не даст вам выстрелить себе в ногу"

И вот тут нам приходится вспомнить, что лучшая СУБД - это FoxPro. Потому что в ней можно написать примерно так:

select field1, field2, field3 from table group by field2

и она честно возьмет случайные значения для field1 и field3 - не то что всякие мудрые хрени, которые "не дадут выстрелить себе в ногу".


При соответствующих настройках.
6 фев 09, 16:10    [6789502]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
МСУ
Member [заблокирован]

Откуда: http://codearticles.ru
Сообщений: 31089
Локи, выкладывайте. Мы с Вами еще не закночили.

К сообщению приложен файл. Размер - 0Kb
6 фев 09, 16:45    [6789742]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
АнатоЛой
Member

Откуда: Киев, Украина
Сообщений: 2897
Блог
Тоже мне фокус...
На моей любимой СУБД можно вот так:

create table from(
    select int
  , where int
);

insert into from
  values(1, 1);

select select
  from from
    where where = 1;
6 фев 09, 16:48    [6789766]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67390
Блог
Ну это перепевка классики

IF THEN = ELSE
  THEN IF = ELSE
  ELSE THEN = IF
6 фев 09, 16:54    [6789797]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
skelet
Member [заблокирован]

Откуда: moskau
Сообщений: 5549
locky
softwarer
А полный дорог. Зачастую слишком дорог. О том и речь.

Вам шашечки - или ехать? (С)
Хотите максимальных гарантий - платите.
Не хотите - не платите.

лол. вы вообще понимаете, про что шпрехаете?
Что после каждого мелкого патча вы будете проводить полное тестирование всей системы (не только модуля к которому применён пачт!)....

как говорил Станиславский - Не верю!
6 фев 09, 16:58    [6789819]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
МСУ
Member [заблокирован]

Откуда: http://codearticles.ru
Сообщений: 31089
softwarer
Ну это перепевка классики

IF THEN = ELSE
  THEN IF = ELSE
  ELSE THEN = IF


Хм... для 32-х лет (здравствуй, молодость ) довольно неплохие познания в классических подходах :)
6 фев 09, 17:00    [6789834]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
АнатоЛой
Member

Откуда: Киев, Украина
Сообщений: 2897
Блог
В том-то и дело, у меня классика не заработала
А получившийся вариант я не счёл достаточно интригующим. Получался как перепевка про шишкосушильную фабрику:

CREATE PROCEDURE test1(
) RETURNING
    INT
  , INT 
  , INT 
  , INT 
  , INT
  ; 

  DEFINE IF INT;
  DEFINE THEN INT;
  DEFINE ELSE INT;
  DEFINE ENDIF INT;
  DEFINE LET INT;
  DEFINE NULL INT;
 
  LET LET = NULL;  
  LET IF = LET;
  LET THEN = IF;
  LET ELSE = THEN;
  LET ENDIF = ELSE;
  
  IF THEN = ELSE THEN LET LET = ENDIF;
  IF ENDIF = ELSE THEN LET LET = IF; 
  ELSE IF ENDIF = IF THEN LET LET = THEN;
  END IF END IF END IF

  RETURN
      ENDIF
    , THEN
    , ELSE
    , IF 
    , LET
    ;

END PROCEDURE
6 фев 09, 17:11    [6789894]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
locky
Member

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

лол. вы вообще понимаете, про что шпрехаете?
Что после каждого мелкого патча вы будете проводить полное тестирование всей системы (не только модуля к которому применён пачт!)....
как говорил Станиславский - Не верю!

А вы, друг мой, понимаете, что в данном случае (в примере с LTT, использующейся в качестве пром. хранилища данных для передачи их между процедурами) не был соблюден план/регламент тестирования, и что в данном конкретном случае - вовсе не нужно было бы проводить "полное" тестирование системы, а можно было бы ограничится нормальными тестами той процедуры, которую рефакторили?
6 фев 09, 17:17    [6789932]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
Yo.!
Guest
locky

А вы, друг мой, понимаете, что в данном случае (в примере с LTT, использующейся в качестве пром. хранилища данных для передачи их между процедурами) не был соблюден план/регламент тестирования, и что в данном конкретном случае - вовсе не нужно было бы проводить "полное" тестирование системы, а можно было бы ограничится нормальными тестами той процедуры, которую рефакторили?

хм ... а как тестирование одной лишь P2 можно убедится, что пролетающая из P1 в P3 времянки не зацепило ?
6 фев 09, 18:31    [6790264]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Yo.!
хм ... а как тестирование одной лишь P2 можно убедится, что пролетающая из P1 в P3 времянки не зацепило ?

Вы, для разнообразия, обратите внимание, что результат работы процедуры P2 зависит от передаваемого параметра. И, уж коли так - то логично было бы проверить работу этой процедуры при разных значениях параметра.
Один из вызовов процедуры P2 нам сказал бы, что для корректной работы этой ветки приложения необходима заранее созданная таблица #temp, а значит, либо процедура перед запуском P2 нам необходимо вручную подготовить окружение для тестирования путём создания такой таблицы, либо построить тест таким образом, чтобы вызов P2 был включен в ход выполнения теста, т.е. вызывая не P2 непосредственно, а запуская процедуру более высокого уровня.

В любом случае, при тестировании P2 путём прямого вызова либо путём включения её в планы более высокого уровня мы должны обеспечить все возможные пути выполнения кода, начиная от P2 и ниже.
В представленном примере условие полного покрытия кода и параметров обеспечено не было - запускалась только одная из веток процедуры, лежащей под P2. В результате этого появлялась возможность отдать в работу код с ошибкой. Однако эта ошибка была бы найдена на этапе тестирования, буде был бы построен адекватный план тестирования.
6 фев 09, 18:38    [6790279]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67390
Блог
locky
В представленном примере условие полного покрытия кода и параметров обеспечено не было - запускалась только одная из веток процедуры, лежащей под P2.

Именно так. Запускалась та ветка, которая подвергалась переработке. Обращаю внимание на употребление Вами слова "полного".

В результат
locky
Однако эта ошибка была бы найдена на этапе тестирования, буде был бы построен адекватный план тестирования.

Он адекватен для трех подпрограмм. Но с разрастанием - и количества, и логики в них - он становится всё менее и менее адекватным в смысле "вероятно, будет выбран".
6 фев 09, 18:47    [6790298]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
softwarer
locky
В представленном примере условие полного покрытия кода и параметров обеспечено не было - запускалась только одная из веток процедуры, лежащей под P2.

Именно так. Запускалась та ветка, которая подвергалась переработке. Обращаю внимание на употребление Вами слова "полного".

К сожалению, вы немного не правы.
В процессе переработки вы вольно или невольно затронули объект, который по отношению к процедуре P2 является внешним, глобальным, транзитным.
Вы забыли об этом (или не знали, к примеру), в связи с чем не предприняли дополнительных действий по тестированию возможно внесённых побочных эффектов.
6 фев 09, 18:56    [6790321]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67390
Блог
locky
В процессе переработки вы вольно или невольно затронули объект, который по отношению к процедуре P2 является внешним, глобальным, транзитным.

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

locky
Вы забыли об этом (или не знали, к примеру), в связи с чем не предприняли дополнительных действий по тестированию возможно внесённых побочных эффектов.

Верно. О том и речь. Потому и называю эту фичу бомбой.
6 фев 09, 18:59    [6790327]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
softwarer
locky
В процессе переработки вы вольно или невольно затронули объект, который по отношению к процедуре P2 является внешним, глобальным, транзитным.

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

locky
Вы забыли об этом (или не знали, к примеру), в связи с чем не предприняли дополнительных действий по тестированию возможно внесённых побочных эффектов.

Верно. О том и речь. Потому и называю эту фичу бомбой.

С тем же успехом, примерно, я могу отозватся о GTT :)
6 фев 09, 19:09    [6790358]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Fox5631
Guest
МСУ,
по одной из приведенных вами ссылок читаем
Компания Microsoft заявила (http://www.eweek.com/article2/0,1759,2105307,00.asp) об открытии в ближайшее время исходных текстов основных компонент СУБД Visual FoxPro и прекращении выпуска новых версий данного продукта. Планируется, что развитие технологии FoxPro возьмет на свои плечи сообщество разработчиков открытого ПО сосредоточенное вокруг проекта CodePlex.com (http://www.codeplex.com/), уже выпустившее ряд открытых дополнений к Visual FoxPro.

К сожалению, этого не произошло. MS так и не раскрыла своих секретов. Коды FoxPro и тайны Рашмор достоянием общественности не стали.

Догадываетесь, почему?
6 фев 09, 19:12    [6790366]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Fox5631
Догадываетесь, почему?

Потому что нафиг никому не нужно?
Потому что нету там никакого рашмора?
6 фев 09, 19:13    [6790369]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
Yo.!
Guest
locky

С тем же успехом, примерно, я могу отозватся о GTT :)

не сможешь, даже если даже если разработчик писавший патч идиот, искареженные зависимости пакетов об этом предупредят ораклового дба.
6 фев 09, 19:16    [6790378]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
МСУ
Member [заблокирован]

Откуда: http://codearticles.ru
Сообщений: 31089
locky
Fox5631
Догадываетесь, почему?

Потому что нафиг никому не нужно?
Потому что нету там никакого рашмора?


+1

Фокси, я прав? )
6 фев 09, 19:22    [6790394]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
locky
Member

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

С тем же успехом, примерно, я могу отозватся о GTT :)

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



create procedure Level1
as begin
 insert into GTT values(1)
 exec Level2(0)
 exec Level2(1)
end
go

create procedure Level2
@param int
as begin
 exec Level3(@param)
end

create procedure Level3
@param int
as begin
 if @param=0 begin
  return 1
 end else begin
  return (select count(*) from GTT)
 end
end
go

alter procedure Level2
@param int
as begin

 if @param = 0 begin
  delete GTT
  insert into GTT select * from SomeTable
  if (select count(*) from GTT) > 0 .....
 end

 exec Level3(@param)


end


6 фев 09, 19:26    [6790406]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
МСУ
Member [заблокирован]

Откуда: http://codearticles.ru
Сообщений: 31089
Fox5631
развитие технологии FoxPro возьмет на свои плечи сообщество разработчиков открытого ПО сосредоточенное вокруг проекта CodePlex.com


Не хочется "садиться" на какой-то балаган, ибо может боком выйти. В связи с достаточно конкурентноспособным рынком инструментария девелопа, я лучше за лидером пойду, нежели в хвосте где-то буду ошиваться и горбатиться за копейки, зная о том, что вакансий на моё "вакантное" место практически нет. И что, уйду я из фоксо-компании, куда изволите мне суваться? На поддержку допотопных ламо-проектов с 70-летним стариками и бабушками?
Уж лучше за лидером двигаться. Сменится лидер (хотя сомневаюсь, что поборят) - ради бога, уйду у другому лидеру, буду переучиваться. Так что фтопку фокс и его непонятный миру рашмор
6 фев 09, 19:26    [6790407]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Fox5631
Guest
locky
Fox5631
Догадываетесь, почему?

Потому что нафиг никому не нужно?
Потому что нету там никакого рашмора?


Ну вот вам один факт.
В 2007 г. испанская группа VFP открыла линию протеста против решения МС о закрытии проекта VFP .
Администрация FoxClub присоединилась к этой акции и направила письмо в адрес MS с таким содержанием:

От имени, почти пяти тысяч зарегистрированных пользователей сайта www.foxclub.ru, который охватывает разработчиков не только России, а так же Украины, Белоруссии, Казахстана, Киргизии, Узбекистана, Таджикистана, Туркмении, Грузии, Армении, Литвы, Латвии, Эстонии, а так же США, Канады, Германии, Франции, Болгарии и ряда других стран, выражаем солидарность с движением в защиту проекта развития Visual FoxPro. Мы не только просим дальнейшего развития проекта, а требуем его продолжения. За каждым из разработчиков стоит не один и многие заказчики, которые используют FoxPro в своей работе, самое удобное средство разработки, позволяющее сократить расходы на проектирование и создание качественных продуктов при минимальных вложениях. Выражаем благодарность всей команде разработчиков Visual FoxPro, а так же всем тем, кто так или иначе причастен к созданию такого выдающегося средства разработки.
Язык Visual FoxPro должен развиваться, мы требуем продолжения выпуска новых версий.

Каждый мог зайти на испанский сайт и проголосовать против решения MS.
Число проголосовавших было огромным.

И это только один факт!
6 фев 09, 19:33    [6790428]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Yo.!
Guest
стейтменты select *, select count(*), insert без перечисления полей, drop database никогда не попадут в продакшен базу ...
6 фев 09, 19:34    [6790430]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 63 64 65 66 67 [68] 69 70 71 72 .. 75   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить