എസ്.ക്യു.എല്‍.

വിക്കിപീഡിയ, ഒരു സ്വതന്ത്ര വിജ്ഞാനകോശം.

എസ്.ക്യു.എല്‍.
Paradigm: Multi-paradigm
പുറത്തുവന്ന വര്‍ഷം: 1974
രൂപകല്‍പ്പന ചെയ്തത്: Donald D. Chamberlin and Raymond F. Boyce
നിര്‍മ്മിച്ച ആള്‍: ഐ.ബി.എം.
ഏറ്റവും പുതിയ പതിപ്പ്: SQL:2006/ 2006
Typing discipline: static, strong
പ്രധാന രൂപങ്ങള്‍: Many
വകഭേദങ്ങള്‍: SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003, SQL:2006, SQL:2008[1]
സ്വാധീനിക്കപ്പെട്ടത്: Datalog
സ്വാധീനിച്ചത്: CQL, LINQ, Windows PowerShell
ഓപറേറ്റിങ്ങ് സിസ്റ്റം: Cross-platform

റിലേഷണല്‍ ഡേറ്റാബേസുകള്‍ക്കായുള്ള ഉടമസ്ഥ രഹിത നോണ്‍ പ്രൊസീജറല്‍ കമ്പ്യൂട്ടര്‍ പ്രോഗ്രാമിങ് ഭാഷയാണ് സ്റ്റ്രക്ചേര്‍ഡ് ക്വറി ലാങ്വേജ് അഥവാ എസ്.ക്യു.എല്‍. ഇന്ന് ഒറാക്കിള്‍, എം.എസ്. എസ്.ക്യു.എല്. സെര്‍വര്‍‍, മൈ എസ്.ക്യു.എല്‍, പി.എല്‍/എസ്.ക്യു.എല്‍ തുടങ്ങി നിരവധി ഡേറ്റാബേസുകള്‍ എസ്.ക്യു.എല്‍ ഉപയോഗിക്കുന്നു. ഡേറ്റാബേസ് ഉപയോഗിച്ച് വിവരങ്ങളുടെ ശേഖരണം, പുനരുപയോഗം, കൈകാര്യംചെയ്യല്‍ എന്നിവയ്ക്കായി മാത്രം നിര്‍മ്മിച്ച ഭാഷയാണിത്

[2][3] . എസ്.ക്യു.എല്‍. സാധാരണയായി ഉപഭാഷയായി മാത്രമേ അറിയപ്പെടുന്നുള്ളു. റിലേഷണല്‍ ഡേറ്റാബേസിലെ അല്‍ഗോരിതം കൂടി പ്രവര്‍ത്തിച്ചാലേ എസ്.ക്യു.എല്‍ ഉപയോഗിച്ച് പ്രയോജനപ്രദമായ പ്രവര്‍ത്തനങ്ങള്‍ നടത്താന്‍ കഴിയുകയുള്ളു എന്നതിനാലാണിത് [4]. ഒരു നോണ്‍ പ്രൊസീജറല്‍ ഭാഷയായാണ് നിര്‍വ്വചിച്ചിരിക്കുന്നതെങ്കിലും കാലാകാലങ്ങളായുള്ള മാറ്റങ്ങളിലൂടെ ചിലയിടങ്ങളില്‍ പ്രൊസീജറല്‍ സ്വഭാവം വന്നിട്ടുണ്ട്.

ഉള്ളടക്കം

[തിരുത്തുക] ചരിത്രം

റിലേഷണല്‍ ഡേറ്റാബേസ് സിദ്ധാന്തം പോലെ ഐ.ബി.എമ്മിന്റെ ഗവേഷണശാലയിലാണ് എസ്.ക്യു.എല്ലിന്റേയും പിറവി. 1970 കളുടെ തുടക്കത്തില്‍ ഐ.ബി.എം തങ്ങളുടെ ആര്‍.ഡി.ബി.എം.എസ്. സിസ്റ്റത്തിന്റെ ആദ്യരൂപം അവതരിപ്പിച്ച കൂട്ടത്തില്‍ ഡേറ്റയുടെ കൈകാര്യനിര്‍വ്വഹണത്തിനായി ഒരു ഉപഭാഷകൂടി സൃഷ്ടിച്ചിട്ടുണ്ടായിരുന്നു. ഔദ്യോഗികമായി പുറത്തിറങ്ങുന്നതിന്റെ മുമ്പ് ഭാഷയെ അവര്‍ സീക്യൂവെല്‍ (SEQUEL - Structured English QUEry Language) എന്നു വിളിച്ചു പോന്നു. എന്നാല്‍ പുറത്തിറങ്ങിയ സമയം തങ്ങളുടെ ഭാഷയുടെ പേര്‍ അവര്‍ മാറ്റുകയും സീക്യൂവെല്ലിനോട് സാദൃശ്യമുള്ള എസ്.ക്യു.എല്‍ എന്ന നാമം സ്വീകരിക്കുകയും ചെയ്തു[5]. സീക്യുവെല്‍ എന്ന നാമം മറ്റൊരു കമ്പനിയുടെ സ്വകാര്യസ്വത്തായിരുന്നു എന്നതും ഈ മാറ്റത്തിനു കാരണമായി[6]. 1981-ല്‍ ഔദ്യോഗികമായി അവതരിപ്പിക്കപ്പെടുന്നതിന്റെ മുമ്പ് തന്നെ ഈ ഭാഷയും ആര്‍.ഡി.ബി.എം.എസ്സും. പ്രസിദ്ധിയാര്‍ജ്ജിച്ചായിരുന്നു. അതേസമയം തന്നെ റിലേഷണല്‍ സോഫ്റ്റ്വെയര്‍.ഇന്‍‌ക് (ഇന്ന് ഒറാക്കിള്‍ കോര്‍പ്പറേഷന്‍) അവരുടെ ആദ്യ ആര്‍.ഡി.ബി.എം.എസ് പുറത്തിറക്കിയിരുന്നു. ഈ ആദ്യകാല ഉല്‍പ്പന്നങ്ങള്‍ പുതു ഡേറ്റാബേസ് മാനേജ്മെന്റ് സിസ്റ്റങ്ങള്‍ക്ക് മാനകങ്ങളായിത്തീര്‍ന്നു[5]. ഇരുവരും തങ്ങളുടെ ഡേറ്റാബേസുകളില്‍ എസ്.ക്യു.എല്‍ ഇണക്കിച്ചേര്‍ത്തിരുന്നു. അങ്ങിനെ തത്വത്തില്‍ അതൊരു ഡേറ്റാബേസ് മാനേജ്മെന്റിനുള്ള ഭാഷയായിത്തീര്‍ന്നു. തുടര്‍ന്ന് മറ്റ് റിലേഷണല്‍ ഡേറ്റാബേസ് കമ്പനികളും ഏതെങ്കിലും വിധത്തില്‍ എസ്.ക്യു.എല്‍ ഉപയോഗിച്ചു തുടങ്ങി. എങ്കിലും അവയെല്ലാം വ്യത്യസ്തമായിരുന്നു.

ഈ പ്രശ്നത്തിനു പരിഹാരം കാണാനുള്ള ശ്രമത്തിന്റെ ഭാഗമായി ആന്‍സി (ANSI) 1986-ല്‍ എസ്.ക്യു.എല്‍.-86 (SQL -86) എന്ന പേരില്‍ ഒരു മാനകരൂപം സൃഷ്ടിച്ചു. തുടര്‍ന്ന് അത് പലവട്ടം പുതുക്കുകയുണ്ടായി. ഇന്നും എസ്.ക്യു.എല്‍ കാലാനുസൃതമായിരിക്കാന്‍ ശ്രദ്ധിക്കുന്നുണ്ട്.

[തിരുത്തുക] ഉപയോഗം

ഡേറ്റാബേസിലേക്ക് വിവരങ്ങള്‍ നല്‍കുക, ഡേറ്റാബേസില്‍ നിന്നും വിവരങ്ങള്‍ എടുക്കുക, അതിലെ വിവരങ്ങള്‍ കൈകാര്യം ചെയ്യുക എന്നതിനപ്പുറം ഒരു പ്രവൃത്തിയും ചെയ്യാന്‍ എസ്.ക്യു.എല്‍ ഉപയോഗിച്ചു സാധിക്കുകയില്ല. അതുകൊണ്ട് തന്നെ ഡേറ്റാബേസ് മാനേജ്മെന്റ് സിസ്റ്റത്തിനു പുറത്ത് എസ്.ക്യു.എല്ലിനു നിലനില്‍പ്പില്ല. അതായത് സി, സി++, ജാവ തുടങ്ങിയ കമ്പ്യൂട്ടര്‍ ഭാഷകളെ പോലെ പ്രശ്നനിര്‍ദ്ധാരണത്തിനായി എസ്.ക്യു.എല്‍ ഉപയൊഗിക്കാന്‍ സാധ്യമല്ല. ഡേറ്റാബേസിലേയ്ക്ക് എസ്.ക്യു.എല്‍ ഉപയോഗിച്ചു നല്‍കുന്ന കമാന്‍ഡുകളെ സ്വീകരിക്കുന്ന ഡേറ്റാബേസ് ആണ് അതില്‍ എന്തായിരിക്കണം പ്രവര്‍ത്തനമെന്ന് പൂര്‍ണ്ണമായും നിശ്ചയിക്കുന്നതും പ്രവര്‍ത്തിക്കുന്നതും.

പ്രവര്‍ത്തനത്തിനായി പൂര്‍ണ്ണമായും ആര്‍.ഡി.ബി.എം.എസ്സിനെ ആശ്രയിക്കുന്നതിനാല്‍ എസ്.ക്യു.എല്‍ ഒരു പ്ലാറ്റ്ഫോം സ്വതന്ത്രമായ ഭാഷയാണെന്നു പറയാം. എന്നാല്‍ ജാവ പോലുള്ള പ്ലാറ്റ്ഫോം സ്വതന്ത്രങ്ങളായ ഭാഷകള്‍ പ്രവര്‍ത്തിക്കുന്നതില്‍ നിന്നും പൂര്‍ണ്ണമായി വ്യത്യസ്തമായ രീതിയിലാണ് ഇതിന്റെ പ്രവര്‍ത്തനം. എസ്.ക്യു.എല്‍ കീവേഡുകള്‍ എല്ലായിടത്തും ഉപയോഗിക്കുന്നു എന്നതു കഴിഞ്ഞാല്‍ ഒന്നിനൊന്നു വ്യത്യസ്തമാണ് ആന്തരിക പ്രവര്‍ത്തനങ്ങള്‍[4]. ക്വെറികള്‍ ഡേറ്റാബേസില്‍ വച്ച് മെഷീന്‍ കോഡിലോട്ട് മാറുകയും പ്രവര്‍ത്തിക്കുകയും ചെയ്യുന്നു.

ആര്‍.ഡി.ബി.എം.എസ്സുകള്‍ നിര്‍മ്മിക്കുന്ന വിവിധ കമ്പനികള്‍ അവരവരുടെ പ്രത്യേകതകളും തങ്ങളുടെ എസ്.ക്യു.എല്ലില്‍ ചേര്‍ത്തിട്ടുള്ളതിനാല്‍ അവരവരുടെ സങ്കീര്‍ണ്ണമായ ഒരു ക്വെറി മറ്റൊരാളുടെ ഡേറ്റാബേസില്‍ പ്രവര്‍ത്തിക്കാതെ വന്നേക്കാം. ഉദാഹരണത്തിന് ഒറാക്കിള്‍ ഉപയോഗിക്കുന്ന ഒരു ക്വെറി അവരുടെ ലിനക്സ് ഡേറ്റാബേസിലും, വിന്‍ഡോസ് ഡേറ്റാബേസിലും പ്രവര്‍ത്തിക്കും. പക്ഷേ അത് എം.എസ്. എസ്.ക്യു.എല്ലിലോ തിരിച്ചുമോ പ്രവര്‍ത്തിക്കണമെന്നില്ല. മിക്കവാറും എല്ലാ ഡേറ്റാബേസ് നിര്‍മ്മാതാക്കളും അവരവരുടെ എസ്.ക്യു.എല്‍ ഭാഷാഭേദങ്ങള്‍ ഉപയോഗിക്കുന്നു. എന്നാലും ഭാഷയുടെ ബഹുഭൂരിഭാഗവും മാനക എസ്.ക്യു.എല്ലിനു സമാനമായിരിക്കും.

[തിരുത്തുക] പ്രയോഗം

റിലേഷണല്‍ ഡേറ്റാബേസുകളില്‍ വിവരങ്ങള്‍ സംഭരിച്ച് പുനഃരുപയോഗിക്കുന്നതിന് വേണ്ട കാര്യങ്ങള്‍ എസ്.ക്യു.എല്ലില്‍ വ്യക്തമായി പറഞ്ഞിട്ടുണ്ട്.

ഡേറ്റായില്‍ സ്ഥിരമായി അനുഭവപ്പെടേണ്ട കമാന്‍ഡുകളെ സ്റ്റേറ്റ്മെന്റ്സ് (Statements) എന്നു വിളിക്കുന്നു. കണക്ഷനുകള്‍, സെഷന്‍, പരിശോധനകള്‍ തുടങ്ങിയ കാര്യങ്ങളാണ് സ്റ്റേറ്റ്മെന്റ് ആയി നല്‍കുന്നത്. പ്രത്യേക മാനദണ്ഡങ്ങള്‍ക്കനുസൃതമായി വിവരങ്ങള്‍ ഡേറ്റാബേസില്‍ നിന്നും ശേഖരിക്കാനുള്ള കമാന്‍ഡുകളെ ക്വെറികള്‍ എന്നു വിളിക്കുന്നു (Queries). മാറിക്കൊണ്ടിരിക്കാവുന്ന വിവരങ്ങളേയും വരിയും നിരയുമടങ്ങുന്ന പട്ടികകളേയും സൃഷ്ടിക്കാന്‍ കഴിവുള്ള കമാന്‍ഡുകളെ എക്സ്പ്രെഷന്‍സ് (Expressions) എന്നു വിളിക്കുന്നു. ശരിയെന്നോ തെറ്റെന്നോ ഉത്തരം വരാവുന്ന വ്യവസ്ഥകളെ അടിസ്ഥാനമാക്കി സ്റ്റേറ്റ്മെന്റുകളോ ക്വെറികളോ പ്രവര്‍ത്തിപ്പിക്കാനുള്ള കമാന്‍ഡുകളെ പ്രെഡിക്കേറ്റുകള്‍ എന്നു വിളിക്കുന്നു. അവശ്യാനുസരണം തിരഞ്ഞെടുക്കാവുന്ന തരത്തില്‍ സ്റ്റേറ്റ്മെന്റുകളോ ക്വെറികളോ ഉള്‍പ്പെട്ട കമാന്‍ഡുകളെ ക്ലോസസ്(Clauses) എന്നു വിളിക്കുന്നു.

[തിരുത്തുക] ഘടകങ്ങള്‍

പ്രയോഗ രീതിക്കസരിച്ച് ഭാഷയെ മൂന്നുപഭാഷകളായി തിരിച്ചിട്ടുണ്ട്, അതായത് എസ്.ക്യു.എല്‍ എന്നത് ഒരൊറ്റഭാഷ തന്നെയാണെങ്കിലും ഒരു ഉപയോക്താവിന് ഡേറ്റാബേസില്‍ ചെയ്യേണ്ട കാര്യങ്ങളായ സൃഷ്ടി, പുതുക്കല്‍, പരിപാലനം, സുരക്ഷപ്രദാനം ചെയ്യുക തുടങ്ങിയ കാര്യങ്ങള്‍ക്കായി മൂന്നായി തിരിച്ചിരിക്കുന്നു[4].

  • ഡേറ്റാ നിര്‍വ്വചന ഭാഷ (The Data Definition Language - DDL)
  • ഡേറ്റാ കൈകാര്യം ചെയ്യാനുള്ള ഭാഷ (The Data Manipulation Language - DML)
  • ഡേറ്റാ നിയന്ത്രണത്തിനുള്ള ഭാഷ (The Data Control Language - DCL)

എന്നിങ്ങനെയാണത്

[തിരുത്തുക] ഡേറ്റാ നിര്‍വ്വചന ഭാഷ

ഒരു പുതിയ ഡേറ്റാബേസ് നിര്‍വ്വചിക്കാനും, അതിന്റെ ഘടന രൂപപ്പെടുത്താനും, ഉപയോഗശൂന്യമാകുമ്പോള്‍ നശിപ്പിച്ചുകളയാനുമുള്ള ഉപയോഗമാണ് എസ്.ക്യു.എല്ലിന്റെ ഈ ഭാഗം ചെയ്യുന്നത്. പുതിയ പട്ടികകളും അനുബന്ധഘടകങ്ങളും നിര്‍വ്വചിക്കാനും ഇതിനു കഴിവുണ്ടാവും[7]. CREATE, ALTER, RENAME, TRUNCATE, DROP എന്നിവയാണ് ഡേറ്റാ നിര്‍വചന ഭാഷയിലുള്ള ഏറ്റവും അടിസ്ഥാനകരമായ ചില വാക്കുകള്‍.

ഉദാ:

CREATE TABLE My_table (
  my_field1   INT,
  my_field2   VARCHAR (50),
  my_field3   DATE         NOT NULL,
  PRIMARY KEY (my_field1, my_field2) 
);

[തിരുത്തുക] ഡേറ്റാ കൈകാര്യം ചെയ്യാനുള്ള ഭാഷ

ഡേറ്റാബേസിന്റെ പരിപാലനമാണ് ഭാഷയുടെ ഈ ഭാഗം കൈയ്യാളുന്നത്. ഇതുപയോഗിച്ച് ഒരുപയോക്താവിന് എന്ത് എങ്ങിനെ വേണമെന്നും അതിലെന്തുമാറ്റമാണ് വേണ്ടതെന്നും പറഞ്ഞുകൊടുക്കാവുന്നതാണ്[7]. START TRANSACTION, COMMIT, ROLLBACK തുടങ്ങിയ വാക്കുകള്‍ ഡി.എം.എല്ലില്‍ ഉള്‍പ്പെടുന്നു. ഉദാ: ഒരു ബാങ്ക് അക്കൌണ്ടിലെ പണം മറ്റൊരക്കൌണ്ടിലേക്ക് മാറ്റുന്നു

START TRANSACTION;
  UPDATE Account SET amount=amount-200 WHERE account_number=1234;
  UPDATE Account SET amount=amount+200 WHERE account_number=2345;
IF ERRORS=0 COMMIT;
IF ERRORS<>0 ROLLBACK;

[തിരുത്തുക] ഡേറ്റാ നിയന്ത്രണത്തിനുള്ള ഭാഷ

ഡേറ്റാബേസിനെ സംരക്ഷിക്കുവാനും തെറ്റുകുറ്റങ്ങള്‍ പറ്റാതെ സൂക്ഷിക്കാനുമാന് ഡേറ്റാ നിയന്ത്രണത്തിനുള്ള ഭാഷ അഥവാ ഡി.സി.എല്‍. ഉപയോഗിക്കുന്നത്. ഒരു ഡേറ്റാബേസിന്റെ കൈകാര്യം വേണ്ടത്രസുരക്ഷിതമല്ലങ്കില്‍ അന്യര്‍ അത് വരുതിയിലാക്കാനും അങ്ങിനെ പ്രശ്നങ്ങളുണ്ടാകാനുമിടയുണ്ട്. ഇത് തടയാനാണ് ഡി.സി.എല്‍. ഉപയോഗിക്കുന്നത്[8]. GRANT, REVOKE എന്നീ വാക്കുകള്‍ ഇവിടെ ഉപയോഗിക്കുന്നു.

ഉദാ:

GRANT SELECT, UPDATE ON My_table TO some_user, another_user;

[തിരുത്തുക] ക്ലൈന്റ്/സെര്‍വര്‍ ഉപയോഗം

ഒരു കമ്പ്യൂട്ടര്‍ ഉപയോഗിച്ചോ, നെറ്റ്‌വര്‍ക്കിലോ എസ്.ക്യു.എല്‍ ഉപയോഗിക്കാവുന്നതാണ്. ക്ലൈന്റ്/സെര്‍വര്‍ മാതൃകയില്‍ നന്നായി പ്രവര്‍ത്തിക്കാന്‍ പാകത്തിലാണിത് സൃഷ്ടിച്ചതു തന്നെ. സെര്‍വര്‍ കമ്പ്യൂട്ടറില്‍ ഡേറ്റാബേസ് സ്ഥിതിചെയ്യുകയും, ലാന്‍ ഉപയോഗിച്ചോ മറ്റ് സംവേദന ചാനലുകള്‍ ഉപയോഗിച്ചോ സെര്‍വറുമായി ബന്ധപ്പെട്ട ക്ലൈന്റ് ഉപയോഗിച്ച് ഡേറ്റാബേസിനെ സമീപിക്കാനും കഴിയും. ഡി.ബി.എം.എസ്സിന്റെ ക്ലൈന്റില്‍ സ്ഥിതി ചെയ്യുന്ന ഭാഗം ഉപയോഗിച്ച് സെര്‍വറിനു കമാന്‍ഡുകള്‍ നല്‍കാനും വിവരങ്ങള്‍ എടുക്കാനും കഴിയും.

[തിരുത്തുക] ഡേറ്റാബേസ് സെര്‍വര്‍

ക്ലൈന്റ്/സെര്‍വര്‍ സിസ്റ്റത്തില്‍ ഡേറ്റാബേസ് സ്ഥിതി ചെയ്യുന്ന കമ്പ്യൂട്ടറിനെ സെര്‍വര്‍ എന്നു വിളിക്കുന്നു. ഡേറ്റാബേസ് മാനേജ്മെന്റിന്റെ സെര്‍വര്‍ ഭാഗം സെര്‍വറിലായിരിക്കും. ക്ലൈന്റില്‍ നിന്നു ലഭിക്കുന്ന ക്വെറികള്‍ സ്വീകരിച്ച് മനസ്സിലാക്കി വേണ്ട പ്രവര്‍ത്തനങ്ങള്‍ നടത്തി ബന്ധപ്പെട്ട അറിയിപ്പുകള്‍ നല്‍കുകയാണ് സെര്‍വര്‍ ചെയ്യുന്നത്.

ഇന്ന് സെര്‍വറുകള്‍ വളരെയധികം ഡേറ്റകള്‍ സംഭരിക്കാനും അവ വളരെ വേഗം പുനഃശേഖരണം നടത്താനും കൂടിയ തോതിലുള്ള ഡേറ്റാ കൈമാറ്റത്തെ തടസ്സപ്പെടുത്താതിരിക്കാനും ശക്തിയുള്ളവയായിരിക്കും. വളരെ കൂടിയ അളവിലുള്ള സംഭരണമാധ്യമങ്ങളും, വേഗതയേറിയ (ചിലപ്പോള്‍ ഒന്നിലധികം) പ്രോസസറും ഇവയ്ക്കുണ്ടാകും.

[തിരുത്തുക] ക്ലൈന്റ്

ക്ലൈന്റ്/സെര്‍വര്‍ സിസ്റ്റത്തില്‍ ഡി.ബി.എം.എസ്സിന്റെ ക്ലൈന്റ് ഭാഗം സ്ഥിതിചെയ്യുന്ന കമ്പ്യൂട്ടറിനെ ക്ലൈന്റ് എന്നു വിളിക്കുന്നു. ഒരു സെര്‍വറിനു തന്നെ ഒന്നിലധികം ക്ലൈന്റുകള്‍ ഉണ്ടാകാം. ഒരു ഉപയോക്താവിനു ഉപയോഗിക്കാന്‍ പറ്റുന്ന വിധത്തില്‍ സെര്‍വറിനെ സമീപിക്കാനുള്ള സോഫ്റ്റ്വെയറുകളാണ് ക്ലൈന്റിലുണ്ടാവുക. കീബോര്‍ഡോ മൌസോ മറ്റ് ഇന്‍പുട്ട് ഉപാധികളോ ഉപയോഗിച്ച് ഉപയോക്താവ് ആവശ്യപ്പെടുന്ന കാര്യങ്ങള്‍ സെര്‍വറിലേക്കു നല്കുകയും, അത് പരിശോധിച്ച് സെര്‍വര്‍ നല്‍കുന്ന വിവരങ്ങള്‍ ഉപയോക്താവിന് മനസ്സിലാക്കിക്കൊടുക്കുകയുമാണ് ക്ലൈന്റിന്റെ ദൌത്യം.


[തിരുത്തുക] നാള്‍വഴി

ആദ്യകാലത്ത് എസ്.ക്യു.എല്‍ ഡേറ്റാബേസുകള്‍ക്കായുള്ള ഭാഷയായി തിരിച്ചറിയപ്പെട്ടിരുന്നെങ്കിലും ഓരോ കമ്പനികളും അവരവരുടെ താത്പര്യപ്രകാരമാണ് തങ്ങളുടെ ഡേറ്റാബേസിനായി എസ്.ക്യു.എല്‍ നിര്‍വചിച്ചിരുന്നത്. ഇത് ഈ ഭാഷയ്ക്ക് ഒരു മാനകരൂപം ഉണ്ടാക്കേണ്ടത് ആവശ്യമായി തീര്‍ത്തു. 1978 ന് അടുത്ത് കമ്മിറ്റി ഓണ്‍ ഡേറ്റാ സിസ്റ്റംസ് ആന്‍ഡ് ലാങ്വേജ് (Committee on Data Systems and Language -CODASYL) നിലവില്‍ വരികയും ഭാവി ഭാഷയുടെ നിര്‍വചനത്തിനായി ശ്രമിക്കുകയും ചെയ്തു. 1982 ഓടെ ഈ പ്രവര്‍ത്തനങ്ങളുടെ ഫലമായി ഡേറ്റാ ഡെഫനിഷന്‍ ലാങ്വേജിന്റേയും ഡേറ്റാ മാനിപ്പുലേഷന്‍ ലാങ്വേജിന്റേയും ഔദ്യോഗിക രൂപം അംഗീകാരത്തിനായി സമര്‍പ്പിക്കപ്പെട്ടു. നാലുകൊല്ലം കൂടി കഴിഞ്ഞപ്പോള്‍ അമേരിക്കന്‍ നാഷണല്‍ സ്റ്റാന്‍ഡേര്‍ഡ്സ് ഇന്‍സ്റ്റിറ്റ്യൂട്ട് നാഷണല്‍ കമ്മിറ്റി ഓണ്‍ ഇന്‍ഫൊര്‍മേഷന്‍ റ്റെക്നോളൊജി സ്റ്റാന്‍ഡേര്‍ഡ്സ് എച്ച്2 റ്റെക്നിക്കല്‍ കമ്മറ്റി ഓണ്‍ ഡേറ്റാബേസ് (American National Standards Institute National Committee on Information Technology Standards H2 Technical Committee on Database - ANSI NCITS H2 TCD) അംഗീകരിച്ചു[5]. ഇത് ഐ.ബി.എം. എസ്.ക്യു.എല്‍/ഡി.എസ്. നിര്‍വചനങ്ങള്‍ക്കൊത്ത് പോകുന്ന തരത്തിലുള്ള ഒരു ഭാഷയായിരുന്നു. പിന്നീട് 1987-ല്‍ ഐ.എസ്.ഒ. യും (The International Organization for Standardization - ISO) ഇതംഗീകരിച്ചു.

ആദ്യ ഏകീകൃത രൂപം എന്ന നിലയില്‍ അറിയപ്പെടുന്നത് 1989-ല്‍ അംഗീകരിച്ച എസ്.ക്യു.എല്‍.89 ആണ് എസ്.ക്യു.എല്‍.1 എന്നും ഇതറിയപ്പെടുന്നു. വിവിധകമ്പനികള്‍ ഒത്തുതീര്‍പ്പിലെത്താന്‍ വിമുഖത കാട്ടിയതു മൂലം എസ്.ക്യു.എല്‍ 89 തീര്‍ത്തും അപൂര്‍ണ്ണവും നിരവധി ഭാഗങ്ങള്‍ കമ്പനികളുടെ താത്പര്യപ്രകാരം സൃഷ്ടിക്കാന്‍ വിട്ടുകൊടുത്തതുമായിരുന്നു.

1992-ല്‍ ഈ ന്യൂനതകളൊക്കെ മുന്നില്‍ വച്ചുകൊണ്ട് മാനകഭാഷയെ പരിഷ്കരിക്കുകയും ആദ്യ ദൃഢമായ ഭാഷ പുറത്തിറക്കുകയും ചെയ്തു. ഇത് എസ്.ക്യു.എല്‍92 അഥവാ എസ്.ക്യു.എല്‍2 എന്നോ അറിയപ്പെടുന്നു. ആന്‍സി എസ്.ക്യു.എല്‍.89നെ അടിസ്ഥാനമായി എടുക്കുകയും പഴയ മാനകരൂപത്തിന്റെ ദുര്‍ബലതയും വിടവുകളുമെല്ലാം അടയ്ക്കുകയും ചെയ്തു. മൂന്നുഘട്ടങ്ങളായാണ് ഈ പ്രവര്‍ത്തനങ്ങള്‍ ചെയ്തത് ആദ്യം ചെറിതും പ്രസക്തമല്ലാത്തതുമായ കാര്യങ്ങള്‍ ഏകീകരിച്ചു, രണ്ടാംഘട്ടത്തില്‍ സബ്ക്വെറികള്‍, പുതുക്കാവുന്ന വ്യൂകള്‍, ഡൈനാമിക് എസ്.ക്യു.എല്‍ തുടങ്ങി നിരവധി പ്രസക്തമായ കാര്യങ്ങള്‍ ഏകീകരിച്ചു. അന്തിമഘട്ടത്തില്‍ അസേര്‍ഷനുകള്‍, ഡിഫറബിള്‍ കണ്‍സ്റ്റ്രയിന്റ്സ്, താത്കാലിക ലോക്കല്‍ വേരിയബിളുകള്‍, തുടങ്ങി നിരവധി പ്രസക്തവും ആധുനികവുമായ കാര്യങ്ങളില്‍ മാറ്റങ്ങളുണ്ടായി. എസ്.ക്യു.എല്‍.89 കേവലം 120 താളുകളില്‍ നിര്‍വചിച്ചിരുന്നുവെങ്കില്‍ എസ്.ക്യു.എല്‍92 നിര്‍വചിക്കാന്‍ 600 താളുകള്‍ വേണ്ടി വന്നു[5].

1992-ല്‍ തന്നെ ആരംഭിച്ച് ആന്‍സിയുടേയും ഐ.എസ്.ഓയുടേയും മേല്‍നോട്ടത്തില്‍ ഡേറ്റാബേസ് മോഡലില്‍ ഒരു കുതിച്ചുചാട്ടത്തിനിടയാക്കിയ മാറ്റമായിരുന്നു 1999-ല്‍ പുറത്തിറങ്ങിയ എസ്.ക്യു.എല്‍.99 അഥവാ എസ്.ക്യു.എല്‍3 നടപ്പില്‍ വരുത്തിയത്. സ്റ്റോര്‍ഡ് പ്രൊസീജര്‍ പോലെ പ്രത്യേക കമ്പനികളുടെ സ്വന്തമായിരുന്ന ഭാഗവും ഒബ്ജക്റ്റ് ഓറിയന്റഡ് ആശയം പോലെ എസ്.ക്യു.എല്ലിനു തീര്‍ത്തും അപരിചതമായിരുന്ന രീതിയുമെല്ലാം ഈ മാറ്റത്തില്‍ മാനകരൂപത്തിനു സ്വന്തമായി.

എക്സ്.എം.എല്ലുമായി ബന്ധപ്പെട്ട ഗുണഗണങ്ങള്‍, “വിന്‍ഡോ ഫങ്ഷനുകള്‍”, സ്റ്റാന്‍ഡേര്‍ഡൈസ്ഡ് സീക്വന്‍സുകള്‍, ജെനെറേറ്റഡ് വാല്യൂസ് തുടങ്ങിയ മാറ്റങ്ങള്‍ എസ്.ക്യു.എല്‍ 2003 -ല്‍ ഉണ്ടായി.

പിന്നീടിറങ്ങിയ എസ്.ക്യു.എല്‍ 2006-ല്‍ എക്സ്.എം.എല്ലുമായി ബന്ധപ്പെട്ട ഒരുപിടി മാറ്റങ്ങള്‍ തന്നെയായിരുന്നു പ്രധാനം. എസ്.ക്യു.എല്‍ 2008-ല്‍ ആകട്ടെ 2003 മൂന്നു മുതല്‍ അസ്പഷ്ടമായി കിടന്ന കാര്യങ്ങളെ വ്യക്തമാക്കുക എന്ന ലക്ഷ്യത്തോടെയും, കൂടുതല്‍ ഉപയോഗപ്രദമായ വിന്‍ഡോ ഫങ്ഷനുകളെ ഉള്‍പ്പെടുത്തിയും ഉള്ളതായിരുന്നു[1]

[തിരുത്തുക] വിമര്‍ശനങ്ങള്‍

ഒരു റിലേഷണല്‍ ഡേറ്റാബേസിനായുള്ള ഭാഷയായാണ് നിര്‍മ്മിച്ചതെങ്കിലും ആദ്യം മുതല്‍ക്കേ ഭാഷ റിലേഷണല്‍ മാതൃകയെ അതിലംഘിക്കുന്നുണ്ട്. ഇന്ന് ഏതാണ്ട് റിലേഷണല്‍ മാതൃകയെ പൂര്‍ണ്ണമായി അംഗീകരിക്കുന്നുവെങ്കിലും ലംഘനങ്ങള്‍ സങ്കീര്‍ണ്ണമായിട്ടുണ്ട്. WHERE മുതലായ ക്ലോസുകളുടെ ദുരുപയോഗം വളരെ തെറ്റായ മറുപടികള്‍ ലഭിക്കാന്‍ കാരണമാകുന്നു. തീയതി, സമയം (DATE , TIME) തുടങ്ങിയ ദൈനംദിനജീവിത അടിസ്ഥാന വിവരങ്ങളില്‍ പോലും ഡേറ്റാബേസ് നിര്‍മ്മാതാക്കളില്‍ ഏകത കൊണ്ടുവരാന്‍ എസ്.ക്യു.എല്ലിനു കഴിഞ്ഞിട്ടില്ല. മാനക രൂപം നിര്‍വ്വചിക്കുന്നയിടത്ത് സംഭരണരീതിയെ കുറിച്ചൊന്നും വ്യക്തമായി പറയാത്തതുകൊണ്ട് ഓരോ നിര്‍മ്മാതാവിനും അവരവര്‍ക്കിഷ്ടപ്പെട്ട രീതിയില്‍ അത് ചെയ്യാന്‍ സാധിക്കുന്നു.

[തിരുത്തുക] അവലംബം

  1. 1.0 1.1 http://archives.postgresql.org/pgsql-hackers/2008-09/msg00071.php
  2. Chapple, Mike. SQL Fundamentals (HTML). About.com: Databases. About.com. ശേഖരിച്ചത് 2007-06-10.
  3. Structured Query Language (SQL) (HTML). International Business Machines (October 27, 2006). ശേഖരിച്ചത് 2008-14-11.
  4. 4.0 4.1 4.2 [|Taylor, Allen G] (2003). SQL For Dummies®, 5th Edition. Wiley Publishing, Inc.. ISBN 07645-4075-0. 
  5. 5.0 5.1 5.2 5.3 Kriegel, Alex; Boris M. Trukhnov (2003). SQL Bible. John Wiley & Sons. ISBN 0764525840. 
  6. Oppel, Andy (March 1, 2004). Databases Demystified. San Francisco, CA: McGraw-Hill Osborne Media. pp. pp. 90-91. ISBN 0-07-225364-9. http://www.mhprofessional.com/product.php?cat=112&isbn=0072253649. 
  7. 7.0 7.1 http://www.tomjewett.com/dbdesign/dbdesign.php?page=ddldml.php
  8. http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.apdv.sql.doc/doc/c0020266.htm



താളിന്റെ അനുബന്ധങ്ങള്‍
ആശയവിനിമയം