SQL သို့မဟုတ် Structured Query Language သည် ဆက်စပ်ဒေတာဘေ့စ်များကို စီမံခန့်ခွဲရန်နှင့် ၎င်းတို့အတွင်းရှိ ဒေတာများအပေါ် အမျိုးမျိုးသော လုပ်ဆောင်ချက်များကို လုပ်ဆောင်ရန်အတွက် အသုံးပြုသည့် စံသတ်မှတ်ထားသော ပရိုဂရမ်ဘာသာစကားတစ်ခုဖြစ်သည်။ SQL သည် ဒေတာဘေ့စ်စီမံခန့်ခွဲသူများ၊ ဒေတာခွဲခြမ်းစိတ်ဖြာသူများနှင့် ဒေတာဘေ့စ်တစ်ခုအတွင်း ဒေတာများကို မေးမြန်းရန်၊ ထည့်သွင်းရန်၊ အပ်ဒိတ်လုပ်ရန်နှင့် ဖျက်ရန်အတွက် SQL သည် မယုံနိုင်လောက်အောင် စွယ်စုံအသုံးပြုနိုင်သည်။
SQL ၏ အဓိကအချက်မှာ ဒေတာဘေ့စ် တစ်ခု၏ သဘောတရားဖြစ်သည်။ ဒေတာဘေ့စ်တစ်ခုအား ဒေတာစီမံခန့်ခွဲမှုနှင့် ပြန်လည်ရယူခြင်းတို့ကို လွယ်ကူချောမွေ့စေသည့် နည်းလမ်းဖြင့် ဖွဲ့စည်းထားသည့် ဆက်စပ်ဒေတာအစုအဝေးတစ်ခုအဖြစ် ယူဆနိုင်သည်။ ဒေတာဘေ့စ်များကို အဓိကအားဖြင့် ဆက်စပ်ဒေတာဘေ့စ်များ နှင့် ဆက်နွှယ်မှုမရှိသောဒေ တာဘေ့စ်များကို အမျိုးအစားနှစ်မျိုးဖြင့် ခွဲခြားထားသည်။ SQL ကို ဆက်ဆံရေးများမှတဆင့် အပြန်အလှန်ချိတ်ဆက်ထားသော ဇယားများတွင် ဒေတာများကို သိမ်းဆည်းထားသည့် ဆက်စပ်ဒေတာဘေ့စ်များနှင့် အဓိကအသုံးပြုသည်။
ဆက်စပ်ဒေတာဘေ့စ်များနှင့်အလုပ်လုပ်ရန်အတွက်မရှိမဖြစ်လိုအပ်သော core SQL command အများအပြားရှိသည်။
ဒေတာဘေ့စ်တစ်ခုပေါ်တွင် လုပ်ဆောင်လေ့ရှိသည့် လုပ်ဆောင်ချက်များထဲမှတစ်ခုမှာ SELECT ထုတ်ပြန်ချက်ကို အသုံးပြု၍ ဒေတာကို မေးမြန်းခြင်း ဖြစ်သည်။ SELECT ထုတ်ပြန်ချက်၏ အရိုးရှင်းဆုံးပုံစံမှာ အောက်ပါအတိုင်းဖြစ်သည်။
SELECT ကော်လံ၁၊ ကော်လံ၂ ဇယားအမည်၊
ဤ command သည် သတ်မှတ်ထားသော ဇယားမှ သတ်မှတ်ထားသော ကော်လံများကို ပြန်ပေးလိမ့်မည်။ ဇယားတစ်ခုမှ ကော်လံအားလုံးကို ရွေးရန်၊ ခရေပွင့် (*) သင်္ကေတကို အသုံးပြုသည်-
SELECT * FROM tableName;
SELECT ထုတ်ပြန်ချက်ဖြင့် ပြန်လာသော ရလဒ်များကို ကျဉ်းမြောင်းစေရန် WHERE clause ကို အသုံးပြုနိုင်သည်။ ဤအပိုဒ်သည် ရွေးချယ်ရန်အတွက် အချက်အလက်နှင့် ကိုက်ညီရမည့် အခြေအနေများကို သတ်မှတ်ပေးသည်။ ဥပမာအားဖြင့်:
SELECT * FROM ဝန်ထမ်းများ WHERE ဌာန = 'အရောင်း';
ဤအမိန့်သည် ဌာန ကော်လံ၏တန်ဖိုး 'အရောင်း' ဖြစ်သည့် ဝန်ထမ်း ဇယားရှိ အတန်းအားလုံးကို ပြန်ပေးလိမ့်မည်။
ဆက်စပ်ဒေတာဘေ့စ်များတွင်၊ ဇယားများစွာကို မကြာခဏ ဖြန့်ဝေသည်။ ၎င်းတို့ကြားရှိ ဆက်စပ်ကော်လံတစ်ခုကို အခြေခံ၍ ဇယားနှစ်ခု သို့မဟုတ် နှစ်ခုထက်ပိုသော အတန်းများမှ အတန်းများကို ပေါင်းစပ်ခြင်းလုပ်ငန်းစဉ်ကို Joining ဟုခေါ်သည်။ အသုံးအများဆုံး Join လုပ်ဆောင်ချက်မှာ ဇယားနှစ်ခုလုံးတွင် အနည်းဆုံး ကိုက်ညီမှုတစ်ခုရှိသောအခါ အတန်းများကို ပြန်ပေးသည့် INNER JOIN ဖြစ်သည်။
ဥပမာ-
SELECT staff.name, departments.name FROM ဝန်ထမ်းများအတွင်းပိုင်း တွင် ဌာနများ ချိတ်ဆက်ပါ staff.department_id = departments.id;
ဤအမိန့်သည် လိုက်ဖက်သည့် department_id နှင့် id ကော်လံများကို အခြေခံ၍ ဝန်ထမ်းများ နှင့် ဌာနဆိုင်ရာ ဇယားများကို ချိတ်ဆက်ကာ ဇယားနှစ်ခုလုံးမှ အမည် ကော်လံများကို ရွေးချယ်သည်။
SQL သည် သတ်မှတ်ထားသော ကော်လံများတွင် တူညီသောတန်ဖိုးများရှိသော အတန်းများကို အုပ်စုဖွဲ့ခွင့်ပြုသည်၊ ဥပမာအားဖြင့်၊ ဌာနတစ်ခုစီရှိ ဝန်ထမ်းအရေအတွက်ကို ရေတွက်ခြင်း၊ GROUP BY ကြေညာချက်ကို အသုံးပြု၍ ၎င်းကို အောင်မြင်သည်။ ဥပမာမေးခွန်းတစ်ခုသည် ဤကဲ့သို့ကြည့်နိုင်သည်-
SELECT ဌာန၊ COUNT(*) AS number_of_employees ဝန်ထမ်းများမှ ဌာနအလိုက် အုပ်စုဖွဲ့၊
ဤအမိန့်တော်သည် ဌာနဆိုင်ရာ ကော်လံဖြင့် ဝန်ထမ်း ဇယားရှိ အတန်းများကို စီစစ်ပြီး ဌာနတစ်ခုစီရှိ ဝန်ထမ်းအရေအတွက်ကို ရေတွက်သည်။
SQL သည် တန်ဖိုးအစုတစ်ခုပေါ်တွင် လုပ်ဆောင်ပြီး တန်ဖိုးတစ်ခုတည်းကို ပြန်ပေးသည့် ပေါင်းစပ်လုပ်ဆောင်ချက်များစွာကို ပေးဆောင်သည်။ အသုံးများသော စုစည်းလုပ်ဆောင်ချက်များ ပါဝင်သည်-
ဥပမာအားဖြင့်၊ ဝန်ထမ်း ဇယားရှိ လစာအများဆုံးရရန်၊ အောက်ပါမေးခွန်းကို အသုံးပြုနိုင်သည်။
ဝန်ထမ်းများထံမှ MAX(လစာ) SELECT;
SQL ရှိ ငွေပေးငွေယူဆိုသည်မှာ ယူနစ်တစ်ခုတည်းအဖြစ် လုပ်ဆောင်သည့် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော SQL command များ၏ အတွဲတစ်ခုဖြစ်သည်။ အရောင်းအ၀ယ်များသည် ACID ဂုဏ်သတ္တိများ (Atomicity၊ Consistency၊ Isolation၊ Durability) ကို လိုက်နာခြင်းဖြင့် ဒေတာဘေ့စ်ခိုင်မာမှုကို သေချာစေသည်။ အခြေခံငွေပေးငွေယူတစ်ခုတွင် ပါဝင်နိုင်သည်-
ဒေတာဘေ့စ်ဇယားတစ်ခုပေါ်ရှိ ရှာဖွေမှုများနှင့် မေးမြန်းမှုများ၏စွမ်းဆောင်ရည်ကို မြှင့်တင်ရန်အတွက် SQL သည် အညွှန်းများကို အသုံးပြုသည်။ အညွှန်းတစ်ခုသည် ဒေတာပြန်လည်ရယူခြင်းကို အရှိန်မြှင့်ရန်အတွက် ဒေတာဘေ့စ်စီမံခန့်ခွဲမှုစနစ်တွင် အသုံးပြုနိုင်သည့် အတွင်းပိုင်းရှာဖွေမှုဇယားကို ဖန်တီးပေးသည်။ ရိုးရိုးရှင်းရှင်းပြောရလျှင် ဒေတာဘေ့စ်ဇယားရှိ အညွှန်းတစ်ခုသည် စာအုပ်တစ်အုပ်ရှိ အညွှန်းတစ်ခုနှင့်တူသည်။
အညွှန်းတစ်ခုဖန်တီးခြင်းကို CREATE INDEX ထုတ်ပြန်ချက်ကို အသုံးပြု၍ လုပ်ဆောင်နိုင်သည်၊ ဥပမာ-
ဝန်ထမ်းများ(အမည်) တွင် INDEX idx_employee_name ကို ဖန်တီးပါ။
ဤအမိန့်တော်သည် ဝန်ထမ်း ဇယား၏ အမည် ကော်လံတွင် အညွှန်းတစ်ခု ဖန်တီးပေးသည်၊ ၎င်းသည် ဝန်ထမ်းအမည်ဖြင့် စုံစမ်းမေးမြန်းမှုများကို စစ်ထုတ်ခြင်း သို့မဟုတ် စီခြင်းတို့ကို ပိုမိုထိရောက်စွာ ပြုလုပ်နိုင်သည်။
SQL ရှိ ကန့်သတ်ချက်များသည် ဇယားများရှိ ဒေတာအတွက် စည်းမျဉ်းများဖြစ်သည်။ ဒေတာဘေ့စ်အတွင်း ဒေတာများ၏ တိကျမှုနှင့် ယုံကြည်စိတ်ချရမှုတို့ကို သေချာစေရန် ၎င်းတို့ကို အသုံးပြုသည်။ အဖြစ်များသော ကန့်သတ်ချက်များ ပါဝင်သည်။
SQL သည် ဆက်စပ်ဒေတာဘေ့စ်များကို စီမံခန့်ခွဲရန်အတွက် အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ အသုံးပြုသူများသည် ဒေတာဘေ့စ်နှင့် ထိထိရောက်ရောက် အပြန်အလှန်တုံ့ပြန်နိုင်စေရန် ဒေတာကို မေးမြန်းခြင်း၊ ထည့်သွင်းခြင်း၊ အပ်ဒိတ်လုပ်ခြင်းနှင့် ဖျက်ခြင်းတို့ကို ပြုလုပ်ရန် ဖွဲ့စည်းပုံနည်းလမ်းကို ထောက်ပံ့ပေးသည်။ အခြေခံ SQL အမိန့်များကို နားလည်ခြင်း၊ ဒေတာနှင့် ဇယားများကို စီမံခန့်ခွဲပုံ၊ ငွေပေးငွေယူများနှင့် အညွှန်းကိန်းများကဲ့သို့သော အဆင့်မြင့်အင်္ဂါရပ်များကို အသုံးပြုနည်းသည် ဒေတာဘေ့စ်တစ်ခု၏ စီမံခန့်ခွဲမှုနှင့် စွမ်းဆောင်ရည်ကို များစွာမြှင့်တင်နိုင်ပါသည်။ ဤသဘောတရားများကို ကျွမ်းကျင်အောင်ပြုလုပ်ခြင်းဖြင့်၊ ဒေတာဘေ့စ်အသုံးပြုသူများနှင့် ဆော့ဖ်ဝဲရေးသားသူများသည် ၎င်းတို့၏ဒေတာနှင့် အပလီကေးရှင်းများ၏ ခိုင်မာမှု၊ စွမ်းဆောင်ရည်နှင့် ယုံကြည်စိတ်ချရမှုကို သေချာစေနိုင်သည်။