យល់ពីការប្រើប្រាស់ NULLs ដើម្បីជៀសវាងបញ្ហាមូលដ្ឋានទិន្នន័យ
អ្នកប្រើថ្មីទៅពិភពនៃ មូលដ្ឋានទិន្នន័យ ត្រូវបានច្រឡំជាញឹកញាប់ដោយតម្លៃពិសេសទៅវាល - តម្លៃ NULL ។ តម្លៃនេះអាចរកឃើញនៅក្នុងវាលដែលមានប្រភេទទិន្នន័យណាមួយហើយមានអត្ថន័យពិសេសនៅក្នុងបរិបទនៃទំនាក់ទំនងទិន្នន័យ។ វាប្រហែលជាល្អបំផុតដើម្បីចាប់ផ្តើមការពិភាក្សារបស់យើងអំពី NULL ដោយមានពាក្យពីរបីអំពីអ្វីដែល NULL មិនមែន :
- NULL មិនមែនជាលេខសូន្យទេ។
- NULL មិនមែនជាតម្លៃខ្សែអក្សរទទេ ("") ។
ផ្ទុយទៅវិញ NULL គឺជាតម្លៃដែលត្រូវបានប្រើដើម្បីតំណាងឱ្យបំណែកដែលមិនស្គាល់។ ជាញឹកញាប់អ្នកសរសេរកម្មវិធីមូលដ្ឋានទិន្នន័យនឹងប្រើឃ្លា "តម្លៃ NULL" ប៉ុន្តែនេះមិនត្រឹមត្រូវ។ ចងចាំ: NULL គឺជាតម្លៃដែលមិនស្គាល់ដែលវាលនេះលេចឡើងទទេ។
NULL នៅក្នុងពិភពពិត
តោះមើលឧទាហរណ៍សាមញ្ញមួយ: តារាងដែលមានសារពើភ័ណ្ឌសម្រាប់ផ្លែឈើឈរ។ ឧបមាថាសារពើភ័ណ្ឌរបស់យើងមាន 10 ផ្លែប៉ោមនិងក្រូច 3 ។ យើងក៏ stock plums ប៉ុន្តែព័ត៌មានសារពើភ័ណ្ឌរបស់យើងគឺមិនពេញលេញហើយយើងមិនដឹងថាតើមានមនុស្សប៉ុន្មាន (ប្រសិនបើមាន) plums មាននៅក្នុងស្តុក។ ដោយប្រើតម្លៃ NULL យើងនឹងមានតារាងសារពើភ័ណ្ឌដែលបង្ហាញក្នុងតារាងខាងក្រោម។
ផ្លែឈើស្តង់ដារ
InventoryID | ធាតុ | បរិមាណ |
1 | ផ្លែប៉ោម | 10 |
2 | ក្រូច | 3 |
3 | Plums | NULL |
វាច្បាស់ណាស់ថាមិនត្រឹមត្រូវក្នុងការរួមបញ្ចូលបរិមាណនៃ 0 សម្រាប់កំណត់ត្រា plums នោះទេព្រោះថានឹងមានន័យថាយើង មិនមាន plum នៅក្នុងសារពើភ័ណ្ឌ។ ផ្ទុយទៅវិញយើងអាចមាន plums ខ្លះប៉ុន្តែយើងមិនប្រាកដទេ។
ដើម្បី NULL ឬមិន NULL?
តារាងមួយអាចត្រូវបានបង្កើតឡើងដើម្បីអនុញ្ញាតឱ្យតម្លៃ NULL ឬអត់។
នេះគឺជាឧទាហរណ៍ SQL ដែលបង្កើតតារាងវិភាគដែលអនុញ្ញាត NULLs មួយចំនួន:
SQL> CREATE TABLE INVENTORY (InventoryID INT NOT NULL, Item VARCHAR (20) NOT NULL, Quantity INT);តារាងវិភាគបញ្ជីនៅទីនេះមិនអនុញ្ញាតឱ្យតម្លៃ NULL សម្រាប់ InventoryID និងជួរឈរ ធាតុ ទេប៉ុន្តែអនុញ្ញាតឱ្យពួកគេសម្រាប់ជួរឈរ បរិមាណ ។
ខណៈពេលដែលអនុញ្ញាតឱ្យតម្លៃ NULL មានសុពលភាពល្អតម្លៃ NULL អាចបង្កបញ្ហាដោយសារការប្រៀបធៀបតម្លៃដែលមួយគឺ NULL តែងតែជាលទ្ធផល NULL ។
ដើម្បីពិនិត្យមើលថាតើតារាងរបស់អ្នកមានតម្លៃ NULL ប្រើសញ្ញា IS NULL ឬ IS NOT NULL ។ នេះគឺជាឧទាហរណ៍នៃ IS NULL:
SQL> SELECT INVENTORYID, ITEM, QUANTITY ពីវិញ្ញាបនប័ត្រ WHERE QUALITY IS NOT NULL;ដែលបានផ្តល់ឱ្យឧទាហរណ៍របស់យើងនៅទីនេះ, នេះនឹងត្រឡប់មកវិញ:
InventoryID | ធាតុ | បរិមាណ |
---|---|---|
3 | Plums |
ដំណើរការលើ NULLs
ការធ្វើការជាមួយគុណតម្លៃ NULL ជាញឹកញាប់បង្កើតលទ្ធផល NULL អាស្រ័យលើ ប្រតិបត្តិការ SQL ។ ឧទាហរណ៍ការសន្មតថា A គឺជា NULL:
សញ្ញាប្រមាណវិធីនព្វន្ធ
- A + B = NULL
- A - B = NULL
- A * B = NULL
- A / B = NULL
សញ្ញាប្រមាណវិធីប្រៀបធៀប
- A = B = NULL
- A! = B = NULL
- A> B = NULL
- A!
ទាំងនេះគ្រាន់តែជាឧទាហរណ៍មួយចំនួននៃសញ្ញាប្រមាណវិធីដែលនឹង តែងតែ ត្រឡប់ NULL ប្រសិនបើប្រតិបត្តិការណ៍មួយគឺ NULL ។ មានសំណួរច្រើនស្មុគស្មាញនិងមានភាពស្មុគស្មាញដោយតម្លៃ NULL ។ ចំណុចសំខាន់គឺថាប្រសិនបើអ្នកអនុញ្ញាតឱ្យតម្លៃ NULL នៅក្នុងមូលដ្ឋានទិន្នន័យរបស់អ្នកយល់ពីផលប៉ះពាល់និងផែនការសម្រាប់ពួកគេ។
នោះជា NULL ជាសង្ខេប!