July 6, 2012

Database ဆိုသည်မှာ

ယနေ့ခေတ်တွင် အိုင်တီလောကသား များသာမက မည်သူမဆို Database ဆိုသည့် စကားလုံးအား အနည်းနှင့် အများ ရင်းနှီးနှင့်ပြီး ဖြစ်ပါလိမ့်မည်။ ပုံမှန်အားဖြင့် Database ဟု ဆိုပါက အချက်အလက်များအား စုဝေးထားသော Data အစုအဝေး ဖြစ်သည်ဟု အဓိပ္ပါယ်ရပေလိမ့်မည် ဖြစ်၏။ သို့ရာတွင် Database သည် ရိုးရိုးတန်းတန်း အချက်အလက်များအား စုဝေးထားသော အစုအဝေး တစ်ခု ထက်ပိုမည်ဖြစ်ပါသည်။ ဒါဆိုရင် Database ဆိုသည်မှာ ဘယ်အရာနည်းဟု မေးစရာရှိလာပါလိမ့်မည်။

ဤဘလောဂ်ဖြင့် Database ၏ အကြောင်းကို စဉ်းစားသွားပါမည်။ အဓိကအားဖြင့် ဘာကြောင့် Database ဆိုသည့်အရာကို အသုံးပြုလာကြပုံ၊ Database မပေါ်ခင်အချိန်အထိ အချက်အလက်များအား အသုံးပြုရာတွင် ဖြစ်ပေါ်ခဲ့သော ပြဿနာများ အပြင် သတင်းနှင့် အချက်အလက်တို့၏ ကွာခြားချက်ကို သုံးသပ်ပြီး နောက်ဆုံးတွင်Database အားအသုံးပြုသော ဆော့ဖ်ဝဲများနှင့်ပတ်သက်ပြီး လေ့လာဖော်ပြ သွားပါမည်။


Database အကြောင်း


Database ဆိုသည်ကို အလွယ်တကူ အဓိပ္ပါယ်ဖွင့်ဆိုရမည် ဆိုလျှင် ကွန်ပျူတာအား အသုံးပြု၍ အချက်အလက်များအား သိမ်းဆည်းခြင်း၊ ရှာဖွေခြင်း အစရှိသည့် တို့ကို အသုံးပြုနိုင်ရန် ဖွဲ့စည်းထားသော အချက်အလက်များ၏ အစုအဝေးပင်ဖြစ်၏။ အချက်အလက်ဆိုသည်မှာ ဥပမာအားဖြင့် လူတစ်ယောက်၏ အမည်၊ မွေးသက္ကရဇ်၊ လိင်၊ လိပ်စာ၊ ဖုန်းနံပါတ် အစရှိသည့် အကြောင်းအရာများကို ဆိုလိုပါသည်။ ထိုအကြောင်းအရာများသည် လက်တွေ့တွင်လည်း တည်ရှိပြီး၊ အားလုံးက လက်ခံအသုံးပြုနိုင်ပြီး၊ စုဆောင်းသိမ်းဆည်းပြီး ပြန်လည်အသုံးပြုနိုင်သော အကြောင်းအရာများ ဖြစ်ကြ၏။ ဤနေရာတွင် Database အား အကြောင်းအရာ၊ အချက်အလက်များ၏ အစုအဝေးဟု ဆိုခဲ့သော်လည်း တိတိကျကျဆိုရမည် ဆိုပါက အကြောင်းအရာနှင့် အချက်အလက်သည် ကွာခြားပါသဖြင့် ဤနေရာတွင် Data အစုအဝေးဟု ခေါ်ဆိုပါမည်။

တဖန် Database အား Data အစုအဝေးဟု ဖော်ပြခဲ့သော်လည်း ဤသို့ဆိုပြန်လျှင်လည်း ရိုးရိုး Data အစုအဝေး မဟုတ်ပြန်ပေ။ အမျိုးမျိုးသော လုပ်ငန်းဆောင်တာများတွင် အသုံးပြုနိုင်ရန် ရည်ရွယ်၍ စုစည်းထားသော၊ သိမ်းဆည်းနိုင်ပြီး၊ ရှာဖွေနိုင်ခြင်း၊ ပြုပြင်ပြောင်းလည်းနိုင်ခြင်း၊ ဖျက်စီးနိုင်ခြင်း အစရှိသည်တို့ကို လုပ်ဆောင်နိုင်ရန် ဖွဲ့စည်း စီမံထားသော Data အစုအဝေးဟု ဆိုရမည် ဖြစ်ပါသည်။ ဆိုလိုသည်မှာ Data များအာ စုဝေးထားပြီး အသုံးမချနိုင်ပါက Database ဟု ဆိုနိုင်မည် မဟုတ်ပေ။

အတိအကျဆိုရမည် ဆိုလျှင် ရည်ရွယ်ချက်အမျိုးမျိုးအတွက် အသုံးပြုနိုင်ရန်ရည်ရွယ်ပြီး၊ အပြန်အလှန် ပတ်သက်ပုံကို ဖော်ပြပေးနိုင်သော လိုရင်းအချက်အလက် အစုအဝေးအား Database ဟု ဆိုလိုမည် ဖြစ်၏။ ဤအဓိပ္ပါယ် ဖွင့်ဆိုချက်တွင်ပါဝင်သော စကားလုံးများဖြစ်ကြသည့် ရည်ရွယ်ချက်အမျိုးမျိုးအတွက် အသုံးပြုရန်၊ အပြန်အလှန်ပတ်သက်ပုံ နှင့် လိုရင်း အချက်အလက် အစရှိသည်တို့သည် Database တွင် လွန်စွာအရေးကြီးသော အခြေခံ အတွေးအခေါ်များ ဖြစ်ကြ၏။ တဖန် ဤစကားလုံးများအား တမင်တကာ ဖွဲ့ဆိုနေရခြင်းသည် ယနေ့ ကွန်ပျူတာစစ္စတမ်တွင် Database ဆိုသည့် အတွေးအမြင် အသုံးပြုပုံကို ပေါ်ပေါက်စေခဲ့သော သမိုင်းကြောင်းနှင့် များစွာပတ်သက်နေသည်ကို တွေရသောကြောင့် ဖြစ်ပါသည်။



ဖိုင်ဆိုသည်မှာ


ကွန်ပျူတာ စစ္စတမ်များတွင် Database မပေါ်မှီအချိန်က၊ အပလီကေးရှင်းများတွင် အသုံးပြုမည့် အချက်အလက်များအား OS များမှ ပံ့ပေးပေးသော ဖိုင်များအာ အသုံးပြုကာ အသုံးချခဲ့ကြ၏။ ဖိုင်ဆိုသည်မှာ ကျွှန်တော်တို့ ရုံးများတွင် နေ့စဉ် အသုံးပြုနေသော စာရွက်စာတမ်းများအား သိမ်းဆည်းထားနိုင်သော ဖိုင်တွဲများနှင့်တူညီပါသည်။ အလားတူပင် ဖိုင်သည်လည်း ကွန်ပျူတာတွင် အသုံးပြုသော အချက်အလက်များအား သိမ်းဆည်းရာတွင် အသုံးပြုပါသည်။

ထို့ကြောင့် ဖိုင်သည် သိမ်းဆည်းရန် အခွံသက်သက်သာ ဖြစ်ပြီး၊ ထည့်သွင်းမည့်အရာသည် မည်သည့် အကြောင်းအရာ ဖြစ်သည်၊ မည်သည့်ဖွဲ့စည်းပုံများကို ပိုင်ဆိုင်သည် အစရှိသည့်အချက်များအား သိရှိနိုင်ခြင်း မရှိပေ။ မည်သည့်အချက်အလက်များအား သိမ်းဆည်းမည်၊ မည်သည့်ဖွဲ့စည်းပုံဖြင့် သိမ်းဆည်းမည် အစရှိသည်တို့အား အသုံးပြုသူ၊ ဒါမှမဟုတ် ဖိုင်အားအသုံးပြုသည့် အပလီကေးရှင်းအား တာဝန်ပေးထား၏။

ထို့ကြောင့် ဖိုင်တစ်ခုသည် အချက်အလက်များ၊ ပရိုဂရမ်များနှင့် စာကြောင်းများဖြင့် ဖွဲ့စည်းထားပါသည်။ ယနေ့တိုင် ကွန်ပျူတာစစ္စတမ်များတွင် ဖိုင်များအား အသုံးပြုနေပြီး၊ စာလုံးများနှင့် ကိန်းဂဏန်းများ သာမက၊ အသံ၊ ရုပ် အစရှိသည့် Multi Media အချက်အလက်များအားလည်း ဖိုင်အဖြစ် သိမ်းဆည်း အသုံးပြုနိုင်ကြပါသည်။



ဖိုင်အား အသုံးပြုခြင်း၏ အခက်အခဲများ


စဉ်းစားကြည့်ကြပါစို့။ ကျွှန်တော်တို့ ကုမ္ပဏီတစ်ခုတွင် လစာတွက်ချက်သည့် လုပ်ငန်းနှင့် လက်ကျန်စာရင်း ထိမ်းသိမ်းရေး လုပ်ငန်းအား ကွန်ပျူတာစစ္စတမ်ဖြင့် အသုံးပြုကြသည်။ ထိုပရိုဂရမ် အသီးသီးတွင် အသုံးပြုနေသော အချက်အလက်များအား ဖိုင်အသီးသီးတွင် သိမ်းဆည်း၍ အသုံးပြုရန် လိုအပ်ပါသည်။ ထို့အတွက် တူညီသော အချက်အလက်များသည် ဖိုင်တစ်ခုနှင့် တစ်ခု အကြားတွင် ပြောင်းလည်းသွားနိုင်ပါသည်။

တဖန်ပို၍ အမြင်လွယ်သော ဥပမာအားဖြင့်၊ မောင်ဦးသည် ကျောင်းတက်စဉ်က ရန်ကုန်မြို့တွင် ကျောင်းတက်၍ ဘွဲ့ရသောအခါ မန္တလေးတွင် အလုပ်လုပ်ပါသည်။ တက္ကသိုလ်ရှိ ကျောင်းသားဟောင်း စာရင်းတွင် မောင်ဦးသည် ရန်ကုန်တွင် နေထိုင်နေသော်လည်း လက်ရှိမှာမူ မန္တလေးတွင် နေထိုင်ပေသည်။ ဤကဲ့သို့ ဖိုင်များအားအသုံးပြုပါက အချက်အလက်များ၏ မတူညီခြင်းကို ဖြစ်ပွားစေနိုင်ပါသည်။

ဤကဲ့သို့ အချက်အလက်တစ်ခုသည် ဖိုင်များအကြားတွင် မတူညီမှု့ကို ဖြစ်ပွားစေခြင်း၏ အရင်းခံမှာ အချက်အလက် တစ်ခုအား နေရာအမျိုးမျိုးတွင် သိမ်းဆည်းနေခြင်း ကြောင့်ဖြစ်၏။ ထို့ကြောင့် တစ်နေရာတွင် ပြုပြင်ပြောင်းလည်းပြီး၊ အခြားတစ်နေရာတွင် လိုက်ပြီး မပြောင်းနိုင်ပါက တဖြည်းဖြည်း ကွာခြားသွားနိုင်ပါသည်။

နောက်ပြဿနာတစ်ခုမှာ တကူးတက အချက်အလက်များအား စုစည်းထားသော်လည်း ဖိုင်တစ်ခုနှင့် တစ်ခုအကြားတွင် ပတ်သက်မှု့ကို ဖော်ပြရန် ခက်ခဲပါသဖြင့် အချက်အလက်များအား အပြန်အလှန် အသုံးပြုနိုင်ခြင်းမရှိပါ။

ဤကဲ့သို့ ဖိုင်အသီးသီးတွင် ရှိသော အချက်အလက်များ၏ ပတ်သက်ရာပတ်သက်ကြောင်းကို သတ်မှတ်ရန် ခက်ခဲစေခြင်းသည်၊ ထိုအချက်အလက်များအား ရည်ရွယ်ချက်အမျိုးမျိုးတွင် ဘုံအနေဖြင့် အသုံးပြုရန် ခက်ခဲစေပြန် ပါသည်။



Database သည် ဤကဲ့သို့သော ပြဿနာများအား ဖြေရှင်းနိုင်ရန် ရည်ရွယ်၍ ရည်ရွယ်ချက် အမျိုးမျိုးအကြားတွင် အချက်အလက်များအား အတူတကွအသုံးပြုနိုင်စေရန် အချင်းချင်း ပတ်သက်မှု့များအား ဖော်ပြနိုင်ပြီး၊ လိုအပ်ချက်များကိုသာ အတိုတုတ်ဆုံး ဖွဲ့စည်းပုံကို အသုံးပြုထားပါသည်။ Relational Database Management System ဟု အမည်သည် အချက်အလက်များ၏ Relation မှ လာသော အမည်ဖြစ်ပါသည်။

ပြန်စဉ်းစားကြည့်မည်ဆိုလျှင် လုပ်ငန်းစဉ်အား အဓိကထားသော ပရိုဂရမ်များတွင် လုပ်ငန်းဆောင်တာ ဆောင်ရွက်ပုံများအား ဦးစွာသတ်မှတ်၍၊ အသုံးပြုမည့်အချက်အလက်များအား နောက်ပိုင်းတွင် သတ်မှတ်ပါသည်။ သို့ရာတွင် အချက်အလက်ဦးစားပေး စစ္စတမ်များတွင် ဦးစွာ အသုံးပြုနိုင်သော အချက်အလက်များအား အဓိကထား ဒီဇိုင်းရေးသားကာ နောက်ပိုင်းတွင် အသုံးပြုပုံများအား သတ်မှတ်ရန်လိုအပ်ပါသည်။



မှတ်ချက်။


တက္ကသိုလ် ပဋ္ဌမနှစ် ဆရာ Sato သင်ကြားခဲ့သော Database အား လွယ်ကူစွာစဉ်းစားခြင်း သင်ခန်းစာ မှတ်စုများအား ပြန်လည် ဖတ်ရှုရင်း ဤဘလောဂ်အား ရေးသားခဲ့ပါသည်။ Sato Sensei ၏ လက်ချာများအား သဘောကျရာက OOP နှင့် Database ကို အရမ်းစိတ်ဝင်စားကာ Java အား အရူးအမူးဖြစ်ခဲ့ရသော နေ့ရက်များအား ပြန်လည်သတိရမိပါသည်။

http://www.tiu.ac.jp/n_department/professor/commercial/0010_sato.html



ဆက်ပါဦးမည်။ လေးစားစွာဖြင့်။
မင်းလွင်



5 comments:

  1. ျမန္မာလိုရွင္းလင္းေဖာ္ျပမႈသည္ အဂၤလိပ္စာ အေျခခံနည္းေသာသူမ်ားအတြက္ programming language ေလ့လာရာတြင္ ပိုျပီးလြယ္ကူေစသည့္အတြက္ အားထုတ္မႈအတြက္ ေလးစားစြာေက်းဇူးတင္ပါသည္။
    သို႕ေသာ္ ကြန္ပ်ဴတာ စစၥတမ္ ဟု ေရးမည့္အစား computer system ဟု ေရးျခင္းက ေရးသူေရာ ဖတ္သူပါ ပိုျပီးအဆင္ေျပမည္ဟု ထင္ျမင္မိပါသည္။ ပါရာမီတာ ဟုမေရးဘဲ parameter ဟုေရးေစခ်င္ပါသည္။ ဆိုလိုသည္မွာ အဂၤလိပ္အသံထြက္ကို ျမန္မာလိုမေရးဘဲ အဂၤလိပ္လုိသာေရးေစခ်င္ပါသည္။

    ReplyDelete
    Replies
    1. အခုလို မှတ်ချက်ဝင်ရေးပေးတာ ကျေးဇူးပါပဲ ခင်ဗျား။ ကျွှန်တော်လည်း မြန်မာမှုပြုရာမှာ အတော်လေးကို အခက်တွေ့ပါတယ်။ ဘယ်အတိုင်းအတာ အထိ မြန်မာမှုပြုသင့်သလဲ ဆိုတာကို အတော်လေးကို ဆုံးဖြတ်ရခက်ခဲ့ပါတယ်။
      အဲ့ဒီအတွက် ကြိယာ၊ ကြိယာဝိသေသန တွေကိုတော့ တတ်နိုင်သလောက် မြန်မာလို ရေးဖို့ ကြိုးစားပါတယ်။ မြန်မာပြည်က ထွက်လာတာ ၁၄နှစ် ရှိပြီဆိုတော့ ကျွှန်တော်ကိုယ်တိုင်လည်း မြန်မာစာ စာလုံးပေါင်းမှာ အားနည်းပါတယ်။ ဒါပေမယ့် တတ်နိုင်သလောက် မြန်မာလို ရေးဖို့ကြိုးစားပါတယ်။
      နာမ်တွေကိုတော့ မွေးစားစာလုံးလုပ်မလား ဆိုပြီး ရင်းနှီးပြီးသား စာလုံးများကို မွေးစားစာလုံးအနေနဲ့ မြန်မာမှုပြုဖြစ်တာ များပါတယ်။
      ဤကဲ့သို့ရေးသားခြင်းသည် နားလည်ရခက်ခဲစေသည့် အတွက် နောက်ရက်များတွင် မှုရင်းစာလုံးကိုပါ ဖြည့်စွက်ရေးသားရန် ကြိုးစားသွားပါမည်။

      Delete
  2. ေက်းဇူးတင္ပါတယ္ ဆရာကိုမင္းလြင္ခင္ဗ်ာ

    ReplyDelete