Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 3 4 5 6 7 [8] 9 10 11 12 .. 17   вперед  Ctrl
 Re: Все таки Oracle впереди планеты всей!  [new]
Gluk (Kazan)
Member

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

Gluk (Kazan)

А кто сказал, что в Oracle репликацию можно делать только Stream-ом?

Ну так пойди в тему по ссылке и осчастливь автора знанием - чем же в
Oracle можно сделать нужное ему, если Stream-ы облажались.


А смысл?

Dimitry Sibiryakov

Gluk (Kazan)

А вот Stream в FB придется искать очень пристально и долго

Как и логи. Зачем там бесполезный прибамбас, который даже в Оракуле
работает в зависимости от фазы Луны?..


Затем же зачем и в Oracle :) Для маркетингу.
Звучит красиво, народу нравится
7 июл 10, 17:16    [9066267]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Dimitry Sibiryakov
Member

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

Yo.!

в этом и проблема - никому не нужна простая репликация для Firebird, но
всем нужна не простая для оракла

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

Posted via ActualForum NNTP Server 1.4

7 июл 10, 17:18    [9066278]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67454
Блог
StalkerS
Если переформулировать задачу как требуется отличать незаданные/неприменимые аттрибуты и аттрибуты, инициализированные дефолтными значениями, то возможно задача не окажется такой-уж и редкой

Во-первых, про "дефолтные значения" тут написано что-то.. имхо вообще не в тему. А вообще - ну дык называйте, смелее. Конкретные примеры. Чем больше, тем лучше. А то ради одного-двух случаев городить огород...

StalkerS
а слегка модифицированный пример задачи с моей прошлой работы.

Задача была решена по-другому, но одно из решений было

Думаю, мы оба способны выдать немало причин, почему эту задачу не стоило решать таким образом. Собственно, посчитайте сами, сколько натяжек необходимо принять, чтобы счесть это серьёзным примером. Мне бы хватило одного только "тонкого момента" - пустые строки в значении "надо заполнить потом" почему-то есть, а вот для числовых характеристик ничего подобного нет, никакого null/пустой строки не используешь. А для перечислений - только если вносить в справочник "пустую строку", за что тоже стоит отрывать руки.

StalkerS
это надо понимать так, что у вас есть продолжительный и плодотворный опыт работы с обоими системами?

Существенно отличный от нуля.

StalkerS
нет, в дотнет value типы по определению не могут быть null. Т.е. никаких if obj = null then быть не может по определению. В последних версиях появились nullable варианты этих типов, но это по-сути новые типы данных. Однако, видимо из подобных-же рассуждений об абстрактном удобстве для сферического программиста в вакууме, в vb возможно присвоение этим типам nothing, что в реальности приводит к получению ими дефолтных значений, а на деле может привести к серьезным багам

Если тип not null, то возможность присвоить ему null и происходящее при этом присвоение некоего "дефолта" - безусловно, плохое решение. Такая возможность иногда полезна, но пользоваться ей следует осознанно, а не "автоматом". В этой части решения я не вижу никакого соответствия обсуждаемой теме, поскольку not null колонке или переменной ни один сервер присвоить null вроде как не позволит.

В null.toString() == "" я в общем-то никакого криминала не вижу, скорее наоборот, полагаю разумным и удобным.

StalkerS
"Не то, к чему я привык" - вовсе не всегда "удобство", часто наоборот.

Безусловно. Именно поэтому стоит пробовать и сравнивать фактический материал.
7 июл 10, 17:21    [9066306]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Dimitry Sibiryakov
Member

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

Gluk (Kazan)
А смысл?

Чтобы смелое заявление "в Oracle репликацию можно делать не только
Stream-ом" не осталось пердежом в лужу голословным.

Posted via ActualForum NNTP Server 1.4

7 июл 10, 17:25    [9066332]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Gluk (Kazan)
Member

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

Gluk (Kazan)
А смысл?

Чтобы смелое заявление "в Oracle репликацию можно делать не только
Stream-ом" не осталось пердежом в лужу голословным.


ты не поверишь, до какой степени мне плевать на твои неумелые подначки
7 июл 10, 17:26    [9066343]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Sgt.Pepper
Member

Откуда: spb
Сообщений: 1166
softwarer
"пять пробелов" имеют единственный смысл - мусорить в данных.

Именно. Но если вдруг такое безобразие все-таки просочилось в текстовое поле в БД, то давайте его тоже считать за null, т.к. смысла в таком значении атрибута все равно никакого, а удобства в приведении к null - навалом. Это было бы логичным продолжением Вашей подмены '' на null, как мне показалось. VadimInfo, правда, допускает у пяти пробелов какой-то смысл в какой-то гипотетической предметной области.

softwarer
Хм. Для сержанта такая точка зрения, в общем, ожидаема ;-) Устав и два наряда вне очереди.

Честно говоря, не очень понял этот переход на личности.
Я имел в виду, что когда одному удобно правостороннее движение, другому левостороннее, третьей ездить на красный, т.к. у нее машинка красненькая, то, возможно, лучшим компромиссом для всех является принятие ПДД и их соблюдение.
Отказ от стандартов должен по хорошему иметь что-то более весомое, чем удобно-неудобно, и если Ваша (оракловая) фишка реально востребована и нужна, приводить к изменениям самого стандарта.
Никаких нарядов - где Вы разглядели? :)
7 июл 10, 17:30    [9066383]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
_мод
Guest
pkarklin
_мод
Строка - набор символов. Нет символов - нет строки, т.е. null


Да щаз...

SQLWKS> select length('') from dual
     2> 
LENGTH('')
----------
          
Выбрана 1 строка.
нету строки
7 июл 10, 17:33    [9066397]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67454
Блог
SergSuper
ну наверное реже чем со строками, но тоже приходится например считается задолженность как основной долг+начисленные проценты-погашенные проценты-погашение долга
операций по 3-м последним может не быть и сумма будет null

То, что "сумма будет null" - большая глупость стандарта, безусловно. Я уже давно говорю, что арифметические операции с null аргументами должны приводить не к null, а к exception.

Тем не менее, не очень понимаю, где Вы там собрались писать условие вида a is null or a = 0. То, что Вы написали, реализуется примерно так:

select debt + coalesce (interests, 0) - coalesce (paid_debt) - coalesce (paid_interests)

SergSuper
я пару примеров привел
https://www.sql.ru/forum/actualthread.aspx?bid=10&tid=771770&pg=5#9062340
https://www.sql.ru/forum/actualthread.aspx?bid=10&tid=771770&pg=5#9063040

На один я уже высказался насчёт nvl2. Другой - меня смущает назначение платежа "пустая строка", но имхо это делается опять же иначе, причём вне зависимости от сервера и соглашения о пустых строках:

function GetDestination (p_Dest in out varchar) return boolean is
begin
  return GetDestination1 (p_Dest) || GetDestination2 (p_Dest) || GetDestination3 (p_Dest);
end;
7 июл 10, 17:36    [9066423]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Yo.!
Guest
Dimitry Sibiryakov

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

та которая осилит репликацию задачи типа TPC-C под нагрузкой хотя бы 50к tps
так, что с зависимостями - очередная газификация лужи окончена или еще будут попытки ?
7 июл 10, 17:41    [9066460]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67454
Блог
Sgt.Pepper
Именно. Но если вдруг такое безобразие все-таки просочилось в текстовое поле в БД, то давайте его тоже считать за null,

(пожимая плечами) Мне, в общем, безразлично. Если сервер начнёт trim-ать значения в строковых полях - я, пожалуй, сочту это вполне удобным (включая все последствия, например, срабатывание not null на пяти пробелах).

Sgt.Pepper
VadimInfo, правда, допускает у пяти пробелов какой-то смысл в какой-то гипотетической предметной области.

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

Sgt.Pepper
Честно говоря, не очень понял этот переход на личности.

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

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

