Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.29;
Скачать: CL | DM;

Вниз

Понятие 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;
Скачать: CL | DM;

Наверх




Память: 1.09 MB
Время: 0.075 c
2-1160472137
RebroFF
2006-10-10 13:22
2006.10.29
LookUp в Fast Report


1-1158215092
Mishenka
2006-09-14 10:24
2006.10.29
Как сделать, чтоб в DBGridEh (из EhLib)


1-1158758605
DVM
2006-09-20 17:23
2006.10.29
Убрать символ & при считывании Caption MenuItema?


2-1160667413
Oksana_new
2006-10-12 19:36
2006.10.29
Перевод символов в бинарный код


15-1160123305
Курдль
2006-10-06 12:28
2006.10.29
Настройки ODBC "Delphi applications" Кто нибудь пользовался?