powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Все таки Oracle впереди планеты всей!
25 сообщений из 419, страница 6 из 17
Все таки Oracle впереди планеты всей!
    #36727691
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoЗайцев Фёдорvadiminfo
Т.е. у чела ФИО пустая строка? Шо это значит?
У человека есть адрес. Адрес известен - он пустой, т.к. этот человек - бомж.
Ну я писал про длину крыл у человека. Это примерно то же. Свойство отсутсвует.
Свойство присутствует - и это пустая строка. Т.е. оно было заведено операционистом, в отличии от NULL, где еще ничего не известно.

PS. А не могли бы Вы по-русски писать? Ей богу читать тяжело, да и неприятно.
Если можете, конечно
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36727710
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Зайцев Фёдор
У человека есть адрес. Адрес известен - он пустой, т.к. этот человек - бомж.

поубивал бы таких проектировщиков. в прошлом году отгадывал - вместо адреса есть пробел, пустая строка, # и @ - вот %$@ть что эта хрень означает ?
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36727730
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerСпасибо, я в курсе. Фишка в том, что не все сервера поддерживают это поведение.
я сильно подозреваю, что большинство. Так что не совсем понятно, зачем это считать "логичной фишкой" именно оракла.

softwarerСтарые - это какие? В SQL92 уже было именно так.
в SQL89 было иначе
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36727731
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladКладём дельту на отдельный диск, обеспечиваем постоянный режим работы в режиме бекапа, и получаем почти полный аналог журналирования .

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

hvladПереключение ролей серверов и клиентов - задача не для движка БД и от наличия лога не зависит.

За переподключение клиентов, естевенно, отвечает клиентский механизм доступа к данным, ориентируясь на роль сервера, но вот переключение ролей - это именно задача движка, причем двух "связанных" движков и без той или иной реализации лога, само зеркалирование, переключение ролей и т.п. реализовать практически невозможно.
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36727741
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSupervadiminfoЗайцев Фёдорvadiminfo
Т.е. у чела ФИО пустая строка? Шо это значит?
У человека есть адрес. Адрес известен - он пустой, т.к. этот человек - бомж.
Ну я писал про длину крыл у человека. Это примерно то же. Свойство отсутсвует.
Свойство присутствует - и это пустая строка. Т.е. оно было заведено операционистом, в отличии от NULL, где еще ничего не известно.

PS. А не могли бы Вы по-русски писать? Ей богу читать тяжело, да и неприятно.
Если можете, конечно
Я стараюсь по-русски, но не вседа же получается делать то что мы стараемся.

ФИО - пустая строка не бывает. Ну нет таких ФИО. А то о чем Вы говорите, это типа инициализация. NULL не инициализировано, а пустая инициализировано, но не заполнено - это все програмисткие какие-то манипуляции. Ну если данные не структурированы, без прогерства никак, то да. Ну Оракла не структурированные данные LOBы. Ну там есть такое.
Но что до РМД, то тут данные не нуждаются в таком прогерстве. В этом то все и дело (иначе зачем все это придумывали?). И операционист завел ошибочные данные - пустую строку. А мне теперь делать отчет. Я проверил на NULL, и думал что все хорошо. Распечатали а там половина не заполнено.
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36727743
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!
поубивал бы таких проектировщиков. в прошлом году отгадывал - вместо адреса есть пробел, пустая строка, # и @ - вот %$@ть что эта хрень означает ?
а что она вообще может означать? а что означает "москва пирогова 12-1 50" ?
отвечать не обязательно, ибо адреса - отличная тема для битвы на 100500 страниц )
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36727745
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЕсли потери данных..., то ... делается...

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


Согласитесь, что использовать только встроенные возможности движка куда проще, чем реализовывать все то, что я поскипал в цитировании?!
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36727767
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinhvladКладём дельту на отдельный диск, обеспечиваем постоянный режим работы в режиме бекапа, и получаем почти полный аналог журналирования .

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

pkarklinhvladПереключение ролей серверов и клиентов - задача не для движка БД и от наличия лога не зависит.

За переподключение клиентов, естевенно, отвечает клиентский механизм доступа к данным, ориентируясь на роль сервера, но вот переключение ролей - это именно задача движка, причем двух "связанных" движков Движок БД этим не занимается, уверяю вас. Там есть ещё много других движков.
Уберите возможность переключения ролей - и ничего не сломается с точки зрения работы экземляра БД.

pkarklinи без той или иной реализации лога, само зеркалирование, переключение ролей и т.п. реализовать практически невозможно.Дык "та или иная реализации лога" есть :)
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36727833
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladkdv не говорил о постоянный режиме работы в режиме бекапа.

Видимо мы не совсем понимаем друг друга. :) Каков бы не был режим дискретного бэкапирования возможность восстановления (при отсутствии возможности сделать бэкап того, чего после сбоя не оказалось в бд) существует с дискретностью бэкапов.

hvladДвижок БД этим не занимается, уверяю вас. Там есть ещё много других движков.

Под "движком БД" я понимаю "весь" SQL Server, не разделяя его в данном контексте на Relation Engine, Storage Engine и т.п.

hvladДык "та или иная реализации лога" есть :)

Я с этим и не спорил. :)
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36727889
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinhvladkdv не говорил о постоянный режиме работы в режиме бекапа.

Видимо мы не совсем понимаем друг друга. :) Каков бы не был режим дискретного бэкапирования возможность восстановления (при отсутствии возможности сделать бэкап того, чего после сбоя не оказалось в бд) существует с дискретностью бэкапов.Конечно. Я только намекал на то, что эту самую дискретность можно сделать совсем небольшой.

pkarklinhvladДвижок БД этим не занимается, уверяю вас. Там есть ещё много других движков.

Под "движком БД" я понимаю "весь" SQL Server, не разделяя его в данном контексте на Relation Engine, Storage Engine и т.п.А я - разделяю, и это важно в контексте нашего обсуждения.
Ибо само переключение мастеров при зеркалировании никак не зависит от способа ведения логов.

pkarklinhvladДык "та или иная реализации лога" есть :)

Я с этим и не спорил. :)Вот и славно :)
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36727935
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoНо что до РМД, то тут данные не нуждаются в таком прогерстве. В этом то все и дело (иначе зачем все это придумывали?). И операционист завел ошибочные данные - пустую строку. А мне теперь делать отчет. Я проверил на NULL, и думал что все хорошо. Распечатали а там половина не заполнено.Согласитесь что когда можно проверить и на NULL и на пустую строку - возможностей то больше? Я могу еще узнать делал ли чего операционист и может он осознанно ввел пустую строку. Лучше разве есть он # и @ вместо этого будет ставить?
Вообще странно что надо доказывать что когда больше возможностей это лучше.
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36727964
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoоперационист завел ошибочные данные - пустую строку. А мне теперь делать отчет. Я проверил на NULL, и думал что все хорошо. Распечатали а там половина не заполнено.
where isnull(FLD,'') <> ''
where coalesce(FLD,'') <> ''
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36727969
Фотография Saller
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperВообще странно что надо доказывать что когда больше возможностей это лучше.
Как уже тут кто-то писал: "если я этим не пользуюсь то это никому не нужно".
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36727977
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!в упор не вижу разницы. пароль он или задан или нет. вопрос или есть или нет.

пароль задан и это - пустая строка

vadiminfo
Т.е. у чела ФИО пустая строка? Шо это значит? Я как раз не говорил об отождествлении пустой строки с NULL. Я предлагал Вам отказаться от пустой строки, до выяснения ея смысла. Вот NULL - означает, например, не известно значение. Т.е. у чела есть ФИО, но оно не известно. А что тада означает пустая строка?
Другое дело что свойство может отсутствовать. Например, у чела нет крыльев, поэтому длина крыла ротсутствует. Получается, что у Оракла NULL в общем случае использовать и как свойство отсутсвует. А пустую строку моно было бы трактовать как свойство отсутсвует. Но я все еще думаю, что для свойства отсутствует нуно спец знак и четырехзначная логика. Иначе все равно полумеры, путаница.

NULL означает отсутствующее значение аттрибута (и не важно, будет-ли оно внесено позже или принципиально отсутствует). Пустая строка означает что аттрибут существует и значение его задано пустой строкой. И почему это все полумеры и путаница? Имхо логичнее просто некуда.
ОКТОГЕН
Аргументировать можно как "TRUE - есть, FALSE - нет, NULL - отсутствует или неизвестно ".

поправил
vadiminfo
Ну я писал про длину крыл у человека. Это примерно то же. Свойство отсутсвует.
У Оракла NULL и для не известного, а для свойства отсутсвует как получится. Ну, чаще это декомпозиция. Адреса в другой табле и у бомжей запис в ней отсутсвуют.

