Vastus (12.12.2022 09:29): Vastava veeru juures on märkeruut NULL, mis tuleb märgistada (vt lisatud pilti). Vastasel juhul, kui jätta kirjelduse veerg täitmata, lisatakse veergu tühi string. SQLis üldiselt ja PostgreSQLis spetsiifiliselt on NULL (märgend, mis tähistab väärtuse puudumist) ja tühi string (lühikene tekstiline väärtus) kaks ise asja.
Ühtlasi on see näide, kuidas andmebaasi kitsendused aitavad hoida andmeid korrastatumalt. Kui veerul kirjeldus ei oleks CHECK kitsendust, mis keelab veerus tühja stringi ja tühimärkidest koosnevad stringid, siis phpPgAdmini kaudu andmeid sisestades võiks mõnede laudade kirjeldus olla NULL, mõnedel aga ''. See omakorda muudaks hiljem keerulisemaks näiteks päringu, mis otsib puuduvate kirjeldustega laudu.
SELECT * FROM Laud WHERE kirjeldus IS NULL OR kirjeldus='';
vs
SELECT * FROM Laud WHERE kirjeldus IS NULL; |