A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
NULL je v informatice obvyklé označení pro žádnou hodnotu nebo nic. Slovo vychází z latinského nullus.
Řetězce
Ve vnitřní reprezentaci ASCII řetězce je bajt s hodnotou nula označován jako null znak, null terminator nebo zkráceně NUL. V jazyce C a odvozených aplikacích slouží tento znak jako ukončovací znak řetězce. Escape sekvence pro znak NUL je \0.
V UTF-8 kódování bajt NUL reprezentuje Unicode znak NULL (U+0000).
Programovací jazyky
V programování je NULL
speciální hodnota, kterou se označuje adresní ukazatel (nebo jakýkoliv jiný druh referenčního odkazu), který (abstraktně řečeno) neukazuje nikam (fakticky ukazuje na adresu 0, což se bere jako konvence pro označení ukazatele za NULL
). V programovacím jazyce C je hodnota NULL reprezentována binární nulou, v programovacím jazyce Pascal nebo Ruby se taková hodnota označuje klíčovým slovem nil
. V assembleru o NULL
nebo nil
nemluvíme, ale fakticky tomu odpovídá stav, kdy některý z adresních registrů je nulový – v takovém případě je možné adresovat „tam, kam ukazuje NULL
“ (což by u vyšších programovacích jazyků nejspíš skončilo chybovou hláškou). Například u architektury PC AT je to adresa přerušení INT 0
.
Konverze z NULL
NULL
se může vyskytovat i ve skriptovacích jazycích, řada z nichž striktně nehlídá typy proměnných. Při pokusu použít NULL
se podle kontextu tato hodnota zamění na:
- 0 (nulu) v případě aritmetických operací
- „“ (prázdný řetězec) v případě textových operací
false
v případě booleovských operací.
Relační databáze, SQL
V relačních databázích označuje NULL
speciální hodnotu uloženou v databázi, která představuje neznámou, nedefinovanou apod. hodnotu. Vlastnost sloupce tabulky být NULL
je natolik podstatná, že je definována nezávisle (ortogonálně) na jeho typu, rozsahu či dalších vlastnostech. Zajímavým případem je typ CHAR(0) NULL
, který může nabývat dvou hodnot – (prázdný řetězec) nebo NULL
– každá z nichž je chápána jako prázdná.
Operace s NULL
Pro NULL zpravidla platí zvláštní pravidla pro výpočty a porovnávání.
Algebraické
Výsledek jakékoli algebraické operace zahrnující NULL
je opět NULL
. NULL
tedy v těchto případech (a i u mnoha funkcí, do kterých vstoupí jako parametr), působí jako pravý neutrální prvek.
NULL
a chyby
SQL vrátí NULL
v řadě případů, které ryze matematicky buď nemají řešení nebo v nichž se vyskytla chyba (například dělení nulou, funkce v bodech mimo definiční obor apod.). Například dotaz:
SELECT 5/0, MOD(5,0), SQRT(-1), LOG2(0), ASIN(1.1), ACOS(-1.1); -- COT(0);
…vrátí ve všech políčkách hodnotu NULL
.
Porovnávání
Porovnávání NULL
s čímkoli se vyhodnotí opět hodnotou NULL
(v Booleovském prostoru interpretováno jako NEPRAVDA), popřípadě speciální hodnotou UNKNOWN
. To platí i pro porovnávání s NULL
, takže porovnání NULL = NULL
je nepravdivé. Je to proto, že jedna neznámá hodnota se vůbec nemusí rovnat jiné neznámé hodnotě. V tomto se SQL lehce dotýká oboru fuzzy logiky.
Logické
AND | TRUE | FALSE | NULL
|
---|---|---|---|
TRUE | TRUE | FALSE | NULL
|
FALSE | FALSE | FALSE | FALSE |
NULL
|
NULL |
FALSE | NULL
|
OR | TRUE | FALSE | NULL
|
---|---|---|---|
TRUE | TRUE | TRUE | TRUE |
FALSE | TRUE | FALSE | NULL
|
NULL
|
TRUE | NULL |
NULL
|
Speciální funkce
Proto se hodnota NULL
v SQL testuje speciálním výrazem sloupec IS NULL
(sloupec obsahuje hodnotu NULL) nebo sloupec IS NOT NULL
(sloupec neobsahuje hodnotu NULL
). Analogicky, i v některých skriptovacích jazycích pro detekci existuje speciální funkce (nazvaná is_null()
nebo podobně).
Operace JOIN
Pokud sloupec může obsahovat hodnotu NULL
, je potřeba při spojování tabulek (JOIN) tuto možnost vzít v úvahu a nadefinovat chování systému v případě, že sloupec má opravdu hodnotu NULL.
Typ JOIN | české označení | Popis |
---|---|---|
INNER JOIN |
Vnitřní spojování | Vybrány pouze řádky vyhovující spojovací podmínce (vyjma stavu NULL =NULL [pozn1 1] – takové řádky jsou vynechány).
|
JOIN |
Přirozené spojování | Jako INNER JOIN .
|
LEFT JOIN |
Spojování zleva | Vybrány řádky, které vyhovují spojovací podmínce (vyjma stavu NULL =NULL ), plus řádky zdrojové tabulky odkazující na NULL nebo neexistující záznam v odkazované tabulce (kde potom všechny hodnoty z odkazované tabulky jsou vyplněny NULL ).
|
RIGHT JOIN |
Spojování zprava | Vybrány řádky, které vyhovují spojovací podmínce (vyjma stavu NULL =NULL ), plus řádky odkazované tabulky, na které žádný řádek zdrojové tabulky neodkazuje – v těchto případech jsou všechny hodnoty zdrojové tabulky vyplněny hodnotou NULL .
|
OUTER JOIN |
Vnější spojování | Vybrány všechny řádky zdrojové a odkazované tabulky, s tím, že pokud nebylo nalezeno propojení, jsou hodnoty z opačné tabulky vyplněny NULL .
|
- ↑ V SQL se
NULL = NULL
vyhodnotí jako NEPRAVDA, viz kapitola #Porovnávání
Klíče
Do sloupce, nad kterým je definován unikátní klíč, nelze vložit dvě stejné (duplicitní) hodnoty, neboť by byla porušena datová integrita. Někdy (například při nějakém úkonu manipulujícím s daty) přesto může nastat potřeba dočasně duplicitní hodnotu zapsat. SŘBD pak zareaguje chybovou hláškou. Výjimkou z hodnot, které se v unikátním klíči mohou vyskytovat vícekrát, je právě „hodnota“ NULL
.
WITH ROLLUP
Konstrukce WITH ROLLUP u agregačních funkcí používá NULL speciálním způsobem – jako hodnotu sjednocující agregované sloupečky.
Souborové systémy
V unixových operačních systémech se používá soubor /dev/null, který označuje tzv. bit bucket, zařízení, do kterého lze zapsat cokoli, ale veškerá zapsaná data se nenávratně ztrácejí. V operačních systémem firmy Microsoft (MS-DOS, Microsoft Windows) se takové zařízení označuje jako NUL.
Podobné soubory se zpravidla používají k zahazování nežádoucích hlášení programu pomocí přesměrování (např. program > /dev/null
).
Související články
Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok. Podrobnejšie informácie nájdete na stránke Podmienky použitia.
Antény
Chemické zdroje elektriny
Chladenie v elektrotechnike
Elektrická sústava automobilu
Elektrická trakcia
Elektrické prístroje
Elektrické súčiastky
Elektrické spotrebiče
Elektrické stroje
Čítanie (elektrotechnika)
Činný výkon
Štatistická dynamika
Živý vodič
Admitancia
Antiparalelné zapojenie
Asynchrónny motor
Blúdivý prúd
Bočník (elektrotechnika)
Diak (polovodičový prvok)
Displej s kvapalnými kryštálmi
Elektrická inštalácia
Elektrická rezonancia
Elektrická sila
Elektrická vodivosť
Elektrické zariadenie
Elektrický obvod
Elektrický zvonec
Elektroenergetika
Elektromer
Elektrometer
Elektromobil
Elektromotor
Elektromotorické napätie
Elektrotechnický náučný slovník
Elektrotechnika
Elektrotechnológia
Fázor
Faradayova klietka
Frekvencia (fyzika)
Graetzov mostík
Impedancia
Indukčnosť
Induktancia
Istič
Izolácia (elektrotechnika)
Izolant
Jadro vodiča
Jednobran
Jednosmerný prúd
Joulovo teplo
Katóda
Koaxiálny kábel
Kompenzácia účinníka
Konduktometria
Konektor (elektrotechnika)
Korónový výboj
Lanko (elektrotechnika)
Leptanie
Logické hradlo
Magnetická susceptibilita
Magnetizácia (veličina)
Merný elektrický odpor
Mobilné zariadenie
Napájací zdroj
Napäťový chránič
Napäťový násobič
Nortonova veta
Odpínač
Odpojovač
OLED
Olovený akumulátor
Paralelné zapojenie
Peltierov článok
Plošná hustota elektrického prúdu
Poistka (elektrotechnika)
Posuvný prúd
Prúdový chránič
Prenosové médium
Prieletový klystrón
Primárny elektrochemický článok
Reaktancia
Rekuperácia (dopravný prostriedok)
Relé
Reproduktorová výhybka
Rezistancia
Rozhranie (interface)
Sériové zapojenie
Seebeckov jav
Sekundárny elektrochemický článok
Settopbox
Skrat
Sonar
Spínač
Spínaný zdroj
Straty v mikropásikových vedeniach
Striedavý prúd
Stupeň ochrany krytom
Svetelná výbojka
Symetrizačný člen
Technická normalizácia
Tepelné relé
Tepelne vodivostný detektor
Termočlánok
Théveninova veta
Transformátor
Transformátor s fázovou reguláciou
Trojfázová sústava
Tuhá fáza (elektronika)
Tyratrón
Usmerňovač (elektrotechnika)
Uzemnenie
Uzol (vodiče)
Vírivý prúd
Výbojka
Varistor
Ventilátor
Vodič (elektrotechnika)
Voltov stĺp
Vstavaný systém
Zásuvka (elektrotechnika)
Zdroj (elektrotechnika)
Zisk antény
Text je dostupný za podmienok Creative
Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších
podmienok.
Podrobnejšie informácie nájdete na stránke Podmienky
použitia.
www.astronomia.sk | www.biologia.sk | www.botanika.sk | www.dejiny.sk | www.economy.sk | www.elektrotechnika.sk | www.estetika.sk | www.farmakologia.sk | www.filozofia.sk | Fyzika | www.futurologia.sk | www.genetika.sk | www.chemia.sk | www.lingvistika.sk | www.politologia.sk | www.psychologia.sk | www.sexuologia.sk | www.sociologia.sk | www.veda.sk I www.zoologia.sk