တစ်ဦးကတစ်ဦး-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-အများအပြားဆက်ဆံရေးဟာအကောင်အထည်ဖော်နိုင်ပါတယ်။