SQL "ഡമ്മികൾക്കായി": തുടക്കക്കാർക്ക് എന്താണ് അറിയേണ്ടത്? അന്വേഷണവും WHERE അവസ്ഥയും അപ്‌ഡേറ്റ് ചെയ്യുക. എന്താണ് ഒരു റിലേഷണൽ ഡാറ്റാബേസ്?

ക്ലയന്റ് പ്രോഗ്രാമുകൾ

TFTP പ്രോട്ടോക്കോൾ

TFTP-അതേ FTP പ്രോട്ടോക്കോൾ, എന്നാൽ മുകളിൽ UDP പ്രോട്ടോക്കോൾ(അതായത്, ഡെലിവറി ഉറപ്പില്ലാത്ത ഒരു പ്രോട്ടോക്കോൾ). ൽ ഉപയോഗിക്കാം പ്രാദേശിക നെറ്റ്വർക്ക്, ട്രാൻസ്മിഷൻ വേഗത കൂടുതൽ പ്രധാനമാണ്. പ്രായോഗികമായി, ഇത് വളരെ അപൂർവമായി മാത്രമേ ഉപയോഗിക്കുന്നുള്ളൂ.

FTP-കമാൻഡ് ലൈനിൽ നിന്നാണ് പ്രോഗ്രാം സമാരംഭിക്കുന്നത്.

വിൻഡോസ് കമാൻഡർ- ഒരു FTP ക്ലയന്റ് ആയി പ്രവർത്തിക്കാൻ കഴിയും. പ്രാദേശിക ഡയറക്‌ടറികൾക്കൊപ്പം പ്രവർത്തിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു.

നെറ്റ് വാമ്പയർ -ഡൗൺലോഡ് ചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു പ്രത്യേക FTP ക്ലയന്റ് വലിയ ഫയലുകൾമോശം ചാനലുകളിലൂടെ ഡൗൺലോഡ് ചെയ്യുക.

SQL (സ്ട്രക്ചേർഡ് ക്വറി ലാംഗ്വേജ്) ആണ് ഘടനാപരമായ ഭാഷറിലേഷണൽ ഡാറ്റാബേസുകളിലേക്കുള്ള അന്വേഷണങ്ങൾ. ഈ ഭാഷയിൽ, ആവശ്യമായ ഡാറ്റ വീണ്ടെടുക്കാനും അത് പരിഷ്‌ക്കരിക്കാനും പട്ടികകൾ സൃഷ്‌ടിക്കാനും അവയുടെ ഘടനകൾ മാറ്റാനും ഡാറ്റയിലേക്കുള്ള ആക്‌സസ് അവകാശങ്ങൾ നിർണ്ണയിക്കാനും അതിലേറെ കാര്യങ്ങൾ ചെയ്യാനുമുള്ള പദപ്രയോഗങ്ങൾ (അന്വേഷങ്ങൾ) നിങ്ങൾക്ക് രൂപപ്പെടുത്താനാകും.

ഒരു ഡാറ്റാബേസ് മാനേജ്മെന്റ് സിസ്റ്റം (DBMS) ഉപയോഗിച്ചാണ് അന്വേഷണങ്ങൾ നടപ്പിലാക്കുന്നത്. നിങ്ങൾ ഡാറ്റാബേസ് വികസനത്തിലും അഡ്മിനിസ്ട്രേഷനിലും ഒരു സ്പെഷ്യലിസ്റ്റ് അല്ലെങ്കിൽ, നിലവിലുള്ള പട്ടികകളിൽ ഡാറ്റ കാണുകയും/അല്ലെങ്കിൽ മാറ്റുകയും ചെയ്യുന്ന ഒരു ഡാറ്റാബേസ് ഉപയോക്താവായിരിക്കാം നിങ്ങൾ. മിക്ക കേസുകളിലും, ഇവയും മറ്റ് ഡാറ്റാബേസ് പ്രവർത്തനങ്ങളും ഉപയോക്താവിന് നൽകുന്ന പ്രത്യേക ആപ്ലിക്കേഷനുകൾ ഉപയോഗിച്ചാണ് നടത്തുന്നത് ഉപയോക്തൃ-സൗഹൃദ ഇന്റർഫേസ്. സാധാരണഗതിയിൽ, ആപ്ലിക്കേഷനുകൾ പ്രത്യേക പ്രോഗ്രാമിംഗ് ഭാഷകളിൽ (സി, പാസ്കൽ, വിഷ്വൽ ബേസിക് മുതലായവ) എഴുതുന്നു, അവ മിക്കപ്പോഴും സംയോജിത വികസന പരിതസ്ഥിതികൾ ഉപയോഗിച്ചാണ് സൃഷ്ടിക്കുന്നത്, ഉദാഹരണത്തിന്, ഡെൽഫി, സി++ ബിൽഡർ മുതലായവ. എന്നിരുന്നാലും, ഡാറ്റാബേസിലേക്കുള്ള ആക്സസ് ആകാം അവ കൂടാതെ ലഭിച്ചത് - SQL മാത്രം ഉപയോഗിച്ച്. ഡാറ്റാബേസ് ആക്സസ് ചെയ്യുമ്പോൾ പ്രത്യേക ആപ്ലിക്കേഷനുകൾ സാധാരണയായി SQL കോഡ് ശകലങ്ങൾ ഉപയോഗിക്കുന്നുവെന്നതും ശ്രദ്ധിക്കേണ്ടതാണ്.

അതിനാൽ, റിലേഷണൽ ഡാറ്റാബേസുകളിൽ പ്രവർത്തിക്കാൻ SQL വ്യാപകമായി ഉപയോഗിക്കുന്ന ഒരു സാധാരണ ഭാഷയാണ്. പ്രോഗ്രാമർമാർക്ക് മാത്രമല്ല, സാധാരണ ഉപയോക്താക്കൾക്കും ഉപയോഗിക്കാൻ കഴിയുന്നത്ര ലളിതമാണ് ഈ ഭാഷയുടെ വാക്യഘടന. ഇക്കാലത്ത്, ഒരു ശരാശരി കമ്പ്യൂട്ടർ ഉപയോക്താവിന് കുറഞ്ഞത് ഉണ്ടായിരിക്കണം ടെക്സ്റ്റ് എഡിറ്റർ(ഉദാഹരണത്തിന്, മൈക്രോസോഫ്റ്റ് വേർഡ്) ഒപ്പം സ്പ്രെഡ്ഷീറ്റുകൾ(ഉദാ: മൈക്രോസോഫ്റ്റ് എക്സൽ). ഡാറ്റാബേസുകൾ എങ്ങനെ ഉപയോഗിക്കണമെന്ന് അവനും അറിയാമെങ്കിൽ നല്ലത്. നിരവധി വ്യത്യസ്ത DBMS-കൾ ഉണ്ട്, കൂടാതെ സാർവത്രിക പ്രതിവിധിഡാറ്റാബേസുകളിൽ പ്രവർത്തിക്കാൻ ഒരേയൊരു മാർഗ്ഗമേയുള്ളൂ - SQL. SQL നെക്കുറിച്ചുള്ള അറിവ്, കുറഞ്ഞത് അതിന്റെ അടിസ്ഥാനകാര്യങ്ങൾ, ഡാറ്റ തിരയാനും വിശകലനം ചെയ്യാനും അത് ഉപയോഗിക്കാനുള്ള കഴിവ് എന്നിവ സാധാരണ ഉപയോക്താക്കൾക്ക് പോലും കമ്പ്യൂട്ടർ സാക്ഷരതയുടെ അടിസ്ഥാന ഭാഗമാണ്.

റിലേഷണൽ ഡാറ്റാബേസ് മാനേജ്മെന്റ് സിസ്റ്റങ്ങളുടെ (റിലേഷണൽ ഡിബിഎംഎസ്) ആദ്യ സംഭവവികാസങ്ങൾ 1970-കളുടെ തുടക്കത്തിൽ ഐബിഎമ്മിൽ നടന്നു. അതേ സമയം, ഈ സിസ്റ്റങ്ങളിൽ പ്രവർത്തിക്കാൻ ഒരു ഡാറ്റ ഭാഷ സൃഷ്ടിച്ചു. ഈ ഭാഷയുടെ പരീക്ഷണ പതിപ്പിനെ ഇംഗ്ലീഷിൽ നിന്ന് SEQUEL എന്ന് വിളിച്ചിരുന്നു. ഘടനാപരമായ ഇംഗ്ലീഷ് QUEry ഭാഷ (ഘടനാപരമായ ഇംഗ്ലീഷ് അന്വേഷണ ഭാഷ). എന്നിരുന്നാലും, ഔദ്യോഗിക പതിപ്പിനെ ഹ്രസ്വമെന്ന് വിളിക്കുന്നു - SQL (ഘടനാപരമായ അന്വേഷണ ഭാഷ). കൂടുതൽ കൃത്യമായി പറഞ്ഞാൽ, DBMS-ൽ മറ്റ് ഭാഷാ ഉപകരണങ്ങൾ അടങ്ങിയിരിക്കുന്നതിനാൽ SQL ഒരു ഡാറ്റാ ഉപഭാഷയാണ്.

1981-ൽ, IBM റിലേഷണൽ DBMS SQL/DS പുറത്തിറക്കി. ഈ സമയം, ബന്ധം Software Inc. (ഇന്ന് അത് ഒറാക്കിൾ കോർപ്പറേഷനാണ്) അതിന്റെ റിലേഷണൽ ഡിബിഎംഎസ് ഇതിനകം പുറത്തിറക്കിയിട്ടുണ്ട്. ഈ ഉൽപ്പന്നങ്ങൾ ഉടൻ തന്നെ ഡാറ്റാബേസ് മാനേജ്മെന്റ് സിസ്റ്റങ്ങളുടെ സ്റ്റാൻഡേർഡായി മാറി. ഈ ഉൽപ്പന്നങ്ങളിൽ SQL ഉൾപ്പെടുന്നു, അത് ഡാറ്റാ ഉപഭാഷകളുടെ യഥാർത്ഥ നിലവാരമായി മാറി. മറ്റ് DBMS-കളുടെ നിർമ്മാതാക്കൾ SQL-ന്റെ സ്വന്തം പതിപ്പുകൾ പുറത്തിറക്കിയിട്ടുണ്ട്. IBM ഉൽപ്പന്നങ്ങളുടെ പ്രധാന കഴിവുകൾ മാത്രമല്ല അവയിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്നത്. "അവരുടെ" DBMS-ന് ചില നേട്ടങ്ങൾ നേടുന്നതിന്, നിർമ്മാതാക്കൾ ചില SQL വിപുലീകരണങ്ങൾ അവതരിപ്പിച്ചു. അതേ സമയം, പൊതുവായി അംഗീകരിക്കപ്പെട്ട ഒരു SQL സ്റ്റാൻഡേർഡ് സൃഷ്ടിക്കുന്നതിനുള്ള പ്രവർത്തനങ്ങൾ ആരംഭിച്ചു.

1986-ൽ, അമേരിക്കൻ നാഷണൽ സ്റ്റാൻഡേർഡ് ഇൻസ്റ്റിറ്റ്യൂട്ട് (ANSI) ഔദ്യോഗിക സ്റ്റാൻഡേർഡ് SQL-86 പുറത്തിറക്കി, അത് 1989-ൽ അപ്ഡേറ്റ് ചെയ്യുകയും SQL-89 എന്ന് പുനർനാമകരണം ചെയ്യുകയും ചെയ്തു. 1992-ൽ, ഈ മാനദണ്ഡം SQL-92 (ISO/IEC 9075:1992) എന്ന് നാമകരണം ചെയ്യപ്പെട്ടു. SQL നിലവാരത്തിന്റെ ഏറ്റവും പുതിയ പതിപ്പ് SQL:2003 (ISO/IEC 9075X:2003) ആണ്.

ഒരു നിർദ്ദിഷ്‌ട DBMS-ൽ SQL-ന്റെ ഏതൊരു നടപ്പാക്കലും നിർമ്മാതാവ് പാലിക്കുന്നതായി പ്രഖ്യാപിക്കുന്ന മാനദണ്ഡത്തിൽ നിന്ന് അൽപം വ്യത്യസ്തമാണ്. അങ്ങനെ, നിരവധി ഡിബിഎംഎസുകൾ (ഉദാഹരണത്തിന്, Microsoft Access 2003, PostgreSQL 7.3) SQL-92-നെ പൂർണ്ണമായി പിന്തുണയ്‌ക്കുന്നില്ല, പക്ഷേ ചില നിലവാരത്തിലുള്ള അനുസരണയോടെ മാത്രം. കൂടാതെ, സ്റ്റാൻഡേർഡിൽ ഉൾപ്പെടുത്താത്ത ഘടകങ്ങളെ അവർ പിന്തുണയ്ക്കുന്നു. എന്നിരുന്നാലും, DBMS ഡെവലപ്പർമാർ തങ്ങളുടെ ഉൽപ്പന്നങ്ങളുടെ പുതിയ പതിപ്പുകൾ SQL സ്റ്റാൻഡേർഡുമായി കഴിയുന്നത്ര അടുത്ത് അനുസരിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കാൻ ശ്രമിക്കുന്നു.

ശ്രദ്ധ.ഈ ട്യൂട്ടോറിയൽ SQL2003 ഘടകങ്ങളെ വിവരിക്കുന്നു, അവയെല്ലാം നിലവിലുള്ള DBMS-കൾ പിന്തുണയ്ക്കുന്നില്ല. നിങ്ങൾ അവ പ്രാവർത്തികമാക്കുന്നതിന് മുമ്പ്, അവ നിങ്ങളുടെ DBMS-ൽ പ്രവർത്തിക്കുമെന്ന് ഉറപ്പാക്കണം. ഇതിൽ നിന്ന് നിങ്ങൾക്ക് ഇതിനെക്കുറിച്ച് അറിയാൻ കഴിയും സാങ്കേതിക ഡോക്യുമെന്റേഷൻ. വിവരിച്ച ഘടകങ്ങളിൽ ഭൂരിഭാഗവും പൊരുത്തപ്പെടുന്നു അല്ലെങ്കിൽ കൂടുതൽ മുമ്പത്തെ പതിപ്പുകൾ SQL, പ്രത്യേകിച്ച് വ്യാപകമായി ഉപയോഗിക്കുന്ന SQL-92.

സ്വാഭാവികമായ (കൂടുതൽ കൃത്യമായി പറഞ്ഞാൽ, ഇംഗ്ലീഷിലേക്ക്) ഒരു റിലേഷണൽ ഡാറ്റാബേസിനായുള്ള ലളിതമായ അന്വേഷണ ഭാഷയായാണ് SQL വിഭാവനം ചെയ്തത്. രൂപത്തിലുള്ള സാമ്യം എന്നാണ് അനുമാനിച്ചത് സ്വാഭാവിക ഭാഷവ്യാപകമായ ഉപയോഗത്തിന് SQL ഒരു ടൂൾ ലഭ്യമാക്കും സാധാരണ ഉപയോക്താക്കൾഡാറ്റാബേസുകൾ, പ്രോഗ്രാമർമാർ മാത്രമല്ല. തുടക്കത്തിൽ, പരമ്പരാഗത പ്രോഗ്രാമിംഗ് ഭാഷകളിൽ കാണുന്ന നിയന്ത്രണ ഘടനകളൊന്നും SQL-ൽ അടങ്ങിയിരുന്നില്ല. അഭ്യർത്ഥനകൾ, അതിന്റെ വാക്യഘടന വളരെ ലളിതമാണ്, കൺസോളിൽ നിന്ന് തുടർച്ചയായി ഒന്നിനുപുറകെ ഒന്നായി നേരിട്ട് നൽകുകയും അതേ ക്രമത്തിൽ നടപ്പിലാക്കുകയും ചെയ്തു. എന്നിരുന്നാലും, SQL ഒരിക്കലും ബാങ്ക് ജീവനക്കാർക്കും എയർലൈൻ വിൽപ്പനക്കാർക്കും ഒരു ഉപകരണമായിരുന്നില്ല, ട്രെയിൻ ടിക്കറ്റുകൾ, സാമ്പത്തിക വിദഗ്ധരും മറ്റ് ജീവനക്കാരും വിവിധ കമ്പനികൾഡാറ്റാബേസുകളിൽ സംഭരിച്ചിരിക്കുന്ന വിവരങ്ങൾ ഉപയോഗിക്കുന്നു. അവർക്കുവേണ്ടി ലളിതമായ SQLചോദ്യങ്ങളുടെ സ്വാഭാവിക ഭാഷയോടുള്ള അടുപ്പം ഉണ്ടായിരുന്നിട്ടും, വളരെ സങ്കീർണ്ണവും അസൗകര്യവും ആയി മാറി.

പ്രായോഗികമായി, ഒരു ഡാറ്റാബേസ് സാധാരണയായി പ്രൊസീജറൽ ഭാഷകളിൽ പ്രോഗ്രാമർമാർ എഴുതിയ ആപ്ലിക്കേഷനുകളിലൂടെ പ്രവർത്തിക്കുന്നു, ഉദാഹരണത്തിന്, സി, വിഷ്വൽ ബേസിക്, പാസ്കൽ, ജാവ മുതലായവ. ഡെൽഫി, മൈക്രോസോഫ്റ്റ് ആക്സസ്, വിഷ്വൽ പോലുള്ള പ്രത്യേക വിഷ്വൽ ഡെവലപ്മെന്റ് എൻവയോൺമെന്റുകളിലാണ് ആപ്ലിക്കേഷനുകൾ പലപ്പോഴും സൃഷ്ടിക്കപ്പെടുന്നത്. dBase, മുതലായവ. അതേ സമയം, ആപ്ലിക്കേഷൻ ഡവലപ്പർ പ്രായോഗികമായി പ്രോഗ്രാം കോഡുകൾ എഴുതേണ്ടതില്ല, കാരണം ഡെവലപ്മെന്റ് സിസ്റ്റം അവനുവേണ്ടി അത് ചെയ്യുന്നു. എന്തായാലും, കൂടെ പ്രവർത്തിക്കുന്നു പ്രോഗ്രാം കോഡ്കുറഞ്ഞതായി മാറുന്നു. ഈ ആപ്ലിക്കേഷനുകൾ സൗകര്യപ്രദമാണ് GUI, SQL-ൽ ചോദ്യങ്ങൾ നേരിട്ട് നൽകാൻ ഉപയോക്താവിനെ നിർബന്ധിക്കുന്നില്ല. പകരം ആപ്ലിക്കേഷൻ ഇത് ചെയ്യുന്നു. എന്നിരുന്നാലും, ഡാറ്റാബേസ് ആക്സസ് ചെയ്യുന്നതിന് ആപ്ലിക്കേഷൻ SQL ഉപയോഗിക്കുകയോ ഉപയോഗിക്കാതിരിക്കുകയോ ചെയ്യാം. SQL മാത്രമല്ല, അത് വളരെ ആണെങ്കിലും ഫലപ്രദമായ പ്രതിവിധിഡാറ്റ സ്വീകരിക്കുകയും ചേർക്കുകയും മാറ്റുകയും ചെയ്യുക, ഒരു ആപ്ലിക്കേഷനിൽ അത് ഉപയോഗിക്കാൻ കഴിയുമെങ്കിൽ, ഇത് ചെയ്യണം.

ഉപയോക്തൃ ഇന്റർഫേസ് നൽകുന്ന ആപ്ലിക്കേഷനുകളിൽ നിന്ന് സ്വതന്ത്രമായി റിലേഷണൽ ഡാറ്റാബേസിന് നിലനിൽക്കാനും പ്രവർത്തിക്കാനും കഴിയും. ചില കാരണങ്ങളാൽ അത്തരം ഇന്റർഫേസ് ഇല്ലെങ്കിൽ, SQL ഉപയോഗിച്ച് ഡാറ്റാബേസ് ആക്സസ് ചെയ്യാൻ കഴിയും, കൺസോൾ അല്ലെങ്കിൽ നിങ്ങൾക്ക് ഡാറ്റാബേസിലേക്ക് കണക്റ്റുചെയ്യാൻ കഴിയുന്ന ചില ആപ്ലിക്കേഷനുകൾ ഉപയോഗിച്ച്, ഒരു SQL അന്വേഷണം നൽകുക, അയയ്ക്കുക (ഉദാഹരണത്തിന്, Borland SQL Explorer ).

പ്രോഗ്രാമുകൾ എഴുതിയ ഭാഷകളിൽ നിന്ന് വ്യത്യസ്തമായി, SQL ഭാഷ ഒരു ഡിക്ലറേറ്റീവ് (വിവരണാത്മക) ഭാഷയായി കണക്കാക്കപ്പെടുന്നു. ഇതിനർത്ഥം SQL എക്സ്പ്രഷനുകൾ എന്താണ് ചെയ്യേണ്ടതെന്ന് വിവരിക്കുന്നു, എങ്ങനെ എന്നല്ല.

ഉദാഹരണത്തിന്, ജീവനക്കാരുടെ പട്ടികയിൽ നിന്ന് വകുപ്പ് 102-ലെ ജീവനക്കാരുടെ പേരും സ്ഥാനവും സംബന്ധിച്ച വിവരങ്ങൾ തിരഞ്ഞെടുക്കുന്നതിന്, ഇനിപ്പറയുന്ന ചോദ്യം പ്രവർത്തിപ്പിക്കുക:

അവസാന നാമം തിരഞ്ഞെടുക്കുക, ഡിപ്പാർട്ട്മെന്റ്=102 എവിടെയാണ് ജീവനക്കാരിൽ നിന്ന് സ്ഥാനം;

റഷ്യൻ ഭാഷയിൽ ഈ പദപ്രയോഗംഇതുപോലെ തോന്നുന്നു:

തിരഞ്ഞെടുക്കുക അവസാന നാമം, സ്ഥാനം നിന്ന് ജീവനക്കാർ അത് നൽകി വകുപ്പ് = 102;

മൂല്യം മാറ്റാൻ " ഇവാനോവ് "ഓൺ" പെട്രോവ് " കോളം കുടുംബപ്പേര് , ഇനിപ്പറയുന്ന ചോദ്യം പ്രവർത്തിപ്പിക്കുക:

ജീവനക്കാരെ അപ്‌ഡേറ്റ് ചെയ്യുക അവസാന നാമം = "പെട്രോവ്" എവിടെ അവസാന നാമം = "ഇവാനോവ്";

റഷ്യൻ ഭാഷയിൽ ഈ പദപ്രയോഗം ഇതുപോലെ കാണപ്പെടുന്നു:

അപ്ഡേറ്റ് ചെയ്യുക ജീവനക്കാർ ഇൻസ്റ്റാൾ ചെയ്തു കുടുംബപ്പേര് തുല്യം" പെട്രോവ് "എവിടെ അവസാന നാമം = "ഇവാനോവ്" ;

പട്ടികയിൽ നിന്ന് അന്വേഷണത്തിൽ വ്യക്തമാക്കിയ ഡാറ്റ തിരഞ്ഞെടുക്കുന്നതിന് DBMS ചെയ്യേണ്ട പ്രവർത്തനങ്ങൾ നിങ്ങൾ വിശദമായി വിവരിക്കേണ്ടതില്ല. നിങ്ങൾക്ക് ലഭിക്കാൻ ആഗ്രഹിക്കുന്നത് നിങ്ങൾ വിവരിക്കുക. ചോദ്യം നിർവ്വഹിക്കുന്നതിന്റെ ഫലമായി, നിങ്ങൾ അഭ്യർത്ഥിച്ച ഡാറ്റ അടങ്ങിയ ഒരു പട്ടിക DBMS നൽകുന്നു. ചോദ്യവുമായി പൊരുത്തപ്പെടുന്ന ഡാറ്റയൊന്നും ഡാറ്റാബേസിൽ ഇല്ലെങ്കിൽ, ഒരു ശൂന്യമായ പട്ടിക തിരികെ നൽകും.

എന്നിരുന്നാലും, SQL-ന്റെ സമീപകാല പതിപ്പുകൾ പ്രൊസീജറൽ കൺട്രോൾ ഭാഷകളിലേക്ക് (സോപാധിക ബ്രാഞ്ചും ലൂപ്പ് പ്രസ്താവനകളും) പ്രാദേശികമായ കമ്പ്യൂട്ടേഷൻ നിയന്ത്രണ പ്രസ്താവനകളെ പിന്തുണയ്ക്കുന്നു. അതിനാൽ, SQL ഇപ്പോൾ പൂർണ്ണമായും പ്രഖ്യാപന ഭാഷയല്ല.

പട്ടികകളിൽ നിന്ന് ഡാറ്റ വീണ്ടെടുക്കുന്നതിനും ചേർക്കുന്നതിനും പരിഷ്കരിക്കുന്നതിനും ഇല്ലാതാക്കുന്നതിനും പുറമേ, ഡാറ്റാബേസുകൾ സൃഷ്ടിക്കുന്നതിനും പരിഷ്കരിക്കുന്നതിനും സുരക്ഷിതമാക്കുന്നതിനും ആവശ്യമായ എല്ലാ പ്രവർത്തനങ്ങളും നടത്താൻ SQL നിങ്ങളെ അനുവദിക്കുന്നു. ഈ കഴിവുകളെല്ലാം മൂന്ന് SQL ഘടകങ്ങൾക്കിടയിൽ വിതരണം ചെയ്യപ്പെടുന്നു:

· ഡിഎംഎൽ (ഡാറ്റ മാനിപുലേഷൻ ലാംഗ്വേജ് - ഡാറ്റ കൃത്രിമ ഭാഷ ) ഡാറ്റാബേസിനെ പിന്തുണയ്ക്കാൻ ഉദ്ദേശിച്ചുള്ളതാണ്: തിരഞ്ഞെടുക്കൽ ( തിരഞ്ഞെടുക്കുക ), കൂട്ടിച്ചേർക്കലുകൾ ( തിരുകുക ), മാറ്റങ്ങൾ ( അപ്ഡേറ്റ് ചെയ്യുക ) കൂടാതെ ഇല്ലാതാക്കൽ ( ഇല്ലാതാക്കുക ) പട്ടികകളിൽ നിന്നുള്ള ഡാറ്റ. ഈ ഓപ്പറേറ്റർമാർക്ക് (കമാൻഡുകൾ) കണക്കുകൂട്ടിയവ ഉൾപ്പെടെയുള്ള എക്‌സ്‌പ്രഷനുകളും സബ്‌ക്വറികളും അടങ്ങിയിരിക്കാം - മറ്റൊരു ചോദ്യത്തിനുള്ളിൽ അടങ്ങിയിരിക്കുന്ന അന്വേഷണങ്ങൾ. പൊതുവേ, ഒരു അന്വേഷണ പദപ്രയോഗം വളരെ സങ്കീർണ്ണമായേക്കാം, അത് എന്താണ് ചെയ്യുന്നതെന്ന് നിങ്ങൾക്ക് പെട്ടെന്ന് പറയാൻ കഴിയില്ല. എന്നിരുന്നാലും, സങ്കീർണ്ണമായ ഒരു ചോദ്യം മാനസികമായി വിശകലനം ചെയ്യാൻ എളുപ്പമുള്ള ഭാഗങ്ങളായി വിഭജിക്കാം. അതുപോലെ, സങ്കീർണ്ണമായ അന്വേഷണങ്ങൾ താരതമ്യേന എളുപ്പത്തിൽ മനസ്സിലാക്കാവുന്ന പദപ്രയോഗങ്ങളിൽ നിന്ന് സൃഷ്ടിക്കപ്പെടുന്നു (സബ്ക്വറികൾ).

· ഡി.ഡി.എൽ (ഡാറ്റ ഡെഫനിഷൻ ലാംഗ്വേജ് - ഡാറ്റ നിർവചന ഭാഷ ) പട്ടികകളും മുഴുവൻ ഡാറ്റാബേസും സൃഷ്‌ടിക്കാനും പരിഷ്‌ക്കരിക്കാനും ഇല്ലാതാക്കാനും രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്നു. DDL-ൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന പ്രസ്താവനകളുടെ ഉദാഹരണങ്ങളാണ് പട്ടിക സൃഷ്ടിക്കുക (പട്ടിക ഉണ്ടാക്കുക)," കാഴ്ച സൃഷ്ടിക്കുക (കാഴ്ച സൃഷ്ടിക്കുക), ഷീമ സൃഷ്ടിക്കുക (ഒരു ഡയഗ്രം സൃഷ്ടിക്കുക), ആൾട്ടർ ടേബിൾ (പട്ടിക മാറ്റുക), ഡ്രോപ്പ് (ഇല്ലാതാക്കുക), മുതലായവ.

· ഡി.സി.എൽ (ഡാറ്റ കൺട്രോൾ ഭാഷ - ഡാറ്റ മാനേജ്മെന്റ് ഭാഷ ) വിവിധ തരത്തിലുള്ള കേടുപാടുകളിൽ നിന്ന് ഡാറ്റാബേസിനെ സംരക്ഷിക്കുന്നതിനാണ് രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്. DBMS സ്വയമേവ കുറച്ച് ഡാറ്റ പരിരക്ഷ നൽകുന്നു. എന്നിരുന്നാലും, ചില സാഹചര്യങ്ങളിൽ DCL നൽകുന്ന അധിക നടപടികൾ പരിഗണിക്കേണ്ടതാണ്.

SQL ഭാഷ: ഡാറ്റ കൃത്രിമത്വം

ഈ പ്രഭാഷണത്തിൽ...

· സ്ട്രക്ചർ ക്വറി ലാംഗ്വേജിന്റെ (SQL) ഉദ്ദേശവും അതിന്റെയും പ്രത്യേക വേഷംഡാറ്റാബേസുകളിൽ പ്രവർത്തിക്കുമ്പോൾ.

· ഉത്ഭവത്തിന്റെയും വികാസത്തിന്റെയും ചരിത്രം SQL ഭാഷ.

· SQL പ്രസ്താവനകൾ എഴുതുന്നു.

SELECT സ്റ്റേറ്റ്മെന്റ് ഉപയോഗിച്ച് ഡാറ്റാബേസുകളിൽ നിന്ന് വിവരങ്ങൾ വീണ്ടെടുക്കുന്നു.

· നിർമ്മാണം SQL പ്രസ്താവനകൾ, സ്വഭാവം ഇനിപ്പറയുന്ന സവിശേഷതകൾ:

വിവിധ വ്യവസ്ഥകൾ പാലിക്കുന്ന വരികൾ തിരഞ്ഞെടുക്കാൻ WHERE കൺസ്ട്രക്റ്റ് ഉപയോഗിക്കുന്നു;

· ഓർഡർ ബൈ കൺസ്ട്രക്‌റ്റ് ഉപയോഗിച്ച് അന്വേഷണ ഫലങ്ങൾ അടുക്കുന്നു;

SQL അഗ്രഗേഷൻ ഫംഗ്‌ഷനുകളുടെ ഉപയോഗം;

· ഗ്രൂപ്പ് ബൈ കൺസ്ട്രക്‌റ്റ് ഉപയോഗിച്ച് തിരഞ്ഞെടുത്ത ഡാറ്റ ഗ്രൂപ്പുചെയ്യൽ;

· സബ്ക്വറികളുടെ ഉപയോഗം;

· ടേബിൾ ജോയിന് ഉപയോഗിക്കുന്നത്;

· സെറ്റുകളുള്ള പ്രവർത്തനങ്ങളുടെ പ്രയോഗം (യൂണിയൻ, ഇന്റർസെക്റ്റ്, ഒഴികെ).

INSERT, UPDATE, DELETE എന്നീ പ്രസ്താവനകൾ ഉപയോഗിച്ച് ഡാറ്റാബേസിൽ മാറ്റങ്ങൾ വരുത്തുന്നു.

വികസനത്തിന്റെ ഫലമായി ഉയർന്നുവന്ന ഭാഷകളിൽ ഒന്ന് റിലേഷണൽ മോഡൽഡാറ്റ SQL ആണ്, അത് ഇപ്പോൾ വളരെ വ്യാപകമാണ്, യഥാർത്ഥത്തിൽ റിലേഷണൽ ഡാറ്റാബേസുകളുടെ അടിസ്ഥാന ഭാഷയായി മാറിയിരിക്കുന്നു. 1986-ൽ യുഎസ് നാഷണൽ സ്റ്റാൻഡേർഡ് ഇൻസ്റ്റിറ്റ്യൂട്ട് (ANSI) SQL ലാംഗ്വേജ് സ്റ്റാൻഡേർഡ് പുറത്തിറക്കി, 1987-ൽ ഇന്റർനാഷണൽ ഓർഗനൈസേഷൻ ഫോർ സ്റ്റാൻഡേർഡൈസേഷൻ (ISO) ഈ മാനദണ്ഡം ഒരു അന്താരാഷ്ട്ര നിലവാരമായി അംഗീകരിച്ചു. നിലവിൽ, വിവിധ തരത്തിലുള്ള കംപ്യൂട്ടിംഗ് പ്ലാറ്റ്‌ഫോമുകൾക്കായി വികസിപ്പിച്ച നൂറുകണക്കിന് DBMS-കൾ SQL ഭാഷയെ പിന്തുണയ്ക്കുന്നു. വ്യക്തിഗത കമ്പ്യൂട്ടറുകൾമെയിൻഫ്രെയിമുകളിൽ അവസാനിക്കുകയും ചെയ്യുന്നു.

ഈ പ്രഭാഷണം SQL-ന്റെ ISO നിർവചനം ഉപയോഗിക്കുന്നു.

SQL-ലേക്കുള്ള ആമുഖം

ഈ ഭാഗത്ത്, SQL ഭാഷയുടെ ഉദ്ദേശ്യം നോക്കുകയും അതിന്റെ ചരിത്രവുമായി പരിചയപ്പെടുകയും അത് ഇന്ന് ഇത്രയധികം പ്രചാരത്തിലായതിന്റെ കാരണങ്ങൾ വിശകലനം ചെയ്യുകയും ചെയ്യും. വലിയ പ്രാധാന്യംഡാറ്റാബേസ് ആപ്ലിക്കേഷനുകൾക്കായി.

SQL ഭാഷയുടെ ഉദ്ദേശ്യം

ഡാറ്റാബേസുകളിൽ പ്രവർത്തിക്കാൻ രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്ന ഏതൊരു ഭാഷയും ഉപയോക്താവിന് ഇനിപ്പറയുന്ന കഴിവുകൾ നൽകണം:

· ഇതുപയോഗിച്ച് ഡാറ്റാബേസുകളും പട്ടികകളും സൃഷ്ടിക്കുക പൂർണ്ണ വിവരണംഅവയുടെ ഘടനകൾ;



· പട്ടികകളിൽ നിന്ന് ഡാറ്റ തിരുകുക, പരിഷ്കരിക്കുക, ഇല്ലാതാക്കുക എന്നിങ്ങനെയുള്ള അടിസ്ഥാന ഡാറ്റ കൃത്രിമത്വ പ്രവർത്തനങ്ങൾ നടത്തുക;

· ലളിതവും സങ്കീർണ്ണവുമായ അന്വേഷണങ്ങൾ നടത്തുക.

കൂടാതെ, ഡാറ്റാബേസ് ഭാഷ എപ്പോൾ മുകളിലുള്ള എല്ലാ പ്രശ്നങ്ങളും പരിഹരിക്കണം കുറഞ്ഞ പരിശ്രമംഉപയോക്താവിന്റെ ഭാഗത്ത് നിന്ന്, അതിന്റെ കമാൻഡുകളുടെ ഘടനയും വാക്യഘടനയും വളരെ ലളിതവും പഠനത്തിന് ആക്സസ് ചെയ്യാവുന്നതുമായിരിക്കണം.

അവസാനമായി, ഭാഷ സാർവത്രികമായിരിക്കണം, അതായത്. ഒരു ഡിബിഎംഎസിൽ നിന്ന് മറ്റൊന്നിലേക്ക് മാറുമ്പോൾ ഒരേ വാക്യഘടനയും കമാൻഡ് ഘടനയും ഉപയോഗിക്കാൻ അനുവദിക്കുന്ന ചില അംഗീകൃത മാനദണ്ഡങ്ങൾ പാലിക്കുക. ആധുനിക SQL ഭാഷാ സ്റ്റാൻഡേർഡ് ഈ ആവശ്യങ്ങളെല്ലാം നിറവേറ്റുന്നു.

SQL എന്നത് ഒരു ഡാറ്റാ പരിവർത്തന ഭാഷയുടെ ഒരു ഉദാഹരണമാണ്, അല്ലെങ്കിൽ ഇൻപുട്ട് ഡാറ്റയെ ആവശ്യമുള്ള ഔട്ട്‌പുട്ട് ഫോമിലേക്ക് പരിവർത്തനം ചെയ്യുന്നതിനായി ടേബിളുകൾക്കൊപ്പം പ്രവർത്തിക്കാൻ രൂപകൽപ്പന ചെയ്ത ഒരു ഭാഷയാണ്. ISO സ്റ്റാൻഡേർഡ് നിർവചിച്ചിരിക്കുന്ന SQL ഭാഷയ്ക്ക് രണ്ട് പ്രധാന ഘടകങ്ങളുണ്ട്:

· ഡാറ്റ ഭാഷഡെഫനിഷൻ ലാംഗ്വേജ് (DDL), ഡാറ്റാബേസ് ഘടനകൾ നിർവചിക്കുന്നതിനും ഡാറ്റയിലേക്കുള്ള ആക്സസ് നിയന്ത്രിക്കുന്നതിനും രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്;

· ഡാറ്റ മാനിപ്പുലേഷൻ ലാംഗ്വേജ് (DML), ഡാറ്റ വീണ്ടെടുക്കുന്നതിനും അപ്ഡേറ്റ് ചെയ്യുന്നതിനുമായി രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്നു.

SQL3 സ്റ്റാൻഡേർഡിന്റെ ആവിർഭാവത്തിന് മുമ്പ്, ഡാറ്റ നിർവചിക്കുന്നതിനും കൈകാര്യം ചെയ്യുന്നതിനുമുള്ള കമാൻഡുകൾ മാത്രമാണ് SQL ഉൾപ്പെടുത്തിയിരുന്നത്; കണക്കുകൂട്ടലുകളുടെ പുരോഗതി നിയന്ത്രിക്കുന്നതിനുള്ള കമാൻഡുകളൊന്നും അതിന് ഇല്ലായിരുന്നു. മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, ഈ ഭാഷയിൽ IF ... THEN ... ELSE, GO TO, DO ... WHILE, കൂടാതെ കമ്പ്യൂട്ടേഷണൽ പ്രക്രിയയുടെ പുരോഗതി നിയന്ത്രിക്കാൻ രൂപകൽപ്പന ചെയ്തിട്ടുള്ള മറ്റേതെങ്കിലും കമാൻഡുകൾ ഇല്ലായിരുന്നു. അത്തരം പ്രശ്നങ്ങൾ പരിഹരിക്കേണ്ടതായിരുന്നു പ്രോഗ്രമാറ്റിക്കായി, പ്രോഗ്രാമിംഗ് അല്ലെങ്കിൽ ടാസ്‌ക് കൺട്രോൾ ഭാഷകൾ ഉപയോഗിച്ചോ അല്ലെങ്കിൽ സംവേദനാത്മകമായി, ഉപയോക്താവ് തന്നെ ചെയ്യുന്ന പ്രവർത്തനങ്ങളുടെ ഫലമായി. ഈ അപൂർണ്ണത കാരണം, കമ്പ്യൂട്ടിംഗ് പ്രക്രിയ സംഘടിപ്പിക്കുന്നതിന്റെ വീക്ഷണകോണിൽ നിന്ന്, SQL ഭാഷ രണ്ട് തരത്തിൽ ഉപയോഗിക്കാം. ആദ്യം നൽകിയത് സംവേദനാത്മക ജോലി, ടെർമിനലിൽ നിന്ന് വ്യക്തിഗത SQL പ്രസ്താവനകൾ നൽകുന്ന ഉപയോക്താവിനെ ഉൾക്കൊള്ളുന്നു. രണ്ടാമത്തേത്, നടപടിക്രമ ഭാഷാ പ്രോഗ്രാമുകളിലേക്ക് SQL പ്രസ്താവനകൾ ഉൾപ്പെടുത്തുക എന്നതായിരുന്നു.

SQL3 ഭാഷയുടെ പ്രയോജനങ്ങൾ, അതിന്റെ ഔപചാരിക നിർവചനം 1999-ൽ അംഗീകരിച്ചു:

· SQL ഭാഷ പഠിക്കാൻ താരതമ്യേന എളുപ്പമാണ്.

· ഇത് ഒരു നോൺ പ്രൊസീജറൽ ഭാഷയാണ്, അതിനാൽ എന്ത് വിവരമാണ് ലഭിക്കേണ്ടത്, അത് എങ്ങനെ നേടാം എന്നല്ല. മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, SQL ഭാഷയ്ക്ക് ഡാറ്റ ആക്സസ് രീതികൾ വ്യക്തമാക്കേണ്ട ആവശ്യമില്ല.

· മിക്കവരും ഇഷ്ടപ്പെടുന്നു ആധുനിക ഭാഷകൾപ്രസ്താവനകൾ എഴുതുന്നതിനുള്ള ഒരു സ്വതന്ത്ര ഫോർമാറ്റിനെ SQL പിന്തുണയ്ക്കുന്നു. നിങ്ങൾ ടൈപ്പ് ചെയ്യുമ്പോൾ വ്യക്തിഗത ഓപ്പറേറ്റർ ഘടകങ്ങൾ സ്ക്രീനിലെ നിശ്ചിത സ്ഥാനങ്ങളുമായി ബന്ധപ്പെടുത്തിയിട്ടില്ലെന്നാണ് ഇതിനർത്ഥം.

· കമാൻഡുകളുടെ ഘടന ഒരു സെറ്റ് വ്യക്തമാക്കുന്നു കീവേഡുകൾ, പ്രതിനിധീകരിക്കുന്നു സാധാരണ വാക്കുകൾ CREATE TABLE - ഒരു പട്ടിക സൃഷ്ടിക്കുക, INSERT - Insert, SELECT - Select എന്നിങ്ങനെയുള്ള ഇംഗ്ലീഷ്.

ഉദാഹരണത്തിന്:

പട്ടിക സൃഷ്ടിക്കുക [വിൽപ്പന] ((എസ്), [വസ്തുവിന്റെ പേര്] വർചാർ(15), [വില] ദശാംശം(7,2));

[ഒബ്ജക്റ്റ്] മൂല്യങ്ങളിലേക്ക് തിരുകുക ("SG16", "ബ്രൗൺ", 8300);

തിരഞ്ഞെടുക്കുക , [വസ്തുവിന്റെ പേര്], [വില];

[വിൽപ്പന] മുതൽ

എവിടെ [ചെലവ്] > 10000;

· ഡാറ്റാബേസ് അഡ്മിനിസ്ട്രേറ്റർമാർ (ഡിബിഎകൾ), കമ്പനി മാനേജ്മെന്റ് ഉദ്യോഗസ്ഥർ, തുടങ്ങി നിരവധി ഉപയോക്താക്കൾക്ക് SQL ഭാഷ ഉപയോഗിക്കാൻ കഴിയും. ആപ്ലിക്കേഷൻ പ്രോഗ്രാമർമാർകൂടാതെ വിവിധ വിഭാഗങ്ങളിലെ മറ്റ് നിരവധി അന്തിമ ഉപയോക്താക്കളും.

നിലവിൽ ഉണ്ട് അന്താരാഷ്ട്ര നിലവാരം, റിലേഷണൽ ഡാറ്റാബേസുകൾ സൃഷ്ടിക്കുന്നതിനും കൈകാര്യം ചെയ്യുന്നതിനുമുള്ള ഒരു സ്റ്റാൻഡേർഡ് ഭാഷയായി ഔപചാരികമായി നിർവചിക്കുന്നു, വാസ്തവത്തിൽ അത്.

SQL ഭാഷയുടെ ചരിത്രം

റിലേഷണൽ ഡാറ്റ മോഡലിന്റെയും പരോക്ഷമായി SQL ഭാഷയുടെയും ചരിത്രം ആരംഭിച്ചത് 1970-ൽ സാൻ ജോസിലെ IBM റിസർച്ച് ലബോറട്ടറിയിൽ ജോലി ചെയ്തിരുന്ന E. F. കോഡിന്റെ ഒരു സെമിനൽ ലേഖനത്തിന്റെ പ്രസിദ്ധീകരണത്തോടെയാണ്. 1974-ൽ, അതേ ലബോറട്ടറിയിൽ ജോലി ചെയ്തിരുന്ന ഡി. ചേംബർലെയ്ൻ, "സ്ട്രക്ചർഡ് ഇംഗ്ലീഷ് ക്വറി ലാംഗ്വേജ്" അല്ലെങ്കിൽ SEQUEL എന്ന പേരിൽ ഒരു ഭാഷയുടെ ഒരു നിർവചനം പ്രസിദ്ധീകരിച്ചു. ഈ ഭാഷയുടെ പരിഷ്കരിച്ച പതിപ്പ്, SEQUEL/2, 1976-ൽ പുറത്തിറങ്ങി; നിയമപരമായ കാരണങ്ങളാൽ അതിന്റെ പേര് പിന്നീട് SQL എന്നാക്കി മാറ്റേണ്ടി വന്നു - SEQUEL എന്ന ചുരുക്കെഴുത്ത് ഇതിനകം തന്നെ ഭാഷാശാസ്ത്രജ്ഞർ ഉപയോഗിച്ചിരുന്നു. എന്നാൽ ഇന്നുവരെ, പലരും SQL ചുരുക്കെഴുത്ത് "തുടർച്ച" എന്നാണ് ഉച്ചരിക്കുന്നത്, എന്നിരുന്നാലും ഇത് "es-qu-el" എന്ന് വായിക്കാൻ ഔദ്യോഗികമായി ശുപാർശ ചെയ്യപ്പെടുന്നു.

1976-ൽ, IBM SEQUEL/2 ഭാഷയെ അടിസ്ഥാനമാക്കി ഒരു പ്രോട്ടോടൈപ്പ് DBMS പുറത്തിറക്കി, അതിനെ "സിസ്റ്റം R" എന്ന് വിളിക്കുന്നു. ഇതിന്റെ ഉദ്ദേശം ട്രയൽ പതിപ്പ്റിലേഷണൽ മോഡൽ നടപ്പിലാക്കുന്നതിനുള്ള സാധ്യത പരിശോധിക്കുന്നത് ഉൾക്കൊള്ളുന്നു. മറ്റ് പോസിറ്റീവ് വശങ്ങൾക്കൊപ്പം, ഈ പ്രോജക്റ്റിന്റെ ഏറ്റവും പ്രധാനപ്പെട്ട ഫലം SQL ഭാഷയുടെ വികാസമായി കണക്കാക്കാം.എന്നിരുന്നാലും, ഈ ഭാഷയുടെ വേരുകൾ SQUARE (അന്വേഷണങ്ങളെ യുക്തിസഹമായ പദപ്രയോഗങ്ങളായി വ്യക്തമാക്കുന്നു) ഭാഷയിലേക്ക് പോകുന്നു, അത് സിസ്റ്റം R പ്രോജക്റ്റ്. ഇംഗ്ലീഷിൽ രചിച്ച പദസമുച്ചയങ്ങളിലൂടെ റിലേഷണൽ ബീജഗണിതം നടപ്പിലാക്കുന്നതിനുള്ള ഒരു ഗവേഷണ ഉപകരണമായാണ് SQUARE ഭാഷ വികസിപ്പിച്ചെടുത്തത്.

1970 കളുടെ അവസാനത്തിൽ, ഇപ്പോൾ ഒറാക്കിൾ കോർപ്പറേഷനായി മാറിയ കമ്പനി ഒറാക്കിൾ ഡിബിഎംഎസ് പുറത്തിറക്കി. ഒരുപക്ഷേ ഇത് SQL ഭാഷ ഉപയോഗിച്ച് നിർമ്മിച്ച ഒരു റിലേഷണൽ DBMS-ന്റെ ആദ്യത്തെ വാണിജ്യ നിർവ്വഹണമാണ്.

കുറച്ച് കഴിഞ്ഞ്, QUEL അന്വേഷണ ഭാഷ ഉപയോഗിച്ച് INGRES DBMS പ്രത്യക്ഷപ്പെട്ടു.

ഈ ഭാഷ എസ്‌ക്യുഎല്ലിനേക്കാൾ ഘടനാപരമായിരുന്നു, എന്നാൽ അതിന്റെ അർത്ഥശാസ്ത്രം സാധാരണയുമായി അടുത്ത് നിൽക്കുന്നില്ല ആംഗലേയ ഭാഷ. പിന്നീട്, റിലേഷണൽ ഡാറ്റാബേസുകളുടെ സ്റ്റാൻഡേർഡ് ഭാഷയായി SQL സ്വീകരിച്ചപ്പോൾ, INGRES DBMS പൂർണ്ണമായും അത് ഉപയോഗിക്കാനായി പരിവർത്തനം ചെയ്യപ്പെട്ടു. 1981-ൽ, IBM അതിന്റെ ആദ്യത്തെ വാണിജ്യ ബന്ധമുള്ള DBMS, SQL/DS (DOS/VSE പരിതസ്ഥിതിക്ക് വേണ്ടി) പുറത്തിറക്കി. 1982-ൽ, ഈ സിസ്റ്റത്തിന്റെ ഒരു പതിപ്പ് VM/CMS പരിതസ്ഥിതിക്ക് വേണ്ടിയും 1983-ൽ - MVS പരിതസ്ഥിതിക്ക് വേണ്ടിയും, എന്നാൽ DB2 എന്ന പേരിൽ പുറത്തിറങ്ങി.

1982-ൽ, യുഎസ് നാഷണൽ സ്റ്റാൻഡേർഡ് ഇൻസ്റ്റിറ്റ്യൂട്ട് (ANSI) IBM കോർപ്പറേഷനിൽ നിന്ന് ലഭിച്ച കൺസെപ്റ്റ് ഡോക്യുമെന്റുകൾ വഴി നയിക്കപ്പെടുന്ന റിലേഷൻ ഡാറ്റാബേസ് ലാംഗ്വേജിന്റെ (RDL) പ്രവർത്തനം ആരംഭിച്ചു. 1983-ൽ ഇന്റർനാഷണൽ ഓർഗനൈസേഷൻ ഫോർ സ്റ്റാൻഡേർഡൈസേഷൻ (ഐഎസ്ഒ) ഈ പ്രവർത്തനത്തിൽ ഏർപ്പെട്ടു. എസ്‌ക്യുഎൽ ഭാഷാ നിലവാരം പുറത്തിറക്കുന്നതിൽ ഇരു സംഘടനകളുടെയും സംയുക്ത ശ്രമങ്ങൾ അവസാനിച്ചു. 1984-ൽ RDL എന്ന പേര് ഉപേക്ഷിക്കപ്പെട്ടു, കൂടാതെ SQL ഭാഷയുടെ നിലവിലുള്ള നിർവ്വഹണങ്ങളോട് കൂടുതൽ അടുക്കാൻ ഡ്രാഫ്റ്റ് ഭാഷ പുനർരൂപകൽപ്പന ചെയ്തു.

1987-ൽ ISO പുറത്തിറക്കിയ സ്റ്റാൻഡേർഡിന്റെ യഥാർത്ഥ പതിപ്പ് വിമർശനങ്ങളുടെ ഒരു തരംഗത്തെ ആകർഷിച്ചു. പ്രത്യേകിച്ചും, റഫറൻഷ്യൽ ഇന്റഗ്രിറ്റി കൺട്രോളുകളും ചില റിലേഷണൽ ഓപ്പറേറ്റർമാരും ഉൾപ്പെടെയുള്ള നിർണായക പ്രവർത്തനങ്ങൾ സ്റ്റാൻഡേർഡ് ഒഴിവാക്കിയതായി ഈ മേഖലയിലെ അറിയപ്പെടുന്ന ഗവേഷകനായ ഡേറ്റ് ചൂണ്ടിക്കാട്ടി.

കൂടാതെ, ഭാഷയുടെ അമിതമായ ആവർത്തനം അദ്ദേഹം ശ്രദ്ധിച്ചു - ഒരേ അഭ്യർത്ഥന പലതിലും എഴുതാം വിവിധ ഓപ്ഷനുകൾ. വിമർശനങ്ങളിൽ ഭൂരിഭാഗവും ന്യായമാണെന്ന് അംഗീകരിക്കപ്പെട്ടു, അതിന്റെ പ്രസിദ്ധീകരണത്തിന് മുമ്പ് നിലവാരത്തിൽ ആവശ്യമായ ക്രമീകരണങ്ങൾ വരുത്തി. എന്നിരുന്നാലും, അതിന്റെ പങ്ക് നിറവേറ്റാൻ കഴിയുന്നത്ര വേഗത്തിൽ സ്റ്റാൻഡേർഡ് റിലീസ് ചെയ്യുന്നതാണ് കൂടുതൽ പ്രധാനമെന്ന് തീരുമാനിച്ചു പൊതുവായ അടിസ്ഥാനം, വ്യത്യസ്ത സ്പെഷ്യലിസ്റ്റുകൾ അത്തരം ഒരു ഭാഷയ്ക്ക് നിർബന്ധമാണെന്ന് കരുതുന്ന എല്ലാ പ്രവർത്തനങ്ങളും നിർവചിക്കുകയും അംഗീകരിക്കുകയും ചെയ്യുന്നതുവരെ കാത്തിരിക്കുന്നതിനുപകരം, ഭാഷയും അതിന്റെ നടപ്പാക്കലുകളും കൂടുതൽ വികസിപ്പിക്കാൻ കഴിയും.

1989-ൽ, ഡാറ്റാ ഇന്റഗ്രിറ്റി ഫംഗ്‌ഷനുകൾ നിർവചിക്കുന്ന സ്റ്റാൻഡേർഡിലേക്ക് ISO ഒരു ഭേദഗതി പ്രസിദ്ധീകരിച്ചു. 1992-ൽ, ISO സ്റ്റാൻഡേർഡിന്റെ ആദ്യത്തെ ഗണ്യമായി പരിഷ്കരിച്ച പതിപ്പ്, ചിലപ്പോൾ SQL2 അല്ലെങ്കിൽ SQL-92 എന്ന് വിളിക്കപ്പെട്ടു. ഈ സ്റ്റാൻഡേർഡിൽ ചില ഫംഗ്‌ഷനുകൾ ആദ്യമായി നിർവചിക്കപ്പെട്ടിട്ടുണ്ടെങ്കിലും, അവയിൽ പലതും ഇതിനകം പൂർണ്ണമായോ ഭാഗികമായോ SQL ഭാഷയുടെ ഒന്നോ അതിലധികമോ വാണിജ്യ നിർവ്വഹണങ്ങളിൽ നടപ്പിലാക്കിയിട്ടുണ്ട്.

സ്റ്റാൻഡേർഡിന്റെ അടുത്ത പതിപ്പ്, സാധാരണയായി SQL3 എന്ന് വിളിക്കപ്പെടുന്നു, 1999 ൽ മാത്രമാണ് പുറത്തിറങ്ങിയത്. ഈ പതിപ്പ് ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് ഡാറ്റ മാനേജ്മെന്റ് ഫീച്ചറുകൾക്ക് അധിക പിന്തുണ നൽകുന്നു.

വാണിജ്യ നിർവ്വഹണങ്ങളുടെ ഡെവലപ്പർമാർ ഭാഷാ നിലവാരത്തിലേക്ക് ചേർക്കുന്ന പ്രവർത്തനങ്ങളെ വിപുലീകരണങ്ങൾ എന്ന് വിളിക്കുന്നു. ഉദാഹരണത്തിന്, SQL ഭാഷാ സ്റ്റാൻഡേർഡ് ഡാറ്റാബേസുകളിൽ സൂക്ഷിക്കാൻ കഴിയുന്ന ആറ് വ്യത്യസ്ത തരം ഡാറ്റ നിർവചിക്കുന്നു. പല നിർവ്വഹണങ്ങളിലും, ഈ ലിസ്റ്റ് വിവിധ വിപുലീകരണങ്ങളാൽ സപ്ലിമെന്റ് ചെയ്യപ്പെടുന്നു. ഒരു ഭാഷയുടെ ഓരോ പ്രയോഗത്തെയും ഒരു ഭാഷാഭേദം എന്ന് വിളിക്കുന്നു. പൂർണ്ണമായും സമാനമായ രണ്ട് ഭാഷകളൊന്നുമില്ല, കൂടാതെ ഐഎസ്ഒ സ്റ്റാൻഡേർഡുമായി പൂർണ്ണമായും പൊരുത്തപ്പെടുന്ന ഒരു ഭാഷയും നിലവിൽ ഇല്ല.

കൂടാതെ, ഡാറ്റാബേസ് ഡവലപ്പർമാർ അവരുടെ സിസ്റ്റങ്ങളിലേക്ക് പുതിയ പ്രവർത്തനം ചേർക്കുന്നതിനാൽ, അവർ SQL-ന്റെ ഭാഷകൾ തുടർച്ചയായി വികസിപ്പിക്കുകയും വ്യക്തിഗത ഭാഷകൾ പരസ്പരം കൂടുതൽ കൂടുതൽ വ്യത്യസ്തമാക്കുകയും ചെയ്യുന്നു. എന്നിരുന്നാലും, എല്ലാ നടപ്പാക്കലുകളിലും SQL ഭാഷയുടെ അടിസ്ഥാന കാമ്പ് കൂടുതലോ കുറവോ സ്റ്റാൻഡേർഡ് ആയി തുടരുന്നു.

SQL ഭാഷയുടെ യഥാർത്ഥ ആശയങ്ങൾ വികസിപ്പിച്ചെടുത്തത് IBM ആണെങ്കിലും, അതിന്റെ പ്രാധാന്യം ഉടൻ തന്നെ മറ്റ് ഡെവലപ്പർമാരെ സൃഷ്ടിക്കാൻ പ്രേരിപ്പിച്ചു. സ്വന്തം നടപ്പാക്കലുകൾ. നിലവിൽ, SQL ഭാഷ ഉപയോഗിച്ച് നിർമ്മിച്ച നൂറുകണക്കിന് ഉൽപ്പന്നങ്ങൾ വിപണിയിൽ ലഭ്യമാണ്, കൂടാതെ കൂടുതൽ കൂടുതൽ പുതിയ പതിപ്പുകളുടെ പ്രകാശനത്തെക്കുറിച്ച് ഞങ്ങൾ നിരന്തരം കേൾക്കുന്നു,

വിവിധ തരത്തിലുള്ള നിരവധി കമ്പ്യൂട്ടർ സിസ്റ്റങ്ങളിൽ പ്രവർത്തിക്കാൻ കഴിയുന്ന ഡാറ്റാബേസുകൾ. തീർച്ചയായും, അതിന്റെ സഹായത്തോടെ, ഉപയോക്താക്കൾക്ക് അവർ ഒരു പേഴ്‌സണൽ കമ്പ്യൂട്ടറിലോ നെറ്റ്‌വർക്ക് വർക്ക്‌സ്റ്റേഷനിലോ മെയിൻഫ്രെയിമിലോ പ്രവർത്തിക്കുന്നുണ്ടോ എന്നത് പരിഗണിക്കാതെ തന്നെ ഡാറ്റ കൈകാര്യം ചെയ്യാൻ കഴിയും.

റിലേഷണൽ ഡാറ്റ മോഡലിന്റെ വികസനത്തിന്റെ ഫലമായി ഉയർന്നുവന്ന ഭാഷകളിലൊന്നാണ് SQL ഭാഷ (ഘടനാപരമായ അന്വേഷണ ഭാഷ), അത് ഇപ്പോൾ വളരെ വ്യാപകമാവുകയും യഥാർത്ഥത്തിൽ ആയിത്തീരുകയും ചെയ്തു. സാധാരണ ഭാഷ റിലേഷണൽ ഡാറ്റാബേസുകൾ. സ്റ്റാൻഡേർഡ് SQL 1986-ൽ അമേരിക്കൻ നാഷണൽ സ്റ്റാൻഡേർഡ് ഇൻസ്റ്റിറ്റ്യൂട്ട് (ANSI) പുറത്തിറക്കി, 1987-ൽ ഇന്റർനാഷണൽ സ്റ്റാൻഡേർഡ് ഓർഗനൈസേഷൻ (ISO) അന്താരാഷ്ട്രതലത്തിൽ അംഗീകരിച്ചു. നിലവിലെ SQL നിലവാരം SQL/92 എന്നാണ് അറിയപ്പെടുന്നത്.

ഏതെങ്കിലും മാനദണ്ഡങ്ങളുടെ ഉപയോഗം നിരവധി വ്യക്തമായ ഗുണങ്ങളുമായി മാത്രമല്ല, ചില ദോഷങ്ങളുമായും ബന്ധപ്പെട്ടിരിക്കുന്നു. ഒന്നാമതായി, മാനദണ്ഡങ്ങൾ പ്രസക്തമായ വ്യവസായത്തിന്റെ വികസനത്തെ ഒരു നിശ്ചിത ദിശയിലേക്ക് നയിക്കുന്നു; SQL ഭാഷയുടെ കാര്യത്തിൽ, ശക്തമായ അടിസ്ഥാന തത്വങ്ങൾ ആത്യന്തികമായി അതിന്റെ വ്യത്യസ്ത നിർവ്വഹണങ്ങൾ തമ്മിലുള്ള പൊരുത്തത്തിലേക്ക് നയിക്കുകയും പോർട്ടബിലിറ്റി വർദ്ധിപ്പിക്കാൻ സഹായിക്കുകയും ചെയ്യുന്നു. സോഫ്റ്റ്വെയർകൂടാതെ പൊതുവായി ഡാറ്റാബേസുകളും, ഡാറ്റാബേസ് അഡ്മിനിസ്ട്രേറ്റർമാരുടെ പ്രവർത്തനത്തിന്റെ വൈവിധ്യവും. മറുവശത്ത്, മാനദണ്ഡങ്ങൾ ഒരു പ്രത്യേക നടപ്പാക്കലിന്റെ വഴക്കവും പ്രവർത്തനക്ഷമതയും പരിമിതപ്പെടുത്തുന്നു. താഴെ ഭാഷ നടപ്പാക്കൽ SQL മനസ്സിലായി സോഫ്റ്റ്വെയർഅനുബന്ധ നിർമ്മാതാവിന്റെ SQL. പ്രവർത്തനക്ഷമത വിപുലീകരിക്കുന്നതിന്, അംഗീകൃത മാനദണ്ഡങ്ങൾ പാലിക്കുന്ന നിരവധി ഡവലപ്പർമാർ കൂട്ടിച്ചേർക്കുന്നു സാധാരണ ഭാഷ SQL വിവിധ വിപുലീകരണങ്ങൾ. സ്റ്റാൻഡേർഡുകൾക്ക് ഏതെങ്കിലും പൂർത്തീകരണം ആവശ്യമാണെന്നത് ശ്രദ്ധിക്കേണ്ടതാണ് ഭാഷാ നടപ്പാക്കലുകൾചില സ്വഭാവസവിശേഷതകളുടെ SQL സാന്നിധ്യം പൊതുവായ രൂപരേഖമത്സരിക്കുന്ന എല്ലാ നടപ്പാക്കലുകളും തമ്മിലുള്ള അനുയോജ്യതയിലേക്ക് നയിക്കുന്ന പ്രധാന പ്രവണതകളെ പ്രതിഫലിപ്പിക്കുക മാത്രമല്ല, SQL പ്രോഗ്രാമർമാരുടെയും ഉപയോക്താക്കളുടെയും മൂല്യം വർദ്ധിപ്പിക്കാൻ സഹായിക്കുകയും ചെയ്യുന്നു റിലേഷണൽ ഡാറ്റാബേസുകൾഓൺ ആധുനിക വിപണിസോഫ്റ്റ്വെയർ.

എല്ലാം പ്രത്യേകം ഭാഷാ നടപ്പാക്കലുകൾപരസ്പരം കുറച്ച് വ്യത്യസ്തമാണ്. പോർട്ടബിലിറ്റിക്കും ഉപയോക്തൃ അനുഭവത്തിനുമുള്ള നിലവിലെ ANSI മാനദണ്ഡങ്ങൾ പാലിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുന്നത് നിർമ്മാതാക്കളുടെ ഏറ്റവും മികച്ച താൽപ്പര്യമാണ്. എന്നിരുന്നാലും, SQL-ന്റെ ഓരോ നിർവ്വഹണത്തിലും ഒരു പ്രത്യേക ഡാറ്റാബേസ് സെർവറിന്റെ ആവശ്യകതകൾ നിറവേറ്റുന്നതിനുള്ള മെച്ചപ്പെടുത്തലുകൾ അടങ്ങിയിരിക്കുന്നു. SQL ഭാഷയിലേക്കുള്ള ഈ മെച്ചപ്പെടുത്തലുകളോ വിപുലീകരണങ്ങളോ അധിക കമാൻഡുകളും ഓപ്ഷനുകളുമാണ്, അവ സ്റ്റാൻഡേർഡ് പാക്കേജിലേക്കുള്ള കൂട്ടിച്ചേർക്കലുകളും ആ പ്രത്യേക നടപ്പാക്കലിൽ ലഭ്യമാണ്.

നിലവിൽ, പേഴ്‌സണൽ കമ്പ്യൂട്ടറുകൾ മുതൽ മെയിൻഫ്രെയിമുകൾ വരെയുള്ള വൈവിധ്യമാർന്ന കമ്പ്യൂട്ടിംഗ് പ്ലാറ്റ്‌ഫോമുകൾക്കായി വികസിപ്പിച്ചെടുത്ത വിവിധ തരത്തിലുള്ള ഡസൻ കണക്കിന് DBMS-കൾ SQL ഭാഷയെ പിന്തുണയ്ക്കുന്നു.

എല്ലാ ഡാറ്റ കൃത്രിമ ഭാഷകളും വരുന്നതിന് മുമ്പ് നിരവധി ഡിബിഎംഎസുകൾക്കായി സൃഷ്ടിച്ചു റിലേഷണൽ ഡാറ്റാബേസുകൾ, ലോജിക്കൽ ഫയൽ റെക്കോർഡുകളുടെ രൂപത്തിൽ അവതരിപ്പിച്ച ഡാറ്റയുള്ള പ്രവർത്തനങ്ങളിൽ ശ്രദ്ധ കേന്ദ്രീകരിച്ചു. തീർച്ചയായും, ഇതിന് ഉപയോക്താവിന് ഡാറ്റ സ്റ്റോറേജ് ഓർഗനൈസേഷനെക്കുറിച്ചുള്ള വിശദമായ അറിവും ഏത് ഡാറ്റയാണ് ആവശ്യമുള്ളത്, എവിടെയാണ് അത് സ്ഥിതിചെയ്യുന്നത്, അത് എങ്ങനെ നേടാം എന്നിവ വ്യക്തമാക്കാനുള്ള ഗൗരവമായ പരിശ്രമവും ആവശ്യമാണ്.

പരിഗണനയിലുള്ള SQL ഭാഷ, ലോജിക്കലായി പരസ്പരം ബന്ധിപ്പിച്ചിട്ടുള്ള റിലേഷൻ ടേബിളുകളുടെ രൂപത്തിൽ അവതരിപ്പിച്ചിരിക്കുന്ന ഡാറ്റയുള്ള പ്രവർത്തനങ്ങളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു. പ്രധാന സവിശേഷതഅതിന്റെ ഘടനകൾ ഡാറ്റ പ്രോസസ്സിംഗിന്റെ അന്തിമ ഫലത്തിലാണ് ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നത്, അല്ലാതെ ഈ പ്രോസസ്സിംഗിന്റെ നടപടിക്രമത്തിലല്ല. SQL ഭാഷ തന്നെ ഡാറ്റ എവിടെയാണ്, സൂചികകൾ, കൂടാതെ ഫലം ലഭിക്കുന്നതിന് ഏറ്റവും കാര്യക്ഷമമായ പ്രവർത്തനങ്ങളുടെ ക്രമം എന്നിവപോലും നിർണ്ണയിക്കുന്നു, അതിനാൽ ഡാറ്റാബേസ് അന്വേഷണത്തിൽ ഈ വിശദാംശങ്ങൾ വ്യക്തമാക്കേണ്ട ആവശ്യമില്ല.

ക്ലയന്റ്-സെർവർ സാങ്കേതികവിദ്യയിലേക്കുള്ള ആമുഖം

വിവര സേവന വിപണിയുടെ വികാസവുമായി ബന്ധപ്പെട്ട്, സോഫ്റ്റ്വെയർ നിർമ്മാതാക്കൾ കൂടുതൽ കൂടുതൽ ബുദ്ധിശക്തിയുള്ളതും അതിനാൽ കൂടുതൽ വലുതുമായ ഉൽപ്പാദനം ആരംഭിച്ചു. സോഫ്റ്റ്വെയർ സിസ്റ്റങ്ങൾ. നിരവധി സംഘടനകളും വ്യക്തിഗത ഉപയോക്താക്കൾപലപ്പോഴും അവരുടെ സ്വന്തം കമ്പ്യൂട്ടറുകളിൽ വാങ്ങിയ ഉൽപ്പന്നങ്ങൾ സ്ഥാപിക്കാൻ കഴിഞ്ഞില്ല. വിവരങ്ങളുടെ കൈമാറ്റത്തിനും അതിന്റെ വിതരണത്തിനുമായി, കമ്പ്യൂട്ടർ നെറ്റ്‌വർക്കുകൾ സൃഷ്ടിക്കപ്പെട്ടു, കൂടാതെ പ്രോഗ്രാമുകളും ഡാറ്റയും പ്രത്യേക ഫയൽ സെർവറുകളിൽ ഇൻസ്റ്റാൾ ചെയ്യാൻ തുടങ്ങി.

ഫയൽ സെർവറുകളിൽ പ്രവർത്തിക്കുന്ന ഡിബിഎംഎസുകൾക്ക് നന്ദി, നിരവധി ഉപയോക്താക്കൾക്ക് ഒരേ ഡാറ്റാബേസുകളിലേക്ക് ആക്സസ് ഉണ്ട്. വിവിധ വികസനം ലളിതമാക്കുന്നു ഓട്ടോമേറ്റഡ് സിസ്റ്റങ്ങൾസംഘടനകളുടെ മാനേജ്മെന്റ്. എന്നിരുന്നാലും, ഈ സമീപനത്തിലൂടെ, പ്രോഗ്രാമുകളിൽ നിന്നോ ഉപയോക്തൃ കമ്പ്യൂട്ടർ ടെർമിനലുകളിൽ നിന്നോ ഉള്ള അഭ്യർത്ഥനകളുടെ എല്ലാ പ്രോസസ്സിംഗും അവയിൽ നടപ്പിലാക്കുന്നു, അതിനാൽ പോലും നടപ്പിലാക്കാൻ ലളിതമായ അഭ്യർത്ഥനഎന്നതിൽ നിന്ന് വായിക്കണം ഫയൽ സെർവർഅല്ലെങ്കിൽ അതിലേക്ക് മുഴുവൻ ഫയലുകളും എഴുതുക, ഇത് നയിക്കുന്നു സംഘർഷ സാഹചര്യങ്ങൾനെറ്റ്‌വർക്ക് തിരക്കും. ഈ പോരായ്മകൾ ഇല്ലാതാക്കാൻ, അത് നിർദ്ദേശിച്ചു ക്ലയന്റ്-സെർവർ സാങ്കേതികവിദ്യ, എന്നാൽ അതേ സമയം സെർവറുമായി ആശയവിനിമയം നടത്തുന്നതിന് ഒരു പൊതു ഭാഷ ആവശ്യമാണ് - തിരഞ്ഞെടുപ്പ് SQL-ൽ പതിച്ചു.

ക്ലയന്റ്-സെർവർ സാങ്കേതികവിദ്യഈ പാരസ്‌പര്യ മാർഗം എന്നാണ് അർത്ഥമാക്കുന്നത് സോഫ്റ്റ്വെയർ ഘടകങ്ങൾ, അതിൽ അവർ ഒരൊറ്റ സംവിധാനം ഉണ്ടാക്കുന്നു. പേര് സൂചിപ്പിക്കുന്നത് പോലെ, ആവശ്യമായ ഒരു ക്ലയന്റ് പ്രക്രിയയുണ്ട് ചില വിഭവങ്ങൾ, ഒപ്പം സെർവർ പ്രക്രിയ, ഈ വിഭവങ്ങൾ നൽകുന്നു. അവർ ഒരേ കമ്പ്യൂട്ടറിൽ ആയിരിക്കണമെന്നില്ല. പ്രാദേശിക നെറ്റ്‌വർക്കിന്റെ ഒരു നോഡിലും ക്ലയന്റുകൾ മറ്റ് നോഡുകളിലും സെർവർ സ്ഥാപിക്കുന്നത് സാധാരണമാണ്.

ഒരു ഡാറ്റാബേസ് സന്ദർഭത്തിൽ, ക്ലയന്റ് നിയന്ത്രിക്കുന്നു ഉപയോക്തൃ ഇന്റർഫേസ്ഡാറ്റാബേസ് ആപ്ലിക്കേഷനുകൾ പ്രവർത്തിപ്പിക്കുന്ന ഒരു വർക്ക്സ്റ്റേഷനായി പ്രവർത്തിക്കുന്ന ആപ്ലിക്കേഷൻ ലോജിക്കും. ക്ലയന്റ് ഉപയോക്താവിൽ നിന്നുള്ള ഒരു അഭ്യർത്ഥന സ്വീകരിക്കുകയും വാക്യഘടന പരിശോധിക്കുകയും SQL-ലോ ആപ്ലിക്കേഷൻ ലോജിക്കിന് അനുയോജ്യമായ മറ്റൊരു ഡാറ്റാബേസ് ഭാഷയിലോ ഒരു ഡാറ്റാബേസ് അന്വേഷണം സൃഷ്ടിക്കുകയും ചെയ്യുന്നു. അത് സെർവറിലേക്ക് ഒരു സന്ദേശം അയയ്ക്കുകയും പ്രതികരണത്തിനായി കാത്തിരിക്കുകയും ഉപയോക്താവിന് അവതരണത്തിനായി സ്വീകരിച്ച ഡാറ്റ ഫോർമാറ്റ് ചെയ്യുകയും ചെയ്യുന്നു. സെർവർ ഡാറ്റാബേസിലേക്കുള്ള അഭ്യർത്ഥനകൾ സ്വീകരിക്കുകയും പ്രോസസ്സ് ചെയ്യുകയും ചെയ്യുന്നു, തുടർന്ന് ഫലങ്ങൾ ക്ലയന്റിലേക്ക് തിരികെ അയയ്ക്കുന്നു. ഈ പ്രോസസ്സിംഗിൽ ക്ലയന്റ് ക്രെഡൻഷ്യലുകൾ പരിശോധിക്കുന്നതും സമഗ്രത ആവശ്യകതകൾ ഉറപ്പാക്കുന്നതും അഭ്യർത്ഥന നിറവേറ്റുന്നതും ഡാറ്റ അപ്‌ഡേറ്റ് ചെയ്യുന്നതും ഉൾപ്പെടുന്നു. കൂടാതെ, കൺകറൻസി നിയന്ത്രണവും വീണ്ടെടുക്കലും പിന്തുണയ്ക്കുന്നു.

ക്ലയന്റ്-സെർവർ ആർക്കിടെക്ചറിന് നിരവധി ഗുണങ്ങളുണ്ട്.

നിങ്ങൾ പ്രോഗ്രാമിംഗിൽ പുതിയ ആളാണോ അതോ മുൻകാലങ്ങളിൽ SQL പഠിക്കുന്നത് ഒഴിവാക്കിയിട്ടുണ്ടോ? അപ്പോൾ നിങ്ങൾ കണ്ടുമുട്ടി ശരിയായ വിലാസത്തിലേക്ക്, ഏതൊരു ഡവലപ്പറും ഒടുവിൽ ഈ അന്വേഷണ ഭാഷ അറിയേണ്ടതിന്റെ ആവശ്യകതയെ അഭിമുഖീകരിക്കുന്നു. നിങ്ങൾ പ്രധാന ഡാറ്റാബേസ് ഡിസൈനർ ആയിരിക്കില്ല, പക്ഷേ അവരുമായി പ്രവർത്തിക്കുന്നത് ഒഴിവാക്കുന്നത് മിക്കവാറും അസാധ്യമാണ്. ഞാൻ ഇത് പ്രതീക്ഷിക്കുന്നു ചെറിയ അവലോകനംഅടിസ്ഥാന SQL അന്വേഷണങ്ങളുടെ വാക്യഘടന താൽപ്പര്യമുള്ള ഡെവലപ്പറെയും അത് ആവശ്യമുള്ള ആർക്കും സഹായിക്കും.

എന്താണ് ഒരു SQL ഡാറ്റാബേസ്?

സ്ട്രക്ചേഡ് ക്വയറി ലാംഗ്വേജ് ( എസ്ഘടനാപരമായ ക്യു uery എൽ anguage) എന്നത് ANSI പിന്തുണയ്ക്കുന്ന ഒരു ഡാറ്റാബേസ് കമ്മ്യൂണിക്കേഷൻ സ്റ്റാൻഡേർഡാണ്. ഏറ്റവും പുതിയ പതിപ്പ്- SQL-99, ഒരു പുതിയ മാനദണ്ഡം ഇതിനകം വികസിപ്പിച്ചുകൊണ്ടിരിക്കുകയാണെങ്കിലും. മിക്ക ഡാറ്റാബേസുകളും ANSI-92 സ്റ്റാൻഡേർഡിനോട് ഉറച്ചുനിൽക്കുന്നു. കൂടുതൽ പരിചയപ്പെടുത്തുന്നതിനെക്കുറിച്ച് ധാരാളം ചർച്ചകൾ നടന്നിട്ടുണ്ട് ആധുനിക മാനദണ്ഡങ്ങൾ, എന്നാൽ സംഭരിച്ച ഡാറ്റ സംഭരിക്കുന്നതിനുള്ള പുതിയ ആശയങ്ങളുമായി വാണിജ്യ ഡാറ്റാബേസ് വെണ്ടർമാർ ഇതിൽ നിന്ന് മാറുകയാണ്. മിക്കവാറും എല്ലാ ഡാറ്റാബേസും ചിലത് ഉപയോഗിക്കുന്നു അതുല്യമായ സെറ്റ്വാക്യഘടന, ANSI നിലവാരവുമായി വളരെ സാമ്യമുള്ളതാണെങ്കിലും. മിക്ക കേസുകളിലും, ഈ വാക്യഘടന അടിസ്ഥാന സ്റ്റാൻഡേർഡിന്റെ ഒരു വിപുലീകരണമാണ്, എന്നിരുന്നാലും ഈ വാക്യഘടന വ്യത്യസ്ത ഡാറ്റാബേസുകൾക്കായി വ്യത്യസ്ത ഫലങ്ങൾ പുറപ്പെടുവിക്കുന്ന സന്ദർഭങ്ങളുണ്ട്. ഡാറ്റാബേസ് ഡോക്യുമെന്റേഷൻ അവലോകനം ചെയ്യുന്നത് എല്ലായ്പ്പോഴും നല്ല ആശയമാണ്, പ്രത്യേകിച്ചും നിങ്ങൾക്ക് അപ്രതീക്ഷിത ഫലങ്ങൾ ലഭിക്കുകയാണെങ്കിൽ.

നിങ്ങൾ SQL-ൽ പുതിയ ആളാണെങ്കിൽ, നിങ്ങൾ മനസ്സിലാക്കേണ്ട ചില അടിസ്ഥാന ആശയങ്ങളുണ്ട്.

പൊതുവായി പറഞ്ഞാൽ, ഒരു "ഡാറ്റാബേസ്" ആണ് പൊതുവായ പേര്വേണ്ടി റിലേഷണൽ സിസ്റ്റംഡാറ്റാബേസ് മാനേജ്മെന്റ്(RDBMS). ചില സിസ്റ്റങ്ങൾക്ക്, "ഡാറ്റാബേസ്" എന്നത് അന്തർലീനമായ ഒരു കൂട്ടം പട്ടികകൾ, ഡാറ്റ, കോൺഫിഗറേഷൻ വിവരങ്ങൾ എന്നിവയെ സൂചിപ്പിക്കുന്നു. പ്രത്യേക ഭാഗംസമാനമായ മറ്റ് ഡിസൈനുകളിൽ നിന്ന്. ഈ സാഹചര്യത്തിൽ, ഓരോ ഇൻസ്റ്റാളേഷനും SQL ഡാറ്റാബേസ്ഡാറ്റയിൽ നിരവധി ഡാറ്റാബേസുകൾ അടങ്ങിയിരിക്കാം. മറ്റ് സിസ്റ്റങ്ങളിൽ, അവയെ പട്ടികകൾ എന്ന് വിളിക്കുന്നു.

അടങ്ങുന്ന ഒരു ഡാറ്റാബേസ് ഘടനയാണ് പട്ടിക നിരകൾഅടങ്ങുന്ന ലൈനുകൾഡാറ്റ. സാധാരണയായി പട്ടികകൾ ഉൾക്കൊള്ളുന്ന തരത്തിലാണ് സൃഷ്ടിക്കുന്നത് ബന്ധപ്പെട്ട വിവരങ്ങൾ. ഒരേ ഡാറ്റാബേസിൽ ഒന്നിലധികം പട്ടികകൾ സൃഷ്ടിക്കാൻ കഴിയും.

ഓരോ നിരയും ജീവനക്കാരുടെ തിരിച്ചറിയൽ നമ്പറുകൾ, ഉയരം, കാറിന്റെ നിറം മുതലായവ പോലുള്ള ഒബ്‌ജക്റ്റുകളുടെ ഒരു ആട്രിബ്യൂട്ടിനെയോ ആട്രിബ്യൂട്ടുകളുടെ ഒരു കൂട്ടത്തെയോ പ്രതിനിധീകരിക്കുന്നു. ഒരു നിരയെ സൂചിപ്പിക്കാൻ പലപ്പോഴും ഉപയോഗിക്കുന്ന പദം വയൽപേര് സൂചിപ്പിക്കുന്നു, ഉദാഹരണത്തിന് "പേര് ഫീൽഡിൽ". സ്ട്രിംഗ് ഫീൽഡ് ആണ് ഏറ്റവും കുറഞ്ഞ ഘടകംപട്ടികകൾ. ഒരു പട്ടികയിലെ ഓരോ കോളത്തിനും ഒരു നിർദ്ദിഷ്ട പേര്, ഡാറ്റ തരം, വലിപ്പം എന്നിവയുണ്ട്. നിരയുടെ പേരുകൾ പട്ടികയിൽ അദ്വിതീയമായിരിക്കണം.

ഓരോ വരിയും (അല്ലെങ്കിൽ റെക്കോർഡ്) ഒരു നിർദ്ദിഷ്ട വസ്തുവിന്റെ ആട്രിബ്യൂട്ടുകളുടെ ഒരു ശേഖരത്തെ പ്രതിനിധീകരിക്കുന്നു, ഉദാഹരണത്തിന്, ഒരു വരിയിൽ അടങ്ങിയിരിക്കാം ഒരു തിരിച്ചറിയൽ നമ്പർജീവനക്കാരൻ, അവന്റെ ശമ്പളത്തിന്റെ തുക, അവന്റെ ജനന വർഷം മുതലായവ. പട്ടിക വരികൾക്ക് പേരുകളില്ല. ഒരു നിർദ്ദിഷ്‌ട വരി ആക്‌സസ് ചെയ്യുന്നതിന്, ഉപയോക്താവ് അതിനെ അദ്വിതീയമായി തിരിച്ചറിയുന്ന ചില ആട്രിബ്യൂട്ട് (അല്ലെങ്കിൽ ആട്രിബ്യൂട്ടുകളുടെ ഒരു കൂട്ടം) വ്യക്തമാക്കണം.

അതിലൊന്ന് നിർണായക പ്രവർത്തനങ്ങൾ, ഡാറ്റയുമായി പ്രവർത്തിക്കുമ്പോൾ നടപ്പിലാക്കുന്നത്, ഡാറ്റാബേസിൽ സംഭരിച്ചിരിക്കുന്ന വിവരങ്ങളുടെ തിരഞ്ഞെടുപ്പാണ്. ഇത് ചെയ്യുന്നതിന്, ഉപയോക്താവ് എക്സിക്യൂട്ട് ചെയ്യണം അഭ്യർത്ഥന(ചോദ്യം).

ഡാറ്റാബേസിനുള്ളിൽ ഡാറ്റ കൈകാര്യം ചെയ്യുന്നതിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്ന ഡാറ്റാബേസ് അന്വേഷണങ്ങളുടെ പ്രധാന തരങ്ങൾ ഇപ്പോൾ നോക്കാം. ഞങ്ങളുടെ ആവശ്യങ്ങൾക്ക്, ഏത് പരിതസ്ഥിതിക്കും അനുയോജ്യമായ എല്ലാ ഉദാഹരണങ്ങളും സ്റ്റാൻഡേർഡ് SQL-ൽ നൽകിയിരിക്കുന്നു.

ഡാറ്റാ ചോദ്യങ്ങളുടെ തരങ്ങൾ

SQL-ൽ പ്രധാനമായും നാല് തരം ഡാറ്റാ അന്വേഷണങ്ങളുണ്ട്, അവയെ ഇങ്ങനെ വിളിക്കുന്നു ഡാറ്റ കൃത്രിമ ഭാഷ(ഡാറ്റ മാനിപുലേഷൻ ലാംഗ്വേജ് അല്ലെങ്കിൽ ഡിഎംഎൽ):

  • തിരഞ്ഞെടുക്കുക- പട്ടികകളിൽ നിന്ന് വരികൾ തിരഞ്ഞെടുക്കുക;
  • തിരുകുക- പട്ടികയിലേക്ക് വരികൾ ചേർക്കുക;
  • അപ്ഡേറ്റ് ചെയ്യുക- പട്ടികയിലെ വരികൾ മാറ്റുക;
  • ഇല്ലാതാക്കുക- പട്ടികയിലെ വരികൾ ഇല്ലാതാക്കുക;

ഈ ഓരോ ചോദ്യത്തിനും ഉണ്ട് വിവിധ ഓപ്പറേറ്റർമാർഡാറ്റ ഉപയോഗിച്ച് ചില പ്രവർത്തനങ്ങൾ നടത്താൻ ഉപയോഗിക്കുന്ന ഫംഗ്ഷനുകളും. SELECT എന്ന ചോദ്യത്തിനാണ് ഏറ്റവും കൂടുതൽ ഉള്ളത് ഒരു വലിയ സംഖ്യഓപ്ഷനുകൾ. അത് കൂടാതെ അധിക തരങ്ങൾ JOIN, UNION എന്നിവ പോലെയുള്ള SELECT എന്നതിനൊപ്പം ഉപയോഗിക്കുന്ന അന്വേഷണങ്ങൾ. എന്നാൽ ഇപ്പോൾ, ഞങ്ങൾ അടിസ്ഥാന അന്വേഷണങ്ങളിൽ മാത്രം ശ്രദ്ധ കേന്ദ്രീകരിക്കും.

നിങ്ങൾക്ക് ആവശ്യമുള്ള ഡാറ്റ തിരഞ്ഞെടുക്കാൻ ഒരു SELECT ചോദ്യം ഉപയോഗിക്കുന്നു

ഡാറ്റാബേസിൽ സംഭരിച്ചിരിക്കുന്ന വിവരങ്ങൾ വീണ്ടെടുക്കുന്നതിന്, ഒരു SELECT ചോദ്യം ഉപയോഗിക്കുന്നു. അടിസ്ഥാന പ്രവർത്തനംഒരേസമയം ഒന്നിലധികം ടേബിളുകളിൽ നിന്ന് സാമ്പിൾ എടുക്കാൻ അനുവദിക്കുന്ന ഡിസൈനുകൾ ഉണ്ടെങ്കിലും ഈ അന്വേഷണം ഒരു ടേബിളിൽ മാത്രമായി പരിമിതപ്പെടുത്തിയിരിക്കുന്നു. നിർദ്ദിഷ്‌ട കോളങ്ങൾക്കായുള്ള ഡാറ്റയുടെ എല്ലാ വരികളും ലഭിക്കുന്നതിന്, ഇതുപോലുള്ള ഒരു ചോദ്യം ഉപയോഗിക്കുന്നു:

പട്ടിക_പേരിൽ നിന്ന് കോളം1, കോളം2 തിരഞ്ഞെടുക്കുക;

കൂടാതെ, ഒരു പട്ടികയിൽ നിന്ന് നിങ്ങൾക്ക് എല്ലാ നിരകളും ഉപയോഗിച്ച് ലഭിക്കും വൈൽഡ്കാർഡ് *:

പട്ടിക_പേരിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക;

നിങ്ങൾ ഒരു നിർദ്ദിഷ്ട WHERE ക്ലോസ് ഉപയോഗിച്ച് ഡാറ്റ തിരഞ്ഞെടുക്കാൻ പോകുമ്പോൾ ഇത് ഉപയോഗപ്രദമാകും. "column1" എന്നതിൽ "3" മൂല്യം അടങ്ങിയിരിക്കുന്ന എല്ലാ വരികളിൽ നിന്നുമുള്ള എല്ലാ നിരകളും ഇനിപ്പറയുന്ന അന്വേഷണം നൽകും:

= (തുല്യം) കൂടാതെ, ഇനിപ്പറയുന്ന സോപാധിക ഓപ്പറേറ്റർമാർ ഉണ്ട്:

കൂടാതെ, WHERE അവസ്ഥയുമായി താരതമ്യം ചെയ്യാൻ നിങ്ങൾക്ക് BITWEEN, LIKE വ്യവസ്ഥകൾ ഉപയോഗിക്കാം, കൂടാതെ AND അല്ലെങ്കിൽ OR ഓപ്പറേറ്റർമാരുടെ കോമ്പിനേഷനുകളും.

റഷ്യൻ ഭാഷയിലേക്ക് വിവർത്തനം ചെയ്‌തത് അർത്ഥമാക്കുന്നത്: ടേബിൾ_നെയിം ടേബിളിൽ നിന്ന് എല്ലാ വരികളും തിരഞ്ഞെടുക്കുക, പ്രായ നിരയുടെ മൂല്യം 18-നേക്കാൾ കൂടുതലോ അതിന് തുല്യമോ ആണ്, കൂടാതെ ലാസ്റ്റ് നെയിം കോളത്തിന്റെ മൂല്യം ഇവാനോവ് മുതൽ സിഡോറോവ് വരെയുള്ള അക്ഷരമാലാ ക്രമത്തിലാണ്, അല്ലെങ്കിൽ കമ്പനി കോളത്തിന്റെ മൂല്യം മോട്ടറോളയാണ്.

പുതിയ ഡാറ്റ ചേർക്കാൻ ഒരു INSERT ചോദ്യം ഉപയോഗിക്കുന്നു

INSERT ചോദ്യം ഉപയോഗിക്കുന്നു സൃഷ്ടി പുതിയ വരഡാറ്റ. നിലവിലുള്ള ഡാറ്റ അല്ലെങ്കിൽ ശൂന്യമായ വരി ഫീൽഡുകൾ അപ്ഡേറ്റ് ചെയ്യുന്നതിന്, നിങ്ങൾ ഒരു അപ്ഡേറ്റ് ചോദ്യം ഉപയോഗിക്കണം.

ഉദാഹരണം INSERT അന്വേഷണ വാക്യഘടന:

പട്ടിക_നാമത്തിൽ ചേർക്കുക (നിര 1, കോളം2, കോളം3) മൂല്യങ്ങൾ ("ഡാറ്റ1", "ഡാറ്റ2", "ഡാറ്റ3");

പട്ടിക നിരകൾ ദൃശ്യമാകുന്ന ക്രമത്തിൽ നിങ്ങൾ എല്ലാ മൂല്യങ്ങളും ചേർക്കാൻ പോകുകയാണെങ്കിൽ, നിങ്ങൾക്ക് നിരയുടെ പേരുകൾ ഒഴിവാക്കാം, എന്നിരുന്നാലും ഇത് വായനാക്ഷമതയ്ക്ക് നല്ലതാണ്. കൂടാതെ, നിങ്ങൾ നിരകൾ ലിസ്റ്റുചെയ്യുകയാണെങ്കിൽ, നിങ്ങൾ നൽകുന്ന മൂല്യങ്ങൾ ആ ഓർഡറുമായി പൊരുത്തപ്പെടുന്നിടത്തോളം, അവ ഡാറ്റാബേസിൽ ദൃശ്യമാകുന്ന ക്രമത്തിൽ അവ ലിസ്റ്റുചെയ്യേണ്ടതില്ല. വിവരങ്ങൾ ഉൾക്കൊള്ളാത്ത കോളങ്ങൾ നിങ്ങൾ പട്ടികപ്പെടുത്തരുത്.

ഇതിനകം മാറിക്കൊണ്ടിരിക്കുന്നു നിലവിലുള്ള വിവരങ്ങൾഡാറ്റാബേസിൽ സമാനമായ രീതിയിൽ.

അന്വേഷണവും എവിടെ അവസ്ഥയും അപ്‌ഡേറ്റ് ചെയ്യുക

നിലവിലുള്ള മൂല്യങ്ങൾ മാറ്റുന്നതിനോ തുടർച്ചയായി ഒരു ഫീൽഡ് സ്വതന്ത്രമാക്കുന്നതിനോ അപ്‌ഡേറ്റ് ഉപയോഗിക്കുന്നു, അതിനാൽ പുതിയ മൂല്യങ്ങൾ പൊരുത്തപ്പെടണം നിലവിലുള്ള തരംഡാറ്റയും സ്വീകാര്യമായ മൂല്യങ്ങളും നൽകുക. എല്ലാ വരികളിലെയും മൂല്യങ്ങൾ മാറ്റാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നില്ലെങ്കിൽ, നിങ്ങൾ WHERE ക്ലോസ് ഉപയോഗിക്കേണ്ടതുണ്ട്.

നിങ്ങൾ മാറ്റാൻ ആഗ്രഹിക്കുന്ന കോളം ഉൾപ്പെടെ ഏത് കോളത്തിലും WHERE ഉപയോഗിക്കാം. ഒരു നിർദ്ദിഷ്ട മൂല്യം മറ്റൊന്നുമായി മാറ്റിസ്ഥാപിക്കേണ്ടത് ആവശ്യമായി വരുമ്പോൾ ഇത് ഉപയോഗിക്കുന്നു.

ശ്രദ്ധാലുവായിരിക്കുക! DELETE ചോദ്യം മുഴുവൻ വരികളും ഇല്ലാതാക്കുന്നു

ഒരു DELETE ചോദ്യം ഡാറ്റാബേസിൽ നിന്ന് ഒരു വരി പൂർണ്ണമായും ഇല്ലാതാക്കുന്നു. നിങ്ങൾക്ക് ഒരൊറ്റ ഫീൽഡ് ഇല്ലാതാക്കണമെങ്കിൽ, നിങ്ങൾ ഒരു അപ്‌ഡേറ്റ് അഭ്യർത്ഥന ഉപയോഗിക്കുകയും ഈ ഫീൽഡ് നിങ്ങളുടെ പ്രോഗ്രാമിലെ NULL ന് സമാനമായ മൂല്യത്തിലേക്ക് സജ്ജമാക്കുകയും വേണം. നിങ്ങളുടെ DELETE ചോദ്യം WHERE ക്ലോസിലേക്ക് പരിമിതപ്പെടുത്താൻ ശ്രദ്ധിക്കുക, അല്ലാത്തപക്ഷം പട്ടികയിലെ മുഴുവൻ ഉള്ളടക്കങ്ങളും നിങ്ങൾക്ക് നഷ്‌ടമായേക്കാം.

നിങ്ങളുടെ ഡാറ്റാബേസിൽ നിന്ന് ഒരു വരി ഇല്ലാതാക്കിക്കഴിഞ്ഞാൽ, അത് പുനഃസ്ഥാപിക്കാൻ കഴിയില്ല, അതിനാൽ "IsActive" എന്ന പേരിൽ ഒരു കോളം ഉണ്ടായിരിക്കുന്നതാണ് ഉചിതം, അല്ലെങ്കിൽ നിങ്ങൾക്ക് അസാധുവായതായി മാറ്റാൻ കഴിയും, ഇത് ഡാറ്റയുടെ കാഴ്ചയെ സൂചിപ്പിക്കുന്നു ആ വരി പൂട്ടിയിരിക്കുന്നു.

SQL ചോദ്യങ്ങളുടെ അടിസ്ഥാനകാര്യങ്ങൾ ഇപ്പോൾ നിങ്ങൾക്കറിയാം

SQL ഒരു ഡാറ്റാബേസ് ഭാഷയാണ്, ഡാറ്റാ അന്വേഷണങ്ങളിൽ ഉപയോഗിക്കുന്ന ഏറ്റവും പ്രധാനപ്പെട്ടതും അടിസ്ഥാനപരവുമായ കമാൻഡുകൾ ഞങ്ങൾ കവർ ചെയ്തിട്ടുണ്ട്. കവർ ചെയ്യാത്ത നിരവധി പ്രധാന ആശയങ്ങളുണ്ട് (ഉദാഹരണത്തിന് SUM, COUNT), എന്നാൽ മുകളിൽ ലിസ്റ്റ് ചെയ്യാൻ ഞങ്ങൾക്ക് കഴിഞ്ഞ കുറച്ച് കമാൻഡുകൾ നിങ്ങളെ സജീവമാക്കാനും SQL എന്ന അത്ഭുതകരമായ അന്വേഷണ ഭാഷയിലേക്ക് ആഴത്തിൽ പഠിക്കാനും പ്രോത്സാഹിപ്പിക്കും.

ഘടനാപരമായ അന്വേഷണ ഭാഷ അല്ലെങ്കിൽ SQLക്വാസി റിലേഷണൽ ഡാറ്റാബേസുകളിൽ ഉപയോഗിക്കുന്നതിനുള്ള ഒരു ഡിക്ലറേറ്റീവ് പ്രോഗ്രാമിംഗ് ഭാഷയാണ്. SQL-ന്റെ പല യഥാർത്ഥ സവിശേഷതകളും ട്യൂപ്പിൾ കാൽക്കുലസിൽ നിന്നാണ് എടുത്തത്, എന്നാൽ SQL-ലേക്കുള്ള സമീപകാല വിപുലീകരണങ്ങളിൽ കൂടുതൽ കൂടുതൽ റിലേഷണൽ ബീജഗണിതം ഉൾപ്പെടുന്നു.
SQL ആദ്യം സൃഷ്ടിച്ചത് IBM ആണ്, എന്നാൽ പല വെണ്ടർമാരും അവരുടെ സ്വന്തം ഭാഷകൾ വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്. അമേരിക്കൻ നാഷണൽ സ്റ്റാൻഡേർഡ് ഇൻസ്റ്റിറ്റ്യൂട്ട് (ANSI) 1986-ലും ISO 1987-ലും ഇത് ഒരു സ്റ്റാൻഡേർഡായി അംഗീകരിച്ചു. ഭാഷാ നിലവാരത്തിൽ SQL പ്രോഗ്രാമിംഗ്,SQL ന്റെ ഔദ്യോഗിക ഉച്ചാരണം "es qu el" ആണെന്ന് ANSI പ്രസ്താവിച്ചു. എന്നിരുന്നാലും, പല ഡാറ്റാബേസ് വിദഗ്ധരും "സ്ലാംഗ്" ഉച്ചാരണം "സീക്വൽ" ഉപയോഗിച്ചു, ഇത് ഭാഷയുടെ യഥാർത്ഥ നാമമായ സീക്വൽ പ്രതിഫലിപ്പിക്കുന്നു, ഇത് പിന്നീട് വൈരുദ്ധ്യം കാരണം മാറ്റി. ബ്രാൻഡുകൾഐബിഎമ്മിൽ നിന്നുള്ള പേരുകളും. തുടക്കക്കാർക്കുള്ള പ്രോഗ്രാമിംഗ്.
SQL പ്രോഗ്രാമിംഗ് ഭാഷ 1992-ൽ പരിഷ്കരിച്ചു, ഈ പതിപ്പ് SQL-92 എന്നറിയപ്പെടുന്നു. 1999 പിന്നീട് വീണ്ടും പരിഷ്കരിച്ച് SQL:1999 (AKA SQL3) ആയി മാറി. ഡമ്മികൾക്കുള്ള പ്രോഗ്രാമിംഗ്. മറ്റ് പതിപ്പുകളിൽ മുമ്പ് പിന്തുണയ്‌ക്കാത്ത ഒബ്‌ജക്റ്റുകളെ SQL 1999 പിന്തുണയ്‌ക്കുന്നു, എന്നാൽ 2001 അവസാനത്തോടെ, കുറച്ച് ഡാറ്റാബേസ് മാനേജുമെന്റ് സിസ്റ്റങ്ങൾ മാത്രമേ SQL നടപ്പിലാക്കലുകളെ പിന്തുണച്ചിരുന്നുള്ളൂ: SQL 1999.
SQL, ANSI, ISO എന്നിങ്ങനെ നിർവചിക്കപ്പെട്ടിട്ടുണ്ടെങ്കിലും, ഒറാക്കിൾ കോർപ്പറേഷന്റെ "PL/SQL" ഇംപ്ലിമെന്റേഷൻ അല്ലെങ്കിൽ സൈബേസ്, മൈക്രോസോഫ്റ്റിന്റെ "Transact-SQL" എന്ന ഇംപ്ലിമെന്റേഷൻ എന്നിങ്ങനെ പല വ്യതിയാനങ്ങളും വിപുലീകരണങ്ങളും ഉണ്ട്. പ്രോഗ്രാമിംഗ് അടിസ്ഥാനകാര്യങ്ങൾ പരിചയമുള്ളവർ. വാണിജ്യ നിർവ്വഹണങ്ങൾ സ്റ്റാൻഡേർഡിന്റെ പ്രധാന സവിശേഷതകൾക്കുള്ള പിന്തുണ ഒഴിവാക്കുന്നതും അസാധാരണമല്ല, തീയതിയും സമയവും പോലുള്ള ഡാറ്റ തരങ്ങൾ, അവരുടേതായ ചില വേരിയന്റുകൾക്ക് മുൻഗണന നൽകുന്നു. തൽഫലമായി, വലിയ ഘടനാപരമായ മാറ്റങ്ങളില്ലാതെ സാധാരണയായി പ്ലാറ്റ്‌ഫോമിൽ നിന്ന് പ്ലാറ്റ്‌ഫോമിലേക്ക് പോർട്ട് ചെയ്യാൻ കഴിയുന്ന ANSI C അല്ലെങ്കിൽ ANSI ഫോർട്രാൻ പോലെയല്ല, SQL പ്രോഗ്രാമിംഗ് ഭാഷാ അന്വേഷണങ്ങൾ അപൂർവ്വമായി മാത്രമേ പോർട്ട് ചെയ്യപ്പെടുകയുള്ളൂ. വ്യത്യസ്ത സംവിധാനങ്ങൾകാര്യമായ മാറ്റങ്ങളില്ലാത്ത ഡാറ്റാബേസുകൾ. ഓരോ ഡവലപ്പർക്കും അവരുടേതായ ഡാറ്റാബേസ് മാനേജ്മെന്റ് സിസ്റ്റം നൽകാനും വാങ്ങുന്നയാളെ ഒരു നിർദ്ദിഷ്ട ഡാറ്റാബേസുമായി ബന്ധിപ്പിക്കാനും വേണ്ടി, ഈ അനുയോജ്യതയുടെ അഭാവം മനഃപൂർവമാണെന്ന് ഡാറ്റാബേസ് വ്യവസായത്തിലെ മിക്ക ആളുകളും വിശ്വസിക്കുന്നു.
അതിന്റെ പേര് സൂചിപ്പിക്കുന്നത് പോലെ, SQL പ്രോഗ്രാമിംഗ് ഭാഷ രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത് നിർദ്ദിഷ്ടവും പരിമിതവുമായ ആവശ്യങ്ങൾക്ക് വേണ്ടിയാണ് - ഒരു റിലേഷണൽ ഡാറ്റാബേസിൽ അടങ്ങിയിരിക്കുന്ന ഡാറ്റ അന്വേഷിക്കുന്നു. അതുപോലെ, സി അല്ലെങ്കിൽ ബേസിക് പോലുള്ള ഒരു നടപടിക്രമ ഭാഷയ്ക്ക് പകരം, ഡാറ്റാ സാമ്പിളുകൾ സൃഷ്ടിക്കുന്നതിനുള്ള പ്രോഗ്രാമിംഗ് ഭാഷാ നിർദ്ദേശങ്ങളുടെ ഒരു കൂട്ടമാണ് ഇത്, കൂടുതൽ വിശാലമായ പ്രശ്നങ്ങൾ പരിഹരിക്കാൻ രൂപകൽപ്പന ചെയ്തിട്ടുള്ളതാണ്. "PL/SQL" പോലുള്ള ഭാഷാ വിപുലീകരണങ്ങൾ SQL-ന്റെ പ്രയോജനങ്ങൾ നിലനിർത്തിക്കൊണ്ടുതന്നെ SQL-ലേക്ക് നടപടിക്രമ ഘടകങ്ങൾ ചേർത്ത് ഈ പരിമിതി പരിഹരിക്കാൻ രൂപകൽപ്പന ചെയ്തിട്ടുള്ളതാണ്. പ്രൊസീജറൽ പ്രോഗ്രാമിംഗ് ലാംഗ്വേജ് കമാൻഡുകൾ SQL അന്വേഷണങ്ങളിൽ ഉൾപ്പെടുത്തുകയും ഡാറ്റാബേസുമായി സംവദിക്കുകയും ചെയ്യുക എന്നതാണ് മറ്റൊരു സമീപനം. ഉദാഹരണത്തിന്, ഒറാക്കിളും മറ്റുള്ളവരും പിന്തുണയ്ക്കുന്നു ജാവ ഭാഷഡാറ്റാബേസിൽ, PostgreSQL നിങ്ങളെ Perl, Tcl, അല്ലെങ്കിൽ C എന്നിവയിൽ ഫംഗ്‌ഷനുകൾ എഴുതാൻ അനുവദിക്കുന്നു.
SQL നെക്കുറിച്ചുള്ള ഒരു തമാശ: "SQL ഘടനാപരമായതോ ഭാഷയോ അല്ല." SQL ഒരു ട്യൂറിംഗ് ഭാഷയല്ല എന്നതാണ് തമാശയുടെ കാര്യം. .

ടിയിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക
C1 C2
1
2 ബി
C1 C2
1
2 ബി
ടിയിൽ നിന്ന് C1 തിരഞ്ഞെടുക്കുക
C1
1
2
C1 C2
1
2 ബി
C1=1 എന്നതിൽ നിന്ന് * തിരഞ്ഞെടുക്കുക
C1 C2
1

ടി ടേബിൾ നൽകി, അഭ്യർത്ഥന തിരഞ്ഞെടുക്കുക* ടി മുതൽ പട്ടികയിലെ എല്ലാ വരികളുടെയും എല്ലാ ഘടകങ്ങളും പ്രദർശിപ്പിക്കും.
അതേ ടേബിളിൽ നിന്ന്, T-ൽ നിന്ന് C1 തിരഞ്ഞെടുക്കുക എന്ന ചോദ്യം, പട്ടികയിലെ എല്ലാ വരികളുടെയും C1 കോളത്തിൽ നിന്നുള്ള ഘടകങ്ങൾ പ്രദർശിപ്പിക്കും.
അതേ ടേബിളിൽ നിന്ന്, C1=1 കോളം C1 ന്റെ മൂല്യം "1" ആകുന്നിടത്ത് എല്ലാ വരികളിലെയും എല്ലാ ഘടകങ്ങളും പ്രദർശിപ്പിക്കുന്ന T-ൽ നിന്ന് * എന്ന ചോദ്യം തിരഞ്ഞെടുക്കുക.

SQL കീവേഡുകൾ

SQL വാക്കുകൾ പല ഗ്രൂപ്പുകളായി തിരിച്ചിരിക്കുന്നു.

ആദ്യത്തേത് ഡാറ്റ കൃത്രിമ ഭാഷ അല്ലെങ്കിൽ ഡിഎംഎൽ(ഡാറ്റ മാനേജ്മെന്റ് ഭാഷ). ഡാറ്റാബേസുകൾ അന്വേഷിക്കാനും ഡാറ്റ ചേർക്കാനും അപ്ഡേറ്റ് ചെയ്യാനും ഇല്ലാതാക്കാനും ഉപയോഗിക്കുന്ന ഭാഷയുടെ ഒരു ഉപവിഭാഗമാണ് DML.

  • ഏറ്റവും സാധാരണയായി ഉപയോഗിക്കുന്ന ഡിഎംഎൽ കമാൻഡുകളിൽ ഒന്നാണ് SELECT, ആവശ്യമുള്ള ഫലത്തിന്റെ ഒരു സെറ്റ് വിവരണമായി ഒരു ചോദ്യം വ്യക്തമാക്കാൻ ഉപയോക്താവിനെ അനുവദിക്കുന്നു. ഫലങ്ങൾ എങ്ങനെ ക്രമീകരിക്കണമെന്ന് ചോദ്യം വ്യക്തമാക്കുന്നില്ല - ഡാറ്റാബേസിൽ എക്സിക്യൂട്ട് ചെയ്യാൻ കഴിയുന്ന ഒരു ഫോമിലേക്ക് ചോദ്യം വിവർത്തനം ചെയ്യുക എന്നത് ഡാറ്റാബേസ് സിസ്റ്റത്തിന്റെ ജോലിയാണ്, കൂടുതൽ വ്യക്തമായി ക്വറി ഒപ്റ്റിമൈസർ.
  • നിലവിലുള്ള പട്ടികയിലേക്ക് വരികൾ (ഔപചാരിക സെറ്റ്) ചേർക്കാൻ INSERT ഉപയോഗിക്കുന്നു.
  • നിലവിലുള്ള പട്ടിക വരിയിലെ ഡാറ്റ മൂല്യങ്ങൾ മാറ്റാൻ അപ്ഡേറ്റ് ഉപയോഗിക്കുന്നു.
  • നിർവചനം ഇല്ലാതാക്കുക നിലവിലുള്ള വരികൾ, മേശയിൽ നിന്ന് നീക്കം ചെയ്യപ്പെടും.

DML ഗ്രൂപ്പിൽ ഉൾപ്പെടുന്ന മറ്റ് മൂന്ന് കീവേഡുകൾ പറയാം:

  • ജോലി ആരംഭിക്കുക (അല്ലെങ്കിൽ SQL ഭാഷയെ ആശ്രയിച്ച് ഇടപാട് ആരംഭിക്കുക) എന്നത് ഒരു ഡാറ്റാബേസ് ഇടപാടിന്റെ ആരംഭം അടയാളപ്പെടുത്താൻ ഉപയോഗിക്കാം, അത് ഒന്നുകിൽ എല്ലാം പൂർത്തീകരിക്കും അല്ലെങ്കിൽ നടപ്പിലാക്കില്ല.
  • പ്രവർത്തനങ്ങൾ നടത്തിയതിന് ശേഷം വരുത്തിയ എല്ലാ ഡാറ്റ മാറ്റങ്ങളും സംരക്ഷിക്കപ്പെട്ടതായി COMMIT പറയുന്നു.
  • അവസാന കമ്മിറ്റ് അല്ലെങ്കിൽ റോൾബാക്കിന് ശേഷമുള്ള എല്ലാ ഡാറ്റ മാറ്റങ്ങളും നശിപ്പിക്കപ്പെടണമെന്ന് ROLLBACK വ്യക്തമാക്കുന്നു, ഡാറ്റാബേസിൽ "റോൾബാക്ക്" ആയി രേഖപ്പെടുത്തിയിരിക്കുന്ന പോയിന്റ് വരെ.

ഇടപാട് നിയന്ത്രണം, ലോക്കിംഗ് തുടങ്ങിയ മേഖലകളിൽ COMMIT, ROLLBACK എന്നിവ ഉപയോഗിക്കുന്നു. രണ്ട് നിർദ്ദേശങ്ങളും നിലവിലുള്ള എല്ലാ ഇടപാടുകളും (ഡാറ്റാബേസിലെ പ്രവർത്തനങ്ങളുടെ സെറ്റുകൾ) പൂർത്തിയാക്കുകയും പട്ടികകളിലെ ഡാറ്റ മാറ്റുന്നതിനുള്ള എല്ലാ ലോക്കുകളും നീക്കം ചെയ്യുകയും ചെയ്യുന്നു. ഒരു BEGIN WORK അല്ലെങ്കിൽ സമാനമായ പ്രസ്താവനയുടെ സാന്നിധ്യം അല്ലെങ്കിൽ അഭാവം പ്രത്യേക SQL നടപ്പിലാക്കലിനെ ആശ്രയിച്ചിരിക്കുന്നു.

കീവേഡുകളുടെ രണ്ടാമത്തെ ഗ്രൂപ്പ് ഗ്രൂപ്പിന്റെതാണ് ഡാറ്റ ഡെഫനിഷൻ ലാംഗ്വേജ് അല്ലെങ്കിൽ ഡിഡിഎൽ (ഡാറ്റ ഡെഫനിഷൻ ലാംഗ്വേജ്). ഡി.ഡി.എൽപുതിയ പട്ടികകളും അവയുമായി ബന്ധപ്പെട്ട ഘടകങ്ങളും നിർവചിക്കാൻ ഉപയോക്താവിനെ അനുവദിക്കുന്നു. മിക്ക വാണിജ്യ അടിത്തറകളും SQL ഡാറ്റ DDL-ൽ അവരുടേതായ വിപുലീകരണങ്ങൾ ഉണ്ട്, അത് നിലവാരമില്ലാത്തതും എന്നാൽ സാധാരണയായി ഒരു പ്രത്യേക സിസ്റ്റത്തിന്റെ സുപ്രധാന ഘടകങ്ങളും നിയന്ത്രിക്കാൻ അനുവദിക്കുന്നു.
DDL-ന്റെ പ്രധാന പോയിന്റുകൾ സൃഷ്ടിക്കുക, ഇല്ലാതാക്കുക കമാൻഡുകൾ ആണ്.

  • ഡാറ്റാബേസിൽ സൃഷ്ടിക്കപ്പെടുന്ന ഒബ്‌ജക്‌റ്റുകൾ (പട്ടികകൾ പോലുള്ളവ) സൃഷ്‌ടിക്കുക എന്നത് വ്യക്തമാക്കുന്നു.
  • ഡാറ്റാബേസിലെ നിലവിലുള്ള ഒബ്‌ജക്‌റ്റുകൾ സാധാരണയായി ശാശ്വതമായി ഇല്ലാതാക്കുമെന്ന് DROP വ്യക്തമാക്കുന്നു.
  • ചില ഡാറ്റാബേസ് സിസ്റ്റങ്ങളും ALTER കമാൻഡിനെ പിന്തുണയ്ക്കുന്നു, നിലവിലുള്ള ഒരു ടേബിളിലേക്ക് നിരകൾ ചേർക്കുന്നത് പോലെ, നിലവിലുള്ള ഒരു ഒബ്ജക്റ്റ് പരിഷ്കരിക്കാൻ ഉപയോക്താവിനെ അനുവദിക്കുന്നു.

കീയുടെ മൂന്നാമത്തെ ഗ്രൂപ്പ് SQL വാക്കുകൾആണ് ഡാറ്റ കൺട്രോൾ ലാംഗ്വേജ് അല്ലെങ്കിൽ ഡിസിഎൽ (ഡാറ്റ കൺട്രോൾ ലാംഗ്വേജ്). ഡി.സി.എൽഡാറ്റ ആക്‌സസ്സ് അവകാശങ്ങൾക്ക് ഉത്തരവാദിയാണ്, കൂടാതെ ഡാറ്റാബേസിൽ ഡാറ്റ കാണാനോ കൈകാര്യം ചെയ്യാനോ ആർക്കൊക്കെ ആക്‌സസ്സ് ഉണ്ടെന്ന് നിയന്ത്രിക്കാൻ ഉപയോക്താവിനെ അനുവദിക്കുന്നു. ഇവിടെ രണ്ട് പ്രധാന കീവേഡുകൾ ഉണ്ട്:

  • GRANT - പ്രവർത്തനങ്ങൾ നടത്താൻ ഉപയോക്താവിനെ അനുവദിക്കുന്നു
  • അസാധുവാക്കുക - പ്രവർത്തനങ്ങൾ നടത്താനുള്ള ഉപയോക്താവിന്റെ കഴിവ് നീക്കം ചെയ്യുകയോ നിയന്ത്രിക്കുകയോ ചെയ്യുന്നു.

SQL ഉപയോഗിക്കുന്ന ഡാറ്റാബേസ് സിസ്റ്റങ്ങൾ

  • ഇന്റർബേസ്
  • MySQL
  • ഒറാക്കിൾ
  • PostgreSQL
  • SQL സെർവർ

എങ്ങനെ ഒരു വെബ്‌സൈറ്റ് ഡെവലപ്‌മെന്റ് പ്രൊഫഷണലാകുകയും പണം സമ്പാദിക്കാൻ തുടങ്ങുകയും ചെയ്യാം? ആമുഖ ആമുഖത്തോടെയുള്ള ചെലവുകുറഞ്ഞ വീഡിയോ കോഴ്സുകൾ.