17, 18, 20- Datamodellering og databaser Flashcards

1
Q

Hva er en database? Annet navn for data?

A

Heter egentlig DBMS (database managment system). DBMS er en produkt type og det finnes derfor mange leverandører og mange variasjoner. Eksempler: Mysol, Oracle, SQLserver. Vi har databaser fordi det er problematisk å lagre tradisjonelt.

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

Hvorfor er det foretrukket å lagre data i en database istedenfor å lagre den vanlig (excel, lokalt, osv.) 7 grunner.

A
  1. Autentisering: Vi kan opprette brukere som kan logge inn med brukernavn/passord, legge begrensninger.
  2. Akseskontroll: Brukere kan få tilgang til å se, endre, slette, legge inn ny data i databasen.
  3. Logging; Logg av hvilke brukere som har gjort hva.
  4. Backup: Data kan bli gjenskapet ved feil.
  5. Transaksjoner: Dersom det i en nettbank for eksempel skal skje en reduksjon av en konto og økning i en annen vil det være en fordel å gjøre disse komandoene i en samlet operasjon. Dersom transaksjoner skal skje, kan et DBMS rette opp i feil.
  6. Distruberte systemer: DBMS tåler å bli spress over flere maskiner
  7. Klient/tjener: Brukergrensesntt adskilt fra funksjonalitet. Fordelen er at flere klienter kan være koblet til flere tjener.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Hvilke datatyper kan du? (nevn)

A

BOOLEAN

INT-EGER:

FLOAT:

CHAR(X):

VARCHAR(X):

TEXT:

NULL;

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

Hvorfor trenger vi ulike datatyper?

A

I de fleste datasystemer må vi angi hvilken data (altså datatype) som en kolonne skal inneholde. Dette har to hensikter:

  1. For det første skal systemet kunne gjøre oss oppmerksom på at vi legger inn verdier som ikke passer i fletet. (feks datoer i feil format)
  2. Datasystemet kan hjelpe oss å håndtere den dersom det vet hvilken data det er.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

BOOLEAN

A

Holder på verdiene true/false. Nyttig til feks å ta vare på data som «ønsker å bli kontaktet pr epost»

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

INT-EGER

A

Heltall

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

FLOAT

A

Desimaltall

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

CHAR(X)

A

Holder på X antall tegn. Dersom man ikke fyllet ut vil det bli mellomrom.

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

VARCHAR(X)

A

Kan holde på et variabelt antall tegn, men ikke flere enn angitt ved X

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

TEXT

A

Holder på en større tekst og vil i motsetning til VARCHAr også ta vare på spesialtegn som tabulator og linjeskift.

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

NULL

A

; Vi har ikke opplysninger om denne verdien.

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

Hva er det atomiske kravet?

A

Datamaskiner er ikke så flink på å dele opp data i mindre data. Derfor skal du som database designer dele opp dataen så mye som mulig. Atomisk betyr og dele opp så mye. Man skal ikke ha flere opplysninger i samme felt. Feks SQL er laget for å håndtere enkle verdier raskt. Flere verdier per felt krever ekstra ressurs og tid.

Unngå også å dobbeltlage. For eksempel med og uten mva. Dette vil gå mot målet med å bruke en DBMS. Derfor lagrer man attributter som er unike, altså som ikke skal beregnes fra andre atributter.

1 verdi pr felt.

Unngår lagring av beregnbare verdier

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

Hvorfor trenger vi en nøkkel? Hvilke typer har vi?

A

Primærnøkkel, kandidatnøkkel, og fremmednøkkel

En DBMS har dessverre ingen mulighet til å nummerere radene. Da må vi finne noe som er unikt for å finne igjen dataen.

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

Hva er en Primærnøkkel?

A

Sørger for å ikke dobbellagre fordi alle er unike da den har krav om unikthet innebygd.

Gir data unikt nummer. (som et id nummer)

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

Kandidatnøkkel

A

Når det er flere primærnøkler. Feks en tabell som inneholder både kundenummer og fødselsnummer. Begge disse kan være en primærnøkkel og da må vi velge en.

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

Fremmednøkkel

A

Primærnøkkel fra en annen tabell.

17
Q

Hva er hensikten med datamodellering?

A

Dersom man har behov for å lagre mye data i en datebase kan det fort bli vansklig å holde oversikt over dataene. For at en database skal være så effektiv som mulig må vi planlegge den nøye, ved hjelp av noen regler og protokoller. En slik planlegging kalles datamodellering. Strukturen består av nøkler, relasjoner og diverse informasjoner.

18
Q

Hvilke typer relasjoner finnes det mellom tabeller?

A

Mange til 1: Sørger for å ikke dobbellagre. Gir data unikt nummer. (som et id nummer). Alle tilfellene av primærnøkler taes med til en annen tabell.

Mange til mange: For eksempel en kunde kan bestille flere produktet og et produkt kan bli bestilt av mange. Da får vi en mange til mange forhold. Dette gjøres ved å lage en mellomtabell.

19
Q

Hva er første normalform og hva betyr den?

A
  1. Normalform: Alle verdier skal være atomære, og ingen felt får inneholde mer enn en verdi.

Dette betyr: Man ønsker å ha dataene delt opp så mye som mulig, slik at det blir lettere å arbeide med hver enkelt del. Dersom en kolonne inneholder data som man kan dele opp og gi hver enkelt del en betingelse, så burde kolonnen vært delt. fornanv, etternavn, gatenavn, gatenummer, postnummer og poststed skal være for seg.

20
Q

Hva er andre normalform og hva betyr den?

A
  1. Normalform: Ingen ikke-nøkkelkolonne får være avhengige av deler av en kandidatnøkkel.

All informasjon i en rad må beskrive den bestemte raden og ikke potensielt flere rader. En del av en kandidatnøkkel kan jo opptre i flere kandidatnøkler, forteller den ikke noe om den spesifikke raden. Primærnøkkel en kandidtnøkkel som oftes er dette også en eneste kandidatnøkkelen i en tabell.

21
Q

Hva er tredje normalform og hva betyr den?

A

Normalform: Ingen ikke-nøkkelkolonne får være avhengig av noe annet enn kandidatnøkler.

Dersom en verdi er avhengig av en annen verdi på samme rad i stedet for selve primærnøkkelen har disse verdiene en innbyrdes kobling, og en av dem bør skille sut i en egen tabell. Feks poststed avhengi av postnummer.