databasteori 1 - vadochvarför?!!, er-modellen och lite om ... · da‘tabassubstantiv~en ~er...

50
Databasteori 1 Vadochvarför?!!, ER-modellen och lite om relationsmodellen Anders Jensen-Urstad 2017-01-26

Upload: others

Post on 15-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Databasteori 1Vadochvarför?!!, ER-modellen och

lite om relationsmodellenAnders Jensen-Urstad

2017-01-26

Page 2: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Databasmomentet på kursen❧ Tre föreläsningar om databasteori

❧ Tre laborationer (FileMaker)

❧ Gruppuppgift

Page 3: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

da‘tabas substantiv ~en ~erstörre samling upp gifter som finns lagrade påsystematiskt sätt i data maskin så att en skilda upp gifter snabbtkan hittas, t.ex. genom sökning per kategori—svensk ordbok utgiven av svenska akademien

databaseA shared collection of logically related data and itsdescription, designed to meet the information needs ofan organization.—connolly & begg, database systems

Page 4: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

En databas är...❧ ...en samling data som hör ihop,

❧ beskriver (”modellerar”) en del av verkligheten,

❧ är beständig (finns kvar när datorn stängs av),

❧ har ett schema (beskrivning av vad för data som kanlagras),

❧ och är logiskt koherent (får inte innehållamotsägelser).

Page 5: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

...och lagras och hanteras av en dator!

Page 6: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

SMS – hos telefonoperatören

Page 7: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

SMS – i telefonen (...fast här XML-export)

Page 8: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Forum, Twitter, Facebook, ...

Page 9: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Majoriteten av alla sajter

Page 10: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Mataffären, banken, ...

Page 11: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Tåget, bussen, ...

Page 12: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Okej, men varför lära sig?Computational thinking: stor nytta av att förstå hurdatorbearbetning och databaser kan lösa problem åt oss.(Eller hur andra kan använda datorbearbetning ochdatabaser mot oss.)

Rent praktiskt: förstå datorsystem i verksamheten,sökfärdigheter, jobb, roligt (?!)

Page 13: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Databasens delar❧ Databas: data – och metadata (t.ex. schemat!)

❧ Databashanterare (DBMS): program somlagrar/hanterar databaser. (MySQL, Microsoft Access,FileMaker, etc.)

(Sedan också externa program som interagerar meddatabasen.)

Page 14: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Tre abstraktionsnivåer❧ 1. Vy-nivå/extern nivå – hur användare ser

databasen (externt schema)

❧ 2. Logisk nivå – beskriver konceptuellt vad som fårlagras (logiskt schema)

❧ 3. Fysisk nivå – lagring på disk (fysiskt schema)

Page 15: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Först abstraktion med ER-modellen!❧ ER = Entity-relationship

❧ Saker (entities) som kan finnas, och samband(relationships) mellan dessa

Svarar på frågan:Vad finns det för saker, och hur hänger de ihop?

Page 16: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

ER-modellen

Två entitetstyper.

Page 17: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

ER-modellen

Två entitetstyper och en sambandstyp.

Page 18: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

ER-modellen: kardinalitetsförhållandenTyp av samband. Hur många?(Kardinalitet: “mått på storleken av en mängd”)

Utfyllnadsbild

Page 19: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

ER-modellen: kardinalitetsförhållanden

Många-till-ett-samband (N:1).N = Flera studenter kan studera på varje lärosäte.1 = Varje student kan bara studera på ett lärosäte.

Page 20: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

ER-modellen: kardinalitetsförhållanden

Många-till-många-samband (N:M).N = Flera studenter kan studera på varje lärosäte.M = Varje student kan studera på flera lärosäten.

Page 21: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

ER-modellen: kardinalitetsförhållanden

Ett-till-ett-samband (1:1).Varje doktorand kan bara skriva en avhandling.En avhandling kan bara skrivas av en doktorand.

Page 22: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

ER-modellen: kardinalitetsförhållanden

Ett-till-ett-samband (1:1).Varje person kan bara köra en bil.Varje bil kan bara köras av en person (åt gången!).

Page 23: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

ER-modellen: kardinalitetsförhållanden

Många-till-många-samband (N:M).N = Varje person kan äga flera hus.M = Varje hus kan ägas av flera personer.

Page 24: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

ER-modellen: fullständigt och partielltdeltagande

Dubbelstreck = fullständigt deltagande. Varje personmåste bo i ett hus.(Motsatsen, om det kan finnas personer som inte bor iett hus, är partiellt deltagande.)

Page 25: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

ER-modellen: attributAttribut är de egenskaper som tillhör sakerna(entitetstyperna) eller sambanden.

Utfyllnadsbild

Page 26: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

ER-modellen: attribut

Page 27: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

ER-modellen: attribut

Page 28: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

ER-modellen: sammansatta attribut

Attribut med delar som hör ihop men som kanbehandlas var för sig.

Page 29: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

ER-modellen: flervärda attribut

Attribut som kan ha mer än ett värde.

