Databaser

Introduktion till datatekniker

Vincent Vankrunkelsven

Data Engineer @ DataCamp

Vad är databaser?

 

Bild av en databas

En vanligtvis stor samling data, organiserad för snabb sökning och hämtning.

 

  • Lagrar data
  • Organiserar data
  • Hämtar/söker data via DBMS
Introduktion till datatekniker

Databaser och fillagring

Databaser

 

Bild av en databas

  • Välorganiserade
  • Funktioner som sökning, replikering, ...

Filsystem

 

Bild av fil

  • Mindre organiserade
  • Enkla, färre tilläggsfunktioner
Introduktion till datatekniker

Strukturerad och ostrukturerad data

Strukturerad: databasschema

  • Relationsdatabas

 

Semistrukturerad

  • JSON

 

Ostrukturerad: schemafri, mer som filer

  • Videor, foton

Bild av en databas

 

{ "key": "value"}

 

Bild av fil

Introduktion till datatekniker

SQL och NoSQL

SQL

  • Tabeller
  • Databasschema
  • Relationsdatabaser

 

MySQL-bild

PostgreSQL-bild

NoSQL

  • Icke-relationella databaser
  • Strukturerad eller ostrukturerad
  • Nyckel-värde-lager (t.ex. caching)
  • Dokument-DB (t.ex. JSON-objekt)

 

Redis/MongoDB-bild

Introduktion till datatekniker

SQL: Databasschemat

-- Create Customer Table 
CREATE TABLE "Customer" (
  "id" SERIAL NOT NULL,
  "first_name" varchar,
  "last_name" varchar,
  PRIMARY KEY ("id")
);

-- Create Order Table 
CREATE TABLE "Order" (
  "id" SERIAL NOT NULL,
  "customer_id" integer REFERENCES "Customer",
  "product_name" varchar,
  "product_price" integer,
  PRIMARY KEY ("id")
);

Databasschema för kund och order

-- Join both tables on foreign key
SELECT * FROM "Customer"
INNER JOIN "Order"
ON "customer_id" = "Customer"."id";
 id | first_name | ... | product_price
  1 | Vincent    | ... |            10
Introduktion till datatekniker

SQL: Stjärnschema

Stjärnschemat består av en eller flera faktatabeller som refererar till valfritt antal dimensionstabeller.

Stjärnschemadiagram över kunder och order

  • Fakta: händelser (t.ex. produktorder)
  • Dimensioner: omvärldsinformation (t.ex. kundinformation)
1 Wikipedia: https://en.wikipedia.org/wiki/Star_schema
Introduktion till datatekniker

Nu kör vi en övning!

Introduktion till datatekniker

Preparing Video For Download...