Introduktion til Databaser Flashcards

1
Q

Hvad er en database?

A

En database repræsenterer den anden organisering af data. En database er en organiseret samling af struktureret information eller data, der typisk opbevares elektronisk i et computersystem.

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

Hvordan er data struktureret i en database?

A

Data i en database opbevares i tabeller.
En enkelt række i en tabel kaldes en record.
Kolonnerne, som hver record er opdelt i, kaldes fields.

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

Hvad er en relationel database?

A

En relationel database er en type database, der anvender den relationelle model til at organisere og lagre data.

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

Hvad er et eksempel på en database, der ikke er relationel?

A

MongoDB: En dokumentdatabase, der gemmer data i JSON-lignende dokumenter. Velegnet til fleksibel og skalérbar lagring af semi-strukturerede data.

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

Hvad er en database instans?

A

En databaseinstans repræsenterer den første organisering af data. En databaseinstans er en aktiv, kørende forekomst af et databasehåndteringssystem (DBMS) på en computer eller server, der kan indeholde og administrere én eller flere databaser.

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

Hvor er en database instans installeret?

A

En database instans er installeret/kører direkte på OS (operativsystem). Et enkelt operativsystem kan have flere database instanser, og hver instans skal være unikt identificeret med et navn, port osv.

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

Hvad er fordelen ved at installere flere database instanser på samme operativsystem?

A

Ved at installere flere database instanser på samme system kan man udnytte computerressourcer som processorkraft og hukommelse mere effektivt.

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

Hvad er en Master Table?

A

For hver instans oprettes automatisk en Master tabel - en database der indeholder al metadata om de databaser man opretter i instansen.

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

Hvad står DBMS for?

A

DBMS står for “Database Management System” eller “Databasehåndteringssystem” på dansk.

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

Hvad er formålet med et DBMS?

A

Formålet med et DBMS er at administrere og styre en database, herunder oprettelse, vedligeholdelse og datahåndtering.

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

Hvordan hjælper et DBMS brugere med at definere databasens struktur?

A

Et DBMS giver brugerne mulighed for at definere datastrukturer såsom tabeller, kolonner, nøgler og relationer.

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

Hvordan understøtter et DBMS datahåndtering?

A

Et DBMS understøtter datahåndtering ved at muliggøre tilføjelse, opdatering, sletning og hentning af data fra databaser ved hjælp af forespørgsler.

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

Hvordan sikrer et DBMS integritet og konsistens af data?

A
  • Databasestruktur: DBMS definerer og håndterer databasens struktur, inklusive tabeller, kolonner og relationer, for at sikre, at data er korrekt organiseret.
  • Datavalidering: DBMS implementerer datavalideringsregler og krav for at sikre, at kun gyldige data accepteres i databasen.
  • Transaktioner: DBMS understøtter transaktioner, der giver enten fuldstændig udførelse eller ingen udførelse af en sekvens af operationer for at opretholde konsistens.
  • Fremmede nøgler: DBMS anvender fremmede nøgler for at oprette relationer mellem tabeller og sikre referential integritet, hvilket kræver, at relaterede data er tilgængelige og korrekte.
  • Atomare operationer: DBMS udfører operationer atomisk, hvilket betyder, at de enten fuldføres fuldt ud eller ikke udføres overhovedet for at forhindre inkonsistens.
  • Tilbagerulning: DBMS giver mulighed for at rulle tilbage til en tidligere tilstand i tilfælde af fejl eller transaktionsproblemer for at opretholde datakonsistens.
  • Låse og tråde: Teknikker der bruges i et DBMS til at administrere samtidig adgang til data. Låse forhindrer konflikter ved at sikre, at kun én transaktion ændrer data ad gangen, mens tråde muliggør samtidig eksekvering af operationer.
  • Logging: DBMS fører logfiler over transaktioner, hvilket giver mulighed for gendannelse i tilfælde af nedbrud eller fejl.
  • Constraints: DBMS anvender databasetilladelser og integritetsconstraints for at styre adgangen til data og sikre, at data er korrekte og i overensstemmelse med forretningsregler.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Kom med tre eksempler på databasehåndteringssoftware (DBMS)

A
  1. Microsoft SQL Server
  2. MySQL
  3. MongoDB
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Hvad er nogle af de funktioner, en databaseinstans udfører?

A

En databaseinstans udfører flere vigtige opgaver, herunder:

  • Håndtering af login-sikkerhed.
  • Administration af hukommelse og caching for alle databaser på instansen.
  • Allokering af CPU-ressourcer.
  • Deling af sikkerhedsindstillinger og tilladelser mellem databaser.
  • Opbevaring af tekniske oplysninger om instansen i en særlig database kaldet “master.”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Hvad er meta data?

A

Metadata i databaser er oplysninger om data, der giver kontekst og struktur til databasen, f.eks. tabelnavne, kolonnenavne, datatyper, nøgler og relationer.

17
Q

Hvad er en tabel?

A

En tabel repræsenterer den tredje organisering af data. Tabeller er grundlæggende strukturer i en database, der bruges til at organisere og gemme data i rækker og kolonner.

18
Q

Hvad er records og columns?

A

Fjerde organisering af data. En record, også kendt som en række, repræsenterer en enkelt forekomst af data i en database tabel, mens en kolonne definerer typen eller attributten af data, den indeholder.

