ഡാറ്റാബേസ് എന്ന പദം "റിലേഷണൽ" അല്ലെങ്കിൽ "റിലേഷൻഷിപ്പ്" എന്നത് പട്ടികയിലെ ഡാറ്റയുമായി ബന്ധപ്പെട്ടിരിക്കുന്ന രീതിയെ വിവരിക്കുന്നു.
ഡേറ്റാബെയിസുകളുടെ ലോകത്തിന് പുതുതായി വരുന്നവർ പലപ്പോഴും ഒരു ഡേറ്റാബേസും ഒരു സ്പ്രെഡ്ഷീറ്റും തമ്മിലുള്ള വ്യത്യാസം കാണുന്നത് ബുദ്ധിമുട്ടുള്ള കാര്യമാണ്. ഡാറ്റാ പട്ടികകൾ കാണുകയും ഡാറ്റ ക്രമീകരിക്കാനും പുതിയ രീതികളിൽ അന്വേഷിക്കാനും നിങ്ങളെ അനുവദിക്കുന്നു, എന്നാൽ ബന്ധപെട്ട ഡാറ്റാബേസ് ടെക്നോളജിക്ക് നൽകുന്ന ഡാറ്റ തമ്മിലുള്ള ബന്ധത്തിന്റെ പ്രാധാന്യം മനസ്സിലാക്കുന്നതിൽ പരാജയപ്പെടുന്നു.
ശക്തമായ രീതിയിൽ വ്യത്യസ്ത ഡാറ്റാബേസ് ടേബിളുകൾ തമ്മിലുള്ള കണക്ഷനെ വിവരിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. ഈ ബന്ധങ്ങൾ പിന്നീട് ചേരുന്നതായി അറിയപ്പെടുന്ന ശക്തമായ ക്രോസ്-മൾട്ടി ടവേഴ്സ് പ്രവർത്തിപ്പിക്കാൻ ഉപയോഗപ്പെടുത്താം.
ഡാറ്റാബേസ് ബന്ധങ്ങളുടെ തരങ്ങൾ
മൂന്നു തരത്തിലുള്ള ഡാറ്റാബേസ് ബന്ധങ്ങളുണ്ട്, അവ ഓരോന്നും ബന്ധത്തിൽ ഉൾപ്പെടാവുന്ന പട്ടിക വരികളുടെ എണ്ണത്തിനനുസൃതമായി പേരുള്ളതാണ്. ഈ മൂന്നു ബന്ധം തരങ്ങൾ രണ്ട് പട്ടികകൾ തമ്മിൽ നിലനിൽക്കുന്നു.
- ഒന്നാമത്തെ പട്ടികയിൽ ഓരോ എൻട്രിയും ഒരെണ്ണം മാത്രമുള്ളതും രണ്ടാമത്തെ ടേബിളിൽ ഒരേയൊരു, ഒറ്റ സംഖ്യയുമുള്ളപ്പോൾ ഒരാളുമായുള്ള ബന്ധം സംഭവിക്കുന്നു. ലളിതമായി ഉപയോഗിക്കുന്നത് ഒരു പരസ്പരബന്ധിതമായ എല്ലാ കാര്യങ്ങളും ലളിതമായി ഉപയോഗിക്കാറുണ്ട്. ചില ടേബിളിലുള്ള ഡേറ്റായുടെ ഒരു ഉപസെറ്റ് അടങ്ങുന്ന പട്ടികകൾ സൃഷ്ടിച്ച് ചില ഡാറ്റാബേസ് ഡിസൈനർമാർക്ക് ഈ ബന്ധം പ്രയോജനപ്പെടുത്തുന്നു.
- ഡേറ്റാബേസ് ബന്ധത്തിന്റെ ഏറ്റവും സാധാരണമായ തരം. ടേബിൾ എയിലെ ഓരോ ഒന്നിലധികം റെക്കോർഡുകൾ ടേബിൾ ബിയിൽ ഒന്നോ അതിലധികമോ റെക്കോർഡുകൾക്ക് ഇടയിലാണ്, എന്നാൽ ടേബിൾ ബിയിലെ ഓരോ രേഖയും ടേബിൾ എയിൽ ഒരു റെക്കോർഡിനു തുല്യമാണ്. ഉദാഹരണമായി, ഒരു പ്രാഥമിക വിദ്യാലയത്തിൽ ടീച്ചർ ടാലും ഒരു വിദ്യാർത്ഥി പട്ടികയും തമ്മിലുള്ള ബന്ധം ഓരോ ഡേറ്റാബേസിലും ഒരേ അധ്യാപകരുണ്ട്, പക്ഷെ ഓരോ അധ്യാപകനും നിരവധി വിദ്യാർത്ഥികളുണ്ട്. തനിപ്പകർപ്പായ ഡാറ്റ ഇല്ലാതാക്കാൻ ഇത് ഒന്നിൽക്കൂടുതൽ രൂപകൽപ്പന സഹായിക്കുന്നു.
- ടേബിൾ എ ലെ ഓരോ രേഖയിലും ടേബിൾ ബിയിലെ ഒന്നോ അതിലധികമോ റെക്കോർഡുകളോട് അനുബന്ധിച്ചാലും ഓരോ പട്ടികയിലും ടേബിളിൽ ഓരോ ഒന്നോ അതിലധികമോ റെക്കോഡുകളാണുള്ളത്. ഉദാഹരണത്തിന്, ഒരു അധ്യാപകരും ഒരു കോഴ്സും തമ്മിലുള്ള ബന്ധം ഓരോ അധ്യാപകനും ഒന്നിൽ കൂടുതൽ പഠിപ്പിക്കാം, ഓരോ കോഴ്സിനും ഒന്നിൽ കൂടുതൽ അധ്യാപകരുണ്ടായിരിക്കാം.
സ്വയം പരിചയ സമ്പർക്കം: ഒരു പ്രത്യേക കേസ്
ഉൾപ്പെട്ട ഒരു ടേബിൾ ഉള്ളപ്പോൾ സ്വയം ബന്ധപ്പെടുത്തൽ ബന്ധങ്ങൾ ഉണ്ടാകാം. ഓരോ ജീവനക്കാരന്റെയും സൂപ്പർവൈസർ സംബന്ധിച്ച വിവരങ്ങൾ അടങ്ങുന്ന ഒരു തൊഴിലുടമ പട്ടികയാണ് ഒരു സാധാരണ ഉദാഹരണം. ഓരോ സൂപ്പർവൈസർ ജീവനക്കാരനും അവന്റെ അല്ലെങ്കിൽ അവളുടെ സ്വന്തം സൂപ്പർവൈസർ ആണ്. ഈ സാഹചര്യത്തിൽ, ഒരു വ്യക്തിക്ക് അനേകം ആത്മകഥ ബന്ധങ്ങളുണ്ട്, ഓരോ ജീവനക്കാരനും ഒരു സൂപ്പർവൈസർ ആണെങ്കിലും ഓരോ സൂപ്പർവൈസർ ഒന്നിലധികം ജീവനക്കാരും ഉണ്ടാകും.
വിദേശ കീകളുമായി ബന്ധം സൃഷ്ടിക്കുന്നു
ഒരു വിദേശ കീ നിർദേശിച്ചുകൊണ്ട് നിങ്ങൾക്ക് ടേബിളുകൾ തമ്മിൽ ബന്ധം സൃഷ്ടിക്കുന്നു. പല കേസുകളിലും Table A യിൽ നിന്നുള്ള ഒരു കോളം ടേബിൾ ബിയിൽ നിന്നും റഫർ ചെയ്ത പ്രാഥമിക കീകൾ അടങ്ങുന്നു.
അധ്യാപകരുടെയും വിദ്യാർത്ഥികളുടെയും പട്ടികയുടെ മാതൃക വീണ്ടും പരിഗണിക്കുക. അധ്യാപക പട്ടികയിൽ ഒരു ഐഡി, പേര്, കോഴ്സ് കോളം എന്നിവ അടങ്ങിയിരിക്കുന്നു:
ഇൻസ്ട്രക്ടർ ഐഡി | Teacher_Name | കോഴ്സ് |
---|---|---|
001 | ജോൺ ഡോ | ഇംഗ്ലീഷ് |
002 | ജേൻ ഷ്മോ | മഠം |
വിദ്യാർത്ഥികളുടെ പട്ടികയിൽ ഒരു ഐഡി, പേര്, ഒരു വിദേശ കീ കോളം എന്നിവ ഉൾപ്പെടുന്നു:
StudentID | വിദ്യാർഥിയുടെ പേര് | Teacher_FK |
---|---|---|
0200 | ലോവൽ സ്മിത്ത് | 001 |
0201 | ബ്രയാൻ ഷോർട്ട് | 001 |
0202 | കോർക്കി മെൻഡെസ് | 002 |
0203 | മോണിക്ക ജോൻസ് | 001 |
ടീച്ചർ ടേബിൾ ലെ കോളം Teacher_FK ടീച്ചർമാരുടെ പട്ടികയിൽ ഒരു അധ്യാപകൻറെ പ്രാഥമിക കീ മൂല്യം പരാമർശിക്കുന്നു.
പലപ്പോഴും, ഡാറ്റാബേസ് ഡിസൈനർമാർ ഒരു കീ അല്ലെങ്കിൽ വിദേശ കീ കോളം എളുപ്പത്തിൽ തിരിച്ചറിയാൻ നിരയുടെ പേരിൽ "PK" അല്ലെങ്കിൽ "FK" ഉപയോഗിക്കും.
ഈ രണ്ട് ടേബിളുകളും അദ്ധ്യാപകർക്കും വിദ്യാർത്ഥികൾക്കും തമ്മിലുള്ള അനേകം ബന്ധങ്ങളെ വിവരിക്കുന്നു.
ബന്ധങ്ങളും റഫറൻഷ്യൽ ഇന്റഗ്രിറ്റി
ഒരു ടേബിളിലേക്ക് ഒരു വിദേശ കീ ചേർത്തിയാൽ, നിങ്ങൾക്ക് രണ്ട് പട്ടികകൾക്കിടയിൽ റഫറൻഷ്യൽ ഇന്റലിക്റ്റിറ്റി നിർബന്ധിതമാക്കുന്ന ഒരു ഡാറ്റാബേസ് നിയന്ത്രണം സൃഷ്ടിക്കാൻ കഴിയും. ഇത് പട്ടികകൾ തമ്മിലുള്ള ബന്ധം സ്ഥിരമായി നിലനിൽക്കുന്നുവെന്ന് ഉറപ്പുവരുത്തുക. ഒരു ടേബിളിന് മറ്റൊരു മേശയിൽ ഒരു വിദേശ കീ ഉണ്ടെങ്കിൽ, ടേബിൾ ബിയിലെ ഏതെങ്കിലും വിദേശ കീ മൂല്യം ടേബിൾ എയിലെ നിലവിലുള്ള റെക്കോർഡ് ആയിരിക്കണമെന്ന് റഫറൻഷ്യൽ ഇന്റഗ്രിറ്റി എന്ന ആശയം പ്രസ്താവിക്കുന്നു.
ബന്ധം നടപ്പിലാക്കുക
നിങ്ങളുടെ ഡാറ്റാബേസ് അനുസരിച്ച്, വിവിധ വഴികളിലൂടെ ടേബിളുകൾ തമ്മിലുള്ള ബന്ധം നിങ്ങൾക്ക് നടപ്പിലാക്കുന്നു. മൈക്രോസോഫ്റ്റ് ആക്സസ് നിങ്ങൾക്ക് മാന്ത്രികരെ എളുപ്പത്തിൽ പട്ടികകൾ ലിങ്കുചെയ്യാനും റഫറൻഷ്യൽ സമഗ്രത നടപ്പിലാക്കാനും അനുവദിക്കുന്നു.
നിങ്ങള് SQL നേരിട്ട് എഴുതുകയാണെങ്കില്, ആദ്യം ടേബിള് ടീച്ചേഴ്സ് സൃഷ്ടിക്കും, ഒരു പ്രാഥമിക കീയായി ഒരു ഐഡി കോളം പ്രഖ്യാപിക്കുന്നു:
പട്ടികവർഗ്ഗ അധ്യാപകരെ സൃഷ്ടിക്കുക
ഇൻസ്ട്രക്ടർ ഐഡി INT AUTO_INCREMENT പ്രാഥമിക കീ,
Teacher_Name VARCHAR (100),
കോഴ്സ് വൊക്കേഷർ (100)
);
നിങ്ങൾ വിദ്യാർത്ഥികളുടെ പട്ടിക സൃഷ്ടിക്കുമ്പോൾ, അധ്യാപകന്റെ പട്ടികയിലെ InstructorID നിരയെ റഫർ ചെയ്യുന്ന ഒരു വിദേശ കീ ആയി Teacher_FK നിരയെ നിങ്ങൾ പ്രഖ്യാപിക്കുകയാണ്:
പട്ടികവർഗ്ഗ വിദ്യാർത്ഥികളെ സൃഷ്ടിക്കൂ
StudentID INT AUTO_INCREMENT പ്രാഥമിക കീ,
Student_Name VARCHAR (100), Teacher_FK INT,
വിദേശീയ KEY (Teacher_FK) റഫറൻസസ് ടീച്ചേഴ്സ് (അധ്യാപകൻ)
);
ടേബിളുകളിൽ ചേരുന്നതിനുള്ള ബന്ധം ഉപയോഗിക്കുക
നിങ്ങളുടെ ഡാറ്റാബേസിൽ ഒന്നോ അതിലധികമോ ബന്ധങ്ങൾ സൃഷ്ടിച്ചുകഴിഞ്ഞാൽ, ഒന്നിലധികം പട്ടികകളിൽ നിന്നുള്ള വിവരങ്ങൾ സംയോജിപ്പിക്കുന്നതിന്, SQL JOIN അന്വേഷണങ്ങൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് അവരുടെ ശക്തി പ്രയോഗിക്കാൻ കഴിയും. ഏറ്റവും സാധാരണമായ തരം ചേരൽ ഒരു എസ്.ക്.ഇ. ഇൻ എൻജിനീർ ജെൻ ആണ്, അല്ലെങ്കിൽ ഒരു ലളിതമായ ചേരൽ. ഒന്നിലധികം പട്ടികകളിൽ നിന്ന് ചേരുന്ന വ്യവസ്ഥയെ പാലിക്കുന്ന എല്ലാ രേഖകളും ഈ തരത്തിലുള്ള അംഗത്വം നൽകുന്നു. ഉദാഹരണത്തിന്, ഈ JOIN വ്യവസ്ഥ Student_Name, Teacher_Name, കൂടാതെ സ്റ്റുഡന്റ് ടേബിളിൽ നിന്നുള്ള വിദേശ കീ എന്നിവ അധ്യാപക ടയറിൻറെ പ്രാഥമിക കീയുമായി യോജിക്കുന്ന പാഠം നൽകും.
അധ്യാപകരെ തിരഞ്ഞെടുക്കൂ. ടീച്ചർ_പേരും, അധ്യാപകരും. ടീച്ചർ_ പേര്, അധ്യാപകർ.കോഴ്സ്
വിദ്യാർത്ഥികളിൽ നിന്ന്
ഇൻ ഇൻവർ ടീച്ചേഴ്സ്
വിദ്യാർത്ഥികൾ Teacher_FK = ടീച്ചർമാർ. Instructor ഐഡി;
ഈ പ്രസ്താവന ഒരു ഉദാഹരണം നൽകുന്നു:
SQL ചേരുന്ന പ്രസ്താവനയിൽ നിന്നും മടങ്ങിയെത്തിയ പട്ടിക
സ്റ്റുഡിയോ,