ဤကဲ့သို့သော DBMS များသည် Operating System များနှင့် Application များအကြားတွင် တည်ရှိသောကြောင့် Middleware ဟုလည်း ခေါ်ဆိုလေ့ရှိ၏။ DBMS ဟု ခေါ်ဆိုခြင်းမှာလည်း Database အား ထိမ်းသိမ်းရန် အတွက် လုပ်ဆောင်ချက်များအား စုစည်းထားသော အပလီကေးရှင်း ဖြစ်ခြင်းကြောင့် DBMS ဟု ခေါ်ဆိုခြင်း ဖြစ်ပါသည်။
DBMS တစ်ခုတွင် အခြေခံအားဖြင့် အောက်ပါ လုပ်ဆောင်ချက်များကို ပံ့ပိုးပေးလေ့ရှိပါသည်။
- Data Storage Management
- Data Access Management
- Query Processing
- Transaction Management
- End User Interface
Data Storage Management
ဤဖန်ရှင်များသည် Hard Disk များကဲ့သို့ Storage Device များတွင် Database များအား ဖွဲ့စည်း တည်ဆောက်ရာတွင် အသုံးပြုသော ဖန်ရှင်မျိုးကို ဆိုလိုပါသည်။ DBMS များသည် များသောအားဖြင့် OS များမှ ပံ့ပိုးပေးသော File နှင့် File System အား အသုံးပြု၍ Database များအား လက်တွေ့ ဖွဲ့စည်း တည်ဆောက် ပါသည်။ Database အား အသုံးပြုသူနှင့် ပရိုဂရမ်များသည် လက်တွေ့ Database အား မည်ကဲ့သို့ ဖွဲ့စည်း တည်ဆောက်ထားသည်ကို မသိရှိနိုင်ပေ။ တကယ်တမ်းမှာလည်း အသုံးပြုသူအနေဖြင့် Database အား File System အပေါ်တွင် မည်သို့တည်ဆောက်ထားသည်ကို သိရှိရန်မလိုပေ။ သိရှိရန် လိုအပ်သည်မှာ Logically အချက်အလက်များအား မည်သို့ဖွဲ့စည်းထားသည် ဆိုသည့်အချက်သာလျှင် ဖြစ်၏။
သို့ရာတွင် အချို့သော DBMS များတွင်မှု၊ Data Storage ၏ အကျိုးသက်ရောက်မှု့ရှိစေရန်နှင့် Data Access Performance အား ထိရောက်မှု့ရှိစေရန် Database ၏ လက်တွေ့ဖွဲ့စည်းပုံနှင့် တည်ဆောက်ပုံတို့ကို စီမံခန့်ခွဲရန် လိုအပ် လေ့ရှိပါသည်။ အထူးသဖြင့် Data ပေါင်းမြောက်များစွာကို အသုံးပြုသော၊ အသုံးပြုသူ အများအပြားနှင့် Transaction အလွန်များသော Online System များတွင် အသုံးပြုလေ့ရှိသော Database များသည် Performance နှင့် Data ပမာဏကို အကျိုးရှိစွာ သိမ်းဆည်းနိုင်စေရန် စီမံမှု့များကို လိုအပ်လေ့ရှိပါသည်။
Performance Tuning နှင့်ပတ်သက်လာလျှင် Index များကို ပြုလုပ်၍ ဒေတာများအား ရှာဖွေနှုန်းကို တိုးမြင့်စေရန် ပြုလုပ်နည်းများလည်း ရှိပါသည်။ ရှာဖွေရာတွင် အသုံးများသော ကော်လန်များအား Index အဖြစ် သတ်မှတ်ထားခြင်း အားဖြင့် ရှာဖွေရ လွယ်ကူစေသည့်နည်း ဖြစ်ပါသည်။ သို့ရာတွင် မလိုအပ်ပဲ Index များကို သတ်မှတ်မိပါက Insert လုပ်ခြင်း၊ Delete လုပ်ခြင်း Update လုပ်ခြင်းများအား ကြံ့ကြာစေ တတ်သောကြောင့် သတိထား၍ အသုံးပြုသင့်ပါသည်။ Performance Tuning နှင့်ပတ်သက်၍ နောက်အခန်းများတွင် ဖော်ပြသွားပါဦးမည်။
Data Access Management
Data Access Management တွင် Input Output များအား စီမံခန့်ခွဲပေးနိုင်သော Buffer Management နှင့်၊ တပြေးညီ လုပ်ဆောင်ချက်များကို စီမံခန့်ခွဲမှု့ ပေးနိုင်သော Concurrency Process Management အစရှိသည့် အပိုင်းများကို ပံ့ပိုးပေးနေပါသည်။
Buffer Management သည် Hard Disk ပေါ်ရှိ Database ရှိ အချက်အလက်များအား အကျိုး သက်ရောက်စွာ Input Output များကို ပြုလုပ်နိုင်စေရန် Main Memory အပေါ်တွင် Buffer များအား ပြင်ဆင်ထားပြီး၊ Cashing လုပ်ခြင်းအားဖြင့် တတ်နိုင်သလောက် ဆက်သွယ်မှု့ အကြိမ်ကို နည်းပါးစေရန် စီမံခန့်ခွဲပေးနိုင်ပါသည်။
တဖန် Concurrency Process Management သည်၊ တပြိုင်နက်တည်း Transaction အများကို လုပ်ဆောင်ရာတွင် အစီအစဉ်တကျ လုပ်ဆောင်နိုင်စေရန် စီမံခန့်ခွဲမှု့ပေးနိုင်ပြီး၊ အချက်အလက်များ၏ တိကျသေချာစေမှု့ကို ထိမ်းသိမ်းစောင့်ရှောက် ပေးနိုင်ပါသည်။
Query Processing
အကယ်၍ SQL ကဲ့သို့သော Query ဘာသာရပ်အား အသုံးပြု၍ Database အတွင်းရှိ အချက်အလက်များအား ရှာဖွေရာတွင် DBMS သည် မေးမြန်းလာသည့် စာကြောင်းအား ဖတ်ယူကာ၊ အချိန်အတိုဆုံးနှင့် အထိရောက်ဆုံး Execution Plan အဖြစ်ပြန်လည် ပြုပြင်ရေးသားကာ Database အား ဆက်သွယ် စေပါသည်။ ဤကဲ့သို့ ပြင်ပမှ ရယူလာသော Query Expression အား အထိရောက်ဆုံး Expression အဖြစ်ပြန်လည်ပြုပြင်ကာ အချက်အလက်များအား ရှာဖွေပေးခြင်းအား Query Processing ဟု ခေါ်ဆိုပါသည်။
DBMS အတော်များများတွင် Explain လုပ်ဆောင်ချက်ကို ပြင်ဆင်ထားပြီး၊ ၎င်းအား အသုံးပြုခြင်းအားဖြင့် အသုံးပြုထားသော Query Expression တစ်ခု၏ DBMS မှ လက်တွေ အသုံးပြုသွားသော Execution Plan အား ရရှိစေနိုင်ပါသည်။ DB ၏ Performance Tuning များတွင် Explain ကွန်မန်းအား အသုံးပြု၍ လက်တွေ့ Database အား မည်ကဲ့သို့ ရှာဖွေစေသည်ကို စမ်းစစ်နိုင်ပါသည်။ အကဲ၍ Key နှင့် ပြင်ဆင်ထားသော Index များအား အသုံးပြုခြင်းမရှိပါက Index များအား ပြုပြင်ခြင်း အစရှိသဖြင့် Performance အား တိုးတက်စေရန် လုပ်ဆောင်လေ့ရှိပါသည်။ နောက်အခန်းများတွင် Performance Tuning နှင့် ပတ်သက်၍ ဖော်ပြသွားပါဦးမည်။
Transaction Management
Transaction ဆိုသည်မှာ လုပ်ငန်းတစ်ခုအား လုပ်ဆောင်စဉ် ဖြစ်ပွားလေ့ရှိသော လုပ်ဆောင်ချက်များအား လုပ်ငန်း တစ်ခုချင်းစီ စုစည်း၍ သတ်မှတ်လေ့ရှိသော ပမာဏဖြစ်ပါသည်။ ဥပမာအားဖြင့်၊ ဘဏ်လုပ်ငန်းများတွင် ငွေထုတ်ခြင်း၊ ငွေသွင်းခြင်း၊ ငွေလွှဲခြင်း အစရှိသည့် လုပ်ငန်းတစ်ခုချင်းစီအား Transaction ဟု သတ်မှတ်လေ့ရှိပါသည်။
ငွေထုတ်ခြင်းကို လုပ်ဆောင်ရာတွင်၊ အကြမ်းဖျင်းအားဖြင့် Bank Account ရှိမရှိကို စစ်ဆေးမည်၊ လက်ကျန်ငွေ ပမာဏအား စစ်ဆေးမည်၊ ထုတ်ယူလိုသည့် ငွေပမာဏကို ထုတ်ပေးနိုင်စွမ်းရှိမရှိကို စမ်းစစ်ကာ၊ ထုတ်ငွေစာရင်းအား အသစ်ရေးသားခြင်း၊ လက်ကျန်စာရင်းအား ပြုပြင်ရေးသားခြင်း၊ ငွေထုတ်ပေးခြင်း၊ ထုတ်ငွေစာရင်းအား ပြုပြင်ခြင်း အစရှိသည့် လုပ်ဆောင်ချက်များအား လုပ်ဆောင်ရန်လိုအပ်ပါသည်။
လုပ်ငန်းတစ်ခုအတွင်းရှိ၊ တနည်း Transaction တစ်ခု အတွင်းရှိ လုပ်ဆောင်ချက်များ အားလုံး ပြီးဆုံးမှသာ ထို Transaction သည် ပြီးဆုံးသည်ဟု သက်မှတ်နိုင်မည် ဖြစ်သည်။ ဤကဲ့သို့ Transaction သည် အောင်မြင်စွာ ပြီးဆုံးသလား၊ မပြီးဆုံးသလား ဆိုသည်ကို ကြည့်၍ Database အတွင်းရှိ အချက်အလက်များ၏ တိကျသေးချာမှု့၊ မှန်ကန်မှု့ကို ထိမ်းသိမ်းစောင့်ရှောက်ခြင်းအား Transaction Management ဟု ခေါ်ဆိုပါသည်။
End User Interface
Database အတွင်းရှိ အချက်အလက်များအား အသုံးပြုသူများမှ အလွယ်တကူ ဆက်သွယ် အသုံးပြုနိုင်စေရန် ရည်ရွယ်၍ ပံ့ပိုးပေးထားသော အပလီကေးရှင်းများ ဖြစ်ကြ၏။ အသုံးပြုသူ၏ Query ၏ ရလဒ်အား ဇယားအဖြစ်သော်၎င်း၊ Report အနေဖြင့်သော်၎င်း လွယ်ကူစွာ ဖော်ပြပေးနိုင်ရန် အထောက်အကူပြုစေသော အပလီကေးရှင်းများ ဖြစ်ကြပါသည်။
MySQL ၏ MySQL Workbench၊ Query Browser နှင့် Oracle Client များသည် အထက်ပါ အမျိုးအစား အပလီကေးရှင်းများ ဖြစ်ကြပါသည်။
DBMS များတွင် အထက်ပါ ဖန်ရှင်များအပြင်၊ အသုံးပြုရလွယ်ကူစေရန် Backup လုပ်သည့် ဖန်ရှင်များ၊ Performance ကို တိုးတက်စေရန် ဖွဲ့စည်းပုံကို ပြန်လည်ပြုပြင်နိုင်သော Analyze နှင့် Optimize အစရှိသည့် ဖန်ရှင်များ အပြင် အခြားသော အသုံးဝင်သော ဖန်ရှင်များကိုလည်း ပံ့ပိုးပေးလေ့ရှိပါသည်။
ဤကဲ့သို့ DBMS အား အသုံးပြု၍ ဖွဲ့စည်းထားသော Information System မျိုးအား Database System ဟု ခေါ်ဆိုလေ့ရှိပါသည်။ တနည်းဆိုရသော် Database System တစ်ခုသည်၊ Database ၊ DBMS နှင့် အသုံးပြုသော အပလီကေးရှင်းတို့ဖြင့် ဖွဲ့စည်းထားသည်ဟု ဆိုနိုင်မည် ဖြစ်ပါသည်။
ကျွှန်တော်တို့သည် ပြီးခဲ့သော Database ဆိုသည်မှာ၊ Data နှင့် Information နှင့် ယခုတစ်ခေါက် Database Management System တို့ဖြင့် Database ဆိုသည်မှာအဘယ်နည်း၊ ဘာကြောင့် Database ကို အသုံးပြုရ သနည်း၊ ဘယ်အရာသည် Data ဖြစ်၍ Information ဖြစ်သနည်း၊ Data နှင့် Information တို့သည် မည်ကဲ့သို့ ပတ်သက်သနည်းနှင့် Database များအား မည်ကဲ့သို့ စီမံခန့်ခွဲကာ အသုံးပြုနေသနည်း အစရှိသည့် Database နှင့် ပတ်သက်သော အခြေခံ အကြောင်းအရာများကို လေ့လာခဲ့ပါသည်။ ဆက်လက်၍ နောက်အခန်းများတွင် Data Model နှင့် ပတ်သက်သော အကြောင်းအရာများကို လေ့လာသွားပါဦးမည်။
လေးစားစွာဖြင့်။
မင်းလွင်
အ၇မ္းေက်းဇူးတင္ပါတယ္
ReplyDeleteyour lectures are great bro
ReplyDelete