ဒေတာဘေ့စဒီဇိုင်းအတွက် Multivalued မှီခိုမှု

Multivalued မှီခိုစတုတ္ထပုံမှန်ပုံစံချိုး

တစ်ဦး relational database ထဲတွင်တစ်ဦးမှီခိုအတူတူဒေတာဘေ့စ table ထဲမှာသိမ်းဆည်းထားသတင်းအချက်အလက်ထူးခြားအတူတူ table ထဲမှာသိုလှောင်ထားသည်အခြားသတင်းအချက်အလက်ဆုံးဖြတ်သည်သည့်အခါတွေ့ရှိနိုင်ပါသည်။ တစ်ဦးက multivalued မှီခို နေတဲ့ table ထဲမှာတစျခုသို့မဟုတ်ထိုထက်ပိုအတန်း၏ရှေ့မှောက်တွင်ပင် table ထဲမှာတစျခုသို့မဟုတ်ထိုထက်ပိုသည်အခြားအတန်း၏ရှေ့မှောက်တွင်အဓိပ္ပာယ်သက်ရောက်သည့်အခါတွေ့ရှိနိုင်ပါသည်။ အခြားသောလမ်း ထား. , စားပွဲတစ်ခုနှစ်ခု attribute တွေ (သို့မဟုတ်ကော်လံ) အချင်းချင်းလွတ်လပ်သောရှိပါတယ်, ဒါပေမယ့်နှစ်ဦးစလုံးတစ်ဦးကိုတတိယ attribute ကိုပေါ်မူတည်သည်။

တစ်ဦးက multivalued မှီခိုဟာပုံမှန်စံစတုတ္ထပုံမှန်ပုံစံ (4NF) ကာကွယ်ပေးသည်။ relational database များကိုစံချိန်ဒီဇိုင်းများအတွက်လမ်းညွှန်ချက်များကိုကိုယ်စားပြုငါးပုံမှန်ပုံစံများကိုလိုက်နာပါ။ သူတို့ဟာဒေတာအတွက် update ကိုကွဲလွဲချက်များနှင့်ရှေ့နောက်မညီတားဆီး။ တစ်ဦးအတွက်အများအပြား-to-တဦးတည်းဆက်ဆံရေးနှင့်အတူစတုတ္ထပုံမှန်ပုံစံအပေးအယူ ဒေတာဘေ့စ

Multivalued မှီခိုမှုအ vs. functional မှီခိုမှု

တစ်ဦး multivalued မှီခိုနားလည်ရန်, တကအလုပ်လုပ်တဲ့မှီခိုသောအရာကိုပြန်လည်လည်ပတ်နိုင်ဖို့အထောက်အကူဖြစ်စေပါသည်။

တစ်ဦး attribute က X ကိုထူးထူးခြားခြားအနေနဲ့ attribute ကို Y ကိုဆုံးဖြတ်သည်လျှင်, Y ကိုဒီက X အဖြစ်ကျမ်းစာလာသည်ကား X ပေါ်တွင် function မှီခိုဖြစ်ပါသည် -> Y. ဥပမာအားဖြင့်, အောက်ကကျောင်းသားများ table ထဲမှာ, အ Student_Name အဆိုပါဗိုလ်မှူးဆုံးဖြတ်သည်:

ကျောင်းသားများ
ကျောင်းသားအမည် ဗိုလ်မှူး
Ravi အနုပညာသမိုင်း
ဗက် ဓါတုဗေဒပညာ


ဒီ function မှီခိုရေးသားနိုင်သည် Student_Name -> ဗိုလ်မှူး။ တစ်ခုချင်းစီကို Student_Name တစ်ခုအတိအကျဗိုလ်မှူးဆုံးဖြတ်သည်နှင့်မပို။

သင်ဒေတာဘေ့စကိုလည်းဤအကျောင်းသားများအတွက်ယူအားကစားကိုခြေရာခံချင်လျှင်, သင်သည်ဤလုပ်ဖို့အလွယ်ဆုံးနည်းပဲအားကစားအမည်ရအခြားကော်လံကိုထည့်သွင်းဖို့ဖြစ်ပါတယ်ထင်စေခြင်းငှါ,:

ကျောင်းသားများ
ကျောင်းသားအမည် ဗိုလ်မှူး အားကစား
Ravi အနုပညာသမိုင်း ဘောလုံးကစား
Ravi အနုပညာသမိုင်း ဘောလီဘော
Ravi အနုပညာသမိုင်း တင်းနစ်
ဗက် ဓါတုဗေဒပညာ တင်းနစ်
ဗက် ဓါတုဗေဒပညာ ဘောလုံးကစား


ဒီမှာပြဿနာ Ravi နှင့်ဗက်နှစ်ဦးစလုံးမျိုးစုံအားကစားကစားသောကွောငျ့ဖွစျသညျ။ ဒါဟာတိုင်းအပိုဆောင်းအားကစားအသစ်တစ်ခုအတန်းကိုထည့်သွင်းဖို့လိုအပ်ပေသည်။

အဓိကနှင့်အားကစားအချင်းချင်းလွတ်လပ်သောရှိပါတယ်ဒါပေမယ့်နှစ်ဦးစလုံးကျောင်းသားအပေါ်မူတည်ဘာဖြစ်လို့လဲဆိုတော့ဒါကစားပွဲပေါ်မှာတစ် multivalued မှီခိုမိတ်ဆက်ပေးခဲ့သည်။

ဒါကရိုးရှင်းတဲ့ဥပမာများနှင့်လွယ်ကူစွာသက်သေဖြစ်ပါသည်, သို့သော် multivalue မှီခိုနေတဲ့ကြီးမားရှုပ်ထွေးသောဒေတာဘေ့စအတွက်ပြဿနာတစ်ခုဖြစ်လာနိုင်ပါတယ်။

: ဤကိစ္စတွင်> Y. -> - တစ်ဦးက multivalued မှီခို X ကိုတိကျမ်းစာ၌လာသည်ကား

Student_Name -> -> ဗိုလ်မှူး
Student_Name -> -> အားကစား

ဤ "Student_Name multidetermines ဗိုလ်မှူး" နှင့်အဖြစ်ကိုဖတ်ဖြစ်ပါတယ် "Student_Name multidetermines အားကစား။ "

ကတတိယအပေါ်မှီခိုဖြစ်ကြောင်းအနည်းဆုံးနှစ်ခု attribute တွေပါဝင်ပါသည်ဘာလို့လဲဆိုတော့တစ်ဦးက multivalued မှီခိုအမြဲအနည်းဆုံးသုံး attribute တွေလိုအပ်ပါတယ်။

Multivalued မှီခိုမှုနှင့်ပုံမှန်

ဒါကြောင့်မလိုအပ်တဲ့လေ့လာပြီးဖန်တီးများနှင့်ကိုက်ညီမှုမရှိသည့်ဒေတာကိုအထောက်အကူဖြစ်စေနိုင်ပါတယ်ကြောင့် multivalued မှီခိုနှင့်အတူတစ်ဦးကစားပွဲစတုတ္ထပုံမှန်ပုံစံ (4NK) ၏ပုံမှန်စံချိုးဖောက်။ 4NF ဤဆောင်ခဲ့ခြင်းကြောင့်ကျောက်ပြားနှစ်ပြားသို့ဤသတင်းအချက်အလက်ကိုချိုးဖျက်ဖို့လိုအပ်ပေသည်။

အောက်ဖော်ပြပါဇယားသည်ယခုအခါ Student_Name တစ်အလုပ်လုပ်တဲ့မှီခိုရှိပါတယ် -> ဗိုလ်မှူး, နှင့်မျှမ multivalued မှီခို:

ကျောင်းသားများ & အဓိက
ကျောင်းသားအမည် ဗိုလ်မှူး
Ravi အနုပညာသမိုင်း
Ravi အနုပညာသမိုင်း
Ravi အနုပညာသမိုင်း
ဗက် ဓါတုဗေဒပညာ
ဗက် ဓါတုဗေဒပညာ

ဒီစားပွဲကိုလည်း Student_Name ၏တစ်ခုတည်းအလုပ်လုပ်တဲ့မှီခိုရှိပါတယ်နေချိန်မှာ -> အားကစား:

ကျောင်းသားများ & အားကစား
ကျောင်းသားအမည် အားကစား
Ravi ဘောလုံးကစား
Ravi ဘောလီဘော
Ravi တင်းနစ်
ဗက် တင်းနစ်
ဗက် ဘောလုံးကစား

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