New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
SQL - Viquipèdia

SQL

De Viquipèdia

SQL (Structured Query Language o Llenguatge de consulta estructurat) és un llenguatge estàndar de comunicació amb bases de dades relacionals. És a dir, un llenguatge normalitzat que permet treballar amb la majoria de bases de dades relacionals. L'SQL es pot hostatjar (es pot utilitzar) dins d'altres llenguatges de programació. La principal característica d'aquest llenguatge és la seua simplicitat, ja que amb pocs coneixements es poden fer consultes bàsiques sobre una base de dades, encara que no per això deixa de ser un llenguatge complet, tant relacionalment com computacionalment (a partir de la versió SQL3 publicada el 1999).

El llenguatge SQL es pot dividir en tres conjunts d'instruccions o sentències segons la seva funció:

  • Les sentències de definició (DDL Data Definition Language) permeten crear, modificar i esborrar estructures de dades.
  • Les sentències de manipulació (DML Data Manipulation Language) permeten llegir, inserir, modificar i esborrar registres.
  • Les sentències de control (DCL Data Control Language) permeten finalitzar o rebutjar transaccions i autoritzar o revocar els permisos dels usuaris.

L'SQL també estandaritza les sentències que s'utilitzen per hostatjar-se dins d'altres llenguatges.

Taula de continguts

[edita] Origens i evolució

Els origens de SQL estan lligats a les bases de dades relacionals. El 1970 Codd proposa el model relacional i associat a aquest un subllenguatge d'acces a les dades basat en el càlcul de predicats. Basant-se en aquestes idees els laboratoris de IBM defineixen el llenguatge SEQUEL (Structured English QUEry Language) que més tard seria ampliament implementat pel SGBD experimental System R, desenvolupat el 1977 també per IBM. Tot i així, va ser Oracle qui el va introduir per primer cop el 1979 en un programa comercial.

El SEQUEL acabaria sent el predecessor de SQL, sent aquest una versió evolucionada del primer. El SQL passa a ser el llenguatge per excel·lència dels diversos SGBD relacionals surgits els anys següents i per fi és estandaritzat el 1986 pel ANSI, donant lloc a la primera versió estàndard d'aquest llenguatge, el SQL-86 o SQL1. L'any següent aquest estàndard és adoptat per l'ISO.

Tot i així aquest primer estàndard no cobreix totes les necessitats dels desenvolupadors i inclou funcionalitats de definició d'emmagatzemats que es consideren eliminar. Així el 1992 es llença un nou estàndard ampliat i revisat de SQL anomenat SQL-92 o SQL2.

Actualment SQL és l'estàndard de facto de l'immensa majoria dels SGBD comercials. I, tot i que la diversitat d'afegits particulars que inclouen les diferents implementacions comercials del llenguatge s'amplia, el suport estàndard SQL-92 és general i molt ampli.

El ANSI SQL va sufrir varies revisions i afegits al llarg del temps:

Any Nom Alies Comentaris
1986 SQL-86 SQL-87 Primera publicació feta per ANSI. Confirmada per l'ISO el 1987.
1989 SQL-89 Revisió menor.
1992 SQL-92 SQL2 Revisió major.
1999 SQL:1999 SQL3 Es van afegir expressions regulars, consultles recursive (per relacions jeràrquiques), triggers i algunes característiques orientades a objectes.
2003 SQL:2003   Introdueix algunes característiques de XML, canvis en les funcions, estandarització de l'objecte sequence i de les columnes autonumèriques.

(Ver Eisenberg et al.: SQL:2003 Has Been Published.)

[edita] Característiques generals

SQL és un llenguatge d'accès a bases de dades que explota la flexibilitat i potència dels sistemes relacionals permetent gran varietat d'operacions sobre els mateixos.

És un llenguatge declaratiu d'alt nivell o de no procediment, que gràcies a la seva forta base teòrica i la seva orientació a la gestió de conjunts de registres, i a no registres individuals, permet una altra productivitat de codificació. D'aquesta forma una sola sentència pot equivaldre a un o més programes que utilitzessin un llenguatge de baix nivell orientat a registre.

[edita] Funcionalitat

SQL proporciona una rica funcionalitat més enllà de la simple consulta (o recuperació) de dades. Assumeix el paper de llenguatge de definició de dades (LDD), llenguatge de definició de vistes (LDV) i llenguatge de manipulació de dades (LMD). A més permet la concesió i denegació de permisos, l'implementació de restriccions d'integritat i controls de transacció i l'alteració d'esquemes.

Les primeres versions de SQL incluien funcions propies de llenguatge de definició d'emmagatzematge (LDA) però van ser suprimides pels estàndard més nous amb el fi de mantenir els estàndards més nous amb l'objectiu de mantenir el llenguatge només a nivell conceptual i extern.

[edita] Modes d'ús

El SQL permet dos modes d'ús:

  • Un ús interactiu, destinat principalment als usuaris finals avançats o ocasionals, en el que les diverses sentències SQL s'escriuen i s'executen a la línia de comandes, o un entorn semblant.
  • Un ús integrat, destinat a l'ús per part dels programadors dins de programes escrits en qualsevol llenguatge de programació amfitrió. En aquest cas SQL agafa el paper de subllenguatge de dades.

En el cas de fer un ús embès del llenguatge podem usar dues tècniques de programació. En una d'elles, en la que el llenguatge s'anomena SQL estàtic, les sentències usades no canvien durant l'execució del programa. En l'altre, on el llenguatge reb el nom de SQL dinàmic, es produeix una modificació total o parcial de les sentències en el transcurs de l'execució del programa.

L'utilització de SQL dinàmic permet més flexibilitat i més complexitat en les sentències, però com a contra punt obteninim una eficiència menor i l'ús de tècniques de programació més complexes en la gestió de memoria i variables.

[edita] Optimizació

Com ja s'ha comentat, i com sol ser comú en els llenguatges d'accés a bases de dades d'alt nivell, SQL és un llenguatge declaratiu. Ho sigui, que especifica que és el que es necessita i no com aconseguir-lo, per tant una sentència no estableix explícitament una ordre d'execució.

L'odre d'execució intern d'una sentència pot afectar greument l'eficiència del SGBD, per tant es fa necessari que aquest porti a cap una optimització abans de l'execució de la mateixa. Molt vegades, l'ús d'índexs accelera una instrucció de consulta, però ralentitza l'actualització de les dades, depenent de l'ús de l'aplicació, es donarà prioritat a l'accès indexat o a una ràpida actualització de l'informació. L'optimització varia sensiblement a cada motor de base de dades i depen de molts factors.

Hi ha una ampliació de SQL coneguda com FSQL (Fuzzy SQL, SQL difús) que permet l'accés a bases de dades difuses, usant la lògica difusa. Aquest llenguatge ha sigut implementat a nivell experimental i està evolucionant ràpidament.

[edita] Vegeu també

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu