SQL માં ડેટાબેસેસ અને કોષ્ટકો બનાવી રહ્યા છે

ડેટાબેઝ બનાવી રહ્યા છે

શું તમે સ્ટ્રક્ચર્ડ ક્વેરી ભાષા સાથે ડેટાબેઝો અને કોષ્ટકો બનાવવાનું તૈયાર છો? આ લેખમાં, અમે ડેટાબેઝ બનાવો અને ટેબલ કમાન્ડ્સ બનાવો સાથે જાતે કોષ્ટકો બનાવવાની પ્રક્રિયાનું અન્વેષણ કરીએ છીએ. જો તમે એસક્યુએલમાં નવા છો, તો તમે સૌપ્રથમ અમારી એસક્યુએલ બેઝિક્સ લેખની સમીક્ષા કરવા ઈચ્છો છો.

વ્યાપાર જરૂરીયાતો

અમે કીબોર્ડ પર બેસીએ તે પહેલાં, આપણે તેની ખાતરી કરવાની જરૂર છે કે ગ્રાહકની આવશ્યકતાઓ વિશે અમારી પાસે નક્કર સમજ છે. આ સમજ મેળવવાની શ્રેષ્ઠ રીત કઈ છે? અલબત્ત ગ્રાહક સાથે વાત! XYZ ના હ્યુમન રિસોર્સિસ ડિરેક્ટર સાથે બેસીને, અમે શીખ્યા કે તેઓ વિજેટ સેલ્સ કંપની છે અને મુખ્યત્વે તેમના સેલ્સ કર્મચારીઓ પર માહિતીને ટ્રેક કરવા માટે રસ ધરાવે છે.

એક્સવાયઝેડ કોર્પોરેશન તેમની વેચાણ બળને પૂર્વીય અને પશ્ચિમી પ્રદેશોમાં વિભાજિત કરે છે, જે પ્રત્યેકને વ્યક્તિગત વેચાણ પ્રિઝા દ્વારા આવરી લેવાયેલા ઘણા પ્રદેશોમાં વહેંચવામાં આવે છે. માનવ સંશાધન વિભાગ દરેક કર્મચારી દ્વારા આપવામાં આવેલા પ્રદેશ તેમજ દરેક કર્મચારીની પગારની માહિતી અને નિરીક્ષણ માળખાને ટ્રેક કરવા માંગે છે. આ આવશ્યકતાઓને પૂર્ણ કરવા માટે, અમે આ પૃષ્ઠ પર એન્ટિટી-રિલેશનશિપ ડાયગ્રામમાં દર્શાવ્યા પ્રમાણે ત્રણ કોષ્ટકો ધરાવતો ડેટાબેઝ રચ્યું છે.

ડેટાબેઝ પ્લેટફોર્મ પસંદ કરી રહ્યા છીએ

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

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

ડેટાબેઝ બનાવી રહ્યા છે

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

ડેટાબેઝ કર્મચારી બનાવો

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

આ ટ્યુટોરીયલ વાંચવાનું ચાલુ રાખો કારણ કે આપણે આપણા ડેટાબેઝ માટે કોષ્ટકો બનાવીએ છીએ.

વધુ શીખવી

જો તમે સ્ટ્રક્ચર્ડ ક્વેરી ભાષા વિશે વધુ જાણવા માંગતા હો, તો SQL નો પરિચય વાંચો અથવા અમારા મફત લર્નિંગ એસક્યુએલ ઈ-મેલ કોર્સ માટે સાઇન અપ કરો.

હવે અમે ડેટાબેઝ તૈયાર અને બનાવ્યું છે, અમે XYZ કોર્પોરેશનના કર્મચારી ડેટાને સંગ્રહિત કરવા માટે ઉપયોગમાં લેવાતા ત્રણ કોષ્ટકો બનાવવાનું તૈયાર છીએ. આપણે આ ટ્યુટોરીયલના અગાઉના ભાગમાં ડિઝાઇન કરેલ કોષ્ટકોને અમલીકરણ કરીશું.

અમારું પ્રથમ કોષ્ટક બનાવવું

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

રિપોર્ટ્સટૉ એટ્રીબ્યુટ દરેક કર્મચારી માટે મેનેજર ID ને સંગ્રહિત કરે છે. બતાવેલ નમૂનાના રેકોર્ડમાંથી, અમે નક્કી કરી શકીએ છીએ કે સુકેમ્પ્ટી ટોમ કેન્ડેલ અને જોહ્ન સ્મિથ એમ બંનેનું મેનેજર છે. જો કે સુએના મેનેજર પર ડેટાબેઝમાં કોઈ માહિતી નથી, જેમ કે તેની પંક્તિમાં નલ પ્રવેશ દ્વારા સૂચવવામાં આવ્યું છે .

હવે આપણે આપણા કર્મચારી ડેટાબેઝમાં કોષ્ટક બનાવવા માટે SQL નો ઉપયોગ કરી શકીએ છીએ. આવું કરવા પહેલાં, ચાલો ખાતરી કરીએ કે અમે USE આદેશ અદા કરીને યોગ્ય ડેટાબેઝમાં છીએ:

USE કર્મચારી;

વૈકલ્પિક રીતે, "ડેટાબેઝ કર્મચારી"; આદેશ સમાન કાર્ય કરશે. હવે આપણે આપણા કર્મચારીઓની કોષ્ટક બનાવવા માટે વપરાતા એસક્યુએલ કમાન્ડ પર એક નજર કરી શકીએ છીએ:

ટેબલ કર્મચારીઓ બનાવો (કર્મચારી એકલું નહી, નવલકથા VARCHAR (25) નલ, ફર્સ્ટનું નામ VARCHAR (25) નુલ્લ, રિપોર્ટ ઇન્ટેજેર નુલ);

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

ટેબલ ટેબલ_મેન બનાવો (વિશેષતા_નામ ડેટાટાઇપ વિકલ્પો, ..., વિશેષતા_નામ ડેટાટાઇપ વિકલ્પો);

લક્ષણો અને ડેટા પ્રકાર

પાછલા ઉદાહરણમાં, કોષ્ટકનું નામ કર્મચારીઓ છે અને અમે ચાર લક્ષણોનો સમાવેશ કરીએ છીએ: employeeid, lastname, firstname, અને reportsto ડેટિટાઇપ સૂચવે છે કે દરેક પ્રકારની ફિલ્ડમાં સંગ્રહ કરવા માગીએ છીએ. કર્મચારી આઈડી એ એક સરળ પૂર્ણાંક સંખ્યા છે, તેથી અમે કર્મચારી ક્ષેત્રો અને રિપોર્ટસ્ટો ફીલ્ડ બંને માટે INTEGER ડેટાટાઇપનો ઉપયોગ કરીશું. કર્મચારી નામો ચલ લંબાઈના પાત્રની શબ્દમાળાઓ હશે અને અમે કોઈપણ કર્મચારીને 25 કે તેથી વધુ અક્ષરો કરતાં લાંબા સમય સુધી પ્રથમ અથવા છેલ્લો નામ રાખવાની અપેક્ષા રાખતા નથી. તેથી, અમે આ ક્ષેત્રો માટે VARCHAR (25) પ્રકારનો ઉપયોગ કરીશું.

નલ મૂલ્યો

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

બાકી કોષ્ટકોનું નિર્માણ

હવે ચાલો પ્રદેશો ટેબલ પર એક નજર નાખો. આ ડેટાની ઝડપી દેખાવ પરથી, એવું લાગે છે કે આપણે પૂર્ણાંક અને બે ચલ લંબાઈના શબ્દમાળાઓ સંગ્રહિત કરવાની જરૂર છે. અમારા અગાઉના ઉદાહરણ તરીકે, અમે પ્રદેશ ID ને 25 કરતાં વધુ અક્ષરોનો ઉપયોગ કરવાની અપેક્ષા રાખતા નથી. જો કે, અમારા કેટલાક પ્રદેશોમાં લાંબા સમય સુધી નામો છે, તેથી અમે તે લક્ષણની માન્ય લંબાઈને 40 અક્ષરોમાં વિસ્તૃત કરીશું. ચાલો અનુરૂપ SQL જુઓ:

કોષ્ટક પ્રદેશો બનાવો (પ્રદેશના એકીકૃત નથી, નૂર, પ્રદેશ વર્ણન VARCHAR (40) નલ, પ્રદેશના VARCHAR (25) નલ);

છેવટે, અમે કર્મચારીઓ અને પ્રાંતો વચ્ચેના સંબંધો સંગ્રહવા માટે કર્મચારીગણતરી ટેબલનો ઉપયોગ કરીશું. દરેક કર્મચારી અને પ્રદેશ પર વિગતવાર માહિતી અમારા અગાઉના બે કોષ્ટકોમાં સંગ્રહિત છે તેથી, આપણે ફક્ત આ કોષ્ટકમાં બે પૂર્ણાંક ઓળખ સંખ્યાઓ સંગ્રહિત કરવાની જરૂર છે. જો આ માહિતી વિસ્તૃત કરવાની જરૂર હોય તો આપણે બહુવિધ કોષ્ટકોમાંથી માહિતી મેળવવા માટે અમારા ડેટા પસંદગી આદેશોમાં એક JOIN નો ઉપયોગ કરી શકીએ છીએ. ડેટા સંગ્રહિત કરવાની આ પદ્ધતિ અમારા ડેટાબેઝમાં રિડન્ડન્સી ઘટાડે છે અને અમારા સ્ટોરેજ ડ્રાઇવ્સ પર જગ્યાનો શ્રેષ્ઠ ઉપયોગ કરે છે. ભવિષ્યના ટ્યુટોરીયલમાં અમે JOIN કમાન્ડને ઊંડાણથી આવરીશું. અહીં અમારા અંતિમ ટેબલ અમલ કરવા માટે એસક્યુએલ કોડ છે:

કોષ્ટક નોકરીદાતાઓ બનાવો (કર્મચારી એકદમ નકામું નહી, નકામું નહી)

મિકેનિઝમ એસક્યુએલ બનાવટ પછી ડેટાબેઝના સ્ટ્રક્ચર બદલવાની તક આપે છે

જો તમે આજે ખાસ કરીને બાહોશ છો, તો તમે નોંધ્યું છે કે અમારા ડેટાબેઝ કોષ્ટકો અમલીકરણ કરતી વખતે અમે "અકસ્માતે" ડિઝાઇન જરૂરિયાતમાંથી એક કાઢી નાખી છે એક્સવાયઝેડ કોર્પોરેશનના એચઆર ડિરેક્ટરે વિનંતી કરી હતી કે ડેટાબેઝ ટ્રેક કર્મચારી પગારની માહિતી અને અમે આ માટે ડેટાબેઝ કોષ્ટકોમાં આપણે નિર્માણ કરવા માટે ઉપેક્ષા કરી.

જો કે, બધા ગુમ થયેલ નથી. આપણે આ લક્ષણને આપણા હાલના ડેટાબેઝમાં ઉમેરવા માટે 'ALTER TABLE' આદેશ વાપરી શકીએ છીએ. અમે પગારને પૂર્ણાંક મૂલ્ય તરીકે સ્ટોર કરવા માગીએ છીએ. વાક્યરચના એ સૉફ્ટ ટેબલ કમાન્ડ જેવું જ છે, અહીં તે અહીં છે:

વૈકલ્પિક ટેબલ કર્મચારીઓ પગાર ઇન્ટેગેર નલ ઉમેરો;

નોંધ લો કે અમે ઉલ્લેખ કર્યો છે કે આ લક્ષણ માટે નલ મૂલ્યોની પરવાનગી છે. મોટાભાગનાં કિસ્સાઓમાં, અસ્તિત્વમાંના કોષ્ટકમાં સ્તંભ ઉમેરતી વખતે કોઈ વિકલ્પ નથી. આ હકીકત એ છે કે કોષ્ટકમાં પહેલાથી જ આ લક્ષણ માટે કોઈ પ્રવેશ સાથે પંક્તિઓ શામેલ છે. તેથી, DBMS આપમેળે રદબાતલ ભરવા માટે નલ મૂલ્ય શામેલ કરે છે.

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