Tilbake
6.1
Introduksjon til databaser

6.1 Introduksjon til databaser

Lær hva databaser er, forskjellen mellom ulike typer, og grunnleggende begreper.

50 min
7 oppgaver
DatabaseDBMSTabellPrimærnøkkel
Du leser den lesevennlige versjonen
Din fremgang i kapitlet
0 / 7 oppgaver

Når regnearket ikke strekker til

Tenk deg at du skal holde oversikt over alle elevene på en skole – navn, fødselsdato, klasse, adresse og karakterer for hundrevis av elever. Du kunne brukt et regneark, men hva skjer når rektor vil vite hvilke elever i 2A som har over 4 i snitt? Eller når en elev bytter klasse og informasjonen må oppdateres flere steder? Da blir regnearket fort uoversiktlig og feilutsatt.

Databaser løser nettopp dette. En database er en organisert samling av strukturerte data, lagret slik at den enkelt kan opprettes, leses, oppdateres og slettes. Databaser er ryggraden i nesten all moderne programvare: når du logger inn på Instagram, søker på Google eller bestiller en vare, snakker appen med en database i bakgrunnen.

Før databaser ble vanlige, lagret man data i løse filer, og det skapte problemer. Redundans betydde at samme data lå flere steder, så en adresseendring lett ble glemt et sted. Tilgangen var tungvint, sikkerheten vanskelig å styre, og når flere oppdaterte samtidig, kunne data gå tapt. Databaser løser dette med strukturert lagring, effektive søk, dataintegritet, tilgangskontroll, transaksjonshåndtering og backup. Selve databasen styres av et databasehåndteringssystem (DBMS) – programvaren som er mellomledd mellom brukere, applikasjoner og de fysiske dataene, og som tar seg av lagring, sikkerhet, backup og samtidig tilgang.

📝Oppgave Quiz 1

SQL eller NoSQL?

Det finnes mange typer databaser, men to hovedkategorier. Relasjonsdatabaser (SQL) organiserer data i tabeller med rader og kolonner, der tabellene kan kobles sammen gjennom relasjoner. Dette er den mest brukte typen og har vært standarden siden 1970-tallet, og de bruker språket SQL (Structured Query Language). Eksempler er MySQL (verdens mest brukte åpen kildekode-database), PostgreSQL (kjent for pålitelighet), SQLite (en lettvekter som lagrer hele databasen i én fil uten serverinstallasjon) og Oracle.

Ikke-relasjonelle databaser (NoSQL) bruker andre strukturer enn tabeller, og passer ofte bedre for ustrukturerte data eller systemer som krever ekstrem ytelse. Vanlige typer er dokumentdatabaser som MongoDB (JSON-lignende dokumenter), nøkkel-verdi-databaser som Redis (ekstremt raske), grafdatabaser som Neo4j (for data med mange relasjoner, som sosiale nettverk) og kolonnebaserte databaser som Cassandra. I dette kurset fokuserer vi på relasjonsdatabaser og SQL, fordi det er den mest grunnleggende og utbredte teknologien.

Dette har en lang historie. Det avgjørende året var 1970, da Edgar F. Codd ved IBM publiserte artikkelen om den relasjonelle datamodellen og foreslo at data burde organiseres i tabeller med relasjoner. IBM laget System R i 1974 og skapte spørrespråket SEQUEL, senere omdøpt til SQL. Oracle lanserte den første kommersielle relasjonsdatabasen i 1979, MySQL kom som åpen kildekode i 1995, og på 2000-tallet vokste NoSQL fram for å håndtere de enorme datamengdene fra sosiale medier og stordata.

📝Oppgave Quiz 2

Tabeller, nøkler og de fire grunnoperasjonene

I en relasjonsdatabase er tabellen grunnsteinen, og den representerer én type informasjon – for eksempel elever. Hver tabell har kolonner (felt) som definerer hvilke egenskaper som lagres, og rader (poster) som inneholder de faktiske dataene. En elev-tabell kan ha kolonnene elev_id, fornavn, etternavn, fødselsdato og klasse, med én rad per elev.

Hver kolonne har en datatype som bestemmer hva den kan inneholde: INTEGER for heltall, TEXT eller VARCHAR for tekst, REAL for desimaltall, DATE for datoer og BOOLEAN for sant/usant. Riktig datatype sikrer at bare gyldige data lagres – du kan ikke putte teksten «hei» i en INTEGER-kolonne.

En særlig viktig kolonne er primærnøkkelen. Det er en kolonne som unikt identifiserer hver rad, og den har to ufravikelige krav: ingen duplikater (to rader kan ikke ha samme verdi) og ingen NULL-verdier (hver rad må ha en verdi). Den vanligste løsningen er et automatisk økende heltall, ofte kalt id. Primærnøkkelen er fundamental for å koble tabeller sammen senere.

Til slutt: alt arbeid med databaser koker ned til fire grunnoperasjoner, kjent som CRUDCreate (opprette nye data), Read (lese), Update (endre) og Delete (slette). I SQL utføres disse med kommandoene INSERT INTO, SELECT, UPDATE og DELETE, som vi lærer i detalj senere.

📝Oppgave Quiz 3

Oppsummering

Når regnearket blir for trangt, kommer databasen – en organisert samling strukturerte data som er ryggraden i moderne programvare. Den løser problemer som redundans, dårlig tilgang og samtidig bruk, og styres av et DBMS.

De to hovedtypene er relasjonsdatabaser (SQL), med data i tabeller, og NoSQL-databaser som MongoDB og Redis. Vi fokuserer på relasjonsmodellen, grunnlagt av Codd i 1970. Grunnstrukturen er tabeller med kolonner og rader, der hver kolonne har en datatype og hver tabell har en primærnøkkel som unikt identifiserer radene. Alt arbeid koker ned til CRUD – Create, Read, Update, Delete. Med disse begrepene på plass er du klar for datamodellering og SQL.

Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.