Ինչ պետք է իմանաք NULL արժեքների մասին

Հասկացեք NULL- ի օգտագործումը, որպեսզի խուսափեք բազայի խնդիրներից

Տվյալների բազաների աշխարհում նոր օգտվողները հաճախ շփոթվում են տվյալ դաշտում հատուկ արժեքով `NULL արժեքով: Այս արժեքը կարելի է գտնել ցանկացած տիպի տվյալներ պարունակող դաշտում եւ ունի հատուկ նշանակություն հարաբերական տվյալների բազայի համատեքստում: Հավանաբար լավագույնն է NULL- ի մեր քննարկման մեկնարկը մի քանի բառով, թե ինչ NULL- ը չէ :

Փոխարենը, NULL- ը արժեքի արժեքն է, որն օգտագործվում է անհայտ կտոր ներկայացնի: Հաճախ, տվյալների բազայի ծրագրավորողները կօգտագործեն «NULL արժեք» արտահայտությունը, բայց դա սխալ է: Հիշեք `NULL- ը անհայտ արժեք է, որի դաշտը դատարկ է:

Իրական աշխարհում NULL- ը

Եկեք նայենք պարզ օրինակին. Սեղան, որը պարունակում է մանրածախ դիրքորոշման գույքագրումը: Ենթադրենք, մեր գույքագրում պարունակում է 10 խնձոր եւ երեք նարինջ: Մենք նաեւ ֆոնդային սալորներ ենք, բայց մեր գույքագրման տեղեկատվությունը թերի է, եւ մենք չգիտենք, թե քանի (եթե առկա) սալորները գտնվում են ֆոնդային բորսայում: Օգտագործելով NULL- ի արժեքը, մենք կունենանք գույքագրման աղյուսակը ստորեւ ներկայացված աղյուսակում:

Մրգային կախովի առարկա

Գրապահոց ID Նյութը Քանակ
1 Խնձոր 10
2 Պտուղներ 3
3 Սալոր ԴԱՏԱՐԿ


Պարզապես սխալ կլինի ընդգրկել սալորների գրանցման համար 0-ի քանակությունը, քանի որ դա ենթադրում էր, որ գորգերի մեջ սալոր չկա: Ընդհակառակը, մենք կարող ենք ունենալ մի քանի սալոր, բայց մենք պարզապես համոզված չենք:

NULL- ին կամ ոչ NULL- ին:

Սեղան կարելի է նախագծել կամ թույլ տալ NULL արժեքները, թե ոչ:

Ահա մի SQL օրինակ, որը ստեղծում է գույքագրման աղյուսակ, որը թույլ է տալիս որոշ NULLs:

SQL> ՍՏԵՂԾԵԼ ՏԵՔՍՏԱՅԻՆ ԻՆՎԵՆՏՈՐՈւԹՅՈւՆ (InventoryID INT N NOT, Item VARCHAR (20) NULL, քանակի INT);

Գույքի աղյուսակը այստեղ թույլ չի տալիս NULL արժեքները Գրապահոցի եւ առարկայի սյունակներում, բայց թույլ է տալիս նրանց Քանակական սյունակում:

Թույլատրելով NULL- ի արժեքը կատարելապես լավ է, NULL- ի արժեքները կարող են խնդիրներ առաջացնել, քանի որ արժեքների ցանկացած համեմատություն, որի դեպքում NULL- ը միշտ հանգեցնում է NULL:

Ստուգելու համար, թե արդյոք ձեր աղյուսակը պարունակում է NULL արժեքներ, օգտագործեք IS NULL կամ NULL օպերատորը: Ահա IS NULL- ի օրինակ է.

SQL> SELECT INVENTORYID, ITEM, QUANTITY INVENTORY- ից, որտեղ քանակությունը NULL չէ;

Հաշվի առնելով մեր օրինակը, դա կվերադառնա.

Գրապահոց ID Նյութը Քանակ
3 Սալոր

Գործող NULL- ներում

NULL- ի հետ աշխատող արժեքները հաճախ աշխատում են NULL արդյունքներից `կախված SQL- ի գործարկությունից : Օրինակ, ենթադրելով, որ A- ն NULL է:

Հաշվիչ օպերատորներ

Համեմատության օպերատորներ

Սրանք ընդամենը մի քանի օպերատորների օրինակներ են, որոնք միշտ վերադարձնում են NULL, եթե մեկ operand- ն NULL է: Շատ ավելի բարդ հարցումներ կան, եւ բոլորը բարդ են NULL արժեքներով: Վերցրեք տնային կետը այն է, որ եթե դուք թույլատրում եք NULL- ի արժեքները ձեր տվյալների բազայում, հասկացեք հետեւանքները եւ դրանց պլանավորեք:

Դա NULL- ն ընկույզով է: