Шта бисте требали знати о вриједностима НУЛЛ-а

Разумети коришћење НУЛЛ-а за избегавање проблема са база података

Корисници који су нови у свету база података често су збуњени посебном вриједношћу специфичним за поље - вриједност НУЛЛ. Ова вриједност се може наћи у пољу који садржи било коју врсту података и има врло посебно значење у контексту релацијске базе података. Вероватно је најбоље започети нашу дискусију о НУЛЛ-у са неколико речи о томе шта НУЛЛ није :

Уместо тога, НУЛЛ је вредност која се користи за представљање непознатог податка. Често програмери базе података користе фразу "вриједност НУЛЛ", али ово није тачно. Запамтите: НУЛЛ је непозната вриједност у којој се поље појављује празно.

НУЛЛ у стварном свету

Хајде да погледамо једноставан пример: табела која садржи инвентар за воћни штанд. Претпоставимо да наш инвентар садржи 10 јабука и три поморанџе. Такође имамо шљиве, али наши подаци о залихама су непотпуни и не знамо колико их има (уколико постоје) сливе. Користећи вредност НУЛЛ, имали смо таблицу инвентара приказану у доњој табели.

Инвентар за воће

ИнвенториИД Ставка Количина
1 Јабуке 10
2 Поморанџе 3
3 Сливе НУЛА


Очигледно би било нетачно укључити количину 0 за евиденцију шљива, јер би то значило да немамо шљиве у инвентару. Напротив, можда имамо неке шљиве, али нисмо сигурни.

Да НУЛЛ или НЕ НУЛЛ?

Таблица се може дизајнирати да дозволи НУЛЛ вредности или не.

Ево СКЛ примера који креира таблицу Инвентори која дозвољава неке НУЛЛ:

СКЛ> ЦРЕАТЕ ТАБЛЕ ИНВЕНТОРИ (ИнвенториИД ИНТ НОТ НУЛЛ, Артикул ВАРЦХАР (20) НОТ НУЛЛ, Количество ИНТ);

Табела инвентара овде не дозвољава вриједности НУЛЛ за ступце ИнвенториИД и ставке , али им дозвољава колону Количина .

Иако је омогућавање НУЛЛ вриједности савршено фино, вриједности НУЛЛ-а могу изазвати проблеме, јер било које поређење вриједности у којима је један НУЛЛ увек резултира у НУЛЛ-у.

Да бисте проверили да ли ваша таблица садржи НУЛЛ вредности, користите ИС НУЛЛ или ИС НОТ НУЛЛ оператер. Ево примера ИС НУЛЛ:

СКЛ> СЕЛЕЦТ ИНВЕНТОРИИД, ИТЕМ, КОЛИЧИНА ИЗ ИНВЕНТОРИЈЕ ГДЕ КОЛИЧИНА НИЈЕ НУЛЛ;

С обзиром на наш пример овде, то би се вратило:

ИнвенториИД Ставка Количина
3 Сливе

Рад на НУЛЛ

Рад са НУЛЛ вриједностима често производи НУЛЛ резултате, у зависности од СКЛ операције . На пример, под претпоставком да је А НУЛЛ:

Аритметички оператори

Оператори упоређивања

Ово су само неки примјери оператора који ће увијек вратити НУЛЛ ако је један операнд НУЛЛ. Постоје много сложенији упити и све су компликоване вриједностима НУЛЛ-а. Тачка за преузимање је да, ако дозволите вриједности НУЛЛ у вашој бази података, разумијете импликације и планирајте за њих.

То је НУЛЛ на кратко!