powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Все таки Oracle впереди планеты всей!
25 сообщений из 419, страница 8 из 17
Все таки Oracle впереди планеты всей!
    #36728586
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Gluk (Kazan)
А кто сказал, что в Oracle репликацию можно делать только Stream-ом?

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


А смысл?

Dimitry Sibiryakov
Gluk (Kazan)
А вот Stream в FB придется искать очень пристально и долго

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


Затем же зачем и в Oracle :) Для маркетингу.
Звучит красиво, народу нравится
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728590
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!
в этом и проблема - никому не нужна простая репликация для Firebird, но
всем нужна не простая для оракла

Ну тогда теперь твоя очередь рассказывать какая же репликация всем нужна
для Firebird, а я буду описывать ад, через который придётся пройти чтобы
её получить.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728600
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerSЕсли переформулировать задачу как требуется отличать незаданные/неприменимые аттрибуты и аттрибуты, инициализированные дефолтными значениями , то возможно задача не окажется такой-уж и редкой
Во-первых, про "дефолтные значения" тут написано что-то.. имхо вообще не в тему. А вообще - ну дык называйте, смелее. Конкретные примеры. Чем больше, тем лучше. А то ради одного-двух случаев городить огород...

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

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

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

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

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

StalkerS"Не то, к чему я привык" - вовсе не всегда "удобство", часто наоборот.
Безусловно. Именно поэтому стоит пробовать и сравнивать фактический материал.
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728610
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)А смысл?

Чтобы смелое заявление "в Oracle репликацию можно делать не только
Stream-ом" не осталось пердежом в лужу голословным.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728615
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Gluk (Kazan)А смысл?

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


ты не поверишь, до какой степени мне плевать на твои неумелые подначки
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728630
Sgt.Pepper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer"пять пробелов" имеют единственный смысл - мусорить в данных.
Именно. Но если вдруг такое безобразие все-таки просочилось в текстовое поле в БД, то давайте его тоже считать за null, т.к. смысла в таком значении атрибута все равно никакого, а удобства в приведении к null - навалом. Это было бы логичным продолжением Вашей подмены '' на null, как мне показалось. VadimInfo, правда, допускает у пяти пробелов какой-то смысл в какой-то гипотетической предметной области.

softwarerХм. Для сержанта такая точка зрения, в общем, ожидаема ;-) Устав и два наряда вне очереди.
Честно говоря, не очень понял этот переход на личности.
Я имел в виду, что когда одному удобно правостороннее движение, другому левостороннее, третьей ездить на красный, т.к. у нее машинка красненькая, то, возможно, лучшим компромиссом для всех является принятие ПДД и их соблюдение.
Отказ от стандартов должен по хорошему иметь что-то более весомое, чем удобно-неудобно, и если Ваша (оракловая) фишка реально востребована и нужна, приводить к изменениям самого стандарта.
Никаких нарядов - где Вы разглядели? :)
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728638
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pkarklin_модСтрока - набор символов. Нет символов - нет строки, т.е. null

Да щаз...
Код: plaintext
1.
2.
3.
4.
5.
6.
SQLWKS> select length('') from dual
      2 > 
LENGTH('')
----------
          
Выбрана  1  строка.
нету строки
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728650
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperну наверное реже чем со строками, но тоже приходится например считается задолженность как основной долг+начисленные проценты-погашенные проценты-погашение долга
операций по 3-м последним может не быть и сумма будет null
То, что "сумма будет null" - большая глупость стандарта, безусловно. Я уже давно говорю, что арифметические операции с null аргументами должны приводить не к null, а к exception.

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

Код: plaintext
select debt + coalesce (interests,  0 ) - coalesce (paid_debt) - coalesce (paid_interests)

SergSuper я пару примеров привел
/topic/771770&pg=5#9062340
/topic/771770&pg=5#9063040
На один я уже высказался насчёт nvl2. Другой - меня смущает назначение платежа "пустая строка", но имхо это делается опять же иначе, причём вне зависимости от сервера и соглашения о пустых строках:

Код: plaintext
function GetDestination (p_Dest in out varchar) return boolean is\nbegin\n  return GetDestination1 (p_Dest) || GetDestination2 (p_Dest) || GetDestination3 (p_Dest);\nend;
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728667
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Ну тогда теперь твоя очередь рассказывать какая же репликация всем нужна
для Firebird, а я буду описывать ад, через который придётся пройти чтобы
её получить.

та которая осилит репликацию задачи типа TPC-C под нагрузкой хотя бы 50к tps
так, что с зависимостями - очередная газификация лужи окончена или еще будут попытки ?
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728702
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sgt.PepperИменно. Но если вдруг такое безобразие все-таки просочилось в текстовое поле в БД, то давайте его тоже считать за null,
(пожимая плечами) Мне, в общем, безразлично. Если сервер начнёт trim-ать значения в строковых полях - я, пожалуй, сочту это вполне удобным (включая все последствия, например, срабатывание not null на пяти пробелах).

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

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

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

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

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

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

Sgt.Pepperи если Ваша (оракловая) фишка реально востребована и нужна, приводить к изменениям самого стандарта.
Я согласен с этим как с частью идеального, правильного подхода, но, к сожалению, мерзкие политические соображения вряд ли приведут к возможности такого подхода в обозримом будущем. Стандарт формируется политикой не меньше, чем технологией, и в свою очередь является политическим инструментом. В результате это - нежизнеспособная хрень имени декларации добрых намерений. Мне вот до сих пор интересно, есть ли хоть один сервер, в котором реализована прописанная в стандарте конструкция except (со смыслом ораклового minus).
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728721
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!
та которая осилит репликацию задачи типа TPC-C под нагрузкой хотя бы 50к tps

Не, писькомерятельской репликации для Firebird действительно не
существует. Но и через ад проходить не придётся, ибо некому.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728733
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerМне вот до сих пор интересно, есть ли хоть один сервер, в котором реализована прописанная в стандарте конструкция except (со смыслом ораклового minus).
MSSQK )
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728738
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerSergSuperну наверное реже чем со строками, но тоже приходится например считается задолженность как основной долг+начисленные проценты-погашенные проценты-погашение долга
операций по 3-м последним может не быть и сумма будет null
То, что "сумма будет null" - большая глупость стандарта, безусловно. Я уже давно говорю, что арифметические операции с null аргументами должны приводить не к null, а к exception.
а там нет арифметических операций с null-ами, там просто данных нетsoftwarer
Тем не менее, не очень понимаю, где Вы там собрались писать условие вида a is null or a = 0. То, что Вы написали, реализуется примерно так:

Код: plaintext
select debt + coalesce (interests,  0 ) - coalesce (paid_debt) - coalesce (paid_interests)

ну собственно я и "a is null or a = 0" не писал - вместо этого coalesce (a, \'\') softwarer
SergSuper я пару примеров привел
/topic/771770&pg=5#9062340
/topic/771770&pg=5#9063040
На один я уже высказался насчёт nvl2.это хуже - первую переменную надо два раза писать
softwarerДругой - меня смущает назначение платежа "пустая строка"
я там несколько всё упростил - на самом деле есть шаблон назначения платежа, в нем есть некие идентификаторы (не знаю как правильно назвать), которые должны заменяться значениями функций
т.е. это не должно смущать
softwarer, но имхо это делается опять же иначе, причём вне зависимости от сервера и соглашения о пустых строках:

Код: plaintext
function GetDestination (p_Dest in out varchar) return boolean is\nbegin\n  return GetDestination1 (p_Dest) || GetDestination2 (p_Dest) || GetDestination3 (p_Dest);\nend;
нет, так не пойдёт - если первая функция что-то вернула, то этот результат и возвращается, если ничего не вернула - то считается следующая функция
а вернуть она может пустую строку и это должен быть окончательный результат
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728760
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_мод
Код: plaintext
1.
2.
3.
4.
5.
6.
SQLWKS> select length('') from dual
      2 > 
LENGTH('')
----------
          
Выбрана  1  строка.
нету строки

Код: plaintext
1.
2.
3.
4.
5.
select len(''), LEN(NULL)

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

( 1  row(s) affected)

И?
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728793
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperну собственно я и "a is null or a = 0" не писал
Значит, кто-то где-то потерял контекст разговора :) Потому как я спрашивал именно про такую конструкцию и Вы ответили "не так часто, как со строками, но приходится".

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

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

Код: plaintext
1.
2.
3.
function GetDestination (p_Dest in out varchar) return boolean is
begin
  return GetDestination1 (p_Dest) or GetDestination2 (p_Dest) or GetDestination3 (p_Dest);
end;

Надеюсь, так - вопросов не возникнет.
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728854
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerЭто "хуже" сполна компенсируется отсутствием nvl-ей в выражениях вида a || b.таки значит есть что компенсировать?

softwarer
Код: plaintext
1.
2.
3.
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 всё не превращало, например вместо плюса те же две палки
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728907
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperтаки значит есть что компенсировать?

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

SergSuperто что выкрутиться всегда можно - кто ж с этим спорит
Я бы поспорил, кто "выкручивается". Передавать два значения в двух переменных по мне - нормально, решение по умолчанию, а вот запихивать, как Вы хотите, в одну переменную сразу и признак "значение найдено" и само найденное значение - хакерство, привет из тёмного прошлого, одного уровня с "если возвращается значение < 0, то это не Id, а код ошибки".
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728932
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sgt.PepperПонимаете, тут Вы допускаете, что пробелы гипотетически могут быть какой-то инфой в какой-то предметной области, но примеров таких не приводите, считая, очевидно, Ваше утверждение и так достаточно убедительным аргументом. (Ну, говоря Вашими словами, что может означать 5 пробелов в поле ФИО?). А с пустой строкой говорите, что она кроме как сбить с толку нафиг не нужна, несмотря на то, что кто-то пытается приводить Вам конкретные примеры.


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

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

Ну 5 прробелов все же строка не пустая. И даже мож в какой-ить БД про шифорования или там еще какой может найти применение. Но даже если нет, то скорей всего, заменить ее луче чем то другим отличным от NULL, не связанным с отсутсвием. Мож и заменят чем-нить. Но видно это пока редкое явление.
Хотя Вы правы. С пол года назад прихоли парни консультироваться почему запрос не так работает в какой-то их БД. Были очень не довольны, уже чуть ли не волосы на себе рвали. Я почти сразу заподозрил пять пробелов, но все же не сходу. Пару минут был сбит с толку: по каким-то причинам они там не ожидались, но оказались.
А вот на пустые строки нарываюсь чаще. Я в Аксцессе все же реже. И иногда забываю про ловушку.
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36729123
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoНу 5 прробелов все же строка не пустая.а два? два пробела - пустая?
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36729126
Sgt.Pepper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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, которые Вы бы не хотели писать, но зато сохранится возможность для других использовать в конкретном случае конкретный вариант, да и стандарты не нарушим.
Неужели плата так велика?
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36729176
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайцев ФёдорvadiminfoНу 5 прробелов все же строка не пустая.а два? два пробела - пустая?
Ну если смотреть в сторону арифметических подходов, то нужна повышеная осмотрительность.
Если проявлять приемлемую обеспокоенность по поводу возможной чрезмерной иррациональности пустой строки в сильно типизированных моделях данных то , скорее всего, можно предположить с разного рода оговорками, что и два пробела для пустй многовато будет. По видимому, одна тысячная пробела может в ряде случаев отдельными исследователями рассматриваться как некоея приближение оного в некоторых тестах для полуструктурированных МД..
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36729197
Sgt.Pepper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoНу если смотреть в сторону арифметических подходов, то нужна повышеная осмотрительность.
Если проявлять приемлемую обеспокоенность по поводу возможной чрезмерной иррациональности пустой строки в сильно типизированных моделях данных то , скорее всего, можно предположить с разного рода оговорками, что и два пробела для пустй многовато будет. По видимому, одна тысячная пробела может в ряде случаев отдельными исследователями рассматриваться как некоея приближение оного в некоторых тестах для полуструктурированных МД..
Имелось в виду, что и пустая строка и строка из 2-5 пробелов создают практически идентичную проблему в смысле отсутствия смысла в такой инфе в поле ФИО. Так почему, решая проблему с пустой строкой путем автоматического преобразования ее сервером к null, не поступать так же и с полем из пробелов? А далее и с любым другим набором символов - "как нам кажется строковым мусором", который удастся формализовать?
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36729216
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sgt.PepperИмелось в виду, что и пустая строка и строка из 2-5 пробелов создают практически идентичную проблему в смысле отсутствия смысла в такой инфе в поле ФИО. Так почему, решая проблему с пустой строкой путем автоматического преобразования ее сервером к null, не поступать так же и с полем из пробелов? А далее и с любым другим набором символов - "как нам кажется строковым мусором", который удастся формализовать?
Возможно, кроме ФИО есть другая инфа, где не пустые строки могут иметь смысл. Но ведь в любом случае в них не отсутсвуют символы. Т.е. если ее чем-то и стоит заменять, то скорее всего не null - отсутсвие значения. Пустая строка - отсутсвие символов, ну близко к осутствию значения, но тем ни менее моно считать и значением. Как отсутсвие оно слабее null (тока строковый тип), а как значение не имеет особого смысла.
При замене с помощью null пробелов или еще чего там, что может не означать смысла никада, возможно, есть дополнительные риски. Наверное, там нужны какие-то исследования.
Но в целом Ваша идея лично мне кажется заманчивой. Возможно, тут вместо null подошло бы waste - мусор. Можно придумать типа пятизначную логику: Ложь, Истина, Не известно, Не определено, Мусор. Посмотреть есть ли от этого польза. А пустые строки пока выкинуть (не ясно что это, мусор, значения, и вообще), до выяснения новых обстоятельств.
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36729285
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sgt.Pepper
Имелось в виду, что и пустая строка и строка из 2-5 пробелов создают практически идентичную проблему в смысле отсутствия смысла в такой инфе в поле ФИО. Так почему, решая проблему с пустой строкой путем автоматического преобразования ее сервером к null, не поступать так же и с полем из пробелов? А далее и с любым другим набором символов - "как нам кажется строковым мусором", который удастся формализовать?
мое имхо потому, что вместо нулла веб клиент присылает именно пустую строку, лишая всякого смысла где-то дальше пытаться искусственно разъединить эти понятия ...
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36729296
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно можно записать в varchar not null строку '' ?
Можно создать уникальный индекс по полю, где многократно встречаются '' ?

З.Ы.
Нет оракла под рукой (
...
Рейтинг: 0 / 0
25 сообщений из 419, страница 8 из 17
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Все таки Oracle впереди планеты всей!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]