നിങ്ങളുടെ ഡാറ്റാബേസ് സാധാരണമാക്കുന്നത്: ആദ്യത്തെ സാധാരണ ഫോം

ഈ രണ്ട് ലളിതമായ നിയമങ്ങൾ നിങ്ങളുടെ ഡാറ്റാബേസ് ലളിതമാക്കുന്നതിന് സഹായിക്കും

ആദ്യത്തെ സാധാരണ ഫോം (1NF) ഒരു സംഘടിത ഡാറ്റാബേസിന്റെ അടിസ്ഥാന നിയമങ്ങൾ ക്രമീകരിക്കുന്നു:

ഒരു ഡാറ്റാബേസിന്റെ പ്രായോഗിക രൂപത്തെക്കുറിച്ച് ആലോചിക്കുമ്പോൾ ഈ നിയമങ്ങൾ എന്താണ് അർഥമാക്കുന്നത്? ഇത് വളരെ ലളിതമാണ്.

1. ഡ്യൂപ്ലിക്കേഷൻ നീക്കം ചെയ്യുക

ഒരു പട്ടികയുടെ ഒരേ വരിയിൽ ഡാറ്റ ഡൂപ്പിലിക്കരുത് എന്ന് ആദ്യ നിയമം അനുസരിക്കുന്നു. ഡേറ്റാബേസ് കമ്യൂണിറ്റിയിൽ, ഈ ആശയത്തെ ഒരു മേശയുടെ ആറ്റോമിറ്റിറ്റി എന്ന് വിളിക്കുന്നു. ഈ നിയമം അനുസരിക്കുന്ന ടേബിളുകൾ ആറ്റോമിക് ആണെന്ന് പറയുന്നു. ക്ലാസിക് ഉദാഹരണത്തിൽ ഈ തത്വത്തെ അടുത്തറിയാം: മാനേജ്മെൻറ്-അധിഷ്ഠിത ബന്ധം സംഭരിക്കുന്ന ഒരു മാനുഷിക റിസോഴ്സസ് ഡാറ്റാബേസിലെ ഒരു പട്ടിക. ഞങ്ങളുടെ ഉദാഹരണത്തിന്, ഓരോ മാനേജറിനും ഒന്നോ അതിലധികമോ കീഴ്വഴക്കങ്ങൾ ഉണ്ടായിരിക്കേണ്ട ബിസിനസ്സ് ഭരണം ഞങ്ങൾ ഏറ്റെടുക്കും, എന്നാൽ ഓരോ ഉപദേഷ്ടാവിനും ഒരു മാനേജറെ മാത്രമേ ഉള്ളൂ.

Intuitively, ഈ വിവരങ്ങൾ ട്രാക്കുചെയ്യുന്നതിന് ഒരു ലിസ്റ്റ് അല്ലെങ്കിൽ സ്പ്രെഡ്ഷീറ്റ് സൃഷ്ടിക്കുമ്പോൾ, ഞങ്ങൾ താഴെപ്പറയുന്ന ഫീൽഡുകൾ ഉപയോഗിച്ച് ഒരു പട്ടിക സൃഷ്ടിക്കും:

എന്നിരുന്നാലും, 1NF ചുമത്തിയ ആദ്യത്തെ റൂൾ ഓർക്കുക: ഒരേ ടേബിളിൽ നിന്നുള്ള ഡ്യൂപ്ലിക്കേറ്റ് നിരകൾ നീക്കം ചെയ്യുക. വ്യക്തമായും, Subordinate1-Subordinate4 നിരകൾ തനിപ്പകർപ്പാണ്. ഒരു നിമിഷമെടുത്ത് ഈ സംഭവം ഉയർത്തിയ പ്രശ്നങ്ങൾ ചിന്തിക്കുക. ഒരു മാനേജറിന് ഒരു അധിനിവേശമുണ്ടെങ്കിൽ, Subordinate2-Subordinate4 നിരകൾ വെറുതെ സ്റ്റോറേജ് സ്പേസ് (ഒരു വിലപ്പെട്ട ഡാറ്റാബേസ് ചരക്ക്) പാഴാക്കുന്നു. കൂടാതെ, ഒരു മാനേജർക്ക് ഇതിനകം 4 അധീന കക്ഷികൾ ഉണ്ടെന്നു കരുതുക - മറ്റൊരു ജീവനക്കാരനിൽ എത്തുമ്പോൾ എന്തുസംഭവിക്കും? മുഴുവൻ പട്ടിക ഘടനയും പരിഷ്ക്കരണത്തിന് ആവശ്യമായി വരും.

ഈ സമയത്ത്, രണ്ടാമത്തെ ശോഭന ആശയം സാധാരണയായി ഡാറ്റാബേസ് നോവലിസകളായി സംഭവിക്കുന്നു: ഒന്നിലധികം കോളം ലഭിക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നില്ല, ഒപ്പം ഞങ്ങൾക്ക് ഡാറ്റ സംഭരിക്കുന്നതിനുള്ള സൌകര്യപ്രദമായ ഒരു തുക അനുവദിക്കുകയും ചെയ്യുന്നു. ഇതുപോലെ ഒന്ന് ശ്രമിക്കുക:

"മറിയം, ബിൽ, ജോ" എന്ന രൂപത്തിൽ സബ്ഡിനേനേറ്റ്സ് ഫീൽഡിൽ ഒന്നിലധികം എൻട്രികൾ അടങ്ങിയിരിക്കും.

ഈ പരിഹാരം കൂടുതൽ അടുക്കും, പക്ഷേ അത് അടയാളം കുറയ്ക്കുന്നു. കീഴ്കോടികളുടെ നിര ഇപ്പോഴും ഡ്യൂപ്ലിക്കേറ്റും നോൺ-ആറ്റോമിക്കും ആണ്. ഒരു കീഴ്കോടതി ചേർക്കാനോ നീക്കം ചെയ്യേണ്ടതുണ്ടെങ്കിൽ എന്തുസംഭവിക്കും? പട്ടികയുടെ മുഴുവൻ ഉള്ളടക്കങ്ങളും ഞങ്ങൾ വായിക്കുകയും എഴുതുകയും ചെയ്യേണ്ടതുണ്ട്. ഈ സാഹചര്യത്തിൽ ഇത് വലിയ കാര്യമല്ല, എന്നാൽ ഒരു മാനേജർക്ക് നൂറുകണക്കിന് ജീവനക്കാർ ഉണ്ടെങ്കിൽ എന്താണ്? കൂടാതെ, ഭാവിയിലെ അന്വേഷണങ്ങളിൽ ഡാറ്റാബേസിൽ നിന്ന് ഡാറ്റ തിരഞ്ഞെടുക്കുന്ന പ്രക്രിയയും സങ്കീർണ്ണമാക്കുന്നു.

1NF ന്റെ ആദ്യ നിയമം പാലിക്കുന്ന ഒരു പട്ടിക ഇതാ:

ഈ സാഹചര്യത്തിൽ ഓരോ ഉപവിഭാഗത്തിനും ഒരു എൻട്രി ഉണ്ട്, പക്ഷേ മാനേജർമാർക്ക് ഒന്നിലധികം എൻട്രികൾ ഉണ്ടായിരിക്കാം.

2. പ്രാഥമിക കീ തിരിച്ചറിയുക

ഇപ്പോൾ, രണ്ടാമത്തെ റൂളിനെ കുറിച്ച്: ഓരോ നിരയും തനതായ നിര അല്ലെങ്കിൽ നിരകളുടെ സെറ്റ് ( പ്രാഥമിക കീ ) ഉപയോഗിച്ച് തിരിച്ചറിയാം. മുകളിലുള്ള പട്ടിക പരിശോധിച്ച് ഒരു പ്രാഥമിക കീ ആയി ആർട്ടിക്കിൾ കോഡിന്റെ ഉപയോഗം നിർദ്ദേശിക്കാവുന്നതാണ്. വാസ്തവത്തിൽ, കീഴ്ക്കോടതി ഒരു പ്രാഥമിക കീയ്ക്കുള്ള നല്ല സ്ഥാനാർത്ഥിയാണ്, ഓരോ ബിസിനസുകാരിനും ഓരോ നിയമാനുസൃതവും ഒരു മാനേജറെ മാത്രമേ ഉണ്ടായിരിക്കൂ എന്ന് ഞങ്ങളുടെ ബിസിനസ്സ് നിയമങ്ങൾ വ്യക്തമാക്കുന്നു. എന്നിരുന്നാലും, ഞങ്ങളുടെ പട്ടികയിൽ ഞങ്ങൾ ശേഖരിച്ചിട്ടുള്ള ഡാറ്റ ഇത് മികച്ച പരിഹാരത്തേക്കാൾ കുറവായി മാറുന്നു. ഞങ്ങൾ ജിം എന്ന മറ്റൊരു ജീവനക്കാരനെ നിയമിച്ചാൽ എന്തുസംഭവിക്കും? എങ്ങനെ ഡാറ്റാബേസിൽ തന്റെ മാനേജർ-അധിഷ്ഠിത ബന്ധം സൂക്ഷിക്കും?

ഒരു പ്രാഥമിക കീ ആയി യഥാർഥത്തിൽ അദ്വിതീയ ഐഡന്റിഫയർ (ജീവനക്കാർ ഐഡി പോലുള്ളവ) ഉപയോഗിക്കുന്നതാണ് നല്ലത്. നമ്മുടെ അന്തിമ പട്ടിക ഇതുപോലെ ആയിരിക്കും:

ഇപ്പോൾ, ഞങ്ങളുടെ പട്ടിക ആദ്യ സാധാരണ രൂപത്തിലാണ്! നോർമലൈസേഷനെക്കുറിച്ച് പഠിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, ഈ ശ്രേണിയിലെ മറ്റ് ലേഖനങ്ങൾ വായിക്കുക: