Chapter 1
Database ဆိုတာ
ကျွန်တော်တို့ တွေ Program တွေကို ရေးသည့်အခါမှာ data တွေကို သိမ်းဆည်းဖို့ လိုအပ်ပါတယ်။ Data တွေကို သိမ်းဆည်းသည့် အခါမှာတော့ File အနေဖြင့် သိမ်းဆည်းနိုင်ပါတယ်။ သို့ပေမယ့် Data တွေ များလာသည့် အခါမှာတော့ database ဖြင့် သိမ်းဆည်းမှ သာ အဆင်ပြေပါတယ်။
Database ကို အသုံးပြုခြင်းဖြင့် data တွေကို လွယ်ကူစွာ သိမ်းဆည်းနိုင်ခြင်း ၊ data အမြောက်အများ သိမ်းဆည်းနိုင်ခြင်း ၊ data များကို ပြန်လည် ရှာဖွေနိုင်ခြင်း တို့ ပြုလုပ်နိုင်ပါတယ်။
Database မှာ အမျိုးမျိုုး ရှိပါတယ်။ အများအသုံးများသည့် database တွေက တော့
- Relational Database
- NoSQL (Not Only SQL)
တို့ ဖြစ်ပါတယ်။
Relational Database မှာ Microsoft SQL, MySQL, Postgres, Oracle, SQLite စသည်တို့ ပါဝင်ပါတယ်။ Relational Database ဟာ table တွေပါဝင်ပြီးတော့ table တစ်ခု နှင့် တစ်ခု relationship ရှိနေသည့် သဘောပါ။ data တွေကို ဆွဲထုတ်သည့်အခါမှာ SQL ဆိုသည့် structure query language ကို အသုံးပြုပြီး ဆွဲထုတ်ရပါတယ်။ Database အမျိုးအစား ပေါ်မူတည်ပြီး SQL syntax ဟာ အနည်းအများ ပြောင်းလဲ မှုရှိပေမယ့် အခြေခံကတော့ အတူတူပါပဲ။
NoSQL မှာတော့ MongoDB, Redis, Neo4j စသည် တို့ ပါဝင်ပါသည်။ NoSQL မှာတော့ relation ချိတ်ဆက်မှုကို အဓိက မထားပါဘူး။ MongoDB ဟာ document ပုံစံအနေဖြင့် data သိမ်းဆည်းပြီး Redis ဟာ Key Value ပုံစံ ဖြင့် သိမ်းဆည်းပါတယ်။ Neo4j ကတော့ Graph ပုံစံ ဖြင့် data သိမ်းဆည်းပါတယ်။
အခုစာအုပ်မှာတော့ Relational Database ဖြစ်သည့် MySQL ကို အဓိက ထားပြီး ပြောသွားပါမယ်။ MySQL ကို အသုံးပြုဖို့ Realational database သဘောတရား ကို နားလည်ဖို့ လိုပါတယ်။ Database မှာ ပါဝင်သည့် အရာများ နောက်ပြီး SQL (Structured Query Language) ကို လေ့လာ ဖို့ လိုပါတယ်။
+++
Relational Database တွင် ပါဝင်ခြင်းများ
Database ကို ဖို့ အတွက် ပထမဆုံး Database ကို စတည် ဆောက်ဖို့ လိုပါတယ်။
Database မှာ Table တွေ တစ်ခု သို့မဟုတ် တစ်ခု ထက် မက ပါဝင်ပါတယ်။ Table ထဲမှာ တော့ Rows တွေပါဝင်ပါတယ်။ Rows ထဲမှာ Columns တွေပါဝင်ပါတယ်။
အထက်ပါ ပုံမှာ School Database ဖြစ်ပြီး School Database မှာ Students နှင့် Teachers table ပါပါတယ်။
Students Table မှာတော့ ID, Name, Age, DOB, Grade စတာတွေ ပါဝင်ပါတယ်။
Students table ထဲမှာတော့ Student data တွေက row by row ပါဝင်ပါလိမ့်မယ်။
Row ထဲက data တွေကို ထုတ်ဖို့ အတွက် SQL ကို သုံးပြီး ဆွဲထုတ်ရပါမယ်။
နောက် အခန်းက စပြီး MySQL စသွင်း ပါမယ်။