Computable.nl
  • Thema’s
    • Carrière
    • Innovatie & Transformatie
    • Cloud & Infrastructuur
    • Data & AI
    • Governance & Privacy
    • Security & Awareness
    • Software & Development
    • Werkplek & Beheer
  • Sectoren
    • Channel
    • Financiële dienstverlening
    • Logistiek
    • Onderwijs
    • Overheid
    • Zorg
  • Computable Awards
    • Overzicht
    • Nieuws
    • Winnaars
    • Partner worden
  • Vacatures
    • Vacatures bekijken
    • Vacatures plaatsen
  • Bedrijven
    • Profielen
    • Producten & Diensten
  • Kennisbank
  • Nieuwsbrief

We moeten wel met SQL

05 mei 2005 - 22:003 minuten leestijdOpinieData & AI
Frank Heikens
Frank Heikens

Chris Date heeft met zijn mening over SQL de tongen goed losgekregen (Computable 1 april 2005 pagina 12 ‘SQL is waardeloos’). Tot nu toe wordt zijn visie door de lezers onderschreven, maar volgens ict-consultant Frank Heikens kunnen we niet veel anders, want het is nog steeds de meestgebruikte databasetaal

De afgelopen weken heb ik uitvoerig de nadelen van SQL langs zien komen in Computable. Ik ben het grotendeels eens met Chris Date, Han Zijlstra en anderen: SQL, in welk dialect dan ook, is verre van perfect. Helaas is het de enige database taal die we op grote schaal tot onze beschikking hebben. Wat echter nog een groter probleem is dan SQL met zijn beperkingen, is de kwaliteit van de databases en de database programmatuur.
Alle bekende databases (Oracle, DB2, …) zijn relationele databases. Definieer een tabel A met een unieke primary key, en de database engine zorgt ervoor dat deze tabel te allen tijde een unieke sleutel heeft; indien gewenst wordt deze sleutel gegenereerd. Definieer een tabel B met een foreign key die uit de primary key van tabel A bestaat, en de database engine zorgt ervoor dat er geen gekke relaties tussen de tabellen A en B kunnen bestaan.
Echter, de meeste databases worden als elektronische kaartenbak gebruikt. Sleutels zijn er niet, als je geluk hebt is er een substituut (een unieke index). Relaties tussen tabellen zijn niet te vinden in de database; daarvoor moet je de SQL-code van de applicatie onderzoeken.
BCNF (Boyce/Codd Normal Form) of de derde normaalvorm? De meesten hebben geen idee wat dat is. Maak lekker veel tabellen, dupliceer veel data, liefst in kolommen die een iets andere definitie hebben (zoals karaktervelden van 25 posities in het originele veld en 20 posities in het afgeleide veld). Maak batches en triggers die pogen alle tabellen te synchroniseren, en je database spaghetti is compleet! Het dupliceren van data gebeurt niet alleen vanwege de performance, maar ook vanwege het gemak of het gebrek aan kennis met betrekking tot database ontwerp. En dit ligt echt niet aan de gebreken van SQL, maar aan de gebreken van de SQL programmeurs!
Om een voorbeeld van Han Zijlstra te nemen: met een SQL uitbreiding als Oracle’s PL/SQL is het mogelijk een query met outer joins op te splitsen in een select zonder outer joins met daaromheen een stukje code, waarin de gevallen van wel of geen match met een bepaalde andere tabel overzichtelijk in een IF-THEN-ELSE structuur kan worden afgehandeld.
Kun je SQL de schuld geven van null waarden in een sleutel? Misschien is het niet goed dat het mag in SQL, maar de database ontwerper had eenvoudig een ‘not null’ restrictie op dat sleutelveld kunnen zetten. Het is wel heel makkelijk om SQL de schuld te geven van dit soort menselijke fouten!
Net als Han Zijlstra hoop ik dat SQL binnenkort wordt opgevolgd door een betere databasetaal, en dan liefst één die zo uitgebreid is dat elke database leverancier hem onveranderd opneemt in zijn produkten. Want SQL mag dan een standaard zijn, elke database leverancier heeft daar zijn eigen uitbreidingen op bedacht, zodat SQL niet overdraagbaar is van database A naar database B.
Er is echter nog geen universeel beschikbare opvolger van SQL. Totdat deze er is, moeten we het met SQL doen. Wanneer database ontwerpers en programmeurs nu al betere databases en database applicaties maken, dan zijn we misschien klaar voor de opvolger van SQL als deze beschikbaar komt.

 
Frank Heikens, ICT consultant

Meer over

Business IntelligenceECMSQL

Deel

    Inschrijven nieuwsbrief Computable

    Door te klikken op inschrijven geef je toestemming aan Jaarbeurs B.V. om je naam en e-mailadres te verwerken voor het verzenden van een of meer mailings namens Computable. Je kunt je toestemming te allen tijde intrekken via de af­meld­func­tie in de nieuwsbrief.
    Wil je weten hoe Jaarbeurs B.V. omgaat met jouw per­soons­ge­ge­vens? Klik dan hier voor ons privacy statement.

    Whitepapers

    Computable.nl

    Beveiliging van AI in de praktijk

    AI is hot, maar de praktijk binnen grote organisaties blijkt weerbarstig. Stop met brandjes blussen; zo schaal en beveilig je met succes.

    Computable.nl

    Bouw de AI-organisatie niet op los zand

    Wat is de afweging tussen zelf bouwen of het benutten van cloud?

    Computable.nl

    De weg van dataverzameling naar impact

    Iedere organisatie heeft data, maar niet iedereen weet hoe je het goed gebruikt. Hoe zet je waardevolle informatie om in actie?

    Meer lezen

    Ai
    ActueelData & AI

    Europese Commissie krijgt praktijkcode voor algemene ai

    AchtergrondData & AI

    Fokken met data

    OpinieSecurity & Awareness

    Inzicht in kwetsbaarheden aanvalsoppervlak gaat voor budget

    AchtergrondCloud & Infrastructuur

    Eigen datacenter, colocatie of cloud?

    ciso
    ActueelSecurity & Awareness

    Nova Advisor Agent: gamechanger voor ciso of ai-hype?

    AdvertorialData & AI

    Private AI helpt gemeenten met vertrouwen, veiligheid en efficiëntie

    Geef een reactie Reactie annuleren

    Je moet ingelogd zijn op om een reactie te plaatsen.

    Populaire berichten

    Meer artikelen

    Uitgelicht

    Partnerartikel
    AdvertorialData & AI

    Private AI helpt gemeenten met vertrou...

    In een tijd waarin gemeenten geconfronteerd worden met groeiende verwachtingen van burgers, toenemende wet- en regelgeving en druk op budgetten,...

    Meer persberichten

    Footer

    Direct naar

    • Carrièretests
    • Kennisbank
    • Planning
    • Computable Awards
    • Magazine
    • Abonneren Magazine
    • Cybersec e-Magazine
    • Topics

    Producten

    • Adverteren en meer…
    • Jouw Producten en Bedrijfsprofiel
    • Whitepapers & Leads
    • Vacatures & Employer Branding
    • Persberichten

    Contact

    • Colofon
    • Computable en de AVG
    • Service & contact
    • Inschrijven nieuwsbrief
    • Inlog

    Social

    • Facebook
    • X
    • LinkedIn
    • YouTube
    • Instagram
    © 2025 Jaarbeurs
    • Disclaimer
    • Gebruikersvoorwaarden
    • Privacy statement
    Computable.nl is een product van Jaarbeurs