ဒေတာဘေ့စပေါင်းသင်းဆက်ဆံရေး

ဒေတာဘေ့စဆက်ဆံရေးအားလုံး 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 တွေကိုရှေ့နောက်ညီညွတ်မှုနှင့်တိကျမှန်ကန်မှုကိုသေချာစေရန်ကူညီပေးသည်ဖန်တီးပေးပါတယ်။