Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];

Вниз

Про null в базах   Найти похожие ветки 

 
VictorT   (2002-10-09 17:08) [0]

Уже достатоточно давно вожусь с базами но только сейчас про это задумался и возникла непонятка. Как в базе физически хранится значение null? К примеру имеем поле числового типа размером в байт. Оно может хранить число от 0 до 255. А как же тогда хранится null?


 
NeyroSpace   (2002-10-09 17:39) [1]

Есть такой парадокс в БД. Даже пытались ввести 3х значную логику ИСТИНА, ЛОЖЬ и NULL.
>А как же тогда хранится null?
Это зависит от конкретной реализации СУБД.


 
Johnny Smith   (2002-10-09 17:44) [2]

Как хранится - NeyroSpace прав, по-разному. А вот возвращается
в виде набора байтов, где первый - нулевой.


 
han_malign   (2002-10-09 17:45) [3]

я так понимаю просто стоит флаг, что значение не валидно (примерно как в DBF "*"-удаленная запись), а уж где он хранится ...


 
han_malign   (2002-10-09 17:49) [4]

2 Johnny Smith
Во-во, пустая ASCIIZ строка
З.Ы. А вообще, с тех пор когда мне по Fox-у трояк за курсовой вкатили, я с базами не дружу.


 
Alexander Vasjuk   (2002-10-09 18:27) [5]

Конкретно в IB - читал, что вообще не хранит.

>Johnny Smith © (09.10.02 17:44
А если это целое, то и будет 0 а не null
А в случае со строкой Null и "" не одно и тоже
Опять таки конкретно в Delphi есть св-во IsNull


 
Странник   (2002-10-09 18:47) [6]

признак NULL хранится в дескрипторе поля


 
VictorT   (2002-10-09 18:48) [7]


> А если это целое, то и будет 0 а не null

Не, 0 и null всё таки разные вещи.


 
wicked   (2002-10-09 19:56) [8]

в mssql -
для каждой записи есть битовая маска, в которой определённые биты и отвечают, есть там null или значение...
какие биты за какие поля отвечают - решается структурой, по моему для not null полей место не отводится....

если не прав - поправьте... :)


 
kaif   (2002-10-09 19:59) [9]

Хуже всего дело с NULL в dBase-е обстоит для строк, ИМХО.
Так как там нет ни отдельного байта для этого признака, ни возможности менять длину строки, соответственно NULL там это то же, что и пробелы, набитые до ширины поля. Для дат и чисел пробелы в dBase спасают NULL.
В IB, по-моему, NULL - пустая строка.
Для числовых полей 0 и NULL - совсем разные вещи. Даже для строк это не так важно. Дело в том, что ключевые поля не должны быть NULL, а их обычно делают в виде INTEGER.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.008 c
1-101249
AndreyAG
2002-10-22 10:44
2002.10.31
Чтение с CD


3-101082
AndreyP
2002-10-14 11:32
2002.10.31
Поиск в Query


6-101413
MVova
2002-08-30 14:08
2002.10.31
Получить BROADCAST


3-101096
Vovaka
2002-10-09 15:16
2002.10.31
Знатоки и пользователи Sybase ASE подскажите


3-101175
Shapovalov K
2002-10-11 11:01
2002.10.31
после перезагрузки все изменения в таблицах пропадают.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский