တစ်ဒေတာဘေ့စအတွက် one-to-အတော်များများပေါင်းသင်းဆက်ဆံရေး

တစ်ဦးကတစ်ဦး-to-အများအပြား database ထဲတွင်ကြားဆက်ဆံရေး စားပွဲတင်တစ်ဦးကစီစံချိန်စားပွဲတင် B ကိုအများအပြားနှင့်ဆက်စပ်မှတ်တမ်းများရှိစေခြင်းငှါ, ဒါပေမယ့်စားပွဲတင် B ကိုအသီးအသီးစံချိန်စားပွဲတင်အေ၌တစ်ဦးကတဦးတည်း-to-အများအပြားဆက်ဆံရေးဟာတစ်ဦးတည်းသာသက်ဆိုင်ရာစံချိန်ရှိစေခြင်းငှါလာသောအခါဖြစ်ပေါ် ဒေတာဘေ့စအသုံးအများဆုံး relational database ကိုဒီဇိုင်းဖြစ်ပြီးကောင်းသောဒီဇိုင်း၏စိတ်နှလုံးမှာဖြစ်ပါတယ်။

ဆရာနှင့်သူတို့သင်ကြားသင်တန်းများအကြားဆက်ဆံရေးစဉ်းစားပါ။ တစ်ဦးကဆရာမျိုးစုံသင်တန်းများသင်ပေးနိုင်ပါသည်, သို့သော်သင်တန်းဆရာအားဖြင့်ထိုအတူဆက်ဆံရေးမျိုးရှိလိမ့်မည်မဟုတ်ပေ။

ထိုကွောငျ့, တစ်ဦးဆရာများ table ထဲမှာတစ်ဦးချင်းစီစံချိန်အဘို့, သင်တန်းများ table ထဲမှာအများအပြားမှတ်တမ်းများရှိဖြစ်နိုင်ပါတယ်။ ဒါကတဦးတည်း-to-အများအပြားဆက်ဆံရေးမျိုးဖြစ်ပါသည်: မျိုးစုံသင်တန်းများမှတဦးတည်းဆရာ။

အဘယ်ကြောင့်တစ်ဦး One-to-အတော်များများဆက်ဆံရေးထူထောင်အရေးကြီးဖြစ်ပါသည်

တစ်ဦးတည်း-to-အများအပြားဆက်ဆံရေးမျိုးကိုကိုယ်စားပြုစေရန်, သငျသညျအနညျးဆုံးအပြားနှစ်ပြားကိုလိုအပ်ပါတယ်။ ရဲ့အဘယ်ကြောင့်ကြည့်ရှုကြပါစို့။

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

ဆရာ, ဆရာမများနှင့်သင်တန်းများ
Teacher_ID Teacher_Name သင်တန်းအမှတ်စဥ်
Teacher_001 ကာမဲန် ဇီဝဗေဒ
Teacher_002 Veronica သင်္ချာ
Teacher_003 Jorge အင်္ဂလိပ်

အဘယ်အရာကိုကာမန်နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသောသင်တန်းများသွန်သင်ဆိုရငျကော ကျနော်တို့ကဒီပုံစံဒီဇိုင်းတွေနဲ့ options နှစ်ခုရှိသည်။ ကျနော်တို့ရုံဤကဲ့သို့သောကာမဲန်ရဲ့လက်ရှိစံချိန်က add နိုင်:

ဆရာ, ဆရာမများနှင့်သင်တန်းများ
Teacher_ID ဆရာ _Name သင်တန်းအမှတ်စဥ်
Teacher_001 ကာမဲန် ဇီဝဗေဒ, သင်္ချာ
Teacher_002 Veronica သင်္ချာ
Teacher_003 Jorge အင်္ဂလိပ်

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

ဒါဟာခက်ခဲ data တွေကိုရှာစေသည်။ ဒါကဒီဇိုင်းကိုဒေတာဘေ့စပုံမှန်၏ပထမဦးဆုံးနိယာမကိုချိုးဖောက် ပထမဦးစွာပုံမှန်ပုံစံ (1NF) တစ်ဦးချင်းစီစားပွဲဆဲလ်အချက်အလက်များ၏တစ်ခုတည်း, discrete အပိုင်းအစဆံ့သင့်ကြောင်းဒီလိုဖော်ပြထားသော။

နောက်ထပ်ဒီဇိုင်းကိုအခြားရွေးချယ်စရာရိုးရိုးကာမဲန်တစ်စက္ကန့်စံချိန်ကိုထည့်သွင်းဖို့ဖြစ်လိမ့်မယ်:

ဆရာ, ဆရာမများနှင့်သင်တန်းများ
ဆရာ _ID ဆရာ _Name သင်တန်းအမှတ်စဥ်
Teacher_001 ကာမဲန် ဇီဝဗေဒ
Teacher_001 ကာမဲန် သင်္ချာ
Teacher_002 Veronica သင်္ချာ
Teacher_003 Jorge အင်္ဂလိပ်

ဤသည် 1NF မှလိုက်နာစောင့်ထိန်းပေမယ့် redundancy မိတ်ဆက်နှင့်မလိုအပ်ဘဲတစ်ဦးအလွန်ကြီးမားတဲ့ဒေတာဘေ့စမင်းရဲ့လို့နေဆဲဆင်းရဲသားကိုဒေတာဘေ့စဒီဇိုင်းဖြစ်ပါတယ်။ ပို. အရေးကြီးသည်, ဒေတာကိုက်ညီမှုဖြစ်လာနိုင်ပါတယ်။ ဥပမာအားဖြင့်, ကာမဲန်ရဲ့နာမညျကိုအဘယျသို့လြှငျအပြောင်းလဲဖြစ်အောင်လုပ်ခဲ့တာလဲ ဒေတာနဲ့အလုပ်လုပ်သူတစ်ဦးဦးတစ်ဦးစံချိန်သစ်အတွက်သူမ၏အမည်ကိုအပ်ဒိတ်လုပ်နှင့်ဒုတိယစံချိန်အတွက် update လုပ်ဖို့ပျက်ကွက်ပေလိမ့်မည်။ ဒါကဒီဇိုင်း 1NF မှလိုက်နာစောင့်ထိန်းခြင်းနှင့်လည်းမျိုးစုံစားပွဲသို့အချက်အလက်များ၏အစိတ်အပိုင်းအစုခွဲထုတ်နှင့်သူတို့စပ်ကြားဆက်ဆံရေးအတွက်မျိုးစုံမှတ်တမ်းများ၏လေ့လာပြီးရှောင်ရှားရပါမည်သည့်ဒုတိယအပုံမှန်ပုံစံ (2NF), ကိုဖောက်ဖျက်ကျူးလွန်။

One-to-အတော်များများပေါင်းသင်းဆက်ဆံရေးနှင့်အတူတစ်ဒေတာဘေ့စဒီဇိုင်းရေးဆွဲရန်ကဘယ်လို

အဆိုပါဆရာများနှင့်သင်တန်းများ table ထဲမှာတစ်ဦးတည်း-to-အများအပြားဆက်ဆံရေးဟာအကောင်အထည်ဖေါ်ရန်, ငါတို့နှစ်ဦးကိုစစားပွဲကိုချိုးဖျက်ကာကိုအသုံးပြုပြီးသူတို့ကိုလင့်ထားသည် နိုင်ငံခြားသော့ချက်

ဤတွင်ကျနော်တို့ဆရာများစားပွဲပေါ်မှာအတွက်သင်တန်းကော်လံဖယ်ရှားပြီးပြီ:

ဆရာများ
ဆရာ _ID ဆရာ _Name
Teacher_001 ကာမဲန်
Teacher_002 Veronica
Teacher_003 Jorge

ထိုအဒီမှာသင်တန်းများစားပွဲပေါ်မှာဖြစ်ပါတယ်။ : က၎င်း၏နိုင်ငံခြားရေးသော့ Teacher_ID, ထိုဆရာများ table ထဲမှာတစ်ဦးဆရာတစ်ဦးသင်တန်းဆက်သွယ်သတိပြုပါ

သင်တန်းများ
Course_ID Course_Name Teacher_ID
Course_001 ဇီဝဗေဒ Teacher_001
Course_002 သင်္ချာ Teacher_001
Course_003 အင်္ဂလိပ် Teacher_003

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

ဤသည်မှာဇီဝဗေဒနှင့်သင်္ချာနှစ်ဦးစလုံးကာမဲန်အားဖြင့်၎င်း, Jorge အင်္ဂလိပ်သွန်သင်ဆုံးမသွန်သင်ကြသည်ကိုပြောပြသည်။

ကျနော်တို့ကဒီဒီဇိုင်းမဆိုဖြစ်နိုင်သောလေ့လာပြီးရှောင်တစ်ဦးချင်းစီဆရာများမျိုးစုံသင်တန်းများသင်ကြားရန်ခွင့်ပြု, တစ်ဦးတည်း-to-အများအပြားဆက်ဆံရေးဟာအကောင်အထည်ဖော်ဆောင်ရွက်နေသောကိုဘယ်လိုမြင်နိုင်ပါသည်။

databases ကိုလည်းတဦးတည်း-to-တဦးတည်းကြားဆက်ဆံရေးနှင့်တစ်ဦးအများအပြား-to-အများအပြားဆက်ဆံရေးဟာအကောင်အထည်ဖော်နိုင်ပါတယ်။