Lær hva strukturert spørrespråk (Structured Query Language – SQL) er, dens historie og grunnleggende funksjoner, samt fordelene og begrensningene ved å bruke SQL i ulike databasesystemer.
Hva betyr et strukturert spørrespråk (SQL)?
Structured Query Language (SQL), også kjent som strukturert spørrespråk på norsk, er et programmeringsspråk som vanligvis brukes i forvaltningen av relasjonelle databaser eller datastrømshåndteringssystemer.
Det ble utviklet av IBM tidlig på 1970-tallet og er nå en offisiell standard anerkjent av American National Standards Institute (ANSI) og International Organization for Standardization (ISO).
Strukturer spørrespråk forklart
SQL har forblitt et konsekvent populært valg for databasebrukere gjennom årene, hovedsakelig på grunn av enkelheten i bruken og den svært effektive måten det utfører spørringer, manipulerer, aggregerer data og utfører et bredt spekter av andre funksjoner for å gjøre massive samlinger av strukturert data om til brukbar informasjon.
Av denne grunn har det blitt innlemmet i mange kommersielle databaseprodukter, som MySQL, Oracle, Sybase, SQL Server, Postgres og andre. Faktisk blir mange ikke-relasjonelle databaser som MongoDB og DynamoDB kalt NoSQL-produkter på grunn av mangelen på SQL-programmering.
Selv om ulike versjoner av SQL kan bruke forskjellig syntaks for viktige operasjoner, er grunnleggende kommandoer som SELECT, INSERT, UPDATE og CREATE felles for alle SQL-utgivelser. Dette gjør det veldig enkelt for noen med grunnleggende kunnskap om SQL å jobbe i mange forskjellige miljøer og utføre en rekke oppgaver.
Fire kategorier av SQL-kommandoer
Data definisjonssråk (DDL)
Dette inkluderer CREATE (tabeller, visninger, objekter, osv.), ALTER og DROP (slette).
Data manipuleringsspråk (DML)
SELECT, INSERT, UPDATE, DELETE av poster i tabeller.
Datakontrollspråk (DCL)
GRANT og/eller REVOKE brukerrettigheter, osv.
Database Indeksering
CREATE INDEX- og DROP INDEX-uttalelsene brukes til å opprette og slette indekser i tabeller.
Forenkle søk og andre funksjoner
SQL lar også brukere bygge begrensninger på tabeller eller kolonner for å begrense typen data de inneholder. Dette bidrar til å sikre dataenes nøyaktighet og relevans, og forenkler generell databaseadministrasjon ved å strømlinjeforme søk og andre funksjoner.
Noen eksempler på SQL-begrensninger inkluderer:
NOT NULL
Som forhindrer kolonner fra å ha en nullverdi
UNIQUE
For å sikre at alle verdier er forskjellige.
I tillegg kan databaseadministratorer (DBAer) bruke SQL for å bygge integritet inn i databasen ved å forhindre opprettelsen av dupliserte rader, tillate bare inntasting av gyldige data, forby sletting av data knyttet til flere poster og utføre andre funksjoner.
Samtidig gir SQL en rekke normaliseringsverktøy som er designet for å strømlinjeforme datavariabler og generelt redusere størrelsen og omfanget av databasen for å gjøre den operasjonelt effektiv og ressursbesparende.
Åpenbart er SQL ikke det beste valget for alle databaseprogrammer, ellers ville det ikke være noen alternativer. For det første, selv om SQL var effektivt på dataskalaer opp til 1990-tallet og videre, begynte implementeringen og forvaltningen av relasjonelle databaser (snarere enn selve språket) å svikte på hyperskala-nivåer ved overgangen til århundret.
Noen brukere klager også på dets begrensninger når det gjelder skarding, som hemmer evnen til å dele store databaser inn i mindre, mer håndterbare enheter.
Disse ulempene er faktisk det som førte til opprettelsen av NoSQL og den nyere NewSQL, som forsøker å forbedre den tradisjonelle SQL-skalerbarheten uten å ofre dens iboende egenskaper som atomisitet, konsistens, isolasjon og holdbarhet (ACID).