SQL

SQL betekent Structured Query Language. Het is een ANSI/ISOstandaardtaal voor een relationeel, uit tabellen bestaand,  databasemanagementsysteem (DBMS). Het is een gestandaardiseerde taal die gebruikt kan worden voor taken zoals het bevragen en het aanpassen van gegevens in een relationele database. SQL kan met vrijwel alle moderne relationele databaseproducten worden gebruikt.

Introductie

SQL is gebaseerd op de relationele algebra en werd in de loop van de jaren zeventig ontwikkeld door IBM. 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 RDBMS’en ten minste de standaard 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 database interface werd geschreven met behulp van SQL niet noodzakelijk zonder problemen kunnen worden gemigreerd van de ene naar de andere SQL-compatibele database. 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.

In eerste instantie werd SQL ontwikkeld als een vraagtaal voor de eindgebruiker. Het idee was dat businessmanagers SQL zouden gebruiken om bedrijfsgegevens te analyseren (Business Intelligence). Achteraf is gebleken dat SQL te complex is om door gewone eindgebruikers toegepast te worden. Het gebruik van SQL impliceert immers een volledige kennis van de structuur van de te ondervragen database. 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 of ADO (Windows), JDBC (Java) of een productspecifieke API. SQL is dus in essentie omgevormd van een taal voor eindgebruikers tot een brug tussen applicaties en databases. Dit neemt echter niet weg dat Data Scientists, en Business Analisten in Intelligence deze taal wel machtig moeten zijn om goed te kunnen functioneren.

Voorbeeld

DIKW heeft haar best practices met betrekking tot de taal SQL verpakt in haar product de “Data Warehouse Accelerator”. Hierin zijn alle SQL programma’s die veelvuldig terugkomen bij vele specifieke klanttoepassingen met betrekking tot data warehousing al voorgeprogrammeerd. Dit bespaart aanzienlijke tijd en risico’s bij de realisatie van nieuwe en bestaande data warehouses.