Chris Date was afgelopen maart weer in Nederland. Bij de jongere generatie automatiseerders niet meer zo bekend, maar voor de ouderen is hij nog altijd een icoon. Hij was een van de grondleggers van relationele databases, een technologie waarvan vele organisaties afhankelijker zijn dan dat ze zich realiseren. Velen van ons hebben de databasetheorie met behulp van zijn bekende boeken bestudeerd.
Een van Date’s stokpaardje is al jaar en dag zijn kritiek op SQL. Deze zeer populaire databasetaal voldoet niet aan de spelregels van het relationele model. In zijn lezingen was hij hier ook nu weer duidelijk over en ook in een interview, dat vorige week in Computable verscheen, hamerde hij hier op.
Uiteraard is zijn terechte kritiek bij velen reeds bekend. Hij is tenslotte al minstens twintig jaar bezig de wereld duidelijk te maken wat de problemen zijn. In een van zijn boeken heeft hij samen met collega Hugh Darwen zelfs een alternatief voor SQL voorgesteld, genaamd Tutorial D. Het zal u niet verbazen dat deze taal wel aan alle regels van het relationele model voldoet. Zijn droom is dat SQL ooit vervangen gaat worden door deze taal of een andere databasetaal die keurig aan het relationele model voldoet. Maar blijft dit bij een droom of zal het ooit gebeuren?
Eind zeventiger jaren verscheen SQL op de markt en in de tachtiger jaren verdrong zij alle andere bestaande databasetalen. In die tijd kon dat nog. De databases waren nog niet zo groot als nu. De meeste systemen waren niet vierentwintig uur per dag in de lucht. Het aantal applicaties en gebruikers was beperkt. Kortom, onze organisaties waren toen nog niet zo sterk afhankelijk van databases als nu. Een migratie naar SQL was realiseerbaar.
In de afgelopen dertig jaar is de it-wereld drastisch veranderd. Ook het belang van de databases is toegenomen. De mate waarin de gemeenschap en organisaties inmiddels op databases leunen (zonder dat zij dat weten) is fenomenaal. Als SQL nu vervangen zou moeten worden, dan is dat bijna een onmogelijke opgave. Het zou in ieder geval een zeer dure en tijdrovende migratie zijn. Stel dat een opvolger van SQL zich aandient, dan zal de markt eisen dat een migratie van SQL naar die taal zeer eenvoudig en soepel moet verlopen.
Een ander aan SQL gerelateerd gevaar waar Chris Date niet vaak over spreekt is dat de mogelijkheden die in databaseservers geïmplementeerd zijn niet door de nieuwe generatie programmeurs ten volle gebruikt worden. Zij beperken zich tot een minimale hoeveelheid van de door SQL geboden functionaliteit. Ze hebben de neiging een SQL-databaseserver te degraderen tot een simpele record-manager. Bijvoorbeeld, het ‘joinen’ van gegevens kan door een databaseserver uitgevoerd worden of in de applicatie. Zij kiezen dan voor het laatste. Het effect hiervan is dat applicaties langzamer draaien dan noodzakelijk is.
Deze aanpak heeft zeer zeker te maken met een gebrek aan SQL-kennis; hoe zet je SQL-instructies gestructureerd in elkaar en wat zijn alle mogelijkheden? Maar het komt tevens door een gebrek aan kennis van het relationele model. Vanwege die omissie voelen ze zich niet comfortabel met SQL. Vandaar dat Date ook in het gepubliceerde interview kritiek uit op het onderwijs. De theorie achter SQL (het relationele model dus) wordt niet voldoende gedoceerd. Hier ben ik het zeker mee eens. Zelf heb ik heel wat uurtjes zitten zwoegen op de relationele algebra en calculus. Iets waar ik, tot op de dag van vandaag, nog steeds profijt van heb.
De kritiek van Date is belangrijk en terecht. Maar het betekent niet dat we uitsluitend het relationele model moeten doceren. We moeten de theorie én SQL grondig doceren. SQL was, is en blijft nog lang onze belangrijkste databasetaal. Het is dus belangrijk dat we onze studenten leren hoe ze verstandig met SQL om moeten gaan.
Rick F. van der Lans is onafhankelijk adviseur, een internationaal bekend spreker en auteur van diverse boeken, tevens gespecialiseerd in softwareontwikkeling, datawarehousing en internet.