19
Q

Hvad er en primær nøgle (Primary Key) i en database?

A

En primær nøgle i en database er en unik identifikator for en række (record) eller dataindgang i en tabel. Den bruges til at sikre, at hver række har en unik værdi og kan ikke være NULL. En tabel kan kun have én primær nøgle, men flere kandidatnøgler er mulige.

20
Q

Hvor mange primære nøgler kan en tabel have?

A

En tabel kan kun have én primær nøgle, men den kan have flere kandidatnøgler (candidate keys).

21
Q

Hvad er en kandidatnøgle (Candidate Key) i en database?

A

En kandidatnøgle i en relationel database er en eller flere kolonner i en tabel, der kan bruges som en unik identifikator for hver række i tabellen. Dette betyder, at ingen to rækker i tabellen kan have de samme værdier i kandidatnøglen.

22
Q

Kan en tabel have flere end én kandidatnøgle?

A

Ja, en tabel kan have flere end én kandidatnøgle. Dette skyldes, at der ofte er flere måder at unikt identificere data på. Selvom kun én kandidatnøgle vælges som den primære nøgle, kan de øvrige kandidatnøgler stadig bruges til at identificere rækker eller oprette relationer til andre tabeller.

23
Q

Hvad er forskellen mellem en primær nøgle (Primary Key) og en kandidatnøgle?

A

En primær nøgle er den valgte kandidatnøgle, der bruges som hovedreference for at identificere rækker i en tabel. En tabel kan kun have én primær nøgle. På den anden side kan en tabel have flere kandidatnøgler, men kun én af dem vælges som primær nøgle.

24
Q

Hvad er formålet med at bruge kandidatnøgler i en database?

A

Formålet med at bruge kandidatnøgler inkluderer at sikre unikhed, oprette relationer mellem tabeller, vælge den primære nøgle og opretholde dataintegritet. Kandidatnøgler giver også fleksibilitet i at identificere data på forskellige måder.

25
Q

Hvor mange kolonner kan en primær nøgle indeholde?

A

En primær nøgle kan indeholde én eller flere kolonner (sammensat primær nøgle).

Når en primær nøgle indeholder flere kolonner end én, kaldes det en “sammensat primær nøgle” eller “sammensat nøgle.” Dette sker, når flere kolonner kombineres for at danne en unik identifikator for hver række i tabellen. Sammensatte primære nøgler bruges ofte, når en enkelt kolonne ikke er tilstrækkelig til at sikre unikhed i tabellen, så flere kolonner kombineres for at opnå unikhed.

26
Q

Hvad er fordelene ved at bruge en primær nøgle i en database?

A

Fordelene ved at bruge en primær nøgle inkluderer:

  • Oprettelse af en indeks baseret på primær nøgle, hvilket forbedrer søgningens hastighed.
  • Sortering af den fysiske data efter primær nøgle, hvilket gør søgning og filtrering hurtigere, når den primære nøgle bruges i operationerne.
  • Gør det til en god kandidat som fremmed nøgle (foreign key) i forhold til at oprette relationer mellem tabeller.
27
Q

Hvad er ulemperne ved at bruge en primær nøgle i en database?

A

Ulemperne ved at bruge en primær nøgle inkluderer:

  • Tvungen unikhed, hvilket kan begrænse muligheden for at gemme lignende data i tabellen.
  • Krav om, at de indeholdte kolonner ikke må være NULL, hvilket kan begrænse fleksibiliteten.
  • Oprettelse af en indeks, hvilket kan gøre indsættelser og opdateringer langsommere, hvis primær nøgle ikke bruges i de fleste søge- og filtreringsoperationer.
28
Q

Hvad er kriterierne for valg af en primær nøgle (Primary Key) i en database?

A
  • Den skal aldrig ændre sig.
  • Den skal unikt identificere hver række (record).
  • Den må aldrig have NULL-værdier (ikke NULLABLE).
  • Den bør bestå af så få kolonner som muligt.
  • Længden og størrelsen af værdierne bør være så små som muligt (bits).
  • Enkle datatyper foretrækkes over komplekse (f.eks. integer frem for streng).
29
Q

Hvad bør du gøre, hvis din kandidatnøgle ikke opfylder de nødvendige kriterier for en primær nøgle?

A

Hvis din kandidatnøgle ikke opfylder de nødvendige kriterier for en primær nøgle, bør du overveje at bruge en surrogatnøgle (surrogate key), der er en kunstigt oprettet unik nøgle, som opfylder disse kriterier. En surrogatnøgle kan være en simpel numerisk sekvens eller en anden unik identifikator, der tilføjes tabellen for at tjene som primær nøgle. Du kan også tilføje en UNIK-konstraint til andre kolonner for at sikre unikhed i de tilfælde, hvor kandidatnøglen ikke er tilstrækkelig.

30
Q

Hvad er forskellene på en surrogate key og en primary key?

A
  • En primær nøgle er baseret på faktiske data i tabellen, mens en surrogatnøgle er kunstigt genereret.
  • Primær nøgle bruges til at identificere rækker og oprette relationer, mens surrogatnøglen kun bruges til identifikation.
  • Primær nøgle kan have større variation i størrelse og datatyper, mens surrogatnøglen er normalt en simpel numerisk sekvens.