Thuta Learning
ရှာဖွေရန်
BasicData & Databasesbeginner

Data Types နှင့် NULL

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • Data Types နှင့် NULL concept ကို နားလည်ရှင်းပြနိုင်ရန်
  • နမူနာ SQL/command ကို ကိုယ်တိုင် run ပြီး output စစ်နိုင်ရန်
  • Tutorial Platform project နှင့် production scenario တွင် အသုံးချနိုင်ရန်

နားလည်ထားရမယ့် အချက်

Data type က သိမ်းနိုင်သော value၊ operation နဲ့ validation အချို့ကို database level မှာသတ်မှတ်ပေးပါတယ်။ Money ကို floating-point နဲ့မသိမ်းဘဲ `numeric` သုံးသင့်ပြီး time zone ပါသည့် event အတွက် `timestamptz` ကိုရွေးချယ်သင့်ပါတယ်။ `NULL` က empty string သို့ zero မဟုတ်ဘဲ “မသိ/မရှိသေး” ဆိုသော three-valued logic ကိုရည်ညွှန်းပါတယ်။

လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်

Tutorial table တွင် title ကို `text`၊ price ကို `numeric(10,2)`၊ published state ကို boolean၊ metadata ကို `jsonb` နဲ့ သိမ်းမယ်။ Publish မလုပ်သေးသော row ရဲ့ `published_at` ကို `NULL` ထားပြီး query မှာ `IS NULL` ဖြင့်စစ်ရပါတယ်။

အတူတူ စမ်းရေးကြည့်မယ်

sql
CREATE TABLE app.tutorials (
  tutorial_id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
  title text NOT NULL,
  slug text NOT NULL UNIQUE,
  price numeric(10,2) NOT NULL DEFAULT 0 CHECK (price >= 0),
  is_published boolean NOT NULL DEFAULT false,
  published_at timestamptz,
  metadata jsonb NOT NULL DEFAULT '{}'::jsonb
);

SELECT title FROM app.tutorials WHERE published_at IS NULL;
You should see
Domain meaning နဲ့ကိုက်ညီသော columns ပါသည့် `app.tutorials` table ရမည်။

၅ မိနစ် စမ်းကြည့်

Lesson duration၊ rating၊ optional video URL နဲ့ publish time အတွက် type များရွေးပြီး ဘာကြောင့်ရွေးသလဲရေးပါ။

သတိလေးတစ်ချက်

`WHERE published_at = NULL` က true မဖြစ်ပါ။ NULL comparison အတွက် `IS NULL` ကိုသုံးပါ။

PostgreSQL — Data TypesPostgreSQL Global Development Group

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • `WHERE published_at = NULL` က true မဖြစ်ပါ။ NULL comparison အတွက် `IS NULL` ကိုသုံးပါ။
  • နမူနာ code ကို production data ပေါ် တိုက်ရိုက်မစမ်းဘဲ local/test database နှင့် recoverable backup ပေါ်တွင် အရင်အတည်ပြုပါ။

လေ့ကျင့်ခန်း

Lesson duration၊ rating၊ optional video URL နဲ့ publish time အတွက် type များရွေးပြီး ဘာကြောင့်ရွေးသလဲရေးပါ။

You'll know it worked when: Domain meaning နဲ့ကိုက်ညီသော columns ပါသည့် `app.tutorials` table ရမည်။

Data Types နှင့် NULL | Thuta Learning