Skip to content
GitHub

Database Structure: Primary Key

Primary Key ဆိုတာ database table တစ်ခုမှာရှိတဲ့ record(row) တစ်ခုစီကို တိတိကျကျခွဲခြား (unique) စွာဖြင့် ထုတ်ယူပေးနိုင်သော field (သို့မဟုတ်) set of fields ဖြစ်ပြီး တခြား table တွေနှင့် relationship တည်ဆောက်ဖို့ကိုလည်း ကူညီပေးပါတယ်။

Primary Key တစ်ခုဟာ Candidate Key အတွက် သတ်မှတ်ထားတဲ့ စည်းမျဉ်းတွေအတိုင်း အတိအကျ ကိုက်ညီရပါမယ်။ ဒီလိုအပ်ချက်ကို ပြည့်မီဖို့ကတော့ လွယ်ကူပါတယ်။ ဘာကြောင့်လဲဆိုတော့ Primary Key ကို table ထဲမှာရှိတဲ့ Candidate Key တွေထဲကနေ ရွေးချယ်ရတာမလို့ပဲ ဖြစ်ပါတယ်။

ကောင်းမွန်စွာ ဒီဇိုင်းဆွဲထားတဲ့ relational database ထဲက table တိုင်းမှာ Primary Key တစ်ခု မဖြစ်မနေ ရှိရပါမယ်။ Primary Key မရှိရင် record တစ်ခုချင်းစီကို တိကျသေချာစွာ ရှာဖွေတာ၊ ပြင်ဆင်တာ၊ ဖျက်ပစ်တာတွေ လုပ်ဖို့ မဖြစ်နိုင်ပါဘူး။

Primary Key ကို ရွေးချယ်တဲ့အခါ အောက်ပါအချက်တွေကို လိုက်နာသင့်ပါတယ်။

  1. တိုတိုရှင်းရှင်းနှင့် တိကျတဲ့ data အမျိုးအစားရှိတဲ့ Candidate Key ကို ရွေးချယ်ပါ။ (ဥပမာ- ဂဏန်းအမျိုးအစားဖြစ်တဲ့ ID field)
    • သင့်မှာ field တစ်ခုတည်းပါဝင်တဲ့ Candidate Key နှင့် field တွေပေါင်းစပ်ထားတဲ့ Candidate Key ရှိတယ်ဆိုရင် ရိုးရှင်းတဲ့ field တစ်ခုတည်းပါဝင်တဲ့ Candidate Key ကို ရွေးချယ်ပါ။
    • field အရေအတွက် အနည်းဆုံးပါဝင်တဲ့ Candidate Key ကို အသုံးပြုတာဟာ အကောင်းဆုံးပါပဲ။ (စီမံခန့်ခွဲရလွယ်ကူပြီး performance အတွက် ပိုကောင်းပါတယ်)
  2. Artificial Key ကို သုံးဖို့ မကြောက်ပါနှင့်။
    • Natural Key (ဥပမာ- မှတ်ပုံတင်နံပါတ်) တွေက အမြဲတမ်း unique မဖြစ်တာ၊ ဒါမှမဟုတ် နောက်ပိုင်းမှာ ပြောင်းလဲသွားနိုင်တာမျိုးတွေ ရှိတတ်ပါတယ်။
    • ဒါကြောင့် အဲဒီလို Natural Key တွေက အားမကိုးရဘူးဆိုရင် Artificial Key (ဥပမာ- Auto-Increment ID) ကို သုံးတာက ပိုပြီးစိတ်ချရပါတယ်။
  3. ဘယ်တော့မှ မပြောင်းလဲမယ့် Field ကို ရွေးပါ။
    • Primary Key ရဲ့ တန်ဖိုးဟာ record တစ်ခုကို ဖန်တီးလိုက်တဲ့အချိန်ကစပြီး ဘယ်တော့မှ ပြောင်းလဲသွားလို့ မရပါဘူး။ ဒါကြောင့် တန်ဖိုးပြောင်းလဲနိုင်ခြေရှိတဲ့ field (ဥပမာ- Email, Phone Number) တွေကို Primary Key အဖြစ် ဘယ်တော့မှ မသတ်မှတ်သင့်ပါဘူး။
  4. Primary key က Unique ဖြစ်ပြီး Null မဖြစ်ရပါဘူး။
    • Record တိုင်းမှာ ဒီ key ရဲ့ တန်ဖိုးက လုံးဝမတူညီရပါဘူး။
    • ဒီ key မှာ တန်ဖိုး အမြဲတမ်းရှိနေရပါမယ်။ ဗလာ (empty)၊ null ဖြစ်လို့ မရပါဘူး။

Primary key က ဘာကြောင့်အရေးကြီးတာလဲ။

Section titled “Primary key က ဘာကြောင့်အရေးကြီးတာလဲ။”
  • Record တွေထပ်နေတာတွေ (duplicate records) မရှိအောင် ကာကွယ်ပေးပါတယ်။
  • Primary key ကို တခြား table တွေက Foreign Key အဖြစ် အသုံးပြုပြီး relations တွေ တည်ဆောက်နိုင်ပါတယ်။
  • Data ရှာဖွေတဲ့အခါ အလွန်မြန်ဆန်စေပါတယ်။ Database တွေက Primary Key တွေကို အလိုအလျောက် Index အဖြစ် သတ်မှတ်ပေးထားတဲ့အတွက် record တွေကို ရှာဖွေတဲ့အခါ အချိန်အများကြီး ပိုမြန်စေပါတယ်။