т.е. хотите сказать, что в Оракле для отсутствующих свойств необходимо полную декомпозицию что-ли делать, либо делать "как получиться" ? :) Делать реализацию подтипов путем полного разнесения свойств в разные таблицы далеко не всегда хорошо.
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36727982
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin
Согласитесь, что использовать только встроенные возможности движка куда
проще, чем реализовывать все то, что я поскипал в цитировании?!

Соглашусь, если а) эти возможности существуют и б) стабильно работают.
За MS не скажу, а вот Оракул хотя и имеет а, но с б у него проблемы,
судя по регулярно появляющимся темам в соответствующем разделе этого форума.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728031
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergSuperСогласитесь что когда можно проверить и на NULL и на пустую строку - возможностей то больше? Я могу еще узнать делал ли чего операционист и может он осознанно ввел пустую строку. Лучше разве есть он # и @ вместо этого будет ставить?
Вообще странно что надо доказывать что когда больше возможностей это лучше.

перл - предоставляет непомерно больше возможностей, но люди предпочитают строготипизованные языки ограничивающие возможности. и это правильно, потому как угадывать, кто чего подразумевал под пустой строкой глупо.
вообще странно, что нужно доказывать то, что давно победило и является стандартом в вебе ...
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728038
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
судя по регулярно появляющимся темам в соответствующем разделе этого форума.


только нужно учитывать, что там в оракле он будет иметь проблему с зависимостями, в firebird он будет иметь практически неразрешимую жопу ...
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728041
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperСогласитесь что когда можно проверить и на NULL и на пустую строку - возможностей то больше?

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

SergSuper
Я могу еще узнать делал ли чего операционист и может он осознанно ввел пустую строку.

Если это является информационной потребностью, то ожидается что будут специально заводиться какие-то журналы (таблицы в БД) где операционист будет прямо писать что он там делал и зачем, осознанол или нет. Или там аудиты разные.
РМД вроде не предусматривает анализа по таблам, о чем думал операционист. Все должно быть в виде описанных в таблах фактов, и то чего делал операциолист то же, если это представляет информационный интерес.

SergSuper
Лучше разве есть он # и @ вместо этого будет ставить?

Какая разница? Все равно инфы стоящей там извлечь нельзя и в том и другом случае. Если же речь идет о рассуждениях в условиях неопределенности, то для этого есть всякие там датамайнинги. Т.е. возможностей у Оракла хватит.

SergSuper
Вообще странно что надо доказывать что когда больше возможностей это лучше.

Ну не знаю. У мобилы с камерой больше возможностей чем у камеры: последние звонить не могут. Но некоторые покупают только камкеры, а некоторые мобилы без камер.
В данном же случае рациональное от такой типа возможности ставится под сомнение, а гемор от контроля того что же в БД записалось NULL или \'\', и что это значит может вызывать озабоченность временами. Особенно напрягает вместо а IS NULL писть а IS NULL or a = \'\'. Это и читается плоховато и вообще.
Я тоже за возможности. Потому Оракл выбрал. Но этой возможность предпочел бы не пользоваться до выяснения чего-то рационального в ней.
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728070
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperВообще странно что надо доказывать что когда больше возможностей это лучше.Странно, что надо доказывать, что снижение удобства использования это плохо.
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728091
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerSпароль, или секретный ответ на вопрос. Есть принципиальная разница в пустом пароле и отсутствии пароля.
Замечательно. Тот самый единственный пример. Наконец-то кто-то вспомнил про ситуацию "пустой пароль мы сохраняем и не запрашиваем повторно, а при отсутствии пароля - запрашиваем его у пользователя". Правда, для СУБД это очень редкая задача :)

StalkerSВывод на экран существуюших аттрибутов некоего обьекта. Выводим только те, кто имеет не null. Какой-то аттрибут может иметь пустую строку в качестве значения. Пользователь может увидеть это и отреагировать
Это уже не "конкретный пример", а некие абстрактные философствования с закольцованной логикой: "это нужно потому что может понадобиться для чего-нибудь".

StalkerSМне например, тождественность null и "пусто" совсем не кажется удобным.
Если Вы работали и в той, и в другой реализации - с интересом выслушаю Ваше мнение о плюсах и минусах. Если же нет - подчеркну, что "кажется" не всегда выдерживает столкновение с реальностью.

StalkerSКак я уже приводил пример сверху, кому-то показалось удобным присваивать дефолтные значения value типам в бейсике,
Кстати, я не увидел в приведённом примере дефолтных значений. Может быть, конечно, и такая реализация, но увидел я всего лишь умное поведение для случая obj = null, сродни классическому дельфовому

