Форум: "Прочее";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
Вниз
Понятие NULL Найти похожие ветки
← →
Тугодум © (2006-10-02 15:47) [280]Reindeer Moss Eater © (02.10.06 15:43) [276]
Я не вижу принципиальных различий между строками и числами.
Строка abcd состоит из 4 символов и помещается в Char(4), число 1234 тоже состоит из 4 символов и помещается в Dec(4). И у строки, и у числа есть длина. Давайте обозначать "" пустое число, то есть число из 0 десятичных разрядов. Будет ли такое число аналогом NULL? Если будет, то почему его не используют в СУБД? Отвечаю: нет, не будет, потому что
15 + NULL = NULL, а 15 + "" = 15.
← →
Тугодум © (2006-10-02 15:50) [281]evvcom © (02.10.06 15:47) [278]
У меня тоже гимора нет.
Ты это о чем? Где в [264], [267] деление на ноль?
Если бы Length("")=NULL, то Delphi бы генерил исключение.
То есть в Oracle своя особая математика.
← →
pasha_golub © (2006-10-02 15:51) [282]
> Reindeer Moss Eater © (02.10.06 15:43) [276]
> В силу того, что любое значение длиннее нуля байт.
Твои же слова были про то, что мы не будем заморачиваться на физической реализации. Нету байт. Нету Оракла.
Есть множества. Строки и целые числа. Они равномощны. Так почему же для строк ты смог ввести олицетворение NULL"a, а для чисел не можешь?
> В силу того, что любое значение длиннее нуля байт.
Это всего лишь аспекты реализации. Я утверждаю, что пустая строка тоже длиннее нуля байт, а именно длиной в 1 байт. И в этом байте значение #0.
← →
evvcom © (2006-10-02 15:52) [283]> [280] Тугодум © (02.10.06 15:47)
> Давайте обозначать "" пустое число, то есть число из 0 десятичных
> разрядов.
Это что за число такое?
> 15 + NULL = NULL
Истина
> а 15 + "" = 15.
Что за арифметика такая? Кто учил мухи с котлетами складывать? Бред.
← →
kaif © (2006-10-02 15:54) [284]Я полагаю, что логика работы ORACLE имеет в данном случае мало общего с хитростями нормализации и гораздо больше общего с традициями такого языка, как JAVA. А в JAVA понятие null имеет определенную традицию в отношении обозначения пустой строки и конкатенации таких строк.
ИМХО, отсюда ноги и растут у такой реализации.
← →
Reindeer Moss Eater © (2006-10-02 15:54) [285]кайф из этого следует, что отсутствующие в мире строковые сущности одинаково хорошо моделируются как пустой строкой, так и нулом.
В силу их экваивалентности.
← →
Тугодум © (2006-10-02 15:54) [286]evvcom © (02.10.06 15:52) [283]
Внимательнее. "" в выражении 15+"" НЕ строка, а число. Пустое число - полный аналог пустой строки. Кто не понимает, может обменяться со мной ником :)
← →
evvcom © (2006-10-02 15:55) [287]> [281] Тугодум © (02.10.06 15:50)
> Если бы Length("")=NULL, то Delphi бы генерил исключение.
Пошлю тебя на
> [260] Игорь Шевченко © (02.10.06 15:29)
:-)
← →
Reindeer Moss Eater © (2006-10-02 15:56) [288]Есть множества. Строки и целые числа. Они равномощны. Так почему же для строк ты смог ввести олицетворение NULL"a, а для чисел не можешь?
так ради бога.
Я уже третий или четверты день прошу научить меня передавать и принимать эти пустые множества по медиа.
Так ведь ее учат!
Ну или подсовывают всякий бред.
← →
evvcom © (2006-10-02 15:57) [289]> [286] Тугодум © (02.10.06 15:54)
Сам придумал такое число? Пустое число в СУБД это NULL.
> Кто не понимает, может обменяться со мной ником :)
Не, оставайся при своем. :-)
← →
kaif © (2006-10-02 15:58) [290]В общем я понял.
Если я в Notepad сотру все символы в текствовм файле, то нужно заставить Билла Гейтса, чтобы он сразу этот файл и удалил с диска при попытке его сохранить.
Так как никакой разницы между Пустой.txt и file not found не существует в философской природе файлов. Ибо логическая длина 0.
← →
Reindeer Moss Eater © (2006-10-02 15:58) [291]Я утверждаю, что пустая строка тоже длиннее нуля байт, а именно длиной в 1 байт. И в этом байте значение #0.
А каково значение строки длиной один нулевой символ?
И равна ли она твоей пустой строке?
← →
Тугодум © (2006-10-02 15:58) [292]evvcom © (02.10.06 15:55) [287]
Я поэтому и писал про исключение при делении на 0.
В Delphi нет бесконечностей, поэтому при вычислении значения 1/0 вызывается исключение. Аналогично было бы при Length(""), если бы результат был неопределен (NULL). Однако Delphi совершенно спокойно возвращает правильный результат вычисления длины строки, а именно 0. Уф.
← →
Reindeer Moss Eater © (2006-10-02 16:00) [293]В общем я понял.
Если я в Notepad сотру все символы в текствовм файле, то нужно заставить Билла Гейтса, чтобы он сразу этот файл и удалил с диска при попытке его сохранить.
Так как никакой разницы между Пустой.txt и file not found не существует в философской природе файлов. Ибо логическая длина 0.
Билл не удаляет такие файлы потому что не может сосчитать сколько там пустых строк.
:)
← →
Тугодум © (2006-10-02 16:00) [294]evvcom © (02.10.06 15:57) [289]
Да причем здесь СУБД?! Нет никакой разницы между строками и целыми числами.
← →
Игорь Шевченко © (2006-10-02 16:01) [295]kaif © (02.10.06 15:54) [284]
> Я полагаю, что логика работы ORACLE имеет в данном случае
> мало общего с хитростями нормализации и гораздо больше общего
> с традициями такого языка, как JAVA. А в JAVA понятие null
> имеет определенную традицию в отношении обозначения пустой
> строки и конкатенации таких строк.
> ИМХО, отсюда ноги и растут у такой реализации.
Сравни, сколько лет Oracle и сколько лет Java. Удивись.
← →
Тугодум © (2006-10-02 16:01) [296]Reindeer Moss Eater © (02.10.06 15:43) [276]
Вы [280] не заметили, игнорируете или не поняли?
← →
pasha_golub © (2006-10-02 16:01) [297]
> Reindeer Moss Eater © (02.10.06 15:56) [288]
>
> Есть множества. Строки и целые числа. Они равномощны. Так
> почему же для строк ты смог ввести олицетворение NULL"a,
> а для чисел не можешь?
>
> так ради бога.
> Я уже третий или четверты день прошу научить меня передавать
> и принимать эти пустые множества по медиа.
>
Как ты думаешь, null terminated strings на кой ляд были придуманы?
Учу передавать пустые строки:
1. посылаешь данные о том, что будешь передавать строку. Конец строки символ #0
2. посылаешь сразу же #0
Трудно?
← →
euru © (2006-10-02 16:02) [298]
> Reindeer Moss Eater © (02.10.06 15:56) [288]
> Я уже третий или четверты
> день прошу научить меня передавать и принимать эти пустые
> множества по медиа.
А как по этому медиа ты собираешься передавать пустые строки?
← →
Тугодум © (2006-10-02 16:03) [299]15 + NULL = NULL, а 15 + "" = 15.
Даже мало того.
15 * "" = 15, 15 / "" = 15, "" / 15 = 15 и т.д.
В общем, полный джокер :)
← →
kaif © (2006-10-02 16:03) [300]Вопрос.
Существуют ли тектовые файлы нулевой длины?
:)
Правильно ли, чтобы некий поиск по файлам с пустым текстом выдавал "файл не найден" для всех таких файлов?
← →
evvcom © (2006-10-02 16:05) [301]> [290] kaif © (02.10.06 15:58)
Ну тогда и в таблице строку надо вытирать (удалять) начисто!
> [292] Тугодум © (02.10.06 15:58)
> В Delphi нет бесконечностей, поэтому при вычислении значения
> 1/0 вызывается исключение
Исключение вызывается не в Delphi.
В Delphi нет понятия null, потому и нет вопроса при вычислении длины пустой строки.
← →
Reindeer Moss Eater © (2006-10-02 16:05) [302]Вы [280] не заметили, игнорируете или не поняли?
Вот это?
>число 1234 тоже состоит из 4 символов
О таких вещах лучше не со мной. Это выше моего понимания.
← →
kaif © (2006-10-02 16:05) [303]Можно ли по электронной почте переслать пустой текстовый файл?
Я так понял, что это невозможно.
Так как у файла нет длины и пересылать, соответственно, нечего.
:)
← →
k2 © (2006-10-02 16:06) [304]Тугодум © (02.10.06 16:03) [299]
угу, а я могу установить среди себя стандарт, што арифметические операции с пустыми строками - ерунда и не дают ни null ни строки
← →
Kerk © (2006-10-02 16:06) [305]> [303] kaif © (02.10.06 16:05)
Можно
← →
Тугодум © (2006-10-02 16:07) [306]Reindeer Moss Eater © (02.10.06 16:05) [302]
Понятно, спасибо.
← →
pasha_golub © (2006-10-02 16:08) [307]Числа, кстати, если по-честному, нужно рассматривать не как определенный диапазон, который может поместиться в 2, 4 или любое другое фиксированное число байт. Множество целых чисел бесконечно. И если мы будет учитывать эту бесконечность, то увидим, что между строками и представлениями числа нет разницы.
Посему мой вопрос, где же аналог NULL на множестве, ну хотя бы, натуральных чисел?
← →
evvcom © (2006-10-02 16:09) [308]> [294] Тугодум © (02.10.06 16:00)
> Нет никакой разницы между строками и целыми числами
О!!! Это сильно сказано.
> [299] Тугодум © (02.10.06 16:03)
Тугодумова алгебра. :) Вставай в один ряд с Булем. :)
← →
pasha_golub © (2006-10-02 16:11) [309]
> evvcom © (02.10.06 16:09) [308]
>
> > [294] Тугодум © (02.10.06 16:00)
> > Нет никакой разницы между строками и целыми числами
>
> О!!! Это сильно сказано.
А что вас пугает? 10-ое представление числа есть строка, в которой используются символы от 0 до 9. И еще знак "-". Йок?
← →
k2 © (2006-10-02 16:12) [310]pasha_golub © (02.10.06 16:11) [309]
любое число можно представить в виде строки но не наоборот, так што разница есть наверное? :)
← →
k2 © (2006-10-02 16:13) [311]хотя если рассуждать глобально то все што угодно можно представить в виде чего угодно
но к субд ораклу и нуллу это отношения уже давно не имеет
← →
pasha_golub © (2006-10-02 16:13) [312]
> k2 © (02.10.06 16:12) [310]
>
> pasha_golub © (02.10.06 16:11) [309]
> любое число можно представить в виде строки но не наоборот,
> так што разница есть наверное? :)
>
Да лана? Жалко. А если я возму n-ричное представление числа, такое что я буду вынужден использовать все буквы алфавита, тогда можно?
← →
pasha_golub © (2006-10-02 16:15) [313]
> k2 © (02.10.06 16:13) [311]
>
> но к субд ораклу и нуллу это отношения уже давно не имеет
>
Так оно вроде и не имело глобального отношения к Ораклу. Насколько мне видится, вопрос сводится к множествам и операциям над ними.
← →
k2 © (2006-10-02 16:15) [314]pasha_golub © (02.10.06 16:13) [312]
я и говорю, можно даже попробовать, взять любые два понятия и представить одно в виде другого или наоборот, потрепемся от души
← →
evvcom © (2006-10-02 16:16) [315]> [312] pasha_golub © (02.10.06 16:13)
В строке еще могут присутствовать непечатаемые символы. В каки-ричной системе они используются? :)
← →
Reindeer Moss Eater © (2006-10-02 16:16) [316]Так оно вроде и не имело глобального отношения к Ораклу. Насколько мне видится, вопрос сводится к множествам и операциям над ними.
Если бы у числовых типов были значения нулевой длины, то Оракл взял бы эти значения в качестве нулл значений.
Но таких значений нет и не только в Оракле.
← →
k2 © (2006-10-02 16:16) [317]pasha_golub © (02.10.06 16:15) [313]
про множества все давно сказали на первых страницах, как я понимаю сейчас спор о том, насколько неправ оракл в своих отождествлениях
← →
Danilka © (2006-10-02 16:17) [318][303] kaif © (02.10.06 16:05)
Файл, кроме содержимого, имеет еще такой атрибут, как имя файла.
Послать файл с пустым именем по почте нельзя. Также, как и найти его на HDD.
При некотором допущении, имя файла можно рассматривать как PK записи в таблице.
:)
← →
pasha_golub © (2006-10-02 16:20) [319]
> evvcom © (02.10.06 16:16) [315]
>
> > [312] pasha_golub © (02.10.06 16:13)
>
> В строке еще могут присутствовать непечатаемые символы.
> В каки-ричной системе они используются? :)
>
В моей, уважаемый. В моей! Вам привести формулы перехода от представления чисел в моей позиционной системе в десятичную? Возмите знакомую 16-ричную и раширьте на весь алфавит и непечатные символы.
Для обозначения цифр, можно использовать хоть китайские иероглифы. От этого число не перестает быть числом. И кажется мне, что это вы знаете. ;-)
← →
Reindeer Moss Eater © (2006-10-02 16:23) [320]Вот я разведчик, сижу на границе у реки и пишу донесение в центр.
Перед заброской мы договорились, что каждое вхождение строки "мама" в моем донесении - это рота самураев, решивших в эту ночь перейти границу у реки. Каждое "папа" - это танк с самураями.
А каждая пустая строка - это самурайская пушка.
Как быть-то?!
Ведь пустая строка - это по вашему полноценное значение.
А сколько пушек у самураев? Кто скажет?
/* Пожалуйста! Ради бога! Приколов с подсчетом CRLF не предлагать. */
Пустые строки в чистом виде как элемент сообщения!
Страницы: 1 2 3 4 5 6 7 8 9
10 вся ветка
Форум: "Прочее";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
Память: 1.07 MB
Время: 0.118 c