થર્ડ નોર્મલ ફોર્મ (3 એનએફ) માં ડેટાબેઝ પુટિંગ

થર્ડ ઓરિજિનલ ફોર્મ (3 એનએફ) એક ડેટાબેઝ સિદ્ધાંત છે જે ફર્સ્ટ નોર્મલ ફોર્મ (1 એનએફ) અને સેકંડ નોર્મલ ફોર્મ (2 એનએફ) દ્વારા પૂરા પાડવામાં આવેલા ડેટાબેઝ નોર્મલાઇઝેશન સિદ્ધાંતો પર નિર્માણ કરીને ડેટા એકત્ર કરે છે.

થર્ડ નોર્મલ ફોર્મ જરૂરીયાતો

ડેટાબેઝ માટેની ત્રીજા સામાન્ય સ્વરૂપમાં બે મૂળભૂત આવશ્યકતાઓ છે:

પ્રાથમિક કી નિર્ધાર વિશે

ચાલો આપણે આ હકીકતથી આનો અર્થ કરીએ કે તમામ કૉલમ પ્રાથમિક કી પર આધારિત છે.

જો કોઈ સ્તંભનું મૂલ્ય પ્રાથમિક કી અને ટેબલની અન્ય સ્તંભમાંથી ઉતરી શકાય, તો તે 3 એનએફનું ઉલ્લંઘન કરે છે. આ કૉલમ્સ સાથે કર્મચારીઓની કોષ્ટકનો વિચાર કરો:

શું LastName અને FirstName બન્ને કર્મચારીઓની કિંમત પર જ આધાર રાખે છે? વેલ, શું છેલ્લું નામ ફર્સ્ટ નેમ પર આધાર રાખે છે? ના, કારણ કે LastName અંતર્ગત કંઈ ફર્સ્ટ નામને મૂલ્ય સૂચવશે નહીં. ફર્સ્ટનેમ LastName પર આધાર રાખે છે? ફરીથી નહીં, કારણ કે તે જ સાચું છે: છેલ્લું નામ ગમે તે હોઇ શકે છે, તે FirstName ની કિંમત તરીકે સંકેત આપી શકતો નથી. તેથી, આ ટેબલ 3 એનએફ સુસંગત છે.

પરંતુ આ વાહનો ટેબલ પર વિચાર કરો:

ઉત્પાદક અને મોડેલ વાહન આઈડીમાંથી મેળવી શકે છે - પણ મોડેલ ઉત્પાદક પાસેથી પણ મેળવી શકે છે કારણ કે વાહન મોડેલ માત્ર એક ચોક્કસ ઉત્પાદક દ્વારા જ બનાવવામાં આવે છે. આ કોષ્ટક ડિઝાઇન બિન-3 એનએફ સુસંગત છે, અને તેથી, ડેટાના અસંગતતાઓમાં પરિણમી શકે છે. ઉદાહરણ તરીકે, તમે મોડેલને અપડેટ કર્યા વિના ઉત્પાદકને અપડેટ કરી શકો છો, અચોક્કસતા રજૂ કરી શકો છો.

તેને સુસંગત બનાવવા માટે, અમારે વધારાના ટેમ્પલેશનને બીજા ટેબલ પર ખસેડવાની જરૂર છે અને તે વિદેશી કીનો ઉપયોગ કરીને સંદર્ભ આપે છે. આ બે કોષ્ટકોમાં પરિણમશે:

વાહનો કોષ્ટક

નીચે કોષ્ટકમાં, મોડેલિડે મોડેલ કોષ્ટકની વિદેશી કી છે:

નમૂનાઓ કોષ્ટક

ઉત્પાદકો માટે આ નવું ટેબલ નકશા મોડેલ. જો તમે કોઈ મોડેલને લગતી કોઈ પણ વાહન માહિતીને અપડેટ કરવા માગો છો, તો તમે તેને વાહનો ટેબલની જગ્યાએ, આ કોષ્ટકમાં કરી શકશો.

3 એનએફ મોડેલમાં ડેરિવડ ફીલ્ડ્સ

કોષ્ટકમાં એક તારવેલી ક્ષેત્ર શામેલ હોઈ શકે છે - તે કોષ્ટકમાં અન્ય કૉલમ્સના આધારે ગણવામાં આવે છે. ઉદાહરણ તરીકે, વિજેટ ઓર્ડરની આ કોષ્ટકને ધ્યાનમાં લો:

કુલ 3 એનએફના પાલનને તોડે છે કારણ કે તે પ્રાયમરી કી પર સંપૂર્ણપણે આધારિત હોવાને બદલે એકમના ભાવને ગુણાકાર કરીને ઉતરી શકે છે. ત્રીજા સામાન્ય સ્વરૂપનું પાલન કરવા માટે આપણે તેને ટેબલમાંથી દૂર કરવું જોઈએ.

હકીકતમાં, તે તારવેલી હોવાથી, તેને ડેટાબેઝમાં સંગ્રહિત કરવું તે વધુ સારું છે.

ડેટાબેઝ પ્રશ્નોના અમલીકરણ વખતે આપણે તેને "ફ્લાય પર" ગણતરી કરી શકીએ છીએ. ઉદાહરણ તરીકે, અમે પહેલાં આ ક્વેરીનો ઉપયોગ ક્રમમાં સંખ્યાઓ અને સરેરાશ મેળવવા માટે કરી હોઈ શકે છે:

પસંદ કરો OrderNumber, કુલ વિજેટ ઑર્ડર્સથી

હવે આપણે નીચેની ક્વેરી વાપરી શકીએ છીએ:

પસંદ કરો OrderNumber, UnitPrice * જથ્થા જેમ કુલ વિજેટ ઑર્ડર્સ

નોર્મલાઇઝેશન નિયમોનો ભંગ કર્યા વિના તે જ પરિણામો પ્રાપ્ત કરવા.