"എസ്.ക്യു.എൽ." എന്ന താളിന്റെ പതിപ്പുകൾ തമ്മിലുള്ള വ്യത്യാസം

(ചെ.) യന്ത്രം - അക്ഷരപിശകുകൾ
No edit summary
വരി 8:
| developer = [[ഐ.ബി.എം.]]
| latest_release_version = SQL:2006
| latest_release_date = 2006
| latest_test_version =
| latest_test_date =
| turing-complete = No
വരി 22:
}}
 
[[റിലേഷണൽ ഡേറ്റാബേസ്|റിലേഷണൽ ഡേറ്റാബേസുകൾക്കായുള്ള]] ഉടമസ്ഥ രഹിത നോൺ പ്രൊസീജറൽ കമ്പ്യൂട്ടർ പ്രോഗ്രാമിങ് ഭാഷയാണ് '''സ്റ്റ്രക്ചേർഡ് ക്വറി ലാങ്വേജ്''' അഥവാ '''എസ്.ക്യു.എൽ.''' ഇന്ന് [[ഒറാക്കിൾ]], [[എം.എസ്. എസ്.ക്യു.എല്. സെർവർ‍]], [[മൈ എസ്.ക്യു.എൽ]], [[പി.എൽ/എസ്.ക്യു.എൽ]] തുടങ്ങി നിരവധി [[ഡേറ്റാബേസ്|ഡേറ്റാബേസുകൾ]] എസ്.ക്യു.എൽ ഉപയോഗിക്കുന്നു. [[ഡേറ്റാബേസ്]] ഉപയോഗിച്ച് വിവരങ്ങളുടെ ശേഖരണം, പുനരുപയോഗം, കൈകാര്യംചെയ്യൽ എന്നിവയ്ക്കായി മാത്രം നിർമ്മിച്ച ഭാഷയാണിത്.<ref
<ref name="chapple">{{cite web
| last = Chapple
| first = Mike
| title = SQL Fundamentals
| work = About.com: Databases
| publisher = About.com
| url = http://databases.about.com/od/sql/a/sqlfundamentals.htm?terms=SQL
| format = HTML
| accessdate = 2007-06-10 }}</ref><ref name="IBM-sql">{{cite web
| title = Structured Query Language (SQL)
| publisher = International Business Machines
| url = http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.admin.doc/doc/c0004100.htm
| format = HTML
| date = October 27, 2006
| accessdate = 2008-14-11}}</ref> . എസ്.ക്യു.എൽ. സാധാരണയായി ഉപഭാഷയായി മാത്രമേ അറിയപ്പെടുന്നുള്ളു. റിലേഷണൽ ഡേറ്റാബേസിലെ [[അൽഗോരിതം]] കൂടി പ്രവർത്തിച്ചാലേ എസ്.ക്യു.എൽ ഉപയോഗിച്ച് പ്രയോജനപ്രദമായ പ്രവർത്തനങ്ങൾ നടത്താൻ കഴിയുകയുള്ളു എന്നതിനാലാണിത്.<ref
<ref name="dummies">{{cite book
| last = Taylor
| first = Allen G
| authorlink = http://allengtaylor.com
| title = SQL For Dummies®, 5th Edition
| publisher = Wiley Publishing, Inc.
| date = 2003
| isbn = 07645-4075-0 }}</ref>. ഒരു നോൺ പ്രൊസീജറൽ ഭാഷയായാണ് നിർവ്വചിച്ചിരിക്കുന്നതെങ്കിലും കാലാകാലങ്ങളായുള്ള മാറ്റങ്ങളിലൂടെ ചിലയിടങ്ങളിൽ പ്രൊസീജറൽ സ്വഭാവം വന്നിട്ടുണ്ട്.
== ചരിത്രം ==
[[റിലേഷണൽ ഡേറ്റാബേസ്]] സിദ്ധാന്തം പോലെ [[ഐ.ബി.എം.|ഐ.ബി.എമ്മിന്റെ]] ഗവേഷണശാലയിലാണ് എസ്.ക്യു.എല്ലിന്റേയും പിറവി. 1970 കളുടെ തുടക്കത്തിൽ ഐ.ബി.എം തങ്ങളുടെ [[ആർ.ഡി.ബി.എം.എസ്.]] സിസ്റ്റത്തിന്റെ ആദ്യരൂപം അവതരിപ്പിച്ച കൂട്ടത്തിൽ ഡേറ്റയുടെ കൈകാര്യനിർവ്വഹണത്തിനായി ഒരു ഉപഭാഷകൂടി സൃഷ്ടിച്ചിട്ടുണ്ടായിരുന്നു. ഔദ്യോഗികമായി പുറത്തിറങ്ങുന്നതിന്റെ മുമ്പ് ഭാഷയെ അവർ സീക്യൂവെൽ (SEQUEL - Structured English QUEry Language) എന്നു വിളിച്ചു പോന്നു. എന്നാൽ പുറത്തിറങ്ങിയ സമയം തങ്ങളുടെ ഭാഷയുടെ പേർ അവർ മാറ്റുകയും സീക്യൂവെല്ലിനോട് സാദൃശ്യമുള്ള എസ്.ക്യു.എൽ എന്ന നാമം സ്വീകരിക്കുകയും ചെയ്തു.<ref name="ബൈബിൾ">{{cite book
| last = Kriegel
| first = Alex
| coauthors = Boris M. Trukhnov
| title = SQL Bible
| publisher = John Wiley & Sons
| date = 2003
| isbn = 0764525840 }}</ref>. സീക്യുവെൽ എന്ന നാമം മറ്റൊരു കമ്പനിയുടെ സ്വകാര്യസ്വത്തായിരുന്നു എന്നതും ഈ മാറ്റത്തിനു കാരണമായി.<ref name="oppel-databases">{{cite book
| last = Oppel
| first = Andy
| title = Databases Demystified
| publisher = McGraw-Hill Osborne Media
| date = March 1, 2004
| location = [[San Francisco, CA]]
| pages = pp. 90-91
| url = http://www.mhprofessional.com/product.php?cat=112&isbn=0072253649
| id = ISBN 0-07-225364-9 }}</ref>. 1981-ൽ ഔദ്യോഗികമായി അവതരിപ്പിക്കപ്പെടുന്നതിന്റെ മുമ്പ് തന്നെ ഈ ഭാഷയും ആർ.ഡി.ബി.എം.എസ്സും. പ്രസിദ്ധിയാർജ്ജിച്ചായിരുന്നു. അതേസമയം തന്നെ റിലേഷണൽ സോഫ്റ്റ്‌വേർ.ഇൻ‌ക് (ഇന്ന് [[ഒറാക്കിൾ കോർപ്പറേഷൻ]]) അവരുടെ ആദ്യ ആർ.ഡി.ബി.എം.എസ് പുറത്തിറക്കിയിരുന്നു. ഈ ആദ്യകാല ഉൽപ്പന്നങ്ങൾ പുതു ഡേറ്റാബേസ് മാനേജ്മെന്റ് സിസ്റ്റങ്ങൾക്ക് മാനകങ്ങളായിത്തീർന്നു<ref name="ബൈബിൾ" />. ഇരുവരും തങ്ങളുടെ ഡേറ്റാബേസുകളിൽ എസ്.ക്യു.എൽ ഇണക്കിച്ചേർത്തിരുന്നു. അങ്ങനെ തത്ത്വത്തിൽ അതൊരു ഡേറ്റാബേസ് മാനേജ്മെന്റിനുള്ള ഭാഷയായിത്തീർന്നു. തുടർന്ന് മറ്റ് റിലേഷണൽ ഡേറ്റാബേസ് കമ്പനികളും ഏതെങ്കിലും വിധത്തിൽ എസ്.ക്യു.എൽ ഉപയോഗിച്ചു തുടങ്ങി. എങ്കിലും അവയെല്ലാം വ്യത്യസ്തമായിരുന്നു.
 
ഈ പ്രശ്നത്തിനു പരിഹാരം കാണാനുള്ള ശ്രമത്തിന്റെ ഭാഗമായി [[ആൻസി]] (ANSI) 1986-ൽ എസ്.ക്യു.എൽ.-86 (SQL -86) എന്ന പേരിൽ ഒരു മാനകരൂപം സൃഷ്ടിച്ചു. തുടർന്ന് അത് പലവട്ടം പുതുക്കുകയുണ്ടായി. ഇന്നും എസ്.ക്യു.എൽ കാലാനുസൃതമായിരിക്കാൻ ശ്രദ്ധിക്കുന്നുണ്ട്.
 
== ഉപയോഗം ==
ഡേറ്റാബേസിലേക്ക് വിവരങ്ങൾ നൽകുക, ഡേറ്റാബേസിൽ നിന്നും വിവരങ്ങൾ എടുക്കുക, അതിലെ വിവരങ്ങൾ കൈകാര്യം ചെയ്യുക എന്നതിനപ്പുറം ഒരു പ്രവൃത്തിയും ചെയ്യാൻ എസ്.ക്യു.എൽ ഉപയോഗിച്ചു സാധിക്കുകയില്ല. അതുകൊണ്ട് തന്നെ [[ഡേറ്റാബേസ് മാനേജ്മെന്റ് സിസ്റ്റം|ഡേറ്റാബേസ് മാനേജ്മെന്റ് സിസ്റ്റത്തിനു]] പുറത്ത് എസ്.ക്യു.എല്ലിനു നിലനിൽപ്പില്ല. അതായത് [[സി]], [[സി++]], [[ജാവ]] തുടങ്ങിയ കമ്പ്യൂട്ടർ ഭാഷകളെ പോലെ പ്രശ്നനിർദ്ധാരണത്തിനായി എസ്.ക്യു.എൽ ഉപയൊഗിക്കാൻ സാധ്യമല്ല. ഡേറ്റാബേസിലേയ്ക്ക് എസ്.ക്യു.എൽ ഉപയോഗിച്ചു നൽകുന്ന കമാൻഡുകളെ സ്വീകരിക്കുന്ന ഡേറ്റാബേസ് ആണ് അതിൽ എന്തായിരിക്കണം പ്രവർത്തനമെന്ന് പൂർണ്ണമായും നിശ്ചയിക്കുന്നതും പ്രവർത്തിക്കുന്നതും.
 
പ്രവർത്തനത്തിനായി പൂർണ്ണമായും ആർ.ഡി.ബി.എം.എസ്സിനെ ആശ്രയിക്കുന്നതിനാൽ എസ്.ക്യു.എൽ ഒരു പ്ലാറ്റ്ഫോം സ്വതന്ത്രമായ ഭാഷയാണെന്നു പറയാം. എന്നാൽ [[ജാവ (പ്രോഗ്രാമിങ് ഭാഷ)|ജാവ]] പോലുള്ള പ്ലാറ്റ്ഫോം സ്വതന്ത്രങ്ങളായ ഭാഷകൾ പ്രവർത്തിക്കുന്നതിൽ നിന്നും പൂർണ്ണമായി വ്യത്യസ്തമായ രീതിയിലാണ് ഇതിന്റെ പ്രവർത്തനം. എസ്.ക്യു.എൽ കീവേഡുകൾ എല്ലായിടത്തും ഉപയോഗിക്കുന്നു എന്നതു കഴിഞ്ഞാൽ ഒന്നിനൊന്നു വ്യത്യസ്തമാണ് ആന്തരിക പ്രവർത്തനങ്ങൾ<ref name="dummies"/>. ക്വെറികൾ ഡേറ്റാബേസിൽ വച്ച് മെഷീൻ കോഡിലോട്ട് മാറുകയും പ്രവർത്തിക്കുകയും ചെയ്യുന്നു.
 
ആർ.ഡി.ബി.എം.എസ്സുകൾ നിർമ്മിക്കുന്ന വിവിധ കമ്പനികൾ അവരവരുടെ പ്രത്യേകതകളും തങ്ങളുടെ എസ്.ക്യു.എല്ലിൽ ചേർത്തിട്ടുള്ളതിനാൽ അവരവരുടെ സങ്കീർണ്ണമായ ഒരു ക്വെറി മറ്റൊരാളുടെ ഡേറ്റാബേസിൽ പ്രവർത്തിക്കാതെ വന്നേക്കാം. ഉദാഹരണത്തിന് ഒറാക്കിൾ ഉപയോഗിക്കുന്ന ഒരു ക്വെറി അവരുടെ [[ലിനക്സ്]] ഡേറ്റാബേസിലും, വിൻഡോസ് ഡേറ്റാബേസിലും പ്രവർത്തിക്കും. പക്ഷേ അത് എം.എസ്. എസ്.ക്യു.എല്ലിലോ തിരിച്ചുമോ പ്രവർത്തിക്കണമെന്നില്ല. മിക്കവാറും എല്ലാ ഡേറ്റാബേസ് നിർമ്മാതാക്കളും അവരവരുടെ എസ്.ക്യു.എൽ ഭാഷാഭേദങ്ങൾ ഉപയോഗിക്കുന്നു. എന്നാലും ഭാഷയുടെ ബഹുഭൂരിഭാഗവും മാനക എസ്.ക്യു.എല്ലിനു സമാനമായിരിക്കും.
=== പ്രയോഗം ===
റിലേഷണൽ ഡേറ്റാബേസുകളിൽ വിവരങ്ങൾ സംഭരിച്ച് പുനഃരുപയോഗിക്കുന്നതിന് വേണ്ട കാര്യങ്ങൾ എസ്.ക്യു.എല്ലിൽ വ്യക്തമായി പറഞ്ഞിട്ടുണ്ട്.
 
ഡേറ്റായിൽ സ്ഥിരമായി അനുഭവപ്പെടേണ്ട കമാൻഡുകളെ സ്റ്റേറ്റ്മെന്റ്സ് (Statements) എന്നു വിളിക്കുന്നു. കണക്ഷനുകൾ, സെഷൻ, പരിശോധനകൾ തുടങ്ങിയ കാര്യങ്ങളാണ് സ്റ്റേറ്റ്മെന്റ് ആയി നൽകുന്നത്. പ്രത്യേക മാനദണ്ഡങ്ങൾക്കനുസൃതമായി വിവരങ്ങൾ ഡേറ്റാബേസിൽ നിന്നും ശേഖരിക്കാനുള്ള കമാൻഡുകളെ ക്വെറികൾ എന്നു വിളിക്കുന്നു (Queries). മാറിക്കൊണ്ടിരിക്കാവുന്ന വിവരങ്ങളേയും വരിയും നിരയുമടങ്ങുന്ന പട്ടികകളേയും സൃഷ്ടിക്കാൻ കഴിവുള്ള കമാൻഡുകളെ എക്സ്പ്രെഷൻസ് (Expressions) എന്നു വിളിക്കുന്നു. ശരിയെന്നോ തെറ്റെന്നോ ഉത്തരം വരാവുന്ന വ്യവസ്ഥകളെ അടിസ്ഥാനമാക്കി സ്റ്റേറ്റ്മെന്റുകളോ ക്വെറികളോ പ്രവർത്തിപ്പിക്കാനുള്ള കമാൻഡുകളെ പ്രെഡിക്കേറ്റുകൾ എന്നു വിളിക്കുന്നു. അവശ്യാനുസരണം തിരഞ്ഞെടുക്കാവുന്ന തരത്തിൽ സ്റ്റേറ്റ്മെന്റുകളോ ക്വെറികളോ ഉൾപ്പെട്ട കമാൻഡുകളെ ക്ലോസസ്(Clauses) എന്നു വിളിക്കുന്നു.
 
=== ഘടകങ്ങൾ ===
വരി 86:
 
==== ഡേറ്റാ നിർവ്വചന ഭാഷ ====
ഒരു പുതിയ ഡേറ്റാബേസ് നിർവ്വചിക്കാനും, അതിന്റെ ഘടന രൂപപ്പെടുത്താനും, ഉപയോഗശൂന്യമാകുമ്പോൾ നശിപ്പിച്ചുകളയാനുമുള്ള ഉപയോഗമാണ് എസ്.ക്യു.എല്ലിന്റെ ഈ ഭാഗം ചെയ്യുന്നത്. പുതിയ പട്ടികകളും അനുബന്ധഘടകങ്ങളും നിർവ്വചിക്കാനും ഇതിനു കഴിവുണ്ടാവും.<ref name="tom">http://www.tomjewett.com/dbdesign/dbdesign.php?page=ddldml.php</ref>. <code>CREATE</code>, <code>ALTER</code>, <code>RENAME</code>, <code>TRUNCATE</code>, <code>DROP</code> എന്നിവയാണ് ഡേറ്റാ നിർവചന ഭാഷയിലുള്ള ഏറ്റവും അടിസ്ഥാനകരമായ ചില വാക്കുകൾ.
ഉദാ:<source lang="sql">
CREATE TABLE My_table (
my_field1 INT,
my_field2 VARCHAR (50),
my_field3 DATE NOT NULL,
PRIMARY KEY (my_field1, my_field2)
);
</source>
 
==== ഡേറ്റാ കൈകാര്യം ചെയ്യാനുള്ള ഭാഷ ====
ഡേറ്റാബേസിന്റെ പരിപാലനമാണ് ഭാഷയുടെ ഈ ഭാഗം കൈയ്യാളുന്നത്. ഇതുപയോഗിച്ച് ഒരുപയോക്താവിന് എന്ത് എങ്ങനെ വേണമെന്നും അതിലെന്തുമാറ്റമാണ് വേണ്ടതെന്നും പറഞ്ഞുകൊടുക്കാവുന്നതാണ്<ref name="tom" />. <code>START TRANSACTION</code>, <code>COMMIT</code>, <code>ROLLBACK</code> തുടങ്ങിയ വാക്കുകൾ ഡി.എം.എല്ലിൽ ഉൾപ്പെടുന്നു.
ഉദാ: ഒരു ബാങ്ക് അക്കൌണ്ടിലെ പണം മറ്റൊരക്കൌണ്ടിലേക്ക് മാറ്റുന്നു
<source lang="sql">
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;
</source>
==== ഡേറ്റാ നിയന്ത്രണത്തിനുള്ള ഭാഷ ====
ഡേറ്റാബേസിനെ സംരക്ഷിക്കുവാനും തെറ്റുകുറ്റങ്ങൾ പറ്റാതെ സൂക്ഷിക്കാനുമാന് ഡേറ്റാ നിയന്ത്രണത്തിനുള്ള ഭാഷ അഥവാ ഡി.സി.എൽ. ഉപയോഗിക്കുന്നത്. ഒരു ഡേറ്റാബേസിന്റെ കൈകാര്യം വേണ്ടത്രസുരക്ഷിതമല്ലങ്കിൽ അന്യർ അത് വരുതിയിലാക്കാനും അങ്ങനെ പ്രശ്നങ്ങളുണ്ടാകാനുമിടയുണ്ട്. ഇത് തടയാനാണ് ഡി.സി.എൽ. ഉപയോഗിക്കുന്നത്.<ref name="ibm">
http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.apdv.sql.doc/doc/c0020266.htm</ref>. <code>GRANT</code>, <code>REVOKE</code> എന്നീ വാക്കുകൾ ഇവിടെ ഉപയോഗിക്കുന്നു.
 
ഉദാ:
വരി 116:
 
=== ക്ലൈന്റ്/സെർവർ ഉപയോഗം ===
ഒരു [[കമ്പ്യൂട്ടർ]] ഉപയോഗിച്ചോ, [[കമ്പ്യൂട്ടർ നെറ്റ്വർക്ക്|നെറ്റ്‌വർക്കിലോ]] എസ്.ക്യു.എൽ ഉപയോഗിക്കാവുന്നതാണ്. ക്ലൈന്റ്/സെർവർ മാതൃകയിൽ നന്നായി പ്രവർത്തിക്കാൻ പാകത്തിലാണിത് സൃഷ്ടിച്ചതു തന്നെ. സെർവർ കമ്പ്യൂട്ടറിൽ ഡേറ്റാബേസ് സ്ഥിതിചെയ്യുകയും, [[ലാൻ]] ഉപയോഗിച്ചോ മറ്റ് സംവേദന ചാനലുകൾ ഉപയോഗിച്ചോ സെർവറുമായി ബന്ധപ്പെട്ട ക്ലൈന്റ് ഉപയോഗിച്ച് ഡേറ്റാബേസിനെ സമീപിക്കാനും കഴിയും. [[ഡി.ബി.എം.എസ്|ഡി.ബി.എം.എസ്സിന്റെ]] ക്ലൈന്റിൽ സ്ഥിതി ചെയ്യുന്ന ഭാഗം ഉപയോഗിച്ച് സെർവറിനു കമാൻഡുകൾ നൽകാനും വിവരങ്ങൾ എടുക്കാനും കഴിയും.
 
==== ഡേറ്റാബേസ് സെർവർ ====
വരി 128:
 
== നാൾവഴി ==
ആദ്യകാലത്ത് എസ്.ക്യു.എൽ ഡേറ്റാബേസുകൾക്കായുള്ള ഭാഷയായി തിരിച്ചറിയപ്പെട്ടിരുന്നെങ്കിലും ഓരോ കമ്പനികളും അവരവരുടെ താത്പര്യപ്രകാരമാണ് തങ്ങളുടെ ഡേറ്റാബേസിനായി എസ്.ക്യു.എൽ നിർവചിച്ചിരുന്നത്. ഇത് ഈ ഭാഷയ്ക്ക് ഒരു മാനകരൂപം ഉണ്ടാക്കേണ്ടത് ആവശ്യമായി തീർത്തു. 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) അംഗീകരിച്ചു<ref name="ബൈബിൾ" />. ഇത് ഐ.ബി.എം. എസ്.ക്യു.എൽ/ഡി.എസ്. നിർവചനങ്ങൾക്കൊത്ത് പോകുന്ന തരത്തിലുള്ള ഒരു ഭാഷയായിരുന്നു. പിന്നീട് 1987-ൽ [[ഐ.എസ്.ഒ.]] യും (The International Organization for Standardization - ISO) ഇതംഗീകരിച്ചു.
 
ആദ്യ ഏകീകൃത രൂപം എന്ന നിലയിൽ അറിയപ്പെടുന്നത് 1989-ൽ അംഗീകരിച്ച എസ്.ക്യു.എൽ.89 ആണ് എസ്.ക്യു.എൽ.1 എന്നും ഇതറിയപ്പെടുന്നു. വിവിധകമ്പനികൾ ഒത്തുതീർപ്പിലെത്താൻ വിമുഖത കാട്ടിയതു മൂലം എസ്.ക്യു.എൽ 89 തീർത്തും അപൂർണ്ണവും നിരവധി ഭാഗങ്ങൾ കമ്പനികളുടെ താത്പര്യപ്രകാരം സൃഷ്ടിക്കാൻ വിട്ടുകൊടുത്തതുമായിരുന്നു.
വരി 141:
 
== വിമർശനങ്ങൾ ==
ഒരു റിലേഷണൽ ഡേറ്റാബേസിനായുള്ള ഭാഷയായാണ് നിർമ്മിച്ചതെങ്കിലും ആദ്യം മുതൽക്കേ ഭാഷ റിലേഷണൽ മാതൃകയെ അതിലംഘിക്കുന്നുണ്ട്. ഇന്ന് ഏതാണ്ട് റിലേഷണൽ മാതൃകയെ പൂർണ്ണമായി അംഗീകരിക്കുന്നുവെങ്കിലും ലംഘനങ്ങൾ സങ്കീർണ്ണമായിട്ടുണ്ട്. <code>WHERE</code> മുതലായ ക്ലോസുകളുടെ ദുരുപയോഗം വളരെ തെറ്റായ മറുപടികൾ ലഭിക്കാൻ കാരണമാകുന്നു. തീയതി, സമയം (<code>DATE</code> , <code>TIME</code>) തുടങ്ങിയ ദൈനംദിനജീവിത അടിസ്ഥാന വിവരങ്ങളിൽ പോലും ഡേറ്റാബേസ് നിർമ്മാതാക്കളിൽ ഏകത കൊണ്ടുവരാൻ എസ്.ക്യു.എല്ലിനു കഴിഞ്ഞിട്ടില്ല. മാനക രൂപം നിർവ്വചിക്കുന്നയിടത്ത് സംഭരണരീതിയെ കുറിച്ചൊന്നും വ്യക്തമായി പറയാത്തതുകൊണ്ട് ഓരോ നിർമ്മാതാവിനും അവരവർക്കിഷ്ടപ്പെട്ട രീതിയിൽ അത് ചെയ്യാൻ സാധിക്കുന്നു.
== അവലംബം ==
{{wikibooks|SQL}}
"https://ml.wikipedia.org/wiki/എസ്.ക്യു.എൽ." എന്ന താളിൽനിന്ന് ശേഖരിച്ചത്