Page 30: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

ER-modellen: nyckelattribut

Används för att identifiera saker i databasen (här ärpersonnummer nyckelattribut).

Page 31: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

ER-modellen: härledda attribut

Lagras ej i databasen, men kan räknas ut utifrån andradata som redan finns.

Page 32: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

ER-modellen: svaga entitetstyperIngen egen nyckel. Krävs hjälp från annan entitetstypför att unikt identifiera.

Lägenhet = identifierande entitetstyp; innehåller =identifierande sambandstyp; rum = svag entitetstyp;namn = partiell nyckel

Page 33: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Paus

Page 34: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Relationsmodellen❧ Från abstrakt till konkret!

❧ Tidiga datamodeller: hierarkiska, nätverksmodellen

❧ Andra: objektorienterade, grafer

❧ Fortfarande helt dominerande: relationsmodellen

❧ Tabeller, tabeller överallt

Page 35: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Relationsmodellen❧ Grunden för en relationsdatabas

❧ Data lagras i tabeller

❧ Tabellerna kallas relationer

❧ En kolumn i en tabell kallas attribut

❧ En rad i en tabell kallas tupel

❧ ...men vi säger tabell, kolumn, rad.

Page 36: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Relationsmodellen, exempel: bokaffär

Page 37: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Relationsmodellen: tabell

Tabell: Produkter

Art.nr Titel Pris1 The Dispossessed 99,002 Cats and the Law 79,003 The Third Policeman null4 The Little Book of Calm 89,00

Page 38: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Relationsmodellen: nycklar

Kolumn (attribut) eller kombination av kolumner medett unikt värde. Används för att identifiera en viss rad(tupel).

Tabell: Produkter

Art.nr Titel Pris1 The Dispossessed 99,002 Cats and the Law 79,003 The Third Policeman 79,004 The Little Book of Calm 89,00

Page 39: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Relationsmodellen: supernycklar

Supernycklar: alla kombinationer av kolumner(attribut) som är garanterat unika.

Tabell: Produkter

Art.nr Titel Pris1 The Dispossessed 99,002 Cats and the Law 79,003 The Third Policeman 79,004 The Little Book of Calm 89,00

Page 40: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Relationsmodellen: kandidatnycklar

Kandidatnyckel: minimal supernyckel. Går inte att tabort någon mer kolumn (attribut) och fortfarande ha enunik nyckel. Kan finnas flera:

Tabell: Förlag

Namn Org.nr IDHarper 143534-0142 1

Penguin Books 783534-0984 2Hellman and Rogers 228539-5943 3

Page 41: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Relationsmodellen: primärnycklar

Primärnyckel: en kandidatnyckel som valts ut.

Tabell: Förlag

Namn Org.nr IDHarper 143534-0142 1

Penguin Books 783534-0984 2Hellman and Rogers 228539-5943 3

Page 42: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Relationsmodellen: referensattribut

Referensattribut: kolumn (attribut) som hänvisar tillprimärnyckeln i en annan tabell.

Tabell: Produkter

Art.nr Titel Pris Förlag1 The Dispossessed 99,00 12 Cats and the Law 79,00 33 The Third Policeman 79,00 24 The Little Book of Calm 89,00 2

Referensintegritet: det värde som refereras till måste finnas.

Page 43: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

ER-diagram för bokaffären

Översättning från ER-diagram till relationsmodellen(1:n-samband). Mer nästa gång!

Page 44: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Sportklubben: ER-diagram

Page 45: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Sportklubben: en tabell

Tabell: Medlem

Medlemsnummer Namn Telefonnummer17 Tyrion 09842418 Arya 07844519 Daenerys 082347

Medlemsnummer är primärnyckel i tabellen Medlem.

Page 46: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Sportklubben: en till tabell

Tabell: Sektion

Sektionskod Namn LedareA Schack 18B Fäktning 18C Eldslukning 19

Sektionskod är primärnyckel i tabellen Sektion.Ledare är ett referensattribut som hänvisar tillprimärnyckeln i tabellen Medlem.

Page 47: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Sportklubben: ytterligare en tabell

Tabell: Deltar

Medlem Sektion25 A25 B28 C28 A23 B

Medlem och Sektion är i tabellen Deltar båda referensattribut ochhänvisar till primärnycklarna i tabellerna Medlem respektiveSektion.De utgör tillsammans enda kandidatnyckeln och är såledesprimärnyckel i tabellen Deltar.

Page 48: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Läsanvisningar❧ Padron-McCarthy & Risch (2005): kap. 1-2, 4-5

❧ Webbkursen: första tre sektionerna i del 1

Page 49: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp

Laboration 1❧ Kom igång med FileMaker

❧ Skapa sportklubbsdatabasen

❧ Layouter, utseende och dylikt

Page 50: Databasteori 1 - Vadochvarför?!!, ER-modellen och lite om ... · da‘tabassubstantiv~en ~er störresamlingupp giftersomfinnslagradepå systematisktsättidata maskinsåatten skildaupp