Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.009 c
3-101169
b-Ars
2002-10-09 12:45
2002.10.31
Конфигурация BDE


8-101394
plimut
2002-07-05 14:49
2002.10.31
Delphi виснет при запуске приложения (RUN)


14-101482
DiamondShark
2002-10-01 17:05
2002.10.31
---|Ветка была без названия|---


6-101403
MVova
2002-08-29 11:10
2002.10.31
Поиск своих серверов в сети.


1-101273
HostGuy
2002-10-22 14:43
2002.10.31
Помогите новичку найти литературу по Дельфину 6 в Internet-е




   Наверх