kompetanseguiden
Hva er SQL?
Hva er SQL – og hvor kan du lære det? I denne artikkelen får du en rask introduksjon til hva SQL er og hvordan det brukes, mens du i verktøyet øverst kan finne ut av hvor og hvordan du kan lære det, basert på dine egne kriterier for læringen.
Tilbake til kompetanseguidens hovedside
SQL er det mest utbredte databasespråket, og brukes til å opprette, vedlikeholde og bruke relasjonsdatabaser. Siden det ligger en database bak mer eller mindre alle nettsider, applikasjoner og programmer, er SQL et av de viktigste språkene å kunne som backend-utvikler.
Johanne Birgitte Linde er systemarkitekt i Netcompany, og bruker SQL mye til daglig. Vi har bedt henne fortelle litt om SQL og hva det brukes til.
Hva er det overordnede bruksområdet for SQL i 2020?
SQL brukes for å skrive spørringer og utføre operasjoner mot relasjonelle databaser.
Det finnes absolutt et marked for utviklere som kan SQL
Hva er fordelen med SQL?
Dette språket er veldig utbredt, og det er lett å finne svar når man googler. Det finnes ulike dialekter for ulike databaser, men hovedtrekkene er like. Så dersom man for eksempel har lært seg SQL som brukes mot Oracle, er det lett å komme i gang med andre databaser også.
I tillegg er det raskt å skrive, og man kan kjøre det med en gang for å sjekke resultatet. SQL er veldig kraftfullt. Om man vil kan man legge nesten all logikken i databasen, med stored procedures, triggers og lignende. Ikke at dette er anbefalt, men muligheten finnes.
Hva er ulempene eller begrensningene?
Som nevnt over er dette språket veldig kraftfullt, og så lenge man har rettigheter, kan man gjøre alle mulige operasjoner mot databasen. I verste fall kan man ende opp med å slette masse data, eller hele databasen, uten å ha mulighet til å rulle tilbake.
Bruk aldri auto commit i produksjon! I tillegg kan man ende opp med å skrive spørringer som er veldig ressurskrevende, og som også er vanskelige å avbryte.
Hva er typisk å utvikle med SQL, og hvilke teknologier er vanlig å bruke for å oppnå det?
Stort sett alle plasser hvor man lagrer data i relasjonelle databaser, bruker man SQL. Det gjør at dette språket passer til omtrent alle applikasjoner hvor man skal lagre data som har relasjoner mellom seg.
Hva er kjente eksempler på populære programmer, nettsider eller funksjoner som er utviklet med SQL?
SQL brukes overalt. Store firma som Google og Microsoft bruker dette. Et kjapt søk på
Finn.no gir 216 treff på stillinger med ordet SQL. I Stack Overflow sin utviklerundersøkelse fra 2019 kommer SQL på 3.-plass av mest brukte språk, kun slått av Javascript og HTML/CSS.
Det finnes dermed absolutt et marked for utviklere som kan SQL.
Hvilke teknologier eller verktøy er det viktig å mestre for å utnytte potensialet i SQL?
Det er kjekt med et IDE (utviklingsmiljø) som støtter autofullfør og tilbyr kodehint og syntakssjekk, men det er ikke påkrevd for SQL. Jeg bruker selv IntelliJ til daglig, og her finnes det god støtte for SQL også.
Hvilke språk ligner, eller er nært knyttet til SQL?
SQL brukes for relasjonelle databaser. Det finnes flere utvidelser som gjør at dette lett kan tas i bruk direkte fra andre språk, som Java med JPQL og .NET med Linq.
Alternativet til relasjonelle databaser er blant annet NoSQL-databaser. Det kan for eksempel være dokumentdatabaser med samlinger av JSON-dokumenter.
Hvordan er vanskelighetsgraden og læringskurven? Hvilke forkunnskaper er det en eventuelt en fordel å ha?
Det er veldig lett å komme i gang. Man trenger bare en database med en tabell, og kan starte med å skrive SELECT * FROM table. Da får man ut resultater med en gang. Deretter er det bare å utvide spørringen.
Jeg har selv hatt god nytte av Stack Overflow, spesielt når det kommer til komplekse oppgaver. I tillegg kan det være nyttig å lese litt teori om optimalisering av spørringer. Men dette blir ofte først aktuelt når man jobber med større datamengder. I tillegg kan de fleste backend-utviklere en del SQL, så det er lett å få hjelp av andre.
Kan du si noe om utviklingen og forhistorien til SQL?
Historien til SQL dateres tilbake til 70-tallet, og det har vært en ISO-standard siden 1987. Standarden har blitt utvidet flere ganger siden. Denne er nå så kompleks at veldig få av databasene støtter hele standarden. Derfor er det også vanskelig å migrere fra en databaseleverandør til en annen. Dette er et språk som er i stadig endring. Det siste tillegget kom i 2019, der multidimensjonale tabeller ble innført.
Hvilke råd kan du gi til en som ønsker å lære seg SQL?
Man vil alltid få bruk for SQL. Det er bare å sette i gang å leke med språket. Etter hvert ser man at man kan gjøre så enormt mye med SQL, at man kan risikere å glemme å skrive annen kode. Da er det på tide med en fot i bakken for å finne ut om man kanskje heller bør skrive koden i et annet språk. Men samtidig er det ganske kult å få til en skikkelig kompleks hierarkispørring i SQL!