То до тех пор, пока они ездят каждый по своей дороге, "стандарт" им, в общем, нафиг не нужен.

Sgt.Pepper
то, возможно, лучшим компромиссом для всех является принятие ПДД

Возможно, конечно. Но далеко не факт. В Израиле, например, в шаббат дорожное движение... существенно уменьшается. Для них это, полагаю, вполне оправданно. Скажите пожалуйста: Вы хотите, чтобы в правила было внесено ограничение на поездки в автомобиле по пятницам и субботам? Только ради того, чтобы все соблюдали единый стандарт?

Sgt.Pepper
Отказ от стандартов должен по хорошему иметь что-то более весомое,

Для начала, введение стандарта должно быть обосновано чем-то весомым. Не надо начинать с середины

Я бы сказал так: лучше никакого стандарта, нежели плохой стандарт. Тому, который есть - до хорошего ещё очень далеко. Поэтому я приветствую оправданные отступления от него.

Sgt.Pepper
и если Ваша (оракловая) фишка реально востребована и нужна, приводить к изменениям самого стандарта.

Я согласен с этим как с частью идеального, правильного подхода, но, к сожалению, мерзкие политические соображения вряд ли приведут к возможности такого подхода в обозримом будущем. Стандарт формируется политикой не меньше, чем технологией, и в свою очередь является политическим инструментом. В результате это - нежизнеспособная хрень имени декларации добрых намерений. Мне вот до сих пор интересно, есть ли хоть один сервер, в котором реализована прописанная в стандарте конструкция except (со смыслом ораклового minus).
7 июл 10, 17:53    [9066558]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Dimitry Sibiryakov
Member

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

Yo.!

та которая осилит репликацию задачи типа TPC-C под нагрузкой хотя бы 50к tps

Не, писькомерятельской репликации для Firebird действительно не
существует. Но и через ад проходить не придётся, ибо некому.

Posted via ActualForum NNTP Server 1.4

7 июл 10, 18:01    [9066614]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
softwarer
Мне вот до сих пор интересно, есть ли хоть один сервер, в котором реализована прописанная в стандарте конструкция except (со смыслом ораклового minus).

MSSQK )
7 июл 10, 18:04    [9066644]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
softwarer
SergSuper
ну наверное реже чем со строками, но тоже приходится например считается задолженность как основной долг+начисленные проценты-погашенные проценты-погашение долга
операций по 3-м последним может не быть и сумма будет null

То, что "сумма будет null" - большая глупость стандарта, безусловно. Я уже давно говорю, что арифметические операции с null аргументами должны приводить не к null, а к exception.
а там нет арифметических операций с null-ами, там просто данных нет
softwarer

Тем не менее, не очень понимаю, где Вы там собрались писать условие вида a is null or a = 0. То, что Вы написали, реализуется примерно так:

select debt + coalesce (interests, 0) - coalesce (paid_debt) - coalesce (paid_interests)

ну собственно я и "a is null or a = 0" не писал - вместо этого coalesce (a, '')
softwarer

SergSuper
я пару примеров привел
https://www.sql.ru/forum/actualthread.aspx?bid=10&tid=771770&pg=5#9062340
https://www.sql.ru/forum/actualthread.aspx?bid=10&tid=771770&pg=5#9063040

На один я уже высказался насчёт nvl2.
это хуже - первую переменную надо два раза писать
softwarer
Другой - меня смущает назначение платежа "пустая строка"
я там несколько всё упростил - на самом деле есть шаблон назначения платежа, в нем есть некие идентификаторы (не знаю как правильно назвать), которые должны заменяться значениями функций
т.е. это не должно смущать
softwarer
, но имхо это делается опять же иначе, причём вне зависимости от сервера и соглашения о пустых строках:

function GetDestination (p_Dest in out varchar) return boolean is
begin
  return GetDestination1 (p_Dest) || GetDestination2 (p_Dest) || GetDestination3 (p_Dest);
end;
нет, так не пойдёт - если первая функция что-то вернула, то этот результат и возвращается, если ничего не вернула - то считается следующая функция
а вернуть она может пустую строку и это должен быть окончательный результат
7 июл 10, 18:08    [9066667]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
_мод
SQLWKS> select length('') from dual
     2> 
LENGTH('')
----------
          
Выбрана 1 строка.
нету строки


select len(''), LEN(NULL)

----------- -----------
0           NULL

(1 row(s) affected)

И?
7 июл 10, 18:14    [9066714]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67454
Блог
SergSuper
ну собственно я и "a is null or a = 0" не писал

Значит, кто-то где-то потерял контекст разговора :) Потому как я спрашивал именно про такую конструкцию и Вы ответили "не так часто, как со строками, но приходится".

SergSuper
это хуже - первую переменную надо два раза писать

Это "хуже" сполна компенсируется отсутствием nvl-ей в выражениях вида a || b.

SergSuper
нет, так не пойдёт - если первая функция что-то вернула, то этот результат и возвращается, если ничего не вернула - то считается следующая функция а вернуть она может пустую строку и это должен быть окончательный результат

Прошу прощения, сейчас кодирую на Java и недопереключился :) Имелось в виду

function GetDestination (p_Dest in out varchar) return boolean is
begin
  return GetDestination1 (p_Dest) or GetDestination2 (p_Dest) or GetDestination3 (p_Dest);
end;

Надеюсь, так - вопросов не возникнет.
7 июл 10, 18:26    [9066796]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
softwarer
Это "хуже" сполна компенсируется отсутствием nvl-ей в выражениях вида a || b.
таки значит есть что компенсировать?

softwarer

function GetDestination (p_Dest in out varchar) return boolean is
begin
  return GetDestination1 (p_Dest) or GetDestination2 (p_Dest) or GetDestination3 (p_Dest);
end;

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

а насчет отсутствия nvl-ей в выражениях вида a || b - в принципе я согласен, логично было бы например ввести еще какое-нибудь сложение строк которое бы в null всё не превращало, например вместо плюса те же две палки
7 июл 10, 18:54    [9066977]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67454
Блог
SergSuper
таки значит есть что компенсировать?

в принципе я согласен, логично было бы например ввести еще какое-нибудь сложение строк которое бы в null всё не превращало,

Ну дык собственно в Oracle оно и введено :) Если же ставить вопрос как "стоит ли вводить две операции сложения строк, одна из которых превращает, другая нет, только ради того, чтобы сэкономить несколько символов в Вашем примере" - я бы наверное сказал таки, что не стоит. Багов будет больше, чем выгоды.

SergSuper
то что выкрутиться всегда можно - кто ж с этим спорит

Я бы поспорил, кто "выкручивается". Передавать два значения в двух переменных по мне - нормально, решение по умолчанию, а вот запихивать, как Вы хотите, в одну переменную сразу и признак "значение найдено" и само найденное значение - хакерство, привет из тёмного прошлого, одного уровня с "если возвращается значение < 0, то это не Id, а код ошибки".
7 июл 10, 19:16    [9067082]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
Sgt.Pepper
Понимаете, тут Вы допускаете, что пробелы гипотетически могут быть какой-то инфой в какой-то предметной области, но примеров таких не приводите, считая, очевидно, Ваше утверждение и так достаточно убедительным аргументом. (Ну, говоря Вашими словами, что может означать 5 пробелов в поле ФИО?). А с пустой строкой говорите, что она кроме как сбить с толку нафиг не нужна, несмотря на то, что кто-то пытается приводить Вам конкретные примеры.


Об убедительности я не думал. Скорей речь идет о сомнениях в пользе пустых строк, но только до выяснения обратного. Из всего что я знал, польза была как попытка их трактовать как свойство отсутвует. Отсутсвие символов, делает ее похожей на NULL - отсутствие значений для любых типов: не даром же их и отождествляют.

Примеры что приводили казались тоже искусственными или предназначеными для прогерства.

