થર્ડ ઓરિજિનલ ફોર્મ (3 એનએફ) એક ડેટાબેઝ સિદ્ધાંત છે જે ફર્સ્ટ નોર્મલ ફોર્મ (1 એનએફ) અને સેકંડ નોર્મલ ફોર્મ (2 એનએફ) દ્વારા પૂરા પાડવામાં આવેલા ડેટાબેઝ નોર્મલાઇઝેશન સિદ્ધાંતો પર નિર્માણ કરીને ડેટા એકત્ર કરે છે.
થર્ડ નોર્મલ ફોર્મ જરૂરીયાતો
ડેટાબેઝ માટેની ત્રીજા સામાન્ય સ્વરૂપમાં બે મૂળભૂત આવશ્યકતાઓ છે:
- ડેટાબેઝ પહેલાથી જ બંને 1 એનએફ અને 2 એનએફ ની જરૂરિયાતો પૂરી કરે છે.
- તમામ ડેટાબેઝ કૉલમ્સ પ્રાથમિક કી પર આધારિત હોવા જોઈએ, જેનો અર્થ થાય છે કે કોઈ પણ સ્તંભનું મૂલ્ય ફક્ત પ્રાથમિક કીમાંથી જ મેળવી શકાય છે.
પ્રાથમિક કી નિર્ધાર વિશે
ચાલો આપણે આ હકીકતથી આનો અર્થ કરીએ કે તમામ કૉલમ પ્રાથમિક કી પર આધારિત છે.
જો કોઈ સ્તંભનું મૂલ્ય પ્રાથમિક કી અને ટેબલની અન્ય સ્તંભમાંથી ઉતરી શકાય, તો તે 3 એનએફનું ઉલ્લંઘન કરે છે. આ કૉલમ્સ સાથે કર્મચારીઓની કોષ્ટકનો વિચાર કરો:
- EmployeeID
- પ્રથમ નામ
- છેલ્લું નામ
શું LastName અને FirstName બન્ને કર્મચારીઓની કિંમત પર જ આધાર રાખે છે? વેલ, શું છેલ્લું નામ ફર્સ્ટ નેમ પર આધાર રાખે છે? ના, કારણ કે LastName અંતર્ગત કંઈ ફર્સ્ટ નામને મૂલ્ય સૂચવશે નહીં. ફર્સ્ટનેમ LastName પર આધાર રાખે છે? ફરીથી નહીં, કારણ કે તે જ સાચું છે: છેલ્લું નામ ગમે તે હોઇ શકે છે, તે FirstName ની કિંમત તરીકે સંકેત આપી શકતો નથી. તેથી, આ ટેબલ 3 એનએફ સુસંગત છે.
પરંતુ આ વાહનો ટેબલ પર વિચાર કરો:
- વાહન આઈડી
- ઉત્પાદક
- મોડલ
ઉત્પાદક અને મોડેલ વાહન આઈડીમાંથી મેળવી શકે છે - પણ મોડેલ ઉત્પાદક પાસેથી પણ મેળવી શકે છે કારણ કે વાહન મોડેલ માત્ર એક ચોક્કસ ઉત્પાદક દ્વારા જ બનાવવામાં આવે છે. આ કોષ્ટક ડિઝાઇન બિન-3 એનએફ સુસંગત છે, અને તેથી, ડેટાના અસંગતતાઓમાં પરિણમી શકે છે. ઉદાહરણ તરીકે, તમે મોડેલને અપડેટ કર્યા વિના ઉત્પાદકને અપડેટ કરી શકો છો, અચોક્કસતા રજૂ કરી શકો છો.
તેને સુસંગત બનાવવા માટે, અમારે વધારાના ટેમ્પલેશનને બીજા ટેબલ પર ખસેડવાની જરૂર છે અને તે વિદેશી કીનો ઉપયોગ કરીને સંદર્ભ આપે છે. આ બે કોષ્ટકોમાં પરિણમશે:
વાહનો કોષ્ટક
નીચે કોષ્ટકમાં, મોડેલિડે મોડેલ કોષ્ટકની વિદેશી કી છે:
- વાહન આઈડી
- ઉત્પાદક
- ModelID
નમૂનાઓ કોષ્ટક
ઉત્પાદકો માટે આ નવું ટેબલ નકશા મોડેલ. જો તમે કોઈ મોડેલને લગતી કોઈ પણ વાહન માહિતીને અપડેટ કરવા માગો છો, તો તમે તેને વાહનો ટેબલની જગ્યાએ, આ કોષ્ટકમાં કરી શકશો.
- ModelID
- ઉત્પાદક
- મોડલ
3 એનએફ મોડેલમાં ડેરિવડ ફીલ્ડ્સ
કોષ્ટકમાં એક તારવેલી ક્ષેત્ર શામેલ હોઈ શકે છે - તે કોષ્ટકમાં અન્ય કૉલમ્સના આધારે ગણવામાં આવે છે. ઉદાહરણ તરીકે, વિજેટ ઓર્ડરની આ કોષ્ટકને ધ્યાનમાં લો:
- ઓર્ડર નંબર
- ગ્રાહક ક્રમાંક
- એકમ ભાવ
- જથ્થો
- કુલ
કુલ 3 એનએફના પાલનને તોડે છે કારણ કે તે પ્રાયમરી કી પર સંપૂર્ણપણે આધારિત હોવાને બદલે એકમના ભાવને ગુણાકાર કરીને ઉતરી શકે છે. ત્રીજા સામાન્ય સ્વરૂપનું પાલન કરવા માટે આપણે તેને ટેબલમાંથી દૂર કરવું જોઈએ.
હકીકતમાં, તે તારવેલી હોવાથી, તેને ડેટાબેઝમાં સંગ્રહિત કરવું તે વધુ સારું છે.
ડેટાબેઝ પ્રશ્નોના અમલીકરણ વખતે આપણે તેને "ફ્લાય પર" ગણતરી કરી શકીએ છીએ. ઉદાહરણ તરીકે, અમે પહેલાં આ ક્વેરીનો ઉપયોગ ક્રમમાં સંખ્યાઓ અને સરેરાશ મેળવવા માટે કરી હોઈ શકે છે:
પસંદ કરો OrderNumber, કુલ વિજેટ ઑર્ડર્સથીહવે આપણે નીચેની ક્વેરી વાપરી શકીએ છીએ:
પસંદ કરો OrderNumber, UnitPrice * જથ્થા જેમ કુલ વિજેટ ઑર્ડર્સનોર્મલાઇઝેશન નિયમોનો ભંગ કર્યા વિના તે જ પરિણામો પ્રાપ્ત કરવા.