Null értékek az adatbázisban, sql, azaz null értékek

A NULL hiányzik, ismeretlen információ. Az NULL érték nem egy szó teljes értelemben vett értéke: definíció szerint nem jelent semmilyen értéket, és nem tartozik semmilyen típusú adathoz. Ezért a NULL nem egyenlő a FALSE szóval, sem üres karakterlánccal, sem nulla értékkel. Ha NULL értéket hasonlít össze bármely értékhez, az eredmény NULL, nem FALSE és nem 0. Ezenkívül a NULL nem NULL! Gyakran előfordul, hogy a programozók elkerülik az null értékeket, és a nulla mezőben az adatbázisban a 0, '' (üres karakterlánc) alapértelmezett értékeit állítják be. Először is, a szemantika szempontjából hibás: 0 még mindig az információ rendelkezésre állását jelenti. Másodszor, az ilyen alapértelmezett értékek használata hibákhoz vezethet.







Tegyük fel, hogy létezik olyan termékcímke, amelyben notebook modelleket tárolnak. Minden modellnek van egy gyártója, leírása és ára. Az ár nullért vehet, mert új termék hozzáadásakor nem feltétlenül ismeretes. Tegyük fel, hogy meg kell számolnunk a hp laptopok átlagos költségét. Ha minden árról tudunk, akkor semmi gond.







1) Az első kísérletben az árterület alapértelmezett értéke '' (üres string). A 4. modell ára nem ismert (értéke 0 vagy ''). Ebben az esetben az átlagos ár nem számít helyesen, mert A számítás figyelembe veszik, és egy laptop, amely nem rendelkezik ár.

avg = (400 + 300 + 500 + 0) / 4 = 300

2) A második kísérletben az árterület nulla. Ebben az esetben az adatbázis figyelmen kívül hagyja a null értékeket csoportosításkor. Az átlagértéket a 4. számú modell figyelembe vétele nélkül számítjuk ki, amely nem ismeri az árat.

avg = (400 + 300 + 500) / 3 = 400

Így használj null értékeket bárhol, amire valóban szükség van.

lehet, hogy az IS NOT NULL-ban való megírás kérdése lehetséges

A lekérdezésben egy helyesebb állapotot használhat
az ár nem nulla és az ár> 0
Még jobb azonban, ne egyesítse a laptopot és annak árát egyetlen táblázatban. Ezek különböző entitások, igaz? És ezeket különböző táblázatokban kell végrehajtani, akkor ebben a perspektívában nem lesz semmi nulla vagy nulla érték használata




Kapcsolódó cikkek