Tilbake
8.5
Databaser og datamodellering

8.5 Databaser og datamodellering

Lær grunnleggende databasekonsepter, ER-modellering og enkel bruk av SQL for å hente og organisere data.

60 min
6 oppgaver
Hva er en database?ER-diagrammerTabeller, rader og kolonnerPrimær- og fremmednøklerGrunnleggende SQL-spørringer
Du leser den tradisjonelle versjonen
Din fremgang i kapitlet
0 / 6 oppgaver

Databasar og datamodellering

Databasar er hjørnesteinen i nesten alle digitale tenester. Når du loggar inn, bestiller noko på nett eller postar på sosiale medium, blir dataa lagra i ein database. Å forstå grunnleggjande databasekonsept er viktig for alle som jobbar med IT og medieproduksjon.

I dette kapittelet skal du lære:
- Kva ein database er og kvifor dei blir brukte
- ER-diagram for datamodellering
- Tabellar, rader, kolonnar og relasjonar
- Grunnleggjande SQL-spørjingar

Database

Ein database er ei organisert samling av data som blir lagra og administrert elektronisk. Han gjer det mogleg å lagre, hente, oppdatere og slette data effektivt. Ein relasjonsdatabase organiserer data i tabellar med definerte relasjonar mellom dei.

Tabellar, rader og kolonnar

Ein relasjonsdatabase organiserer data i tabellar:
- Kvar tabell representerer ein type ting (elevar, fag, karakterar)
- Kolonnar definerer eigenskapane (namn, fødselsdato, e-post)
- Rader er individuelle postar (éin elev, eitt fag)

Eksempel - Tabell "Elevar":

elevidførenamnetternamnklasseepost
1MiaHansen1IMAmia@skole.no
2JonasBerg1IMBjonas@skole.no
3SaraNilsen1IMAsara@skole.no

Primærnøkkel er ein unik identifikator for kvar rad (elevid i eksempelet). Ingen to rader kan ha same primærnøkkel.
Framandnøkkel er ein kolonne som refererer til primærnøkkelen i ein annan tabell. Han knyter tabellane saman.

ER-diagram

Eit ER-diagram (Entity-Relationship) er eit visuelt verktøy for å planleggje databasestrukturen.

Entitetar er tinga vi lagrar data om (Elev, Fag, Karakter). Dei blir representerte som rektangel.

Attributt er eigenskapane til entitetane (namn, dato, poeng). Dei blir lista i entiteten.

Relasjonar viser korleis entitetar heng saman:
- Éin-til-éin (1:1): Éin elev har éin brukarkonto
- Éin-til-mange (1:N): Éi klasse har mange elevar
- Mange-til-mange (N:M): Mange elevar tek mange fag

Ein mange-til-mange-relasjon krev ein koblingstabell mellom dei to tabellane.

Eksempel:
Elev (1) --- (N) Karakter (N) --- (1) Fag

Omsett: Éin elev har mange karakterar, og kvart fag har mange karakterar frå ulike elevar.

Grunnleggjande SQL

SQL (Structured Query Language) er språket for å kommunisere med databasar.

Hente data (SELECT):
SELECT førenamn, etternamn FROM elever;
Hentar førenamn og etternamn for alle elevar.

SELECT FROM elever WHERE klasse = '1IMA';
Hentar alle kolonnar for elevar i klasse 1IMA.

Setje inn data (INSERT):
INSERT INTO elever (førenamn, etternamn, klasse) VALUES ('Erik', 'Larsen', '1IMB');

Oppdatere data (UPDATE):
UPDATE elever SET klasse = '2IMA' WHERE elevid = 1;

Slette data (DELETE):
DELETE FROM elever WHERE elev
id = 3;

Sortere (ORDER BY):
SELECT
FROM elever ORDER BY etternamn;

Filtrere (WHERE):
SELECT * FROM karakterer WHERE poeng > 50;

✏️Database for eit bibliotek

ER-diagram for eit skulebibliotek:

Entitetar:
- Bok (bokid, tittel, forfattar, isbn, tal)
- Elev (elev
id, førenamn, etternamn, klasse)
- Utlån (utlanid, bokid, elevid, utlånsdato, innleveringsdato)

Relasjonar:
- Éi bok kan lånast ut mange gonger (1:N mellom Bok og Utlån)
- Éin elev kan ha mange utlån (1:N mellom Elev og Utlån)

SQL-eksempel:
"Vis alle bøker som Mia Hansen har lånt:"
SELECT b.tittel, u.utlånsdato FROM bok b JOIN utlån u ON b.bok
id = u.bokid JOIN elev e ON e.elevid = u.elev_id WHERE e.førenamn = 'Mia' AND e.etternamn = 'Hansen';

Oppsummering

- Ein database er ei organisert samling av data som kan søkjast i, oppdaterast og analyserast.
- ER-diagram modellerer relasjonar mellom ulike dataelement (entitetar).
- Tabellar organiserer data i rader (postar) og kolonnar (felt).
- Primærnøklar identifiserer kvar rad unikt, framandnøklar koblar tabellar saman.
- SQL-spørjingar blir brukte til å hente, leggje til, oppdatere og slette data.
- Databasekunnskap er viktig for å forstå korleis digitale system lagrar og organiserer informasjon.

📝Oppgave 1

Kva er ein primærnøkkel i ein database?

📝Oppgave 2

Forklar skilnaden mellom éin-til-mange (1:N) og mange-til-mange (N:M) relasjonar, og gi eit eksempel på kvar.

📝Oppgave 3

Kva SQL-kommando blir brukt for å hente data frå ein database?

📝Oppgave 4

Lag eit enkelt ER-diagram for ein nettbutikk. Inkluder minst tre entitetar med attributt og relasjonar.

📝Oppgave 5

Kva er ein framandnøkkel?

📝Oppgave 6

Skriv SQL-spørjingar for følgjande oppgåver basert på ein tabell "produkter" med kolonnane produkt_id, navn, pris og kategori: a) Hent alle produkt. b) Hent produkt med pris over 500. c) Hent alle produkt sorterte etter pris frå lågast til høgast.

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.