ഡാറ്റാബേസ് ഡിപൻഡൻസികൾ എന്തൊക്കെയാണ്?

ഡേറ്റാബേസ് ഡിപൻഡൻസികൾ വിദ്യാർഥികൾക്കും ഡാറ്റാബേസ് പ്രൊഫഷണലുകൾക്കും ഒരേപോലെ ആശയക്കുഴപ്പത്തിലാക്കുന്ന വിഷയമാണ്. ഭാഗ്യവശാൽ, അവ സങ്കീർണ്ണമല്ല, ഒപ്പം നിരവധി ഉദാഹരണങ്ങൾ ഉപയോഗിച്ച് മികച്ച രീതിയിൽ ചിത്രീകരിക്കാൻ കഴിയുന്നു. ഈ ലേഖനത്തിൽ, ഞങ്ങൾ പൊതു ഡാറ്റാബേസ് ആശ്രയത്വ തരങ്ങൾ പരിശോധിക്കുന്നു.

ഡാറ്റാബേസ് ഡിപെന്റൻസൻസസ് / ഫങ്ഷണൽ ഡിപൻഡൻസികൾ

ഒരേ ഡാറ്റാബേസിലെ പട്ടികയിൽ സംഭരിച്ചിരിക്കുന്ന വിവരങ്ങൾ ഒരേ പട്ടികയിൽ സംഭരിച്ചിരിക്കുന്ന മറ്റ് വിവരങ്ങൾ ഒറ്റയടിക്ക് നിർണ്ണയിക്കുമ്പോൾ ഡാറ്റാബേസിൽ ഒരു ആശ്രിതത്വം സംഭവിക്കുന്നു. ഒരു ആട്രിബ്യൂട്ടിന്റെ മൂല്യം (അല്ലെങ്കിൽ ആട്രിബ്യൂട്ടുകളുടെ ഒരു സെറ്റ്) മൂല്യം നിങ്ങൾക്ക് അതേ പട്ടികയിൽ മറ്റൊരു ആട്രിബ്യൂട്ടിന്റെ (അല്ലെങ്കിൽ ആട്രിബ്യൂട്ടുകളുടെ കൂട്ടത്തിന്റെ) മൂല്യം നിങ്ങൾക്ക് പറയാൻ മതിയായ ഒരു ബന്ധമാണെന്നു നിങ്ങൾക്കറിയാം.

ഒരു ഗുളികയിൽ ആട്രിബ്യൂട്ടുകൾ തമ്മിൽ ഒരു ആശ്രിതത്വം നിലനിൽക്കുന്നതാണെന്ന് പറയുന്നതിലൂടെ ആ ആട്രിബ്യൂട്ടുകൾ തമ്മിലുള്ള പ്രവർത്തനപരമായ ആശ്രിതത്വം ഉണ്ടെന്ന് പറയുകയും ചെയ്യുന്നു. ആ ബിപിയിലുള്ള ഒരു ആശ്രിതത്വം ഉണ്ടെങ്കിൽ ആ ബി ആ ബിഡി ആട്രിബ്യൂട്ട് എ എന്ന ആശ്രിതത്വമാണെങ്കിൽ നിങ്ങൾ ഇത് "A -> B" എന്ന് എഴുതുക.

ഉദാഹരണമായി, ഒരു സോഷ്യൽ സെക്യൂരിറ്റി നമ്പർ (എസ്എസ്എൻ), പേര് എന്നിവയുൾപ്പെടുന്ന ഒരു പട്ടികയുടെ പട്ടികയിൽ, എസ്എസ്എൻ (അല്ലെങ്കിൽ എസ്എസ്എൻ -> പേര്) എന്ന ആശ്രിതത്വത്തെ ആശ്രയിച്ച്, എസ്എസ്എൻ ൽ നിന്നും ഒരു ജീവനക്കാരന്റെ പേര് പ്രത്യേകമായി നിർണ്ണയിക്കാൻ കഴിയുമെന്നാണ് പറയാറ്. എന്നിരുന്നാലും, റിവേഴ്സ് സ്റ്റേറ്റ്മെൻറ് (name -> SSN) എന്നത് ശരിയല്ല, കാരണം ഒന്നിൽ കൂടുതൽ ജോലിക്കാരന് ഒരേ പേര് ഉണ്ടായിരിക്കും, വ്യത്യസ്ത SSN- കൾ ഉണ്ടാകും.

നിസ്സാരമായ പ്രവർത്തന മണ്ഡലങ്ങൾ

