ဒေတာဘေ့စဆက်ဆံရေးအားလုံး relational database များကိုများ၏ကျောရိုးများမှာ
တစ်ဦးကကြားဆက်ဆံရေးနှစ်ခုအကြားတည်တတ်၏ ဒေတာဘေ့စစားပွဲ တဦးတည်းစားပွဲပေါ်မှာအခြားစားပွဲ၏အဓိကသော့ချက်ကိုးကားတဲ့နိုင်ငံခြားသော့ချက်ရှိပါတယ်အခါ။ ဤသည်ဟူသောဝေါဟာရကို relational database ကိုနောက်ကွယ်မှအခြေခံအယူအဆဖြစ်ပါတယ်။
ဘယ်လိုနိုင်ငံခြားရေး Key ကိုတစ်ဦးဆက်ဆံရေးထူထောင်နိုင်ဖို့အလုပ်လုပ်
၏ပင်မနှင့်နိုင်ငံခြားသော့၏အခြေခံပြန်လည်သုံးသပ်ကြပါစို့။ တစ်ဦးက မူလတန်း key ကို သီးခြားစွာစားပွဲအတွက်တစ်ဦးချင်းစီစံချိန်သတ်မှတ်။ ဒါဟာအမျိုးအစားတစ်ခုဖြစ်ပါတယ် ကိုယ်စားလှယ်လောင်း key ကို များသောအားဖြင့်စားပွဲတစ်ခုအတွင်းပထမဆုံးကော်လံသည်နှင့်အလိုအလျှောက်ပါကထူးခြားသောကြောင်းသေချာစေရန်ဒေတာဘေ့စသဖြင့်ထုတ်ပေးနိုင်ပါသည်။
တစ်ဦးကနိုင်ငံခြား key ကိုအခြားကိုယ်စားလှယ်လောင်း key ကို (မမူလတန်းသော့ချက်) အခြား table ထဲမှာဒေတာမှစံချိန်တင်လင့်ထားသည်ရန်အသုံးပြုသည်။
ဥပမာအားဖြင့်, အရာသင်တန်းသွန်သင်ပေးသောဆရာဖော်ထုတ်ရန်ဤကျောက်ပြားနှစ်ပြားစဉ်းစားပါ။
ဤတွင်အဆိုပါသင်တန်းများစားပွဲပေါ်မှာ၏အဓိကသော့ချက် Course_ID ဖြစ်ပါတယ်။ ၎င်း၏နိုင်ငံခြားရေး key ကို Teacher_ID ဖြစ်ပါသည်:
Course_ID | Course_Name | Teacher_ID |
---|---|---|
Course_001 | ဇီဝဗေဒ | Teacher_001 |
Course_002 | သင်္ချာ | Teacher_001 |
Course_003 | အင်္ဂလိပ် | Teacher_003 |
သငျသညျသင်တန်းများအတွက်နိုင်ငံခြားသော့ချက်ဆရာများအတွက်မူလတန်း key ကိုလိုက်ဖက်မယ်တွေ့မြင်နိုင်သည်
Teacher_ID | Teacher_Name |
---|---|
Teacher_001 | ကာမဲန် |
Teacher_002 | Veronica |
Teacher_003 | Jorge |
ကျနော်တို့ Teacher_ID နိုင်ငံခြား key ကိုသင်တန်းများနှင့်ဆရာများစားပွဲအကြားဆက်ဆံရေးထူထောင်နိုင်ဖို့ကူညီပေးခဲ့တယ်သည်ဟုဆိုနိုငျသညျ။
ဒေတာဘေ့စပေါင်းသင်းဆက်ဆံရေးအမျိုးအစားများ
နိုင်ငံခြားသော့သို့မဟုတ်အခြားကိုယ်စားလှယ်လောင်းသော့အသုံးပြုခြင်းကိုသင်စားပွဲအကြားဆက်ဆံရေးကိုအမျိုးအစားသုံးမျိုးအကောင်အထည်ဖော်နိုင်သည်
One-to-One: ဆက်ဆံရေးဟာဒီအမျိုးအစားဆက်ဆံရေး၏အသီးအသီးအခြမ်းအပေါ်တစ်ဦးတည်းသာစံချိန်ခွင့်ပြုပါတယ်။
သို့မဟုတ်အဘယ်သူမျှမ - - အခြား table ထဲမှာအဓိကသော့ချက်တစ်ခုသာစံချိန်မှပြောပြတယ်။ ဥပမာအားဖြင့်, အိမ်ထောင်ရေးအတွက်တစ်ဦးချင်းစီအိမ်ထောင်ဖက်တစ်ဦးတည်းသာသည်အခြားအိမ်ထောင်ဖက်ရှိပါတယ်။ ဆက်ဆံရေးမျိုးတစ်ခုတည်း table ထဲမှာအကောင်အထည်ဖော်နိုင်ပြီးထို့ကြောင့်နိုင်ငံခြား key ကိုမသုံးပါဘူး။
One-to-အများအပြား: တစ်ဦးကတဦးတည်း-to-အများအပြားဆက်ဆံရေးဟာအခြား table ထဲမှာမျိုးစုံမှတ်တမ်းများနှင့်ဆက်စပ်သောခံရဖို့တဦးတည်း table ထဲမှာတစ်ခုတည်းစံချိန်ခွင့်ပြုပါတယ်။
Customer နှင့်အမိန့်စားပွဲရှိပါတယ်တဲ့ဒေတာဘေ့စတွေနဲ့စီးပွားရေးလုပ်ငန်းတစ်ခုစဉ်းစားပါ။
တစ်ဦးကတစ်ခုတည်းဖောက်သည်မျိုးစုံအမိန့်ဝယ်ယူနိုင်ပါသည်, သို့သော်တစ်ခုတည်းအမိန့်မျိုးစုံဖောက်သည်ချိတ်ဆက်လို့မရပါ။ အဆိုပါဖောက်သည်ဇယားသည်အမိန့်စားပွဲပေါ်မှာမှညွှန်ပြခြင်းမရှိသည့်နိုင်ငံခြားသော့ချက်ရှိသည်မယ်လို့နေစဉ်ထိုကွောငျ့အမိန့်စားပွဲပေါ်မှာ, ထို Customer များ table ၏အဓိကသော့ချက်လိုက်ဖက်မယ့်နိုင်ငံခြားသော့ချက်ဆံ့လိမ့်မယ်။
အတော်များများက-to-အများအပြား: ဒီတစ် table ထဲမှာအများအပြားမှတ်တမ်းများအခြား table ထဲမှာအများအပြားမှတ်တမ်းများလင့်ထားသည်နိုင်သည့်အတွက်ရှုပ်ထွေးတဲ့ဆက်ဆံရေးမျိုးဖြစ်ပါတယ်။ ဥပမာအားဖြင့်, ကျွန်ုပ်တို့၏စီးပွားရေးဖြစ်ကောင်း Customer နှင့်အမိန့်စားပွဲသာလိုအပ်ကြောင်း, ဒါပေမယ့်ဖွယ်ရှိကိုလည်းထုတ်ကုန်များစားပွဲပေါ်မှာလိုအပ်ပါသည်။
တဖန် Customer နှင့်အမိန့်စားပွဲပေါ်မှာအကြားဆက်ဆံရေးတဦးတည်း-to-အများအပြားဖြစ်ပါသည်, သို့သော်အမိန့်များနှင့်ကုန်ပစ္စည်းများစားပွဲပေါ်မှာအကြားဆက်ဆံရေးစဉ်းစားပါ။ တစ်ခုကအမိန့်မျိုးစုံထုတ်ကုန်ဆံ့နိုင်ပြီး, ထုတ်ကုန်မျိုးစုံအမိန့်ချိတ်ဆက်နိုင်: အများအပြားဖောက်သည်တူညီတဲ့ထုတ်ကုန်အချို့ပါဝင်သောအမိန့်တင်ပြပါလိမ့်မယ်။ ဆက်ဆံရေးဒီလိုမျိုးနိမ့်ဆုံးသုံးစားပွဲမှာလိုအပ်သည်။
ဒေတာဘေ့စပေါင်းသင်းဆက်ဆံရေးအရေးကြီးဘာတွေလဲ?
ဒေတာဘေ့စစားပွဲအကြားတသမတ်တည်းဆက်ဆံရေးထူထောင်ဒေတာဘေ့စပုံမှန်မှပံ့ပိုး, ဒေတာသမာဓိရှိသေချာကူညီပေးသည်။ ဥပမာအားဖြင့်, အဘယ်အရာကိုကျွန်တော်တစ်ဦးနိုင်ငံခြား key ကိုတစျဆငျ့ဆိုစားပွဲသို့လင့်ထားသည်မပြုခဲ့လျှင်အစားပဲဒါကဲ့သို့သောသင်တန်းများနှင့်ဆရာများစားပွဲအတွက်ဒေတာ, ပေါင်းစပ်:
Teacher_ID | Teacher_Name | သင်တန်းအမှတ်စဥ် |
---|---|---|
Teacher_001 | ကာမဲန် | ဇီဝဗေဒ, သင်္ချာ |
Teacher_002 | Veronica | သင်္ချာ |
Teacher_003 | Jorge | အင်္ဂလိပ် |
ဒါကဒီဇိုင်းကိုတရားရှိဖို့သည်နှင့်ဒေတာဘေ့စပုံမှန်စီစားပွဲပေါ်မှာဆဲလ်အချက်အလက်များ၏တစ်ခုတည်း, discrete အပိုင်းအစဆံ့သင့်ကြောင်းဒီလိုဖော်ပြထားသည့်ပထမဦးစွာပုံမှန်ပုံစံ (1NF) ၏ပထမဦးဆုံးနိယာမကိုချိုးဖောက်။
သို့မဟုတ်ဖြစ်ကောင်းကျနော်တို့ရိုးရှင်းစွာ 1NF ပြဋ္ဌာန်းရန်နိုင်ရန်အတွက်ကာမဲန်တစ်စက္ကန့်စံချိန်ကိုထည့်သွင်းဖို့ဆုံးဖြတ်:
Teacher_ID | Teacher_Name | သင်တန်းအမှတ်စဥ် |
---|---|---|
Teacher_001 | ကာမဲန် | ဇီဝဗေဒ |
Teacher_001 | ကာမဲန် | သင်္ချာ |
Teacher_002 | Veronica | သင်္ချာ |
Teacher_003 | Jorge | အင်္ဂလိပ် |
ဒါကကိုယ့်ကြောင့်ကိုက်ညီမှု data တွေကိုအထောက်အကူပြုနိုင်ဆိုလိုတာကမလိုအပ်သောပုံတူနှင့်အဘယ်သို့ဆိုင် data တွေကိုသွင်းကွဲလွဲချက်များကိုခေါ်ခြင်းဖြစ်သည်, မိတ်ဆက်ဆဲအားနည်းဒီဇိုင်းဖြစ်ပါတယ်။
ဆရာမျိုးစုံမှတ်တမ်းများရှိပါတယ်လျှင်ဥပမာ, အဘယျသို့အခြို့သောဒေတာများ edited ခံရဖို့လိုအပ်ကြောင်း, သို့သော်ဒေတာတည်းဖြတ်ရေးဖျော်ဖြေလူတစ်ဦးမျိုးစုံမှတ်တမ်းများတည်ရှိကြောင်းနားလည်သဘောပေါက်မပါဘူးဆိုရင်? စားပွဲပြီးရင်ခွဲခြားသတ်မှတ်သို့မဟုတ်ကြောင့်ရှောင်ကြဉ်ရန်မဆိုရှင်းရှင်းလင်းလင်းလမ်းမရှိဘဲ, တူညီတဲ့တစ်ဦးချင်းစီအတွက်မတူညီသောဒေတာဆံ့လိမ့်မယ်။
(အထက်တွင်မြင်ကဲ့သို့), ကျောက်ပြားနှစ်ပြား, ဆရာများနှင့်သင်တန်းများသို့ဤစားပွဲပေါ်မှာ Breaking သည့်အချက်အလက်များနှင့်ထိုကွောငျ့အကြားသင့်လျော်သောဆက်ဆံရေးမျိုး data တွေကိုရှေ့နောက်ညီညွတ်မှုနှင့်တိကျမှန်ကန်မှုကိုသေချာစေရန်ကူညီပေးသည်ဖန်တီးပေးပါတယ်။