April 8, 2015

Normalization of Relation

Relational Database အား ဒီဇိုင်းရေးသားရန်မှာ Relational DBMS မှ ပံ့ပိုးပေးထားသော Data Modeling Function အား အသုံးပြု၍ ရေးသားနိုင်ပါသည်။ Data Modeling တွင် Relational DBMS တွင်မှီခိုမှု့ မရှိသော Logical Modeling နှင့် DBMS အပေါ်မှီခို နေသော Physical Modeling ဟူ၍ရှိပါသည်။ ဤအခန်းတွင် DBMS အပေါ်မှီခိုမှု့မရှိသော Logical Modeling အကြောင်းကို ရေးသားသွား ပါမည်။


Normalization of Relation


Relational Schema တစ်ခုသည် တစ်ခုထက်မကသော Attributes များဖြင့် ဖွဲ့စည်းထားပါသည်။ အတွေ့ အကြုံနဲပါးသော Database ဒီဇိုင်းရေးသားသူ တစ်ဦးက Attributes Group များကို အသုံးပြု၍ Relation Schema အားဖွဲ့စည်း တည်ဆောက်ရာတွင်၊ ရေးသားထားသော Relation Schema သည် အသင့်တော်ဆုံ အနေအထား ဟုတ်မဟုတ်ဆိုသည်ကို ဆုံးဖြတ်ရန် ခက်ခဲပေလိမ့်မည်။ အခြားသော ရေးသားသူတစ်ဦး ဆိုပါက နောက်တစ်မျိုးရေးချင် ရေးပေလိမ့်မည်။

အဆိုပါပြဿနာမျိုးအတွက် Relational Model အားဖေါ်ထုတ်ခဲ့သော E.F Codd မှ Normalization Theory ကို ပြဌာန်းထားခဲ့ပါသည်။ ဤ Normalization အားအသုံးပြုခြင်းအားဖြင့် Relational Schema အားဒီဇိုင်းရေးသားရာတွင် အသင့်တော်ဆုံး Standard တစ်ခုအား ရှာဖွေတွေ့ရှိနိုင်မည် ဖြစ်ပါသည်။ ဤ Normalization Theory သည် Relational Data Model တွင်သာမဟုတ်၊ Conceptual Level Data Modeling နှင့် အခြားသော Data Model Design များတွင်လဲ အသုံးပြုနိုင်ပါသည်။

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

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

Employee
ID Name Entry Branch Location Phone
1001 Aung Aung 2011-10-01 Yankin Yangon 01-203-309
1002 Mg Mg 2012-02-01 Yankin Yangon 01-203-309
1003 Thidar 2011-10-01 Bahan Yangon 01-512-388
1004 Nilar 2013-06-01 Yankin Yangon 01-203-309
1005 Mya Mya 2013-10-01 Amarapura Mandalay 02-546-679



မေးခွန်း ၁


ရန်ကင်းဆိုင်ခွဲအား လမ်းမတော်သို့ပြောင်းရွှေ့သွားပါသဖြင့် အောင်အောင်၏ ဆိုင်ခွဲအား လမ်းမတော်ဟု ပြောင်းလိုပါက မည်သို့ဖြစ်မည်နည်း။

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



မေးခွန်း ၂


မသီတာ အလုပ်ကနှတ်ထွက်သွားပါသဖြင့် ထိုအချက်အလက်များအား ဖျက်ထုတ်ပစ်ပါက မည်သို့ဖြစ်မည်နည်း။


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



မေးခွန်း ၃


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


Primary Key သည် Employee ID ဖြစ်သောကြောင့် ဝန်ထမ်းမရှိသေးသော ဆိုင်ခွဲများအား ဖြည့်စွက်၍ရနိုင်မည် မဟုတ်ပါ။

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

အထက်ပါ Schema အား အောက်ပါအတိုင်းပြုပြင်လိုက်ပါက အထက်ပါပြဿနာများကို ဖြေရှင်းပြီး ဖြစ်ပါလိမ့်မည်။

Branch
Branch Location Phone Number
Yankin Yangon 01-203-309
Bahan Yangon 01-512-388
Amarapura Mandalay 02-546-679

Employee
ID Name Entry Branch
1001 Aung Aung 2011-10-01 Yankin
1002 Mg Mg 2012-02-01 Yankin
1003 Thidar 2011-10-01 Bahan
1004 Nilar 2013-06-01 Yankin
1005 Mya Mya 2013-10-01 Amarapura

ဤအခန်းဖြင့် အသင့်အတော်ဆုံ အနေအထား မရှိသော Relational Schema များ တွင်ဖြစ်တတ်သော ပြဿနာများကို လေ့လာခဲ့ပါသည်။ ဤကဲ့သို့ပြဿနာများအား Normalization နည်းလမ်းများကို အသုံးပြု၍ဖြေရှင်းနိုင်ပါသည်။ နောက်အခန်းဆက်ဖြင့် Normalization Method များအကြောင်းကို ဖေါ်ပြပါဦးမည်။


လေးစားစွာဖြင့် 
မင်းလွင်

No comments:

Post a Comment