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

Вниз

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

Наверх




Память: 0.48 MB
Время: 0.016 c
6-101431
Витёк
2002-08-27 05:01
2002.10.31
Как пинговать компьютер host каждые t минут


1-101181
Граф
2002-10-18 14:07
2002.10.31
progress bar в таблице


1-101251
kukuikar
2002-10-21 21:56
2002.10.31
Проблема в следующем. Опять про ...


14-101522
Volly
2002-10-11 14:16
2002.10.31
Как зарегистрировать программу?


7-101545
max2057
2002-08-27 12:50
2002.10.31
kernel-mode драйвер и сеть