Код: plaintext
1.
2.
3.
4.
 procedure  TObject.Free;
 begin 
   if  Self <>  nil   then 
    Destroy;
 end ;

StalkerSНеужели в конце концов так трудно написать isnull() ?
О, это один из тех вопросов, который отличает "теоретиков" от "практиков". Первые уверены, что нетрудно. Вторые, написав этот isnull() несколько десятков, несколько сотен или несколько тысяч раз, начинают любить теории других теоретиков, где не нужно заниматься подобной тупизной.

StalkerSНе понятно на самом деле, Вадим вон пишет что is null и = '' возвращают разные значения.
Они действительно возвращают разные значения. Тем не менее я.. изрядно не согласен с формулировками Вадима и не готов за них отвечать.

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

StalkerSдопустим есть какая-то выплата, она может быть привязана к какому-то договору, может нет ... если бы null не был бы пустой строкой, можно было бы просто написать ...
А в чём разница, если null - пустая строка? Заменить nvl на nvl2 - и всего делов-то. С другой стороны, когда null - не пустая строка, простейшее выражение вида name || patronymic || surname превращаются в нечто нечитаемое.
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728122
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov AndreySergSuperВообще странно что надо доказывать что когда больше возможностей это лучше.Странно, что надо доказывать, что снижение удобства использования это плохо.да, я неудачно выразился
я имел в виду больше информации
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728127
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerSNULL означает отсутствующее значение аттрибута (и не важно, будет-ли оно внесено позже или принципиально отсутствует). Пустая строка означает что аттрибут существует и значение его задано пустой строкой. И почему это все полумеры и путаница? Имхо логичнее просто некуда.

Все дел в том что может быть важно: не известно или значение отсутсвует. Если не важно и NULL и для того и для другого подходит в данной МД, то пустая строка зачем нужна вообще не ясно.
Значение заданное пустой строкой не имеет смысла в большинстве случаев в реальном мире, который собсно и отражается в БД.
Про полумеры - это если NULL использовать как не известно, а типа пустую строку как свойство не определено. Т.е. это я типа искал какое-то применение пустым строкам.

StalkerS
т.е. хотите сказать, что в Оракле для отсутствующих свойств необходимо полную декомпозицию что-ли делать, либо делать "как получиться" ? :) Делать реализацию подтипов путем полного разнесения свойств в разные таблицы далеко не всегда хорошо.
Я имел в виду что не только в Оракле декомпозиция чаcто применяется для отсутсвующих свойст. Ну действительно, табла со свойствами, которых заведомо нет у сущностей, выглядит как некоея искажение отображения реальности в БД. И констатировал, что это ближе к NULL чем '', если декомпозицию не делать.
Если нет четырехзначной логики, то и использование пустых строк для таких свойт, чтобы отличать их от не известно (которые толкуются в этом случае NULL) - полумера, которая не на много улучшает картину, но все так же чревато путанницей.
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728140
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!
только нужно учитывать, что там в оракле он будет иметь проблему с
зависимостями, в firebird он будет иметь практически неразрешимую жопу ...

Поскольку мне в техподдержку таковых жалоб не поступало, могу
авторитетно заявить, что "неразрешимая жопа" существует исключительно в
твоём воображении.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728145
Sgt.Pepper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoВ данном же случае рациональное от такой типа возможности ставится под сомнение, а гемор от контроля того что же в БД записалось NULL или '', и что это значит может вызывать озабоченность временами. Особенно напрягает вместо а IS NULL писть а IS NULL or a = ''. Это и читается плоховато и вообще.
Можно, как уже говорилось, isnull(str_attr, '') = '', символов не намного больше, чем str_attr is null.
А может пойти еще дальше, и строку, состоящую ТОЛЬКО из n пробелов также заненять на null, ведь временами и это вызывает озабоченность не меньшую, чем '' - пустая строка?

vadiminfoЯ тоже за возможности. Потому Оракл выбрал. Но этой возможность предпочел бы не пользоваться до выяснения чего-то рационального в ней.
Давний пример в свете дилеммы "правильно" - "удобно" - использование from dual. Вы бы предпочли этим пользоваться или нет, если бы oracle позволял просто "select 1"?
...
Рейтинг: 0 / 0
Все таки Oracle впереди планеты всей!
    #36728164
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Поскольку мне в техподдержку таковых жалоб не поступало, могу
авторитетно заявить, что "неразрешимая жопа" существует исключительно в
твоём воображении.

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

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


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