SQL

1. Intro

1. Introduktion till Relationsdatabaser

Välkommen till grundkursen i SQL och databaser! I den här första delen ska vi titta på vad en relationsdatabas är, varför vi använder dem och vilka grundläggande begrepp du behöver känna till.


Vad är en databas?

En databas är en organiserad samling av information eller data som lagras digitalt. Istället för att spara data i vanliga textfiler eller minnet i ett program, använder vi databaser för att snabbt, säkert och effektivt kunna söka, lägga till, uppdatera och ta bort data.


Varför inte bara använda Excel?

Många ställer sig frågan: "Varför behöver vi en databas när vi har kalkylark som Excel?"

Excel är utmärkt för mindre datamängder och analyser, men när system växer uppstår problem:

  1. Redundans (Samma data på flera ställen): Om en kund ändrar sin adress i ett kalkylark måste du manuellt ändra den på alla rader där kunden förekommer.
  2. Dataintegritet: Det är lätt att råka skriva fel datatyp i Excel (t.ex. text i ett datumfält) eller av misstag radera viktiga formler.
  3. Samtidiga användare: Excel fungerar dåligt när hundratals eller tusentals användare/program vill läsa och skriva data samtidigt.
  4. Säkerhet och prestanda: Databaser är optimerade för att hantera miljontals poster med millisekunders responstid och har avancerad behörighetsstyrning.

Relationsdatabasens uppbyggnad

I en relationsdatabas organiseras data i tabeller (tables) som har en tydlig struktur och som kan kopplas samman med varandra via relationer.

Grundbegrepp

Begrepp Förklaring Liknelse
Tabell (Table) En samling data om ett specifikt ämne (t.ex. Elever, Produkter). Ett kalkylark/blad
Kolumn / Fält (Column) En specifik egenskap eller datatyp (t.ex. Epost, Pris). En kolumn i Excel
Rad / Post (Row / Record) En enskild entitet eller instans av datan (t.ex. en specifik elev). En rad i Excel

Nycklar – Hjärtat i relationen

För att hålla ordning på data och koppla samman olika tabeller använder vi nycklar.

1. Primärnyckel (Primary Key - PK)

En primärnyckel är ett unikt ID för varje rad i en tabell. Två rader i samma tabell får aldrig ha samma primärnyckel, och värdet får inte vara tomt (NULL).

Exempel: ElevID i tabellen Elever, eller Personnummer.

2. Främmande nyckel (Foreign Key - FK)

En främmande nyckel är en kolumn i en tabell som pekar på primärnyckeln i en annan tabell. Det är denna länk som skapar relationen.

Exempel: I tabellen Betyg finns en kolumn ElevID som pekar på vilken elev betyget tillhör.


Olika typer av relationer

  1. En-till-många (1:N): Den vanligaste relationen. En klass har många elever, men en elev går bara i en klass.
  2. Många-till-många (N:M): En elev kan läsa många kurser, och en kurs har många elever. (Detta löses i databaser med en så kallad kopplingstabell).
  3. En-till-en (1:1): En person har ett pass, och ett pass tillhör en person.

Vad är SQL?

SQL står för Structured Query Language och är det standardspråk som används för att kommunicera med relationsdatabaser (som MySQL, PostgreSQL, SQL Server och SQLite).

SQL delas vanligen upp i två huvudsakliga delar:

  • DDL (Data Definition Language): Används för att skapa och ändra strukturen (tabeller, kolumner).
  • DML (Data Manipulation Language): Används för att arbeta med innehållet (lägga till, läsa, uppdatera och ta bort data).

I nästa del ska vi titta närmare på DDL och hur vi bygger våra egna tabeller!