អ្វីដែលអ្នកគួរដឹងអំពីគុណតម្លៃ NULL

យល់ពីការប្រើប្រាស់ NULLs ដើម្បីជៀសវាងបញ្ហាមូលដ្ឋានទិន្នន័យ

អ្នកប្រើថ្មីទៅពិភពនៃ មូលដ្ឋានទិន្នន័យ ត្រូវបានច្រឡំជាញឹកញាប់ដោយតម្លៃពិសេសទៅវាល - តម្លៃ 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:

សញ្ញាប្រមាណវិធីនព្វន្ធ

សញ្ញាប្រមាណវិធីប្រៀបធៀប

ទាំងនេះគ្រាន់តែជាឧទាហរណ៍មួយចំនួននៃសញ្ញាប្រមាណវិធីដែលនឹង តែងតែ ត្រឡប់ NULL ប្រសិនបើប្រតិបត្តិការណ៍មួយគឺ NULL ។ មានសំណួរច្រើនស្មុគស្មាញនិងមានភាពស្មុគស្មាញដោយតម្លៃ NULL ។ ចំណុចសំខាន់គឺថាប្រសិនបើអ្នកអនុញ្ញាតឱ្យតម្លៃ NULL នៅក្នុងមូលដ្ឋានទិន្នន័យរបស់អ្នកយល់ពីផលប៉ះពាល់និងផែនការសម្រាប់ពួកគេ។

នោះជា NULL ជាសង្ខេប!