એસક્યુએલ ફંડામેન્ટલ્સ

ડીડીએલ, ડીએમએલ અને JOIN વિશે જાણો

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

એસક્યુએલ પાછળના ફંડામેન્ટલ્સની આ પરિચય ડેટાબેઝ બનાવવા અને સુધારવા માટે વપરાતા કેટલાક મુખ્ય આદેશો પર સંક્ષિપ્ત દેખાવ લે છે.

એસક્યુએલ વિશે

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

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

ડીડીએલ અને ડીએમએલ

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

ડેટા ડેફિનેશન લેન્ગવેજ કમાન્ડ્સ

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

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

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

તમારા DBMS પરના "કર્મચારીઓ" નામના ખાલી ડેટાબેસને બનાવે છે. ડેટાબેસની રચના કર્યા પછી, આગળનું પગલું છે માહિતી ધરાવતી કોષ્ટકો બનાવવી. CREATE કમાન્ડનો બીજો પ્રકાર આ હેતુ માટે ઉપયોગ કરી શકાય છે. આ આદેશ:

કોષ્ટક બનાવો personal_info (first_name char (20) નલ નહી, છેલ્લાં_નામ ચાર (20) નલ નહી, કર્મચારી_ઈડ ઇનટ નલ નહી)

વર્તમાન ડેટાબેઝમાં "personal_info" શીર્ષકવાળી કોષ્ટક અધિષ્ઠાપિત કરે છે. ઉદાહરણ તરીકે, ટેબલમાં ત્રણ લક્ષણો છે: first_name, last_name અને employee_id કેટલીક વધારાની માહિતી સાથે.

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

ઉપયોગ કર્મચારીઓ

ડેટાને ચાલાકી આપતા એસક્યુએલ કમાન્ડ્સ અદા કરતા પહેલા ડેટાબેઝમાં તમે કામ કરતા હો તે હંમેશાં સભાન હોવું અગત્યનું છે.

ALTER એકવાર તમે કોઈ ડેટાબેઝમાં કોષ્ટક બનાવ્યું પછી, તમે તેની વ્યાખ્યાને સંશોધિત કરવા માગી શકો. આ ALTER આદેશ તમને ટેબલના માળખામાં ફેરફાર કર્યા વિના તેને પુનઃઉપયોગ અને ફેરફારો કર્યા વિના બદલવાની મંજૂરી આપે છે. નીચેના આદેશો પર એક નજર જુઓ:

વૈકલ્પિક ટેબલ personal_info પગાર મની નલ ઉમેરો

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

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

ડ્રોપ ટેબલ પર્સનલ_ઇન્ફો

એ જ રીતે, નીચેનો આદેશ સમગ્ર કર્મચારી ડેટાબેઝને દૂર કરવા માટે ઉપયોગમાં લેવાશે:

ડ્રોપ ડેટાબેઝ કર્મચારીઓ

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

ડેટા મેનિપ્યુલેશન લેન્ગવેજ કમાન્ડ્સ

ડેટા મૅનિપ્યુલેશન લેંગ્વેજ (ડીએમએલ) ડેટાબેઝ માહિતી મેળવવા, દાખલ કરવા અને સુધારવા માટે વપરાય છે. ડેટાબેઝના નિયમિત ઓપરેશન દરમિયાન આ આદેશોનો ઉપયોગ ડેટાબેઝ વપરાશકર્તાઓ દ્વારા કરવામાં આવે છે.

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

પર્સનલ_ઇન્ફો વેલમાં દાખલ કરો ('બર્ટ', 'સિમ્પસન', 12345, $ 45000)

નોંધ લો કે રેકોર્ડ માટે ઉલ્લેખિત ચાર મૂલ્યો છે. આ ક્રમમાં તે વ્યાખ્યાયિત કરવામાં આવેલા ક્રમમાં ટેબલ એટ્રિબ્યૂટ્સ સાથે સંબંધિત છે: first_name, last_name, employee_id અને પગાર.

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

નીચે બતાવેલ આદેશ personal_info કોષ્ટકમાં સમાયેલ બધી માહિતી મેળવે છે. એ નોંધવું કે ફૂદડી એસક્યુએલમાં વાઇલ્ડકાર્ડ તરીકે વપરાય છે. આ શાબ્દિક અર્થ છે "personal_info કોષ્ટકમાંથી બધું પસંદ કરો."

વ્યક્તિગત_ઇન્ફો દ્વારા * પસંદ કરો

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

વ્યક્તિગત_ઇન્ફો પરથી ફોલ્ડર પસંદ કરો

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

વ્યક્તિગત ઈનફૉમથી SELECT * પગાર જ્યાં> $ 50000

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

Personal_info SET પગાર = પગાર * 1.03 અપડેટ કરો

જ્યારે નવા કર્મચારી બાર્ટ સિમ્પસન ડ્યુટીના કોલ ઉપરની અને તેની ઉપરના પ્રદર્શનનું નિદર્શન કરે છે, ત્યારે મેનેજમેન્ટને $ 5,000 એકત્ર સાથે તેની તારાઓની સિદ્ધિઓને ઓળખવાની ઇચ્છા છે. WHERE ખંડનો ઉપયોગ આ વધારવા માટે બાર્ટને એકલા કરવા માટે થઈ શકે છે:

Personal_info SET પગાર = પગાર + $ 5000 અપડેટ કરો employee_id = 12345 WHERE

કાઢી નાખો છેલ્લે, ચાલો DELETE આદેશ પર એક નજર કરીએ. તમને મળશે કે આ આદેશનું વાક્યરચના બીજા ડીએમએલ આદેશોની સમાન છે. કમનસીબે, અમારી નવીનતમ કોર્પોરેટ કમાણીના અહેવાલમાં અપેક્ષાઓ પૂરી થતી નહોતી અને બાર્ટ બંધ થઈ ગયો છે. ડબ્લ્યુએચઇ (WHOER) કલમ સાથેના આદેશને અંગત_ઇન્ફો ટેબલમાંથી તેનો રેકોર્ડ દૂર કરવા માટે ઉપયોગ કરી શકાય છે:

વ્યક્તિગત_ઇન્ફો WHERE employee_id = 12345 થી કાઢી નાખો

JOINS

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

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

કોષ્ટક શિષ્ટાચારી_ક્રિયા બનાવો (action_id int નલ, employee_id int નલ, ટિપ્પણીઓ char (500))

આ કોષ્ટકમાં કંપનીનાં કર્મચારીઓ પર શિસ્તભંગના કાર્યોના પરિણામ છે. તમે નોટિસ કરશો કે તેમાં કર્મચારી નંબર સિવાય કર્મચારી વિશે કોઈ માહિતી શામેલ નથી. ઘણા દૃશ્યોની કલ્પના કરવી સરળ છે જ્યાં તમે DISCIPLINARY_ACTION અને PERSONAL_INFO કોષ્ટકોની માહિતીને જોડવા માંગો છો.

ધારી લો કે તમને એક અહેવાલ બનાવવાનું કામ સોંપવામાં આવ્યું છે જે તમામ કર્મચારીઓ સામે 40,000 ડોલરથી વધુ પગાર ધરાવતા શિસ્તપૂર્ણ કાર્યોની યાદી આપે છે. JOIN ક્રિયાનો ઉપયોગ આ કિસ્સામાં સીધો છે. અમે આ આદેશને નીચેના આદેશનો ઉપયોગ કરીને પુનઃપ્રાપ્ત કરી શકીએ છીએ:

Personal_info.first_name, personal_info.last_name, વ્યક્તિગત ઈનફૉનથી શિસ્તપાલકતા_કૉકમેન્ટ્સ, શિસ્તપાલક કાર્યવાહી WHERE personal_info.employee_id = શિસ્તપાલક કાર્યકર્તા કર્મચારીઓ_ઈડ અને વ્યક્તિગત_ઇન્ફો.આલરી> 40000

આ કોડ બે કોષ્ટકોને સ્પષ્ટ કરે છે જે અમે FROM ખંડમાં જોડાવવા માંગીએ છીએ અને ત્યારબાદ, એવા પરિણામોને મર્યાદિત કરવા માટે, કે જે કર્મચારી આઇડી સાથે મેળ ખાતા હતા તે પરિણામોને મર્યાદિત કરવા અને $ 40,000 થી વધુ પગારનું અમારા માપદંડ મળવા માટે એક નિવેદનનો સમાવેશ કરે છે.