એક પૂર્ણ કાર્યરત નિર્ભરતા એ ડેટાબેઝ નોર્મલાઇઝેશનની સ્થિતિ છે જે સેકન્ડ નોર્મલ ફોર્મ (2 એનએફ) નો સામાન્યકરણ સ્ટાન્ડર્ડની સમાન છે. સંક્ષિપ્તમાં, તેનો મતલબ એવો થાય છે કે તે ફર્સ્ટ નોર્મલ ફોર્મ (1 એનએફ) ની આવશ્યકતાઓને પૂર્ણ કરે છે, અને તમામ બિન-કી લક્ષણો પ્રાથમિક કી પર પૂર્ણપણે વિધેયાત્મક રીતે નિર્ભર છે.
તે ધ્વનિ થઈ શકે તેટલું જટિલ નથી. ચાલો આ વધુ વિગતવાર જુઓ.
ફર્સ્ટ નોર્મલ ફોર્મનો સારાંશ
ડેટાબેઝ પૂર્ણપણે વિધેયાત્મક રીતે આધારભૂત હોઈ શકે તે પહેલાં, પ્રથમ ફર્સ્ટ નોર્મલ ફોર્મનું પાલન કરવું આવશ્યક છે.
આનો અર્થ એ કે દરેક લક્ષણમાં એક, અણુ મૂલ્ય હોવું આવશ્યક છે.
ઉદાહરણ તરીકે, નીચેનું કોષ્ટક 1NF નું પાલન કરતું નથી , કારણ કે કર્મચારી ટીના બે સ્થાનો સાથે સંકળાયેલા છે, તે બંને એક જ કોષમાં છે:
કર્મચારી | સ્થાન |
---|---|
જ્હોન | લોસ એન્જલસ |
ટીના | લોસ એન્જલસ, શિકાગો |
આ ડિઝાઇનને મંજૂરી આપવાથી ડેટા અપડેટ્સ અથવા એન્ટ્રીઝ પર નકારાત્મક અસર થઈ શકે છે. 1 એનએફના પાલનની ખાતરી કરવા માટે, ટેબલ ફરીથી ગોઠવો કે જેથી તમામ લક્ષણો (અથવા કૉલમ કોશિકાઓ) એક મૂલ્ય ધરાવે છે:
કર્મચારી | સ્થાન |
---|---|
જ્હોન | લોસ એન્જલસ |
ટીના | લોસ એન્જલસ |
ટીના | શિકાગો |
પરંતુ 1 એનએફ હજુ પણ માહિતી સાથે સમસ્યાઓ ટાળવા માટે પૂરતી નથી.
કેવી રીતે 2NF પૂર્ણ નિર્ભરતા ખાતરી કરવા માટે કામ કરે છે
સંપૂર્ણપણે આશ્રિત બનવા માટે, બધા બિન-ઉમેદવાર કી લક્ષણો પ્રાથમિક કી પર આધારિત હોવા જોઈએ. (યાદ રાખો કે, ઉમેદવાર કી લક્ષણ કોઈ ડેટાબેઝ રેકોર્ડને અનન્ય રૂપે ઓળખવા માટે ઉપયોગમાં લેવાતી કી (ઉદાહરણ તરીકે, પ્રાથમિક અથવા વિદેશી કી) છે
ડેટાબેઝ ડિઝાઇનર્સ એટેચ્રોબલ્સ વચ્ચેના આશ્રિત સંબંધોને વર્ણવવા માટે નોટેશનનો ઉપયોગ કરે છે:
જો લક્ષણ એ બી ની કિંમત નિર્ધારિત કરે છે, તો આપણે આ -> બી - લખીએ છીએ - B નો અર્થ એ કે કાર્યરત એ એ પર આધારિત છે. આ સંબંધમાં, A એ બી ની કિંમત નક્કી કરે છે, જ્યારે B એ A પર આધાર રાખે છે.
ઉદાહરણ તરીકે, નીચેના કર્મચારી વિભાગોના ટેબલમાં, એમ્પ્લોયીડ અને ડિપાર્ટિડે બંને ઉમેદવાર કીઓ છે: એમ્પ્લોઇવીડ એ ટેબલની પ્રાથમિક કી છે જ્યારે ડિપાર્ટિડે વિદેશી કી છે
કોઈપણ અન્ય લક્ષણ - આ કિસ્સામાં, કર્મચારીનું નામ અને DeptName - તેની કિંમત મેળવવા માટે પ્રાથમિક કી પર આધાર રાખવો જોઈએ.
EmployeeID | કર્મચારીનું નામ | DeptID | DeptName |
---|---|---|---|
Emp1 | જ્હોન | Dept001 | નાણા |
Emp2 | ટીના | Dept003 | સેલ્સ |
એમપી | કાર્લોસ | Dept001 | નાણા |
આ કિસ્સામાં, કોષ્ટક સંપૂર્ણપણે આશ્રિત નથી, કારણ કે કર્મચારીનું નામ પ્રાથમિક કી એમ્પ્લોઇવીડ પર આધારિત છે, DeptName તેના બદલે DeptID પર આધારિત છે. તેને આંશિક અવલંબન કહેવામાં આવે છે.
આ કોષ્ટક 2NF ને અનુકૂળ બનાવવા માટે, આપણે ડેટાને બે કોષ્ટકોમાં અલગ કરવાની જરૂર છે:
EmployeeID | કર્મચારીનું નામ | DeptID |
---|---|---|
Emp1 | જ્હોન | Dept001 |
Emp2 | ટીના | Dept003 |
એમપી | કાર્લોસ | Dept001 |
અમે કર્મચારીઓની કોષ્ટકમાંથી DeptName એટિબ્યુટને દૂર કરીએ છીએ અને એક નવું ટેબલ વિભાગો બનાવો:
DeptID | DeptName |
---|---|
Dept001 | નાણા |
વિભાગ 002 | માનવ સંસાધન |
Dept003 | સેલ્સ |
હવે કોષ્ટકો વચ્ચેનો સંબંધ સંપૂર્ણપણે આધાર રાખે છે, અથવા 2 એનએફમાં.
શા માટે સંપૂર્ણ નિર્ભરતા મહત્વપૂર્ણ છે
ડેટાબેસ વિશેષતાઓ વચ્ચે સંપૂર્ણ નિર્ભરતા માહિતી એકત્રિતાને નિશ્ચિત કરવામાં મદદ કરે છે અને માહિતીના અસંગતિને દૂર કરે છે.
ઉદાહરણ તરીકે, ઉપરોક્ત વિભાગમાંના કોષ્ટકને ધ્યાનમાં લો કે જે ફક્ત 1 એનએફના પાલન કરે છે. અહીં તે ફરીથી છે:
કર્મચારી | સ્થાન |
---|---|
જ્હોન | લોસ એન્જલસ |
ટીના | લોસ એન્જલસ |
ટીના | શિકાગો |
ટીના પાસે બે રેકોર્ડ છે જો આપણે જાણ્યા વગર બે અપડેટ કરીશું, તો પરિણામ અસંગત ડેટા હશે.
અથવા, જો આપણે કોઈ કર્મચારીને આ કોષ્ટકમાં ઍડ કરવા માગીએ છીએ, પણ અમને હજી ખબર નથી કે સ્થાન શું છે? જો સ્થાન લક્ષણ નલ મૂલ્યોને મંજૂરી આપતું ન હોય તો, અમને નવા કર્મચારીને પણ ઉમેરવાનું નામંજૂર કરવામાં આવી શકે છે.
સંપૂર્ણ નિર્ભરતા એ સંપૂર્ણ ચિત્ર નથી, તેમ છતાં, સામાન્યકરણની વાત આવે ત્યારે. તમારે ખાતરી કરવી જ જોઇએ કે તમારું ડેટાબેઝ થર્ડ નોર્મલ ફોર્મ (3 એનએફ) માં છે.