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 - Wikipedia

SQL

Van Wikipedia

SQL of 'Structured Query Language' is een ANSI/ISO-standaardtaal voor een relationeel 'database management systeem' (DBMS). Het is een gestandaardiseerde taal die gebruikt kan worden voor taken zoals het bevragen en het aanpassen van informatie in een relationele databank. SQL kan met vrijwel alle moderne relationele databankproducten worden gebruikt.

Inhoud

[bewerk] Beschrijving

SQL is gebaseerd op de relationele algebra en werd in de loop van de jaren 70 ontwikkeld door IBM (San Jose). Sinds het ontstaan van SQL hebben reeds vele verschillende SQL-versies het levenslicht gezien. Pas in de loop van de jaren 80 werd SQL gestandaardiseerd. Tegenwoordig gebruiken de meeste 'Database Management Systems' SQL-92.

Bij het beschouwen van de verschillende SQL-implementaties moeten we vaststellen dat bijna elk DBMS zijn eigen extra functies heeft toegevoegd aan SQL-92. Dit maakt dat computerprogramma's waarbij de databankinterface werd geschreven met behulp van SQL niet noodzakelijk zonder problemen kunnen worden gemigreerd van de ene naar de andere SQL-compatibele databank. In vele gevallen werd door de ontwikkelaar van de software wel een of andere SQL-functie gebruikt die enkel maar bestaat in de SQL-implementatie van één specifiek DBMS.

Initieel werd SQL ontwikkeld als een vraagtaal voor de eindgebruiker. Het idee was dat businessmanagers SQL zouden gaan gebruiken om bedrijfgegevens te analyseren. Achteraf is gebleken dat SQL te complex is om door eindgebruikers toegepast te worden. Het gebruik van SQL impliceert immers een volledige kennis van de structuur van de te ondervragen databank. Tegenwoordig wordt SQL vrijwel uitsluitend door tussenkomst van een applicatie gebruikt. De programmeur van de applicatie benadert de database met SQL via een Application Programming Interface (API), zoals ODBC (MS Windows), JDBC (Java) of een productspecifieke API. SQL is dus in essentie omgevormd van een taal voor eindgebruikers tot een brug tussen applicaties en databanken.

SQL kan worden opgedeeld in drie onderdelen: de Data Manipulation Language (DML), de Data Control Language (DCL) en de Data Definition Language (DDL).

[bewerk] Werking

SQL maakt voor de communicatie met het DBMS gebruik van zogenaamde query's. Een query is een ASCII-tekenreeks en bevat telkens een opdracht die naar het DBMS wordt verzonden. Het DBMS zal op zijn beurt die opdracht interpreteren en uitvoeren en stuurt, indien nodig, een aantal gegevens terug naar de opdrachtgever.

Een SQL-query ziet er bijvoorbeeld als volgt uit:

 SELECT *
 FROM tblKlanten 
 WHERE tblKlanten.krediet < 0;

De betekenis van bovenstaande query is als volgt:

  • SELECT: hierachter wordt geplaatst welke velden worden geselecteerd; * is alle velden.
  • FROM: hierachter komt de naam van de tabel, in dit geval tblKlanten.
  • WHERE: hierachter komen veldnamen met waarden waaraan de velden moeten voldoen.
  • In dit geval: alle records waarvan het veld krediet in de tabel tblKlanten kleiner is dan 0.

Dit is een van de simpelste vormen dat een SQL kan aannemen. Deze SQL is getypt volgens de afspraken van de Lyzenski-conventie.

Met SQL is het mogelijk om tabellen aan te maken, te wijzigen, te vullen en te verwijderen. Daarbij is het niet van belang of de tabel een gedeelte van een andere tabel is. Het maakt ook niet uit of de tabel alleen in het geheugen voorkomt of werkelijk in een database is opgeslagen.

Een tabel maken

CREATE TABLE tabelnaam
(veldNaam1 veldtype1 [NOT NULL] [PRIMARY KEY | UNIQUE]
,veldNaam2 veldtype2 [NOT NULL] [PRIMARY KEY | UNIQUE]
,veldNaam3 ....);

Een tabel verwijderen

DROP TABLE tabelnaam;

Een tabel vullen (zie ook: Insert (SQL))

INSERT INTO tabelnaam [veldnaam1 [,veldnaam2 [, ....]]]
VALUES (waarde1[,waarde2[,...]]]);

Een tabel lezen (zie ook: Select (SQL))

SELECT veldna(a)m(en)
FROM Tabelnaam
[WHERE conditie]
[GROUP BY veldnaam [, veldnaam ...]]
[HAVING conditie2]
[ORDER BY veldnaam [ASC | DESC] [, veldnaam [ASC | DESC] ...]];

Gegevens bijwerken (zie ook: Update (SQL))

UPDATE <tabel-naam> SET veldnaam=waarde, veldnaam2=waarde2 WHERE conditie;

SQL statements in HOOFDletters, niet verplichte code tussen [ en ]

[bewerk] Transacties

Een transactie is een reeks databasebewerkingen die ofwel allemaal worden doorgevoerd, dan wel geen van allen worden doorgevoerd.

Neem als voorbeeld de database van een bank, waarbij bij een overboeking eerst het saldo van rekening A met een SQL-opdracht wordt verlaagd, en daarna het saldo van rekening B met een SQL-opdracht wordt verhoogd. Als er nu een fout plaatsvindt nádat het saldo op rekening A is verlaagd, maar nog vóordat het saldo op rekening B is verhoogd, 'verdwijnt' het bedrag. Dit is te voorkomen door de twee SQL-opdrachten die nodig zijn voor de overboeking in een transactie te zetten.

Een transactie kan expliciet worden gestart (BEGIN WORK of BEGIN TRANSACTION) of impliciet bij de eerste lees- of schrijfopdracht sinds de voorgaande transactie (of sinds het begin van de sessie). De syntax en manier van werken is afhankelijk van de betreffende database, zoals Oracle, Sybase en andere. De statements waarmee transacties gedefinieerd worden vallen in SQL onder Data Control Language (DCL).

Er zijn twee commando's om een transactie af te sluiten:

  • commit: De applicatie geeft aan dat de transactie wordt doorgevoerd. Als het commit-commando door de database succesvol wordt uitgevoerd dan zijn de bewerkingen definitief in de database doorgevoerd. Sommige statements bevatten een impliciete commit. Ook is het mogelijk een impliciete commit te implementeren.
  • rollback of abort: De applicatie geeft aan dat de transactie niet wordt doorgevoerd. Bij sommige databases wordt bovendien impliciet een rollback uitgevoerd als er een fout optreedt gedurende de transactie. De gegevens krijgen weer de waarde die ze hadden vóór de transactie.
 BEGIN WORK;
 UPDATE tabel SET kolom1 = waarde1, kolom2 = waarde2 WHERE kolomID = eenID;
 COMMIT;

[bewerk] Zie ook

 

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