April 17, 2014

Relational Data Structure

Data Model တစ်ခုဖြစ်သော Relational Model သည် ၁၉၇၀ခုနှစ် ကတည်းက E. F. Codd မှ စတင်တီထွင်ခဲ့ပါသည်။ Relational Model သည် ရိုးရှင်းသော ဖွဲ့စည်းပုံနှင့် သင်္ချာဘာသာရပ်တို့အပေါ် အခြေခံ၍ တည်ဆောက်ထားသောကြောင့် စတင်ကာစအချိန်ကတည်းက နည်းမျိုးစုံဖြင့် သုတေသန ပြုလာခဲ့ကြပါသည်။ ထိုမှတဆင့် Relational Model အား အခြေခံသော Database Management System များ အများအပြားပေါ်ပေါက်လာခဲ့ပါသည်။ ထို့အပြင် Relational Model ၏ Query Language ဖြစ်သော SQL သည် International Standard တစ်ခုလည်း ဖြစ်ပါသည်။

ရှေ့အခန်းဆက်များတွင် ဖော်ပြခဲ့သလို Data Model သည် အခြေခံအားဖြင့် Data ၏ဖွဲ့စည်းပုံ၊ Data အား အသုံးပြုပုံနှင့် Data အား စစ်မှန်စေရန် စီးမျဉ်းသတ်မှတ်ပုံတို့ဖြင့်ဖွဲ့စည်းထားသည်ဟု ဖော်ပြခဲ့၏။ ယခုတစ်ခေါက်တွင် Relational Data Model ၏ Data Structure အကြောင်းကို ဖော်ပြသွားပါဦးမည်။


Relation ဆိုသည်မှာ


Relational Data Model တွင် အသုံးပြုသော အခြေခံ Data ဖွဲ့စည်းပုံမှာ ၎င်း၏အမည်တွင်ပါဝင်သော Relation အပေါ်တွင် အဓိကထားပါသည်။ Relation ဆိုသောစကားလုံးမှာ Data Modelling ဘာသာရပ်တွင် အသုံးများပြီး၊ မရှုပ်ထွေးစေရန် ဤနေရာတွင် ဖော်ပြသော Relation သည် Relational Data Model ၏ Relation ကိုသာ ရည်ညွှန်းသည်ဆိုသည်ကို မှတ်ထားစေလိုပါသည်။

Relational Data Model တွင် Database အား Relation များ၏အစုအဝေးတစ်ခု အနေနှင့် ဖော်ပြလေ့ရှိပြီး၊ Relation ဆိုသည်မှာ Attribute များနှင့် ဖွဲ့စည်းထားပြီး၊ Relation တွင်ပါဝင်သော Attribute ၏ တန်ဖိုးအစုံအား Tuple ဟု ခေါ်ဆိုပါသည်။

အထက်ပါပုံတွင် Branch နှင့် Employee ဟု အမည်ရသော Relation နှစ်ခုရှိပါသည်။ Branch Relation သည် b_name, b_township နှင့် b_phone ဟုအမည်ရသော Attribute များဖြင့်ဖွဲ့စည်းထားပါသည်။ ၎င်းတွင်ပါဝင်သော တန်ဖိုးအစုအဝေးများသည် Tuple များဖြစ်ကြပါသည်။ ဥပမာအားဖြင့် [Mg Mg, Kanbe, 4/4/2012] သည် Employee Relation ၏ Tuple တစ်ခု ဖြစ်ပါသည်။

အထက်ဖော်ပြပါအချက်များသည် ယနေ့တိုင်အသုံးပြုခဲ့သော File ၏ File, Record, Data name အစရှိသည်တို့နှင့် ထူးခြားမည်မဟုတ်ပေ။ သို့ရာတွင် ရှေ့တွင်ဖော်ပြမည့် အချက်များသည် File တွင် မပါရှိသော အချက်အလက်များ ဖြစ်ကြပါသည်။


သင်္ချာဘာသာရပ်ဆိုင်ရာ အမြင်


Relational Data Model သည် သင်္ချာဘာသာရပ်ဆိုင်ရာ သီအိုရီအပေါ်အခြေခံထားပါသည်။ အသုံးပြုနေသော သီအိုရီမှာ Set Theory ဖြစ်ပါသည်။


အထက်ပါတွင်ပြထားသော အကြောင်းအရာများအား စဉ်းစားပါမည်။ Branch နှင့် Employee Relation တို့သည် Branch Name, Township, Phone Number, Employee နှင့် Entry Date အစရှိသည့် Domain တို့အား ပေါင်းစပ်၍ ဖြစ်တည်ပါသည်။ Domain များသည် သင်္ချာဘာသာရပ်ဆိုင်ရာ အစု (set) ဖြစ်ပါသည်။ Set ဆိုသည်မှာ တူညီသော ကန့်သတ်ချက်အား ပြည့်စုံသည့် အရာများအား စုဝေးထားသော အစုဖြစ်ပါသည်။ အစုအတွင်းပါဝင်သော အချက်အလက်များအား Element ဟု ခေါ်ဆိုပါသည်။ သို့ရာတွင် Relational Data Model တွင် အသုံးပြုသော Domain သည် ပါဝင်သော အချက်အလက်များအား ဒီထက်ပို၍ အသေးစိတ်ခွဲခြား၍မရနိုင်သော၊ အဓိပ္ပါယ်တစ်ခုအားပိုင်းဆိုင်သော အချက်အလက်များဖြင့် ဖွဲ့စည်းထားသော အစုဖြစ်ပါသည်။

အသီးသီးသော Domain တို့မှ Element များအား တစ်ခုစီထုတ်၍ စုစည်းထားသော အစုအား Direct Product ဟု ခေါ်ဆိုပါသည်။ ဥပမာအားဖြင့် Branch Name, Township, Phone Number တို့မှဖြစ်သော Direct Product ၏ Element တစ်ခုသည် "Kanbe","Yankin","01-648-232" ဖြစ်ပြီး၊ ဤကဲ့သို့ အစီအစဉ်တကျစုစည်းထားသော အစုံအား Tuple ဟု ခေါ်ပါသည်။ ဤ Direct Product တွင် Branch Name 5 ခု၊ Township 3 ခုနှင့် Phone Number 5 ခု ပါဝင်သောကြောင့်၊ Tuple သည် စုစုပေါင်း 5 × 3 × 5 = 45 ခု ရှိနိုင်ပါသည်။ သို့ရာတွင် အဆိုပါ Tuple အားလုံးသည် လက်တွေ့တွင် အမှန်တကယ်ရှိနိုင်သော Data များ မဖြစ်နိုင်ပါ။ လက်တွေ့ အမှန်ရှိနိုင်သော အစုသည် အဆိုပါ Direct Product ၏ အစိတ်အပိုင်းတစ်ခု ဖြစ်နိုင်ပြီး ၎င်းအား Subset ဟု ခေါ်ဆိုပါသည်။ ၎င်း Subset သည် Relation ဖြစ်ပါသည်။

တဖန် Relation အား ဖြစ်တည်စေသော Domain များအား ဖော်ပြရေးသားထားသည်ကို Relation Schema ဟု ခေါ်ပါသည်။ Relation Schema အား R1(A1, A2, A3 ... An) ဟု ဖော်ပြနိုင်ပါသည်။

အထက်ပါနာ့မှုနာတွင် Branch Relation သည် Branch Name, Township, Phone Number Domain တို့ဖြင့် ဖွဲ့စည်းထားပြီး၊ ၎င်း၏ Relation Schema အား Branch (b_name, b_township, b_phone) ဟု ဖော်ပြနိုင်ပါသည်။ Branch Relation ၏ b_name attribute သည် Branch Name Domain မှလာသော အချက်အလက်များ ဖြစ်ပြီး၊ b_township သည် Township မှလာပြီး၊ b_phone သည် Phone Number Domain မှ အချက်အလက်များ ဖြစ်ပါသည်။

တဖန်  Employee Relation ၏ branch attribute သည်လည်း Branch Name Domain မှ အချက် အလက်များ ဖြစ်ပါသည်။ ဤနမှုနာတွင် Branch Relation ၏ b_name နှင့် Employee Relation ၏ branch တို့သည် Branch Name Domain မှ အချက်အလက်များဖြင့် ဖွဲ့စည်းထားပါသည်။


Relation ၏ ထူးခြားချက်


Relation များတွင် ယခင်အသုံးပြုခဲ့သော File များနှင့် မတူသည့် ထူးခြားချက်များရှိကြပါသည်။ ၎င်းတို့မှာ အောက်ပါအတိုင်း ဖြစ်ကြသည်။
  1. Tuple များ၏ အစီအစဉ်မစောင့်တည်မှု့
    Relation များသည် Set များဖြစ်သောကြောင့်၊ Set တစ်ခုအတွင်းရှိ Element များတွင် အစီအစဉ်အား ဖော်ပြနိုင်ခြင်းမရှိသလို Relation များ၏ Tuple များတွင်လည်း အစီအစဉ်အား ထိမ်းသိမ်းဖော်ပြနိုင်ခြင်း မရှိပါ။ ထို့ကြောင့် Relation Schema တွင်လည်း အစီအစဉ်အား ဖော်ပြနိုင်ရန် ရေးသားထားခြင်းမရှိပါ။ သို့ရာတွင် Relation များအား အသုံးချရာတွင် ၎င်း၏ Attribute တစ်ခုဒါမှမဟုတ် အတွဲလိုက် အစီအစဉ်အား ဖော်ပြနိုင်ရန် စီမံနိုင်စွမ်းရှိပါသည်။
  2. Tuple များ၏ တန်ဖိုးမတူညီမှု့
    Set များတွင် တူညီသော Element များအား ထည့်သွင်း၍မရနိုင်သလို၊ Relation များတွင်လည်း တန်ဖိုးတူညီသော Tuple အား တစ်ခုထက်ပို၍ ပိုင်ဆိုင်ခွင့်မရှိပါ။ တနည်းဆိုရသော် Tuple များအား တစ်ခုနှင့်တစ်ခု ခွဲခြားနိုင်ရမည် ဖြစ်သည်။
  3. Attribute များ၏ တန်ဖိုးများသည်အသေးငယ်ဆုံးအဓိပ္ပါယ်ဆောင်သော တန်ဖိုးဖြစ်ရမည်
    Relation အားဖွဲ့စည်းထားသော Attribute များ၏တန်ဖိုးသည် ဖွဲ့စည်းပုံအရ ထပ်မံခွဲစိတ်၍မရနိုင်သော အသေးငယ်ဆုံး အဓိပ္ပါယ်ဆောင်သည့် အချက်အလက်များဖြစ်ရပါမည်။
ယခုတစ်ခေါက်တွင် Relational Data Structure နှင့်ပတ်သက်၍ ဖော်ပြခဲ့၏။ နောက်ရက်များတွင် Data Manipulation နှင့် Integrity Constraint နှင့်ပတ်သက်၍ ဖော်ပြသွားပါဦးမည်။

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

No comments:

Post a Comment