Dela via


Strukturerat frågespråk (SQL)

En typisk DBMS gör det möjligt för användare att lagra, komma åt och ändra data på ett organiserat och effektivt sätt. Ursprungligen var användarna av DBMS programmerare. Åtkomst till lagrade data krävs för att skriva ett program på ett programmeringsspråk, till exempel COBOL. Även om dessa program ofta skrevs för att presentera ett användarvänligt gränssnitt för en icke-teknisk användare, krävde åtkomst till själva data tjänsterna hos en kunnig programmerare. Tillfällig åtkomst till data var inte praktisk.

Användarna var inte helt nöjda med den här situationen. Även om de kunde komma åt data, krävde det ofta att övertyga en DBMS-programmerare att skriva särskild programvara. Om en försäljningsavdelning till exempel ville se den totala försäljningen under föregående månad av var och en av säljarna och ville att den här informationen skulle rangordnas i ordning efter varje säljares tjänstlängd i företaget, hade den två alternativ: Antingen fanns det redan ett program som gjorde att informationen kunde nås på exakt det här sättet. eller avdelningen var tvungen att be en programmerare att skriva ett sådant program. I många fall var detta mer arbete än det var värt, och det var alltid en dyr lösning för engångsförfrågningar eller ad hoc-förfrågningar. Eftersom fler och fler användare ville ha enkel åtkomst blev det här problemet större och större.

Att tillåta användare att få åtkomst till data på ad hoc-basis krävs för att ge dem ett språk där de kan uttrycka sina begäranden. En enskild begäran till en databas definieras som en fråga. ett sådant språk kallas ett frågespråk. Många frågespråk utvecklades för detta ändamål, men ett av dessa blev det mest populära: Structured Query Language, som uppfanns på IBM på 1970-talet. Det är mer känt genom sin akronym, SQL, och uttalas både som "ess-cue-ell" och som "uppföljare". SQL blev en ANSI-standard 1986 och en ISO-standard 1987; Den används idag i många databashanteringssystem.

Även om SQL löste användarnas ad hoc-behov försvann inte behovet av dataåtkomst från datorprogram. I själva verket var den mesta databasåtkomsten fortfarande (och är) programmatisk, i form av regelbundet schemalagda rapporter och statistiska analyser, datainmatningsprogram som de som används för orderinmatning och datamanipuleringsprogram, till exempel de som används för att stämma av konton och generera arbetsorder.

Dessa program använder också SQL med någon av följande tre tekniker:

  • Inbäddad SQL, där SQL-uttryck bäddas in i ett värdspråk som C eller COBOL.

  • SQL-moduler, där SQL-instruktioner kompileras på DBMS och anropas från ett värdspråk.

  • Gränssnitt på anropsnivå, eller CLI, som består av funktioner som anropas för att skicka SQL-instruktioner till DBMS och hämta resultat från DBMS.

Anmärkning

Det är en historisk olycka att termen gränssnitt på anropsnivå används i stället för programprogrammeringsgränssnitt (API), en annan term för samma sak. I databasvärlden används API för att beskriva själva SQL: SQL är API:et för en DBMS.

Av de här alternativen är inbäddad SQL den vanligaste, även om de flesta större DBMS har stöd för proprietära CLIs.

Det här avsnittet innehåller följande avsnitt.