Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
vadiminfoЗайцев Фёдорvadiminfo Т.е. у чела ФИО пустая строка? Шо это значит? У человека есть адрес. Адрес известен - он пустой, т.к. этот человек - бомж. Ну я писал про длину крыл у человека. Это примерно то же. Свойство отсутсвует. Свойство присутствует - и это пустая строка. Т.е. оно было заведено операционистом, в отличии от NULL, где еще ничего не известно. PS. А не могли бы Вы по-русски писать? Ей богу читать тяжело, да и неприятно. Если можете, конечно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 12:46 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Зайцев Фёдор У человека есть адрес. Адрес известен - он пустой, т.к. этот человек - бомж. поубивал бы таких проектировщиков. в прошлом году отгадывал - вместо адреса есть пробел, пустая строка, # и @ - вот %$@ть что эта хрень означает ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 12:52 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
softwarerСпасибо, я в курсе. Фишка в том, что не все сервера поддерживают это поведение. я сильно подозреваю, что большинство. Так что не совсем понятно, зачем это считать "логичной фишкой" именно оракла. softwarerСтарые - это какие? В SQL92 уже было именно так. в SQL89 было иначе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 12:58 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
hvladКладём дельту на отдельный диск, обеспечиваем постоянный режим работы в режиме бекапа, и получаем почти полный аналог журналирования . Согласитесь, что все таки не полный, ибо, как совершенно верно подметил kdv, восстановиться можно будет на момент завершения последнего инкрементного бэкапа, а не на момент сбоя. hvladПереключение ролей серверов и клиентов - задача не для движка БД и от наличия лога не зависит. За переподключение клиентов, естевенно, отвечает клиентский механизм доступа к данным, ориентируясь на роль сервера, но вот переключение ролей - это именно задача движка, причем двух "связанных" движков и без той или иной реализации лога, само зеркалирование, переключение ролей и т.п. реализовать практически невозможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 12:59 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
SergSupervadiminfoЗайцев Фёдорvadiminfo Т.е. у чела ФИО пустая строка? Шо это значит? У человека есть адрес. Адрес известен - он пустой, т.к. этот человек - бомж. Ну я писал про длину крыл у человека. Это примерно то же. Свойство отсутсвует. Свойство присутствует - и это пустая строка. Т.е. оно было заведено операционистом, в отличии от NULL, где еще ничего не известно. PS. А не могли бы Вы по-русски писать? Ей богу читать тяжело, да и неприятно. Если можете, конечно Я стараюсь по-русски, но не вседа же получается делать то что мы стараемся. ФИО - пустая строка не бывает. Ну нет таких ФИО. А то о чем Вы говорите, это типа инициализация. NULL не инициализировано, а пустая инициализировано, но не заполнено - это все програмисткие какие-то манипуляции. Ну если данные не структурированы, без прогерства никак, то да. Ну Оракла не структурированные данные LOBы. Ну там есть такое. Но что до РМД, то тут данные не нуждаются в таком прогерстве. В этом то все и дело (иначе зачем все это придумывали?). И операционист завел ошибочные данные - пустую строку. А мне теперь делать отчет. Я проверил на NULL, и думал что все хорошо. Распечатали а там половина не заполнено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 13:01 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Yo.! поубивал бы таких проектировщиков. в прошлом году отгадывал - вместо адреса есть пробел, пустая строка, # и @ - вот %$@ть что эта хрень означает ? а что она вообще может означать? а что означает "москва пирогова 12-1 50" ? отвечать не обязательно, ибо адреса - отличная тема для битвы на 100500 страниц ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 13:02 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЕсли потери данных..., то ... делается... Поведение любого сервера в этом плане одинаково. Различаются только используемые средства. Согласитесь, что использовать только встроенные возможности движка куда проще, чем реализовывать все то, что я поскипал в цитировании?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 13:02 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
pkarklinhvladКладём дельту на отдельный диск, обеспечиваем постоянный режим работы в режиме бекапа, и получаем почти полный аналог журналирования . Согласитесь, что все таки не полный, ибо, как совершенно верно подметил kdv, восстановиться можно будет на момент завершения последнего инкрементного бэкапа, а не на момент сбоя.Во-первых, я выше написал "почти полный аналог" Во-вторых, kdv не говорил о постоянный режиме работы в режиме бекапа. pkarklinhvladПереключение ролей серверов и клиентов - задача не для движка БД и от наличия лога не зависит. За переподключение клиентов, естевенно, отвечает клиентский механизм доступа к данным, ориентируясь на роль сервера, но вот переключение ролей - это именно задача движка, причем двух "связанных" движков Движок БД этим не занимается, уверяю вас. Там есть ещё много других движков. Уберите возможность переключения ролей - и ничего не сломается с точки зрения работы экземляра БД. pkarklinи без той или иной реализации лога, само зеркалирование, переключение ролей и т.п. реализовать практически невозможно.Дык "та или иная реализации лога" есть :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 13:08 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
hvladkdv не говорил о постоянный режиме работы в режиме бекапа. Видимо мы не совсем понимаем друг друга. :) Каков бы не был режим дискретного бэкапирования возможность восстановления (при отсутствии возможности сделать бэкап того, чего после сбоя не оказалось в бд) существует с дискретностью бэкапов. hvladДвижок БД этим не занимается, уверяю вас. Там есть ещё много других движков. Под "движком БД" я понимаю "весь" SQL Server, не разделяя его в данном контексте на Relation Engine, Storage Engine и т.п. hvladДык "та или иная реализации лога" есть :) Я с этим и не спорил. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 13:25 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
pkarklinhvladkdv не говорил о постоянный режиме работы в режиме бекапа. Видимо мы не совсем понимаем друг друга. :) Каков бы не был режим дискретного бэкапирования возможность восстановления (при отсутствии возможности сделать бэкап того, чего после сбоя не оказалось в бд) существует с дискретностью бэкапов.Конечно. Я только намекал на то, что эту самую дискретность можно сделать совсем небольшой. pkarklinhvladДвижок БД этим не занимается, уверяю вас. Там есть ещё много других движков. Под "движком БД" я понимаю "весь" SQL Server, не разделяя его в данном контексте на Relation Engine, Storage Engine и т.п.А я - разделяю, и это важно в контексте нашего обсуждения. Ибо само переключение мастеров при зеркалировании никак не зависит от способа ведения логов. pkarklinhvladДык "та или иная реализации лога" есть :) Я с этим и не спорил. :)Вот и славно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 13:38 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
vadiminfoНо что до РМД, то тут данные не нуждаются в таком прогерстве. В этом то все и дело (иначе зачем все это придумывали?). И операционист завел ошибочные данные - пустую строку. А мне теперь делать отчет. Я проверил на NULL, и думал что все хорошо. Распечатали а там половина не заполнено.Согласитесь что когда можно проверить и на NULL и на пустую строку - возможностей то больше? Я могу еще узнать делал ли чего операционист и может он осознанно ввел пустую строку. Лучше разве есть он # и @ вместо этого будет ставить? Вообще странно что надо доказывать что когда больше возможностей это лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 13:50 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
vadiminfoоперационист завел ошибочные данные - пустую строку. А мне теперь делать отчет. Я проверил на NULL, и думал что все хорошо. Распечатали а там половина не заполнено. where isnull(FLD,'') <> '' where coalesce(FLD,'') <> '' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 14:00 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
SergSuperВообще странно что надо доказывать что когда больше возможностей это лучше. Как уже тут кто-то писал: "если я этим не пользуюсь то это никому не нужно". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 14:01 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Yo.!в упор не вижу разницы. пароль он или задан или нет. вопрос или есть или нет. пароль задан и это - пустая строка vadiminfo Т.е. у чела ФИО пустая строка? Шо это значит? Я как раз не говорил об отождествлении пустой строки с NULL. Я предлагал Вам отказаться от пустой строки, до выяснения ея смысла. Вот NULL - означает, например, не известно значение. Т.е. у чела есть ФИО, но оно не известно. А что тада означает пустая строка? Другое дело что свойство может отсутствовать. Например, у чела нет крыльев, поэтому длина крыла ротсутствует. Получается, что у Оракла NULL в общем случае использовать и как свойство отсутсвует. А пустую строку моно было бы трактовать как свойство отсутсвует. Но я все еще думаю, что для свойства отсутствует нуно спец знак и четырехзначная логика. Иначе все равно полумеры, путаница. NULL означает отсутствующее значение аттрибута (и не важно, будет-ли оно внесено позже или принципиально отсутствует). Пустая строка означает что аттрибут существует и значение его задано пустой строкой. И почему это все полумеры и путаница? Имхо логичнее просто некуда. ОКТОГЕН Аргументировать можно как "TRUE - есть, FALSE - нет, NULL - отсутствует или неизвестно ". поправил vadiminfo Ну я писал про длину крыл у человека. Это примерно то же. Свойство отсутсвует. У Оракла NULL и для не известного, а для свойства отсутсвует как получится. Ну, чаще это декомпозиция. Адреса в другой табле и у бомжей запис в ней отсутсвуют. т.е. хотите сказать, что в Оракле для отсутствующих свойств необходимо полную декомпозицию что-ли делать, либо делать "как получиться" ? :) Делать реализацию подтипов путем полного разнесения свойств в разные таблицы далеко не всегда хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 14:03 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
pkarklin Согласитесь, что использовать только встроенные возможности движка куда проще, чем реализовывать все то, что я поскипал в цитировании?! Соглашусь, если а) эти возможности существуют и б) стабильно работают. За MS не скажу, а вот Оракул хотя и имеет а, но с б у него проблемы, судя по регулярно появляющимся темам в соответствующем разделе этого форума. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 14:05 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
SergSuperСогласитесь что когда можно проверить и на NULL и на пустую строку - возможностей то больше? Я могу еще узнать делал ли чего операционист и может он осознанно ввел пустую строку. Лучше разве есть он # и @ вместо этого будет ставить? Вообще странно что надо доказывать что когда больше возможностей это лучше. перл - предоставляет непомерно больше возможностей, но люди предпочитают строготипизованные языки ограничивающие возможности. и это правильно, потому как угадывать, кто чего подразумевал под пустой строкой глупо. вообще странно, что нужно доказывать то, что давно победило и является стандартом в вебе ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 14:28 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov судя по регулярно появляющимся темам в соответствующем разделе этого форума. только нужно учитывать, что там в оракле он будет иметь проблему с зависимостями, в firebird он будет иметь практически неразрешимую жопу ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 14:31 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
SergSuperСогласитесь что когда можно проверить и на NULL и на пустую строку - возможностей то больше? Ну тада можно еще понавводить всяких возможностей: отрицательная строка, Лябда строка и т.д. И проверять их на здоровье. Но ведь, возможно, что МД придумывали не для того, скорее всего, чтобы обременять разработчика провераками чего-го выходящего за предметную область. Скорее все же для того, чтобы в БД была инфа о предметной области, которую можно извлекть не отвлекаясь на какие-то неожиданные особонности. SergSuper Я могу еще узнать делал ли чего операционист и может он осознанно ввел пустую строку. Если это является информационной потребностью, то ожидается что будут специально заводиться какие-то журналы (таблицы в БД) где операционист будет прямо писать что он там делал и зачем, осознанол или нет. Или там аудиты разные. РМД вроде не предусматривает анализа по таблам, о чем думал операционист. Все должно быть в виде описанных в таблах фактов, и то чего делал операциолист то же, если это представляет информационный интерес. SergSuper Лучше разве есть он # и @ вместо этого будет ставить? Какая разница? Все равно инфы стоящей там извлечь нельзя и в том и другом случае. Если же речь идет о рассуждениях в условиях неопределенности, то для этого есть всякие там датамайнинги. Т.е. возможностей у Оракла хватит. SergSuper Вообще странно что надо доказывать что когда больше возможностей это лучше. Ну не знаю. У мобилы с камерой больше возможностей чем у камеры: последние звонить не могут. Но некоторые покупают только камкеры, а некоторые мобилы без камер. В данном же случае рациональное от такой типа возможности ставится под сомнение, а гемор от контроля того что же в БД записалось NULL или \'\', и что это значит может вызывать озабоченность временами. Особенно напрягает вместо а IS NULL писть а IS NULL or a = \'\'. Это и читается плоховато и вообще. Я тоже за возможности. Потому Оракл выбрал. Но этой возможность предпочел бы не пользоваться до выяснения чего-то рационального в ней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 14:32 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
SergSuperВообще странно что надо доказывать что когда больше возможностей это лучше.Странно, что надо доказывать, что снижение удобства использования это плохо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 14:42 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
StalkerSпароль, или секретный ответ на вопрос. Есть принципиальная разница в пустом пароле и отсутствии пароля. Замечательно. Тот самый единственный пример. Наконец-то кто-то вспомнил про ситуацию "пустой пароль мы сохраняем и не запрашиваем повторно, а при отсутствии пароля - запрашиваем его у пользователя". Правда, для СУБД это очень редкая задача :) StalkerSВывод на экран существуюших аттрибутов некоего обьекта. Выводим только те, кто имеет не null. Какой-то аттрибут может иметь пустую строку в качестве значения. Пользователь может увидеть это и отреагировать Это уже не "конкретный пример", а некие абстрактные философствования с закольцованной логикой: "это нужно потому что может понадобиться для чего-нибудь". StalkerSМне например, тождественность null и "пусто" совсем не кажется удобным. Если Вы работали и в той, и в другой реализации - с интересом выслушаю Ваше мнение о плюсах и минусах. Если же нет - подчеркну, что "кажется" не всегда выдерживает столкновение с реальностью. StalkerSКак я уже приводил пример сверху, кому-то показалось удобным присваивать дефолтные значения value типам в бейсике, Кстати, я не увидел в приведённом примере дефолтных значений. Может быть, конечно, и такая реализация, но увидел я всего лишь умное поведение для случая obj = null, сродни классическому дельфовому Код: plaintext 1. 2. 3. 4. StalkerSНеужели в конце концов так трудно написать isnull() ? О, это один из тех вопросов, который отличает "теоретиков" от "практиков". Первые уверены, что нетрудно. Вторые, написав этот isnull() несколько десятков, несколько сотен или несколько тысяч раз, начинают любить теории других теоретиков, где не нужно заниматься подобной тупизной. StalkerSНе понятно на самом деле, Вадим вон пишет что is null и = '' возвращают разные значения. Они действительно возвращают разные значения. Тем не менее я.. изрядно не согласен с формулировками Вадима и не готов за них отвечать. StalkerSИмхо, выглядит как усложнение на ровном месте "Не то, к чему я привык" - вовсе не всегда "усложнение", часто наоборот. StalkerSдопустим есть какая-то выплата, она может быть привязана к какому-то договору, может нет ... если бы null не был бы пустой строкой, можно было бы просто написать ... А в чём разница, если null - пустая строка? Заменить nvl на nvl2 - и всего делов-то. С другой стороны, когда null - не пустая строка, простейшее выражение вида name || patronymic || surname превращаются в нечто нечитаемое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 14:48 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Bogdanov AndreySergSuperВообще странно что надо доказывать что когда больше возможностей это лучше.Странно, что надо доказывать, что снижение удобства использования это плохо.да, я неудачно выразился я имел в виду больше информации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 14:57 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
StalkerSNULL означает отсутствующее значение аттрибута (и не важно, будет-ли оно внесено позже или принципиально отсутствует). Пустая строка означает что аттрибут существует и значение его задано пустой строкой. И почему это все полумеры и путаница? Имхо логичнее просто некуда. Все дел в том что может быть важно: не известно или значение отсутсвует. Если не важно и NULL и для того и для другого подходит в данной МД, то пустая строка зачем нужна вообще не ясно. Значение заданное пустой строкой не имеет смысла в большинстве случаев в реальном мире, который собсно и отражается в БД. Про полумеры - это если NULL использовать как не известно, а типа пустую строку как свойство не определено. Т.е. это я типа искал какое-то применение пустым строкам. StalkerS т.е. хотите сказать, что в Оракле для отсутствующих свойств необходимо полную декомпозицию что-ли делать, либо делать "как получиться" ? :) Делать реализацию подтипов путем полного разнесения свойств в разные таблицы далеко не всегда хорошо. Я имел в виду что не только в Оракле декомпозиция чаcто применяется для отсутсвующих свойст. Ну действительно, табла со свойствами, которых заведомо нет у сущностей, выглядит как некоея искажение отображения реальности в БД. И констатировал, что это ближе к NULL чем '', если декомпозицию не делать. Если нет четырехзначной логики, то и использование пустых строк для таких свойт, чтобы отличать их от не известно (которые толкуются в этом случае NULL) - полумера, которая не на много улучшает картину, но все так же чревато путанницей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 14:59 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Yo.! только нужно учитывать, что там в оракле он будет иметь проблему с зависимостями, в firebird он будет иметь практически неразрешимую жопу ... Поскольку мне в техподдержку таковых жалоб не поступало, могу авторитетно заявить, что "неразрешимая жопа" существует исключительно в твоём воображении. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 15:05 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
vadiminfoВ данном же случае рациональное от такой типа возможности ставится под сомнение, а гемор от контроля того что же в БД записалось NULL или '', и что это значит может вызывать озабоченность временами. Особенно напрягает вместо а IS NULL писть а IS NULL or a = ''. Это и читается плоховато и вообще. Можно, как уже говорилось, isnull(str_attr, '') = '', символов не намного больше, чем str_attr is null. А может пойти еще дальше, и строку, состоящую ТОЛЬКО из n пробелов также заненять на null, ведь временами и это вызывает озабоченность не меньшую, чем '' - пустая строка? vadiminfoЯ тоже за возможности. Потому Оракл выбрал. Но этой возможность предпочел бы не пользоваться до выяснения чего-то рационального в ней. Давний пример в свете дилеммы "правильно" - "удобно" - использование from dual. Вы бы предпочли этим пользоваться или нет, если бы oracle позволял просто "select 1"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 15:07 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Поскольку мне в техподдержку таковых жалоб не поступало, могу авторитетно заявить, что "неразрешимая жопа" существует исключительно в твоём воображении. учитывая твою квалификацию (способность читать мануал по одной функции и возмущаться, что описание не работает на другой функции) у меня есть другая теория по чему к тебе не поступают жалобы. хочешь что-то доказать, давай ссылку на проблему в оракле, а мы прикинем через какой ад пришлось пройти в firebird в той же ситуации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 15:14 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=36728070&tid=1552783]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
87ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 217ms |

| 0 / 0 |
