Relasjonsdatabaser Flashcards

1
Q

integritetsregel

A

Alle integritetsregler er i form av funksjonelle avhengigheter (+ domeneskranker og fremmednøkler)

  • Entity Integrity (unike, ikke-tomme primærnøkler)
  • Reference integrity (fremmednøkler)
  • Business integrity (gullkort = 10 reisetimer)
  • Domain integrity (verditype)

Påkrevde integritetsregler i relasjonsdatabaser:

  • Entitetsintegritet: Alle relasjonsskjemaer skal ha en og bare en primærnøkkel. Ingen av attributtene i primærnøkkelen får være nil.
  • Referanseintegritet: Hvis fremmednøkkelen ikke er nil, så skal det finnes et tuppel i den refererte relasjonen hvor primærnøkkelen har samme verdi som fremmednøkkelen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

krav til dekomposisjoner

A

Dekomposisjon av relasjoner må gjøres på en måte som sikrer at vi kan gjenskape den opprinnelige instansen ved natural join.

Altså kan ingen falske tupler generes ved join.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

normalformer

A

Normalformer er et uttrykk for hvor godt vi har lykkes i en dekomposisjon. At et skjema er på en normalform, sikrer at visse typer dobbeltlagring ikke forekommer. Jo høyere normalform, jo mindre dobbelt lagring.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

supernøkkel

A

En supernøkkel er et sett med attributter som unikt identifiserer en rad.

En kombinasjon (delmengde) X av attributtene {A1, A2, …, An} som er slik at hvis t og u er to tupler hvor t != u, så er t[X] != u[X]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

nøkkelattributter

A

Nøkkelattributter er attributter som er med i (minst) én kandidatnøkkel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

dataattributter

A

Dataatributter er attributter som ikke er med i noen kandidatnøkkel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
  1. normalform
A

Bare atomære verdier/attributter

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q
  1. normalform
A

1NF + ingen partielle avhengigheter

En relasjon R er 2NF hvis enhver ikke-triviell FD X→A (hvor X⊆R og A∈R) tilfredsstiller minst ett av følgende:
– X er en supernøkkel
– A er et nøkkelattributt
– X⊄W for noen kandidatnøkkel W i R

R bryter 2NF hvis det finnes en ikke-triviell FD X→A hvor A er et ikke-nøkkelattributt og det finnes en kandidatnøkkel W slik at X⊂W (ekte delmengde).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q
  1. normalform
A

2NF + ingen transitive avhengigheter

Gitt en relasjon R, med et sett av FDer på formen X -> A, der X og A er et sett av attributter.

  • X er en supernøkkel i R
  • A er et nøkkelattributt

R bryter 3NF hvis det finnes en ikketriviell FD X→A hvor A er et ikke-nøkkelattributt og X ikke er en supernøkkel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

BCNF

A

(Boyce-Codd-normalform)
3NF + alle minste determinanter er kandidatnøkler

Gitt en relasjon R, med et sett av FDer på formen X -> A, der X og A er et sett av attributter.
- X er en supernøkkel i R

R bryter BCNF hvis det finnes en ikketriviell FD X→A hvor X ikke er en supernøkkel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

funksjonell avhengighet

A

Et attributt er funksjonelt avhengig av et annet hvis det bestemmes av det andre attributtet.

Klassisk eksempel:
Postnr -> Sted

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

database

A

En database er en strukturert samling av relaterte (og persistente) data, håndtert av et DBMS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

DBMS

A

Databasehåndteringssystemet er programvaren som administrerer systemet.

  • Håndterer transaksjoner
  • Tilbyr API (Programmeringsgrensesnitt)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Hvorfor ikke bare lagre dataene i vanlige filer?

A
  • Støtte ulike typer data

- Støtte lesing/skriving fra flere og ulike systemer samtidig

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

det første spørsmålet man bør stille seg når man skal modellere en database

A

Hvilke spørsmål skal kunne besvares i databasen?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Grov skisse av trinnene i utformingen av en database

A
  1. Kartlegg interesseområdet
  2. Avdekk begreper og relasjoner mellom dem
  3. Beskriv disse i et modelleringsspråk
  4. Implementer modellen/tabellene
17
Q

en henvendelse fra en klient til et DBMS

A

(skrive-/lese-)transaksjon

18
Q

domene

A

En mengde atomære verdier (altså kan elementene ikke være mengder).

19
Q

attributt

A

Et navn på en rolle spilt av et domene. (altså en “kolonne”)

Hvis A er et attributt, skriver vi dom(A) = D for å uttrykke at A er en rolle spilt av domenet D.

20
Q

relasjonsskjema

A

R(A1, A2, …, An): En navngitt mengde attributter R = {A1, A2, …, An} der R er relasjonsnavnet. n kalles relasjonens grad eller aritet.

21
Q

instans av et relasjonsskjema R(A1, A2, …, An):

A

En mengde {t1, t2, …, tm} der hver tk er et n-tuppel av verdier fra domenene til A1, A2, …, An. (altså en “rad”)

Dersom t er et tuppel i en instans av R(A1, A2, …, An) og t = , så er f.eks. t[A2] = og t[A3, A1, A5] = .

22
Q

relasjon, intensjon, ekstensjon

A

Et relasjonsskjema med en tilhørende instans. Relasjonsskjemaet kalles relasjons intensjon.
Instansen kalles relasjonens ekstensjon.

23
Q

kandidatnøkkel

A

en minimal supernøkkel

Fjerning av et hvilket som helst attributt fører til at de gjenværende attributtene ikk lenger utgjør en supernøkkel.

24
Q

fremmednøkkel

A

ett eller flere attributter som refererer et tuppel i en annen relasjon

Fremmednøkkelen må ha samme antall attributter som primærnøkkelen i den relasjonen den peker ut, og attributtene må ha parvis samme domener.

25
Q

relasjonsdatabaseskjema

A

samling av relasjonsskjamer + integritetsregler

26
Q

relasjonsdatabaseinstans

A

samling av relasjonsinstanser

27
Q

relasjonsdatabse

A

relasjonsdatabaseskjema + relasjonsdatabaseinstans

28
Q

Hva kjennetegner god relasjonsdatabasedesign?

A
  • Relasjonene samler beslektet informasjon
  • Lite dobbeltlagring
  • Få “glisne” relasjoner
  • Korrekt totalinformasjon kan gjenskapes nøyaktig ved join
29
Q

oppdateringsanomalier

A
Insettingsanomalier:
- Opprettholde konsistente verdier
- Håndtere sekundær informasjon
- Håndtere nil i kandidat- og fremmednøkler
Slettingsanomalier:
- Unngå tap av sekundær informasjon
Modifiseringsanomalier:
- Opprettholde konsistente verdier
- Oppdatere sekundær informasjon
30
Q

Hvordan unngå dobbeltlagring?

A

Splitt (dekomponer) relasjonene

31
Q

Brudd på Boyce-Codd, men ikke på 3NF

A

FD X→A hvor A er et nøkkelattributt og X ikke inneholder en kandidatnøkkel.

32
Q

normalisering

A

dekomponere relasjoner med lav normalform til relasjoner med høyere normalform

33
Q

ulempe med BCNF

A

kan få FDer på tvers av relasjonene