Ну 5 прробелов все же строка не пустая. И даже мож в какой-ить БД про шифорования или там еще какой может найти применение. Но даже если нет, то скорей всего, заменить ее луче чем то другим отличным от NULL, не связанным с отсутсвием. Мож и заменят чем-нить. Но видно это пока редкое явление.
Хотя Вы правы. С пол года назад прихоли парни консультироваться почему запрос не так работает в какой-то их БД. Были очень не довольны, уже чуть ли не волосы на себе рвали. Я почти сразу заподозрил пять пробелов, но все же не сходу. Пару минут был сбит с толку: по каким-то причинам они там не ожидались, но оказались.
А вот на пустые строки нарываюсь чаще. Я в Аксцессе все же реже. И иногда забываю про ловушку.
7 июл 10, 19:33    [9067173]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
vadiminfo
Ну 5 прробелов все же строка не пустая.
а два? два пробела - пустая?
7 июл 10, 22:04    [9067719]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Sgt.Pepper
Member

Откуда: spb
Сообщений: 1166
softwarer
Если сервер начнёт trim-ать значения в строковых полях - я, пожалуй, сочту это вполне удобным (включая все последствия, например, срабатывание not null на пяти пробелах).

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

softwarer
То до тех пор, пока они ездят каждый по своей дороге, "стандарт" им, в общем, нафиг не нужен.

Для начала, введение стандарта должно быть обосновано чем-то весомым. Не надо начинать с середины

Я бы сказал так: лучше никакого стандарта, нежели плохой стандарт. Тому, который есть - до хорошего ещё очень далеко. Поэтому я приветствую оправданные отступления от него.

Я согласен с этим как с частью идеального, правильного подхода, но, к сожалению, мерзкие политические соображения вряд ли приведут к возможности такого подхода в обозримом будущем. Стандарт формируется политикой не меньше, чем технологией, и в свою очередь является политическим инструментом. В результате это - нежизнеспособная хрень имени декларации добрых намерений.

Я с Вами не совсем согласен, но это спор более мировоззренческий, чем айтишный.
Не питаю иллюзий - стандарты зачастую являются более бюрократическими, чем техническими решениями, однако, в общем случае, считаю, что "лучше плохо ехать, чем хорошо стоять" и энергию технарей лучше пытаться направить на их изменение, чем на откровенную анархию типа "а никто не доказал мне, что ПДД обосновано чем-то весомым, потому считаю правильным чихать на них нах", тем более, что достоверно знаю, что этот знак "40" только вчера поставили, чтобы срубать с меня деньги. Коли они так - то и я поеду 160!

softwarer
В Израиле, например, в шаббат дорожное движение... существенно уменьшается. Для них это, полагаю, вполне оправданно. Скажите пожалуйста: Вы хотите, чтобы в правила было внесено ограничение на поездки в автомобиле по пятницам и субботам? Только ради того, чтобы все соблюдали единый стандарт?

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

Я хочу сказать что:
Вариант 1. Проверка str_attr is null вернет только null, а не ''. Вариант, ненужность которого должны доказать Вы, а не говорить, что "пока что серьезных примеров не приведено - это никому не нужно".
Вариант 2. str_attr is null вернет не только null, но и ''. Вариант, который Вам кажется оптимальным.
Достигается в oracle, если верить Вадиму, детипизацией '' в null.
Вариант 3. str_attr is null вернет не только null, но и всякие расширения "мусора в текстовом поле, которые легко формализуются как "мусор" типа набора пробелов. Вариант, который Вам кажется также вполне приемлимым, но, похоже, не всем ораклистам.

Так почему бы не пойти по пути осмысленного выбора программистом?
1. str_attr is null
2. isnull(str_attr, '') = ''
3. isnull(trim(str_attr), '') = ''

Ну возможно, придется Вам написать пару лишних символов по варианту 2 или 3, которые Вы бы не хотели писать, но зато сохранится возможность для других использовать в конкретном случае конкретный вариант, да и стандарты не нарушим.
Неужели плата так велика?
7 июл 10, 22:06    [9067726]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
Зайцев Фёдор
vadiminfo
Ну 5 прробелов все же строка не пустая.
а два? два пробела - пустая?

