Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Забавно, что все высказывающие здесь озабоченность "нелогичностью" и неудобствами Oracle имеют (судя по профилям) Oracle (скажем дипломатично) не самым основным рабочим инструментом. Может ну его ... пусть ораклоиды или ораклисты (как вам угодно) сами плачут горючими слезами, работая в неудобном Oracle? Оставим кесарю кесарево, что вам до них??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 15:14 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Yo.!....ссылку на проблему в оракле, а мы прикинем через какой ад пришлось пройти в firebird в той же ситуации слово "ад" немного не по адресу, имхо, употреблено. FB по определению не может быть сложнее для разработчика или администратора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 15:17 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
vadiminfoВ данном же случае рациональное от такой типа возможности ставится под сомнение, а гемор от контроля того что же в БД записалось NULL или '', и что это значит может вызывать озабоченность временами. Особенно напрягает вместо а IS NULL писть а IS NULL or a = ''. Это и читается плоховато и вообще.Нда, это как разговор со слепым о картинах :) А гемор в числах не напрягает? Тоже ведь писать приходится IS NULL or a = 0. И вообще зачем тогда NULL нужен? Пусть пустая строка будет и всё, NULL не использовать и тогда не надо писать а IS NULL or a = '', достаточно только a = ''. Но можно NULL использовать, тогда будут дополнительные возможности, которых в оракле то и нет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 15:17 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
iscrafm слово "ад" немного не по адресу, имхо, употреблено. FB по определению не может быть сложнее для разработчика или администратора. а это определение с firebird когда нибудь работало ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 15:22 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Sgt.PepperДавний пример в свете дилеммы "правильно" - "удобно" - использование from dual. Вы бы предпочли этим пользоваться или нет, если бы oracle позволял просто "select 1"? Совершенно без разници как писать Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 15:24 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
SergSuperПусть пустая строка будет и всё, NULL не использовать и тогда не надо писать а IS NULL or a = '', достаточно только a = ''. Почему-то все прицепились к строковым значениям а про числовые забыли. Ведь 0 не тоже самое что null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 15:29 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Yo.!iscrafm слово "ад" немного не по адресу, имхо, употреблено. FB по определению не может быть сложнее для разработчика или администратора. а это определение с firebird когда нибудь работало ? я не жалуюсь. есть конечно заморочки, но они значительно менее мешают чем у других. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 15:29 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Sgt.Pepperможно, как уже говорилось, isnull(str_attr, '') = '', символов не намного больше, чем str_attr is null. "? Ну звамена конструкции str_attr is null может и возможна. Но в целом это сути не меняет. Заменть '' во всех случаях ить не может - это не применимо, например, к числовым типам. Потому замена NULL пустой строкой вряд ли что даст. Вопрос зачем нужна '', кроме как сбить с толку все еще нуждается в разрешении, мне кажется. Sgt.Pepper А может пойти еще дальше, и строку, состоящую ТОЛЬКО из n пробелов также заненять на null, ведь временами и это вызывает озабоченность не меньшую, чем '' - пустая строка? Все же меньшее. Пустая строка это не просто строка символы которых мы не видим, это отсутсвие любых символов. Пробелы могут быть какой-то инфой в какой нибудь предметной области. . vadiminfoЯ тоже за возможности. Потому Оракл выбрал. Но этой возможность предпочел бы не пользоваться до выяснения чего-то рационального в ней. Давний пример в свете дилеммы "правильно" - "удобно" - использование from dual. Вы бы предпочли этим пользоваться или нет, если бы oracle позволял просто "select 1"?[/quot] Ну пердпочел бы, потому что должен быть from. Дело в единообразии (стль). Это проще запомнить, луче читать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 15:34 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
АвторСовершенно без разници как писать Код: plaintext 1. 2. Да? А у меня при 2. select 1: Код: plaintext 1. 2. Если не ошибаюсь, это в Oracle 9... Может, в последующих версиях уже по-другому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 15:40 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Sgt.PepperАвторСовершенно без разници как писать Код: plaintext 1. 2. Да? А у меня при 2. select 1: Код: plaintext 1. 2. Если не ошибаюсь, это в Oracle 9... Может, в последующих версиях уже по-другому? Вы еще попробуйте 3-й вариант в Оракле запустить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 15:42 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
SergSuperА гемор в числах не напрягает? Тоже ведь писать приходится IS NULL or a = 0. Это что-то не доводилось так часто как а IS NULL or a = ''. В аксцессе мне приходится это делать. 0 все таки значение как и отрицательные числа большего смысла чем пустая строка. SergSuper И вообще зачем тогда NULL нужен? Наверное за тем что это общее для всех типов. А то что свойство не задано может относиться к любым типам. Но '' выглядит как значение тока для строковых И 0 как значение для числовых. Мы с ними можем сравнивать и получать ЛОЖЬ или ИСТИНУ. А с NULL - НЕ ИЗВЕСТНО. Буржуа зря не придумает. Все там схвачено. Мы вряд ли что придумем тут. Четырехзначную и больше тоже давно придумали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 15:44 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
vadiminfoВопрос зачем нужна '', кроме как сбить с толку все еще нуждается в разрешении, мне кажется.[..] Пустая строка это не просто строка символы которых мы не видим, это отсутсвие любых символов. Пробелы могут быть какой-то инфой в какой нибудь предметной области. . Понимаете, тут Вы допускаете, что пробелы гипотетически могут быть какой-то инфой в какой-то предметной области, но примеров таких не приводите, считая, очевидно, Ваше утверждение и так достаточно убедительным аргументом. (Ну, говоря Вашими словами, что может означать 5 пробелов в поле ФИО?). А с пустой строкой говорите, что она кроме как сбить с толку нафиг не нужна, несмотря на то, что кто-то пытается приводить Вам конкретные примеры. vadiminfoНу пердпочел бы, потому что должен быть from. Дело в единообразии (стль). Это проще запомнить, луче читать. Пердпочел - это типа "скрепя сердце"? :) Не могу сказать, что я принципиально с Вами не согласен, но это настолько субъективно выглядит, что утверждение "from не обязательно должен быть, from dual тяжелее запомнить и труднее читать" выглядит не менее убедительно в зависимости от опыта и предпочтений пишущего и читающего. А вот аргумент, что FROM - это стандарт, который следует соблюдать, удобно нам это или нет, меня убеждает сильнее. По мне так и с пустой строкой аналогично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 16:02 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
SallerSgt.PepperАвторСовершенно без разници как писать Код: plaintext 1. 2. Да? А у меня при 2. select 1: Код: plaintext 1. 2. Если не ошибаюсь, это в Oracle 9... Может, в последующих версиях уже по-другому? Вы еще попробуйте 3-й вариант в Оракле запустить. Меня интересовали первый и второй. Я Вас так понял, что в oracle они допустимы. Или Вы имели в виду что-то файербердное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 16:07 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Sgt.PepperМеня интересовали первый и второй. Я Вас так понял, что в oracle они допустимы. Или Вы имели в виду что-то файербердное? 1.Oracle, 2.MSSQL, 3.FB У MSSQL конструкция некоторых вводит в замешательство :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 16:21 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Yo.! хочешь что-то доказать, давай ссылку на проблему в оракле, а мы прикинем через какой ад пришлось пройти в firebird в той же ситуации Ну давай, попробуем. Вот проблема: /topic/750411 Какой ад ждёт желающего realtime репликацию из нескольких баз в одну в случае Firebird? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 16:30 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
SallerУ MSSQL конструкция некоторых вводит в замешательство :) Ну, как бы зачем писать FROM, если выборка из "неоткуда"?! Достаточно открыть документацию: BOL->FROM clause In the SELECT statement, the FROM clause is required except when the select list contains only constants, variables, and arithmetic expressions (no column names) . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 16:32 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
SallerУ MSSQL конструкция некоторых вводит в замешательство :) Есть возможность добавить в базу табличку dual, состоящую из одной строки и соответствовать в этом вопросе oracle, не вводя никого в замешательство. Но в MS решили, что можно так и не делать, т.к. размышляли, похоже, примерно так: Softwarerможет быть, именно Вы наконец-то первым на этом свете сумеете рассказать какой-либо конкретный пример из практики, когда эта фишка удобна, приятна, облегчает жизнь и не вызывает острого желания выкинуть её нафиг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 16:39 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Ну давай, попробуем. Вот проблема: /topic/750411 Какой ад ждёт желающего realtime репликацию из нескольких баз в одну в случае Firebird? по зависимостям значит слив можно фиксировать или поднатужишься ? ЗЫ. эмулировать функционал Oracle Streams Replication в субд с одним из самых слабых диалектов в индустрии и без лога кроме адом не назовешь имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 16:39 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Yo.! по зависимостям значит слив можно фиксировать или поднатужишься ? Слив Оракула - да, можно фиксировать. Ни ты ни Глюк не собрались с духом показать результаты работы тестового скрипта. ЧиТД. Yo.! ЗЫ. эмулировать функционал Oracle Streams Replication в субд с одним из самых слабых диалектов в индустрии и без лога кроме адом не назовешь имхо. Да, эмулировать несостоятельности стримов могло бы быть адом. К счастью, в отличие от PG никто не спешит эмулировать большого брата, так что realtime multimaster репликация для Firebird просто работает. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 16:45 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
SergSuperНда, это как разговор со слепым о картинах :) Безусловно. "Мне кажется, эти картины - что-то нелогичное" :) SergSuperА гемор в числах не напрягает? Тоже ведь писать приходится IS NULL or a = 0 И часто Вам приходится такое писать? Можно пару примеров из бизнес-логики? SergSuperИ вообще зачем тогда NULL нужен? Пусть пустая строка будет и всё, NULL не использовать и тогда не надо писать а IS NULL or a = '', достаточно только a = ''. Да, делать все строковые поля not null - первое инстинктивное желание при использовании такого вот "стандартного" сервера. Но есть одна проблема: если поступить так, начнутся "грабли" с неправильно написанными join-ами по строковым полям (аналогичные граблям, которые заводят отдельные "умные" проектировщики, закладывающие в таблицы запись с id=0 и смыслом "отсутствующая"). Поэтому, в зависимости от смысла поля, и начинаются: data varchar not null, data varchar check (data <> ''), data varchar not null check (data <> '')... и про каждое помнить... и с каждым работать сообразно его области значений... SergSuperНо можно NULL использовать, тогда будут дополнительные возможности, которых в оракле то и нет :) И на которые мы вдвоём накопали один пример реального применения... SallerПочему-то все прицепились к строковым значениям а про числовые забыли. Ведь 0 не тоже самое что null. Дык именно поэтому предложение отождествить 0 с null звучит только в момент перехода от искреннего непонимания к откровенной демагогии, да и то обычно не очень уверенно. Sgt.PepperПонимаете, тут Вы допускаете, что пробелы гипотетически могут быть какой-то инфой в какой-то предметной области, но примеров таких не приводите, считая, очевидно, Ваше утверждение и так достаточно убедительным аргументом. (Ну, говоря Вашими словами, что может означать 5 пробелов в поле ФИО?). А с пустой строкой говорите, что она кроме как сбить с толку нафиг не нужна, несмотря на то, что кто-то пытается приводить Вам конкретные примеры. Я бы заметил, что совершенно стандартным (имхо) решением уровня фреймворка является trim() строковых данных при их вводе в БД. До тех пор, пока мы не собираемся хранить тексты программ на Whitespace, "пять пробелов" имеют единственный смысл - мусорить в данных. Sgt.PepperНе могу сказать, что я принципиально с Вами не согласен, но это настолько субъективно выглядит, Субъективно, безусловно. На мой взгляд, конструкция без from хороша в том месте, для которого её придумывали - то есть Код: plaintext Уже не очень хороша в запросе вида Код: plaintext И совсем плоха в запросе вроде Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Sgt.PepperА вот аргумент, что FROM - это стандарт, который следует соблюдать, удобно нам это или нет, меня убеждает сильнее. Хм. Для сержанта такая точка зрения, в общем, ожидаема ;-) Устав и два наряда вне очереди. Про стандарты и "следует соблюдать", если мне не изменяет память, было написано у Макконнела, примерно так: "Однажды Ахмед рассказал своей жене семейный рецепт приготовления очень вкусного мяса: нужно взять кусок говядины, обрезать края, промариновать, засыпать специями и жарить до готовности на медленном огне. Жена спросила: А зачем обрезать края? "Не знаю,- ответил Ахмед,- моя мама всегда так делала, надо спросить у неё". Пошёл и спросил. "Не знаю,- ответила мама,- я делаю так потому, что так всегда делала бабушка, надо спросить у неё". Ахмед пошёл к бабушке и услышал: "Не знаю, зачем вы обрезаете края, а я обрезала их потому, что большой кусок мяса не влезал на мою единственную сковородку"" . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 16:57 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Слив Оракула - да, можно фиксировать. Ни ты ни Глюк не собрались с духом показать результаты работы тестового скрипта. ЧиТД. ламаить :) Dimitry Sibiryakov Да, эмулировать несостоятельности стримов могло бы быть адом. К счастью, в отличие от PG никто не спешит эмулировать большого брата, так что realtime multimaster репликация для Firebird просто работает. А кто сказал, что в Oracle репликацию можно делать только Stream-ом? А вот Stream в FB придется искать очень пристально и долго ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 16:58 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
softwarer Замечательно. Тот самый единственный пример. Наконец-то кто-то вспомнил про ситуацию "пустой пароль мы сохраняем и не запрашиваем повторно, а при отсутствии пароля - запрашиваем его у пользователя". Правда, для СУБД это очень редкая задача :) Если переформулировать задачу как требуется отличать незаданные/неприменимые аттрибуты и аттрибуты, инициализированные дефолтными значениями , то возможно задача не окажется такой-уж и редкой softwarer Это уже не "конкретный пример", а некие абстрактные философствования с закольцованной логикой: "это нужно потому что может понадобиться для чего-нибудь". это не абстрактные философствования, а слегка модифицированный пример задачи с моей прошлой работы. Автоматизировался склад инструмента, по ряду организационных причин, при занесении номенклатурного номера инструмента оператор не указывал его тип, а выбирал из списка доступных характеристик те, что понравились и присваивал им значения. После сохранения в БД, можно было отобразить/редактировать данные определенного инструмента, соответственно высвечивались только те значения, которым было что-то присвоено. Задача была решена по-другому, но одно из решений было сложить все поля в одну таблицу, а затем для искомого номера инструмента выбиралась-бы строка и разворачивалась pivot'ом (null'ы при этом-бы отсеивались). Некоторые значения вполне могли-бы оказаться пустой строкой и подлежать заполнению потом (вариант не заполнять ее вообще, а когда понадобиться вывалить список всех доступных характеристик для выбора представляется гораздо более плохим решением). Соответственно, при неразличимости null и пустой строки такой подход был-бы невозможен softwarer Если Вы работали и в той, и в другой реализации - с интересом выслушаю Ваше мнение о плюсах и минусах. Если же нет - подчеркну, что "кажется" не всегда выдерживает столкновение с реальностью. это надо понимать так, что у вас есть продолжительный и плодотворный опыт работы с обоими системами? softwarer Кстати, я не увидел в приведённом примере дефолтных значений. Может быть, конечно, и такая реализация, но увидел я всего лишь умное поведение для случая obj = null, сродни классическому дельфовому нет, в дотнет value типы по определению не могут быть null. Т.е. никаких if obj = null then быть не может по определению. В последних версиях появились nullable варианты этих типов, но это по-сути новые типы данных. Однако, видимо из подобных-же рассуждений об абстрактном удобстве для сферического программиста в вакууме, в vb возможно присвоение этим типам nothing, что в реальности приводит к получению ими дефолтных значений, а на деле может привести к серьезным багам softwarer О, это один из тех вопросов, который отличает "теоретиков" от "практиков". Первые уверены, что нетрудно. Вторые, написав этот isnull() несколько десятков, несколько сотен или несколько тысяч раз, начинают любить теории других теоретиков, где не нужно заниматься подобной тупизной. я не знаю, где вы берете практиков, которые употребляют isnull() тысячами. Честно говоря, даже пример такой затрудняюсь придумать softwarer "Не то, к чему я привык" - вовсе не всегда "усложнение", часто наоборот. "Не то, к чему я привык" - вовсе не всегда "удобство", часто наоборот. softwarer А в чём разница, если null - пустая строка? Заменить nvl на nvl2 - и всего делов-то. С другой стороны, когда null - не пустая строка, простейшее выражение вида name || patronymic || surname превращаются в нечто нечитаемое. перепутали автора цитаты, на которую отвечали :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 17:01 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) А кто сказал, что в Oracle репликацию можно делать только Stream-ом? Ну так пойди в тему по ссылке и осчастливь автора знанием - чем же в Oracle можно сделать нужное ему, если Stream-ы облажались. Gluk (Kazan) А вот Stream в FB придется искать очень пристально и долго Как и логи. Зачем там бесполезный прибамбас, который даже в Оракуле работает в зависимости от фазы Луны?.. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 17:09 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Слив Оракула - да, можно фиксировать. Ни ты ни Глюк не собрались с духом показать результаты работы тестового скрипта. ЧиТД. во первых мне лень отгадывать о котором скрипте речь, во вторых у тебя есть оракл, ты и без меня можешь прогнать все, что тебе вздумается. хочешь показать проблему зависимостей - показывай. не стесняйся. Dimitry Sibiryakov realtime multimaster репликация для Firebird просто работает. в этом и проблема - никому не нужна простая репликация для Firebird, но всем нужна не простая для оракла, которая выдерает изменения из лога не нагружая сервер и соответственно нормально масштабируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 17:11 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
softwarer SergSuperА гемор в числах не напрягает? Тоже ведь писать приходится IS NULL or a = 0 И часто Вам приходится такое писать? Можно пару примеров из бизнес-логики? ну наверное реже чем со строками, но тоже приходится например считается задолженность как основной долг+начисленные проценты-погашенные проценты-погашение долга операций по 3-м последним может не быть и сумма будет null softwarer SergSuperНо можно NULL использовать, тогда будут дополнительные возможности, которых в оракле то и нет :) И на которые мы вдвоём накопали один пример реального применения... я пару примеров привел /topic/771770&pg=5#9062340 /topic/771770&pg=5#9063040 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 17:14 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=36728258&tid=1552783]: |
0ms |
get settings: |
8ms |
get forum list: |
7ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
26ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 258ms |
| total: | 348ms |

| 0 / 0 |
