SQL
Structured Query Language. Et relationelt databasesprog, der først blev udviklet af IBM til brug for et eksperimentelt relationsdatabasesystem i midten af 1970'erne og siden har haft en tiltagende dominans blandt kommercielt tilgængelige udgaver af relationsdatabasesystemer. Der er udviklet en international standard for SQL, "Database Language SQL" (ISO 9075, ANSI X3.135), og sproget er i dag det mest udbredte databasesprog. Dog er alle implementeringer dialekter i kraft af afvigelser fra og udvidelser til den internationale standard.
Sproget består af et datamanipulationssprog (DML), et datadefinitionssprog (DDL) samt regler for, hvordan databasesystemet skal opføre sig i forskellige sammenhænge.
SQL er bygger op omkring én enkelt konstruktion:
SELECT <attributter> FROM <relationer> WHERE <betingelser>F.eks.:
SELECT KUNDENUMMER, KUNDENAVN
FROM KUNDER
WHERE SALDO > 10000
Generelt er det ikke nødvendigvis nemt at finde sammenhængen mellem de relationelle operatorer, og hvordan de er realiseret i SQL, men de kan alle udtrykkes.
For at opdatere ved hjælp af SQL benyttes konstruktionerne INSERT, UPDATE eller DELETE, f.eks.:
UPDATE KUNDER
SET KUNDESTATUS = 'GOD'
WHERE SALDO > 10000
DELETE FROM KUNDER
WHERE SALDO = 0
INSERT INTO KUNDER
(KUNDENUMMER, KUNDENAVN)
VALUES (10, 'HANSEN')
Den første og oprindelige internationale standard fra 1986 blev i 1992 afløst af den anden udgave SQL2, eller SQL-92, der var udvidet med primærnøgler, referenceintegritet og behandling af dato og tid. SQL3 (den seneste udgave) er fra 1999 og kaldes derfor også SQL-99. Den er udvidet drastisk i forhold til SQL-92 og der hersker fortsat stor uenighed om de trufne valg. Specielt kritiseres SQL-99 for udvidelser imod objekt-relationel repræsentation af data, mens andre betragter netop disse udvidelser som bevis på, at SQL er levedygtigt og vil fortsætte som de facto standard databasesprog i endnu mange år.
