အဆိုပါဒေတာဘေ့စဝေါဟာရကို "relational" သို့မဟုတ် "ဆက်ဆံရေးမျိုး" စားပွဲအတွက် data တွေကိုချိတ်ဆက်ထားသောလမ်းဖော်ပြသည်။
databases ကိုလောကီသားတို့သည်အဖို့အသစ်ရောက်ရှိလာသောမကြာခဏခက်ခဲအချိန်ဒေတာဘေ့စနှင့်တစ်ဦး spreadsheet အကြားကွာခြားချက်ကိုမြင်လျှင်ရှိသည်။ သူတို့ကအချက်အလက်များ၏စားပွဲမြင် databases ကိုသငျသညျကိုစုစည်းပြီးနှင့်ခွင့်ပြုကြောင်းအသိအမှတ်ပြုရန် ဒေတာစုံစမ်းမှု အသစ်သောနည်းလမ်းတွေနဲ့, ဒါပေမယ့် relational database ကိုနည်းပညာ၎င်း၏အမည်ကိုပေးသောဒေတာများအကြားဆက်ဆံရေး၏အရေးပါမှုကိုဆုပ်ကိုင်ရန်ပျက်ကွက်။
ဆက်ဆံရေးသင်အစွမ်းထက်နည်းလမ်းကွဲပြားခြားနားသောဒေတာဘေ့စစားပွဲကြားရှိဆက်သွယ်မှုကိုဖော်ပြရန်ခွင့်ပြုပါ။ ဤရွေ့ကားဆက်ဆံရေးထို့နောက်ပူးပေါင်းမည်အဖြစ်လူသိများအစွမ်းထက် Cross-စားပွဲပေါ်မှာမေးမြန်းချက်, ဖျော်ဖြေဖို့ရေးအတွက်နိုင်ပါသည်။
ဒေတာဘေ့စပေါင်းသင်းဆက်ဆံရေးအမျိုးအစားများ
ဒေတာဘေ့စဆက်ဆံရေးသုံးခုကွဲပြားခြားနားသောအမျိုးအစားများ, ဆက်ဆံရေးတွင်ပါဝင်ပတ်သက်စေခြင်းငှါစားပွဲပေါ်မှာတန်းစီများ၏အရေအတွက်အတိုင်းအမည်ရှိချင်းစီရှိပါတယ်။ ဤသုံးပါးကြားဆက်ဆံရေးအမျိုးအစားတစ်ခုချင်းစီကိုကျောက်ပြားနှစ်ပြားအကြားတည်ရှိ။
- One-to-One ဆက်ဆံရေး ကိုပထမဦးဆုံးစားပွဲအသီးအသီး entry ကိုတဦးတည်း, ဒုတိယ table ထဲမှာတစ်ဦးတည်းသာ, အဆွေတော်ရှိပါတယ်သည့်အခါပေါ်ပေါက်ပါတယ်။ ဒါဟာရိုးရှင်းစွာတစ်ခုတည်း table ထဲမှာသတင်းအချက်အလက်အပေါငျးတို့သထားရန်မကြာခဏပိုပြီးထိရောက်သောကွောငျ့ One-to-တဦးတည်းဆက်ဆံရေးမရှိသလောက်အသုံးပြုကြသည်။ တချို့ကဒေတာဘေ့စဒီဇိုင်နာများအခြားစားပွဲကနေအချက်အလက်များ၏အပိုင်းတစ်ပိုင်းကိုသာလျှင်ဆံ့ကြောင်းကျောက်ပြားကိုဖန်တီးခြင်းအားဖြင့်ဒီဆက်နွယ်မှု၏အားသာချက်ယူလုပ်ပါ။
- One-to-အများအပြားဆက်ဆံရေး ဒေတာဘေ့စဆက်ဆံရေးအသုံးအများဆုံးအမျိုးအစားတစ်မျိုးဖြစ်ပါသည်။ စားပွဲတင်တစ်ဦးအတွက်တစ်ဦးချင်းစီစံချိန်စားပွဲတင် B ကတသို့မဟုတ်ထိုထက်ပိုမှတ်တမ်းများမှကိုက်ညီပေမယ့်စားပွဲတင် B ကိုအသီးအသီးစံချိန်တစ်ခုမူလတန်းကျောင်းတစ်ဦးဆရာများစားပွဲပေါ်မှာနှင့်ကျောင်းသားများစားပွဲပေါ်မှာအကြားဆက်ဆံရေး, ဥပမာဇယားအေအတွက်တစ်ဦးတည်းသာစံချိန်နဲ့ကိုက်ညီသည့်အခါသူတို့ကပေါ်ပေါက် တစ်ခုချင်းစီကိုကျောင်းသားတစ်ဦးတည်းသာဆရာရှိတယ်, ဒါပေမယ့်အသီးအသီးဆရာမျိုးစုံကျောင်းသားများကိုရှိပါတယ်ဘာဖြစ်လို့လဲဆိုတော့ဒေတာဘေ့စဖွယ်ရှိ, တစ်ဦးတည်း-to-အများအပြားဆက်ဆံရေးမျိုးဖြစ်လိမ့်မည်။ ဒါဟာ One-to-အများအပြားဒီဇိုင်းအချက်အလက်ဆင်တူဖြစ်နေသောဖယ်ရှားပစ်ကူညီပေးသည်။
- စားပွဲတင်တစ်ဦးအတွက်တစ်ဦးချင်းစီစံချိန်စားပွဲတင် B ကတသို့မဟုတ်ထိုထက်ပိုမှတ်တမ်းများမှကိုက်ညီနှင့်စားပွဲတင် B ကိုအသီးအသီးစံချိန်တစ်ဦးဆရာများနှင့်သင်တန်းများအကြားဆက်ဆံရေး, ဥပမာဇယားအေအတွက်တဦးတည်းသို့မဟုတ်ထိုထက်ပိုမှတ်တမ်းများမှကိုက်ညီသည့်အခါအတော်များများ-to-အများအပြားဆက်ဆံရေးပေါ်ပေါက် တစ်ဦးချင်းစီဆရာတစ်ဦးထက်ပိုသင်တန်းကိုသွန်သင်စေခြင်းငှါ, တစ်ဦးချင်းစီသင်တန်းတစ်ခုထက် ပို. သင်တန်းပို့ချရှိစေခြင်းငှါဘာလို့လဲဆိုတော့စားပွဲဖွယ်ရှိအများအပြား-to-အများအပြားပါလိမ့်မယ်။
self-Referencing ပေါင်းသင်းဆက်ဆံရေး: တစ်ဦးကအထူးဖြစ်ရပ်မှန်
ပါဝင်ပတ်သက်တစ်ဦးတည်းသာစားပွဲပေါ်မှာလည်းမရှိသည့်အခါကိုယ်ပိုင်ကိုးကားဆက်ဆံရေးပေါ်ပေါက်ပါတယ်။ တစ်ခုမှာဘုံဥပမာတစ်ခုချင်းစီကိုဝန်ထမ်းများ၏ကြီးကြပ်ရေးမှူးနှင့် ပတ်သက်. သတင်းအချက်အလက်များပါဝင်သည်တစ်ခုန်ထမ်းစားပွဲဖြစ်ပါတယ်။ တစ်ခုချင်းစီကိုကြီးကြပ်သူလည်းတစ်ဦးဝန်ထမ်းဖြစ်ပြီးသူသို့မဟုတ်သူမ၏ကိုယ်ပိုင်ကြီးကြပ်ရေးမှူးရှိပါတယ်။ ဤကိစ္စတွင်ခုနှစ်, အဲဒီမှာဦးချင်းစီန်ထမ်းတဦးတည်းကြီးကြပ်ရေးမှူးရှိပါတယ်အဖြစ်တဦးတည်း-to-အများအပြား Self-ကိုးကားဆက်ဆံရေးမျိုးဖြစ်ပါတယ်, ဒါပေမယ့်အသီးအသီးကြီးကြပ်ရေးမှူးတစ်ဦးထက်ပိုဝန်ထမ်းရှိနိုင်ပါသည်။
နိုင်ငံခြားရေးသော့ချက်များနှင့်အတူပေါင်းသင်းဆက်ဆံရေး Creating
သငျသညျခွငျးအားဖွငျ့စားပွဲအကြားဆက်ဆံရေးကိုဖန်တီး နေတဲ့နိုင်ငံခြား key ကိုသတ်မှတ်ခြင်း သော့ချက်သည့်ကျောက်ပြားနှင့်ဆက်စပ်သောနေကြသည်ဘယ်လို relational database ကိုပြောပြသည်။ အမြားအပွားကိစ္စများတွင်စားပွဲတင်တစ်ဦးကတစ်ဦးကော်လံစားပွဲတင်ခထဲကနေကိုးကားဖြစ်ကြောင်းမူလတန်းသော့များပါဝင်သည်
ထပ်ဆရာများနှင့်ကျောင်းသားများ tables တွေရဲ့ဥပမာစဉ်းစားပါ။ အဆိုပါဆရာများစားပွဲပေါ်မှာပဲတစ်ဦး ID ကိုတစ်ဦးအမည်, နှင့်သင်တန်းကော်လံပါရှိသည်:
InstructorID | Teacher_Name | သင်တန်းအမှတ်စဥ် |
---|---|---|
001 | ယောဟနျသ Doe | အင်္ဂလိပ် |
002 | ဂျိန်း Schmoe | သင်္ချာ |
အဆိုပါကျောင်းသားများစားပွဲပေါ်မှာတစ်ဦး၏ ID, အမည်, နှင့်နိုင်ငံခြား key ကိုကော်လံပါဝင်သည်:
ကျောင်းသားကဒ် | ကျောင်းသားအမည် | Teacher_FK |
---|---|---|
0200 | ဝယျလျစမစ် | 001 |
0201 | ဘရိုင်ယန်က Short | 001 |
0202 | Corky Mendez | 002 |
0203 | မော်နီကာဂျုံးစ် | 001 |
အဆိုပါကျောင်းသားများ table ထဲမှာကော်လံ Teacher_FK အဆိုပါကိုးကား မူလတန်း key ကိုတနျဖိုး ဟာဆရာများ table ထဲမှာတစ်ခုနည်းပြဆရာများ၏။
မကြာခဏ, ဒေတာဘေ့စဒီဇိုင်နာများလွယ်ကူစွာတစ်ဦးမူလတန်းသော့ချက်သို့မဟုတ်နိုင်ငံခြား key ကိုကော်လံကိုသိရှိနိုင်ဖို့ကော်လံနာမ၌ "PK" သို့မဟုတ် "FK" ကိုသုံးပါလိမ့်မယ်။
ဤအပွားနှစျပွားဆရာနှင့်ကျောင်းသားများအကြားတ-to-အများအပြားကြားဆက်ဆံရေးသရုပျဖျောသတိပြုပါ။
ဆက်ဆံရေးနှင့်ရည်ညွှန်းသမာဓိ
သငျသညျစားပွဲတစ်ခုလုပ်ဖို့နိုင်ငံခြား key ကိုထည့်သွင်းပြီးပြီပြီးတာနဲ့, သင်ပြီးတော့အတည်ပြုပေးမှာတဲ့ဒေတာဘေ့စသတ်ဖန်တီးနိုင်ပါတယ် ထားသောရည်ညွှန်းသမာဓိရှိ ကျောက်ပြားနှစ်ပြားအကြား။ ဤသည်စားပွဲအကြားဆက်ဆံရေးကိုတသမတ်တည်းကျန်ကြွင်းသောသေချာ။ တဦးတည်းစားပွဲပေါ်မှာအခြားစားပွဲတစ်ခုနိုင်ငံခြားသော့ချက်ရှိပါတယ်အခါ, ရည်ညွှန်းသမာဓိအယူအဆစားပွဲတင် B ကိုအတွက်မဆိုနိုင်ငံခြား key ကိုတနျဖိုးစားပွဲတင်အေထဲမှာရှိပြီးသားစံချိန်ကိုရည်ညွှန်းရမယ်လို့ကဤသို့ဆို၏
ပေါင်းသင်းဆက်ဆံရေးအကောင်အထည်ဖော်
သင့်ရဲ့ဒေတာဘေ့စပေါ် မူတည်. သင်သည်ကွဲပြားခြားနားတဲ့နည်းလမ်းတွေထဲမှာစားပွဲအကြားဆက်ဆံရေးကိုအကောင်အထည်ဖေါ်။ Microsoft က Access ကိုအလွယ်တကူသင်စားပွဲသို့လင့်ထားသည်နှင့်လည်းရည်ညွှန်းသမာဓိရှိပြဋ္ဌာန်းရန်ခွင့်ပြုမယ့် wizard ကိုပေးပါသည်။
သငျသညျကိုတိုက်ရိုက် SQL ရေးသားခြင်းနေတယ်ဆိုရင်, သင်ပထမဦးဆုံးအဓိကသော့ချက်ဖြစ်ဖို့ ID ကိုကော်လံကြေညာ, စားပွဲပေါ်မှာဆရာများဖန်တီးမည်ဟု:
(TABLE ဆရာများ CREATE
InstructorID INT AUTO_INCREMENT PRIMARY KEY ကို,
Teacher_Name VARCHAR (100),
သင်တန်းအမှတ်စဥ် VARCHAR (100)
);
သင်ကျောင်းသားများစားပွဲပေါ်မှာဖန်တီးတဲ့အခါမှာ, သင်ဆရာများ '' စားပွဲပေါ်မှာအတွက် InstructorID ကော်လံကိုကိုးကားနိုင်ငံခြားသော့ချက်ဖြစ်ဖို့ Teacher_FK ကော်လံကြေညာ:
TABLE ကျောင်းသားများ CREATE (
StudentID INT AUTO_INCREMENT PRIMARY KEY ကို,
Student_Name VARCHAR (100), Teacher_FK INT,
နိုင်ငံခြားရင်းနှီးမြှုပ်နှံမှုမြန်မာ့ KEY ကို (Teacher_FK) ဆရာများ (InstructorID) REFERENCES)
);
ဇယားကို Join ဖို့ပေါင်းသင်းဆက်ဆံရေးအသုံးပြုခြင်း
သင်သည်သင်၏ database ထဲတွင်တဦးတည်းသို့မဟုတ်ထိုထက်ပိုဆက်ဆံရေးကိုဖန်တီးပြီးပြီပြီးတာနဲ့သင်မျိုးစုံစားပွဲကနေသတင်းအချက်အလက်ပေါင်းစပ်ဖို့မေးမြန်းချက် JOIN SQL အသုံးပြု. ၎င်းတို့၏အာဏာကိုမူတည်ပြီးနိုင်ပါတယ်။ join ၏အသုံးအများဆုံးအမျိုးအစားတစ်ဦး SQL Inner JOIN ဖြစ်ပါတယ်, ဒါမှမဟုတ်တစ်ဦးရိုးရှင်းသော join ။ join ပြန်မျိုးစုံစားပွဲကနေ join အခွအေနေဖြည့်ဆည်းသောသူအပေါင်းတို့သည်မှတ်တမ်းများ၏ဤအမျိုးအစား။ ဥပမာ, ဒီအခြေအနေကျောင်းသားများ table ထဲမှာနိုင်ငံခြား key ကိုဆရာများ table ထဲမှာအဓိကသော့ချက်ကိုက်ညီရှိရာ Student_Name, Teacher_Name နှင့်သင်တန်းအမှတ်စဥ်ပြန်လာကြလိမ့်မည် JOIN:
Students.Student_Name, Teachers.Teacher_Name, Teachers.Course SELECT
ကျောင်းသားများ FROM မှ
Inner ဆရာများ JOIN
Students.Teacher_FK = Teachers.InstructorID ON;
ဒါကကြေညာချက်ဤကဲ့သို့သောစားပွဲတစ်ခုတစ်ခုခုထုတ်လုပ်:
အဆိုပါ SQL ရာမှပြန်လာသောစားပွဲတင်ဖော်ပြချက် Join
Student_NameTeacher_NameCourseLowell SmithJohn DoeEnglishBrian ShortJohn DoeEnglishCorky MendezJane SchmoeMathMonica JonesJohn DoeEnglish