യഥാർത്ഥ ആട്രിബ്യൂട്ട് ഉൾപ്പെടുന്ന ആട്രിബ്യൂട്ടുകളുടെ ഒരു ശേഖരത്തിൽ ഒരു ആട്രിബ്യൂട്ടിന്റെ പ്രവർത്തനപരമായ ആശ്രിതത്വം നിങ്ങൾ വിവരിക്കുമ്പോൾ ഒരു നിസ്സാര പ്രവർത്തനത്തിന്റെ ആശ്രിതത്വം സംഭവിക്കുന്നു. ഉദാഹരണത്തിന്, "{A, B} -> B" ഒരു ചെറിയ പ്രവർത്തനരീതിയാണ്, "{name, SSN} -> SSN". ഫങ്ഷണൽ ഡിപൻഡൻസിയുടെ ഈ രീതിയെ അപ്രധാനമെന്ന് വിളിക്കുന്നു, കാരണം അത് സാമാന്യ അർഥത്തിൽ നിന്ന് ഉണ്ടാകാം. B യുടെ വിലയെക്കുറിച്ച് നിങ്ങൾക്ക് അറിയാമെങ്കിൽ B ന്റെ മൂല്യം ആ അറിവ് ഉപയോഗിച്ച് അദ്വിതീയമായി നിർണ്ണയിക്കാനാവും എന്നത് വ്യക്തമാണ്.

പൂർണ്ണമായ ആശ്രിതത്വങ്ങൾ

ഫങ്ഷണൽ ഡിപൻഡൻസിയ്ക്കുള്ള ആവശ്യകതകൾ നിങ്ങൾ അംഗീകരിക്കുമ്പോഴും ഫങ്ഷണൽ ഡിപൻഡൻസി സ്റ്റേറ്റ്മെന്റിന്റെ ഇടതുവശത്തുള്ള ആട്രിബ്യൂട്ടുകൾ സെറ്റ് കൂടുതൽ കുറയുകയും ചെയ്യുമ്പോൾ പൂർണ ഫംഗ്ഷണൽ ഡിപൻഡൻസി സംഭവിക്കുന്നു. ഉദാഹരണമായി, "{SSN, age} -> name" ഒരു ഫങ്ഷണൽ ഡിപൻഡൻസി ആണ്, പക്ഷേ പൂർണമായി പ്രവർത്തനപരമായ ആശ്രിതത്വമല്ല കാരണം കാരണം, ആശ്രിതത്വ ബന്ധത്തെ ബാധിക്കാതെയുള്ള പ്രസ്താവനയുടെ ഇടതുഭാഗത്ത് നിന്ന് നിങ്ങൾക്ക് പ്രായം നീക്കം ചെയ്യാൻ കഴിയും.

ട്രാൻസിറ്റീവ് ഡിപൻഡൻസികൾ

പ്രവർത്തനപരമായ ആശ്രിതത്വത്തിന് ഇടയാക്കുന്ന ഒരു പരോക്ഷ ബന്ധം ഉണ്ടെങ്കിൽ ട്രാൻസിറ്റീവ് ഡിപൻഡൻസികൾ സംഭവിക്കാറുണ്ട്. ഉദാഹരണമായി, "A -> B" ഉം "A -> B" ഉം "B -> C" ഉം ശരിയാണെന്നതു കൊണ്ട് അത് "A -> C" ഒരു ട്രാൻസിറ്റീവ് ഡിപൻഡൻസിയാണ് .

മൾട്ടിവൈവുഡ് ഡിപൻസൻസികൾ

മേശയിൽ ഒന്നോ അതിലധികമോ വരികളുള്ള സാന്നിധ്യം ഒന്നിലധികം വരികളുള്ള സാമഗ്രികൾ ഒരേ മേശയിൽ സാന്നിധ്യമുണ്ടെങ്കിൽ മൾട്ടിവൈവഡ് ഡിപൻഡൻസികൾ ഉണ്ടാകാം. ഉദാഹരണത്തിന്, കാറുകളുടെ ഒരുപാട് മോഡലുകൾ നിർമ്മിക്കുന്ന ഒരു കാർ കമ്പനി സങ്കല്പിക്കുക, പക്ഷേ ഓരോ മോഡലിലും ചുവന്ന, നീല നിറങ്ങളാണുള്ളത്. ഓരോ കാർസിന്റെയും മോഡൽ പേര്, നിറവും വർഷവും അടങ്ങിയ ഒരു ടേബിൾ ഉണ്ടെങ്കിൽ, ആ മേശയിൽ ഒരു മൾട്ടിവൈവഡ് ഡിപൻഡൻസി ഉണ്ട് . ഒരു നിശ്ചിത മോഡിക്കിനും വർഷം നീലനിറത്തിലും ഒരു വരി ഉണ്ടെങ്കിൽ, അതേ കാറിന്റെ ചുവന്ന പതിപ്പിന് സമാനമായ ഒരു വരിയും ഉണ്ടായിരിക്കണം.

ആശ്രിതരുടെ പ്രാധാന്യം

ഡേറ്റാബേസ് ഡിപൻഡൻസികൾ മനസിലാക്കേണ്ടത് വളരെ പ്രധാനമാണ്. കാരണം അവർ ഡേറ്റാബേസ് നോർമലൈസേഷനിൽ ഉപയോഗിച്ചിരിക്കുന്ന അടിസ്ഥാന കെട്ടിട ബ്ലോക്കുകൾ നൽകുന്നു. ഉദാഹരണത്തിന്: