ဟိုတစ်နေ့ကတော့ database အကြောင်းကိုပြောပြထားပြီးပြီ ဖြစ်တဲ့ အတွက် ဒီနေ့မှာတော့ DBMS တွေမှာ အသုံးများတဲ့ sql programming အကြောင်းကို sharing လုပ်ပေးသွားပါမယ်။
Database အကြောင်း post ကိုတော့ ဒီမှာသွားဖတ်လို့ရပါတယ်။
https://www.facebook.com/permalink.php?story_fbid=799649060391140&id=100010381592688

SQL ကိုတော့ sequel လို့လဲ pronounce လုပ်ပြီးတော့ လဲ ခေါ်ကြတယ်၊ long form ကတော့ Structured query language လို့ခေါ်တယ်။ database နဲ့ communicate လုပ်ပြီး data တွေကို manage လုပ်တယ်။ developer မဟုတ်တဲ့ fields ကသူတွေကတော့ အကြမ်းဖျင်းအနေနဲ့ ဒီလောက်သိထားရင်ရပြီ၊ ဆက်ကြည့်ရအောင်။

အခုခေတ်မှာ ကျနော်တို့ web application ပဲရေးရေး၊ mobile apps တွေပဲဆောက်ဆောက် DATA ဆိုတဲ့အရာက အရေးပါတဲ့အရာတစ်ခုအနေနဲ့ မပါမဖြစ်ပါလာပါပြီ။ ဆိုတော့က အဲ့ဒီ data တွေကို hold လုပ်ဖို့အတွက် database ဆိုတဲ့ အရာကိုသုံးတယ်၊ ဘယ်လိုသုံးလဲဆိုတာကို ဥပမာတွေနဲ့တကွ အရင် post မှာရေးထားပေးထားတယ်။ SQL (Structured query language) ဆိုတာကတော့ အဲ့ဒီ data တွေနဲ့ deal လုပ်လို့ရအောင် လုပ်ထားတဲ့ programming တစ်ခုဖြစ်တယ်။

Application တစ်ခုကို python နဲ့ပဲရေးရေး php နဲ့ပဲရေးရေး၊ data နဲ့ပတ်သတ်တဲ့ operation လုပ်ပြီဆို Database က အဲ့ဒီ language တွေကို နားမလည်ပါဘူး၊ ဒါပေမဲ့ SQL ဆိုတဲ့ language ကိုတော့ နားလည်ပါတယ်။ အဲ့အတွက်ကြောင့် မို့ပဲ database နဲ့ ပတ်သတ်ပြီး operation တွေလုပ်တဲ့အချိန်မှာ SQL Query တွေရေးပြီး လုပ်ကြတာပါ။ SQL မှာလဲတစ်ခြား language တွေလိုပဲ သူ့ကိုယ်ပိုင် markup တွေ syntax တွေရှိပါတယ်။ markup တွေအပြင် table forms နဲ့ data store လုပ်တဲ့ သူ့ရဲ့ concept သဘောတရားကိုလဲ နားလည်ထားဖို့လိုပါတယ်။ table တစ်လုံးခြင်းဆီတိုင်းမှာ Unique ID တစ်ခုရှိမယ်၊ တစ်ခြား columns တွေ လည်းရှိမယ်။

ဥပမာဆိုပါစို့၊ စာကြည့်တိုက်ဆိုတဲ့ database တစ်ခုရှိမယ်ဆိုရင် သူ့မှာ စာအုပ်ဆိုတဲ့ table ရှိမယ်၊
Unique ဖြစ်တဲ့စာအုပ်အမှတ်စဉ်ရှိမယ်၊တစ်ခြား column တွေဖြစ်တဲ့ ရေးသားသူ၊ ခေါင်းစဉ်၊ အမျိုးအစား၊ဈေးနှုန်းစတာတွေရှိမယ်။ column တစ်ခုခြင်းဆီကို သင့်တော်တဲ့ data type တွေနဲ့သိမ်းထားမယ်၊ ဈေးနှုန်းဆို Integer နဲ့ သိမ်းမယ်၊ စာသားတွေဖြစ်တဲ့ ခေါင်းစဉ်တို့ ရေးသားသူ တို့ဆို Text နဲ့သိမ်းမယ် စသည်ဖြင့် ဒါမျိုးလေးတွေကို သိထားရပါမယ်။ ဒါကြောင့်မို့ web developer တစ်ယောက်အနေနဲ့ ရပ်တည်ဖို့ဆုံးဖြတ်ထားရင် SQL ကို မဖြစ်မနေလေ့လာထားသင့်ပါတယ်။

အသုံးများတဲ့ query တစ်ချို့ နဲ့ သူတို့တွေဘာအလုပ်လုပ်တယ်ဆိုတာ ပါရေးပေးလိုက်ပါတယ်။

CREATE DATABASE – to create a database
CREATE TABLE – to create tables
SELECT – to find/extract some data from a database
UPDATE – make adjustments and edit data
DELETE – to delete some data
ဒါတွေက အခြေခံသိထားရမယ့် အရာလေးတွေပါ၊ တစ်ခြားဟာတွေအများကြီးကျန်ပါသေးတယ်။ ဒီ query တွေနဲ့ database ထဲက data တွေကို operate လုပ်တာပါ။ system က query တွေကို လက်ခံတယ်၊ interpret လုပ်တယ်၊ နောက်ဆုံးအနေနဲ့ Result ထုတ်ပေးပါတယ်။ Result အနေနဲ့ကတော့ table တစ်ခုဆောက်သွားတာလဲဖြစ်နိုင်တယ်၊ row တစ်ကြောင်း update လုပ်သွားတာလဲဖြစ်နိုင်ပါတယ်။

Sql database systems တွေထဲမှာ popular ဖြစ်တာဒါတွေရှိမယ်။

Oracle

Oracle ကတော့ leading sql လို့ပြောလို့ရတယ်၊ industries တော်တော်များများမှာသုံးတယ်၊ ဒါပေမဲ့ commercial system တစ်ခုဖြစ်တယ်။ Data warehousing တို့ online transaction လုပ်တဲ့နေရာတို့မှာ safe & secure ဖြစ်တဲ့ အတွက် အသုံးများကြတယ်။

Mysql

Mysql ကတော့ open source လုပ်ထားတယ်။ Individual အတွက်ရော business အတွက်ရောသုံးလို့ရတယ်၊ license fee မလိုဘူး။ သူကိုယ်တိုင်က opensource model ဖြစ်တဲ့အတွက် open source application တော်တော်များများက ထည့်သုံးကြတယ်။

Microsoft sql server

နာမည်မှာပါတဲ့ အတိုင်း ပဲ Microsoft ရဲ့ database system တစ်ခုဖြစ်ပါတယ်။ window os တွေရဲ့ Major version တိုင်းမှာ သုံးတယ်၊ တစ်ခြား window တင်ထားတဲ့ web servers တွေမှာလဲသုံးပါတယ်။ User base များပါတယ်။

Postgresql

Mysql နဲ့ ပြိုင်ဘက်တွေလို့ပြောလို့ရတယ်။ သူလဲ open source တစ်ခုပဲ၊ licensing ကလဲ free ဖြစ်တယ်၊ os အကုန်လုံးကိုလဲ support လုပ်တယ်။ အခုနောက်ပိုင်း တော်တော်လေးသုံးလားကြတယ်၊ တစ်ခြား database တွေထက်စာရင် mysql standard syntax ပေါ်မှာဂရုစိုက်ထားပါတယ်။

Learning လုပ်လို့ရနိုင်တဲ့ books & online links တွေကိုလဲ share ပေးလိုက်ပါတယ်။

https://www.amazon.com/SQL-QuickStart-Guide-Simplified-Beginners/dp/1508767483/ref=as_li_ss_tl?s=books&ie=UTF8&qid=1519754733&sr=1-5&keywords=SQL&refinements=p_72:1250221011&linkCode=sl1&tag=laurebradf-20&linkId=8511c1267a091e3021730e2a4f170077

https://www.codecademy.com/learn/learn-sql
https://www.khanacademy.org/computing/computer-programming/sql
https://www.udacity.com/course/intro-to-relational-databases–ud197
https://lagunita.stanford.edu/courses/DB/SQL/SelfPaced/about