Ну если смотреть в сторону арифметических подходов, то нужна повышеная осмотрительность.
Если проявлять приемлемую обеспокоенность по поводу возможной чрезмерной иррациональности пустой строки в сильно типизированных моделях данных то , скорее всего, можно предположить с разного рода оговорками, что и два пробела для пустй многовато будет. По видимому, одна тысячная пробела может в ряде случаев отдельными исследователями рассматриваться как некоея приближение оного в некоторых тестах для полуструктурированных МД..
7 июл 10, 23:07    [9067917]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Sgt.Pepper
Member

Откуда: spb
Сообщений: 1166
vadiminfo
Ну если смотреть в сторону арифметических подходов, то нужна повышеная осмотрительность.
Если проявлять приемлемую обеспокоенность по поводу возможной чрезмерной иррациональности пустой строки в сильно типизированных моделях данных то , скорее всего, можно предположить с разного рода оговорками, что и два пробела для пустй многовато будет. По видимому, одна тысячная пробела может в ряде случаев отдельными исследователями рассматриваться как некоея приближение оного в некоторых тестах для полуструктурированных МД..

Имелось в виду, что и пустая строка и строка из 2-5 пробелов создают практически идентичную проблему в смысле отсутствия смысла в такой инфе в поле ФИО. Так почему, решая проблему с пустой строкой путем автоматического преобразования ее сервером к null, не поступать так же и с полем из пробелов? А далее и с любым другим набором символов - "как нам кажется строковым мусором", который удастся формализовать?
7 июл 10, 23:30    [9067992]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
Sgt.Pepper
Имелось в виду, что и пустая строка и строка из 2-5 пробелов создают практически идентичную проблему в смысле отсутствия смысла в такой инфе в поле ФИО. Так почему, решая проблему с пустой строкой путем автоматического преобразования ее сервером к null, не поступать так же и с полем из пробелов? А далее и с любым другим набором символов - "как нам кажется строковым мусором", который удастся формализовать?

Возможно, кроме ФИО есть другая инфа, где не пустые строки могут иметь смысл. Но ведь в любом случае в них не отсутсвуют символы. Т.е. если ее чем-то и стоит заменять, то скорее всего не null - отсутсвие значения. Пустая строка - отсутсвие символов, ну близко к осутствию значения, но тем ни менее моно считать и значением. Как отсутсвие оно слабее null (тока строковый тип), а как значение не имеет особого смысла.
При замене с помощью null пробелов или еще чего там, что может не означать смысла никада, возможно, есть дополнительные риски. Наверное, там нужны какие-то исследования.
Но в целом Ваша идея лично мне кажется заманчивой. Возможно, тут вместо null подошло бы waste - мусор. Можно придумать типа пятизначную логику: Ложь, Истина, Не известно, Не определено, Мусор. Посмотреть есть ли от этого польза. А пустые строки пока выкинуть (не ясно что это, мусор, значения, и вообще), до выяснения новых обстоятельств.
7 июл 10, 23:50    [9068060]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Yo.!
Guest
Sgt.Pepper

Имелось в виду, что и пустая строка и строка из 2-5 пробелов создают практически идентичную проблему в смысле отсутствия смысла в такой инфе в поле ФИО. Так почему, решая проблему с пустой строкой путем автоматического преобразования ее сервером к null, не поступать так же и с полем из пробелов? А далее и с любым другим набором символов - "как нам кажется строковым мусором", который удастся формализовать?

мое имхо потому, что вместо нулла веб клиент присылает именно пустую строку, лишая всякого смысла где-то дальше пытаться искусственно разъединить эти понятия ...
8 июл 10, 01:19    [9068357]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
Можно можно записать в varchar not null строку '' ?
Можно создать уникальный индекс по полю, где многократно встречаются '' ?

З.Ы.
Нет оракла под рукой (
8 июл 10, 01:32    [9068378]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 3 4 5 6 7 [8] 9 10 11 12 .. 17   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить