Delen via


Gestructureerde Querytaal (SQL)

Met een typische DBMS kunnen gebruikers gegevens op een georganiseerde, efficiënte manier opslaan, openen en wijzigen. Oorspronkelijk waren de gebruikers van DBMSs programmeurs. Toegang tot de opgeslagen gegevens vereist het schrijven van een programma in een programmeertaal zoals COBOL. Hoewel deze programma's vaak zijn geschreven om een vriendelijke interface te presenteren aan een niet-technische gebruiker, vereist toegang tot de gegevens zelf de hulp van een deskundige programmeur. Informele toegang tot de gegevens was niet praktisch.

Gebruikers waren niet helemaal tevreden met deze situatie. Hoewel ze toegang hadden tot gegevens, moesten ze vaak een DBMS-programmeur overtuigen om speciale software te schrijven. Als een verkoopafdeling bijvoorbeeld de totale verkoop in de vorige maand wilde zien door elk van de verkopers en deze informatie op volgorde wilde rangschikken op volgorde van de lengte van elke verkoper in het bedrijf, had het twee keuzes: Een programma bestond al dat de informatie op precies deze manier kon worden geopend, of de afdeling moest een programmeur vragen om een dergelijk programma te schrijven. In veel gevallen was dit meer werk dan het waard was, en het was altijd een dure oplossing voor eenmalige, of ad hoc, vragen. Naarmate meer en meer gebruikers eenvoudige toegang wilden, groeide dit probleem groter en groter.

Gebruikers toegang geven tot gegevens op ad-hocbasis, moeten hen een taal geven waarin ze hun aanvragen kunnen uitdrukken. Eén aanvraag voor een database wordt gedefinieerd als een query; een dergelijke taal wordt een querytaal genoemd. Er zijn veel querytalen ontwikkeld voor dit doel, maar een van deze werd de populairste: Structured Query Language, uitgevonden bij IBM in de jaren '70. Het wordt meer algemeen bekend door zijn acroniem, SQL, en wordt uitgesproken als 'ess-cue-ell' en als 'sequel'. SQL werd een ANSI-standaard in 1986 en een ISO-standaard in 1987; het wordt tegenwoordig gebruikt in een groot aantal databasebeheersystemen.

Hoewel SQL de ad-hocbehoeften van gebruikers heeft opgelost, is de noodzaak voor gegevenstoegang door computerprogramma's niet weggegaan. In feite was de meeste databasetoegang nog steeds (en is) programmatisch, in de vorm van regelmatig geplande rapporten en statistische analyses, gegevensinvoerprogramma's zoals programma's voor orderinvoer en gegevensmanipulatieprogramma's, zoals programma's voor het afstemmen van accounts en het genereren van werkorders.

Deze programma's gebruiken ook SQL, met behulp van een van de volgende drie technieken:

  • Ingesloten SQL, waarin SQL-instructies zijn ingesloten in een hosttaal, zoals C of COBOL.

  • SQL-modules, waarin SQL-instructies worden gecompileerd op de DBMS en worden aangeroepen vanuit een hosttaal.

  • Interface op aanroepniveau of CLI, die bestaat uit functies die worden aangeroepen om SQL-instructies door te geven aan de DBMS en om resultaten van de DBMS op te halen.

Opmerking

Het is een historisch ongeluk dat de term interface op oproepniveau wordt gebruikt in plaats van application programming interface (API), een andere term voor hetzelfde. In de databasewereld wordt API gebruikt om SQL zelf te beschrijven: SQL is de API voor een DBMS.

Van deze keuzes is ingesloten SQL de meest gebruikte, hoewel de meeste belangrijke DBMS's bedrijfseigen CLIS's ondersteunen.

Deze sectie bevat de volgende onderwerpen.