Title: Database-begreber (databaser, del 2)
1Database-begreber(databaser, del 2)
2Database-typer
- Der findes flere slags database-systemer
- Hierakisk database
- Netværks-database
- Objekt-orienteret database
- Relations-database
- Relations-databasen er langt den mest
almindelige vi koncentrerer os om den fra nu af!
3Relations-database
- Hvad betyder det egentlig?
- I en database har vi naturlig-vis data om
forskellige ting - I en database over en skole kunne vi f.eks have
data om elever, lærere og fag
4Relations-database
- I en relations-database kan vi nemt gemme data om
relationerne mellem tingene
Elev Navn Adresse Fødselsdato
Lærer Navn Adresse Fødselsdato Ansat
Klasse Klassenavn Årgang
Fag Fagnavn Niveau
5Relations-database
- Hvor har vi data om, hvilke elever der går i en
bestemt klasse, hvilke lærere der underviser i
hvilke fag, og så videre?
Elev Navn Adresse Fødselsdato
Lærer Navn Adresse Fødselsdato Ansat
Klasse Klassenavn Årgang
Fag Fagnavn Niveau
6Relations-database
Elev Navn Adresse Fødselsdato Klassenavn
Lærer Navn Adresse Fødselsdato Ansat Fagnavn Fagna
vn
Klasse Klassenavn Årgang Navn Navn Navn Navn
Fag Fagnavn Niveau Navn Navn Navn
7Relations-database
- Vi skelner mellem to slags data
- Data som fortæller noget om en ting en ting
kaldes generelt for en entitet - Nadia er 1,64 m høj
- Data som fortæller noget om relationer mellem
entiteter - Nadia underviser i faget fransk
8Elementer i en database
- Hvordan ville man opbevare data i gamle dage?
- På et arkivkort kunne der være data om f.eks en
enkelt person - Alle arkivkort om personer i samme skuffe, en
anden skuffe til en anden entitet
9Elementer i en database
- For en relationel database minder organi-sationen
af data om et arkivskab - Hele arkivskabet er databasen
- Hver skuffe rummer kun data om en enkelt type
entitet, og data er altid på den samme form - I en relationel database er det tilsvarende
begreb en tabel
10Tabel
- En tabel rummer kun data om én type entitet, og
altid på samme form - Person
Navn Adresse Telefon Født Gift
Per Jensen Skolevej 12 31458791 17-07-1962 Nej
Jane Høst Allégade 70 52442109 31-03-1971 Ja
Allan Ravn Svinget 49 44553177 12-12-1977 Ja
Ole Olsen Junivej 112 41764430 26-04-1950 Ja
Ditte Dorfmann Dalstrøget 3 43519982 11-08-1972 Nej
11Tabel
Godt med Ål
Dyr Ben
Ko 4
So 4
John 2
Abe 2
Ål 0
Bi 6
12Post
- En post er en enkelt linie i en tabel, altså data
for en enkelt, specifik entitet - Person
Navn Adresse Telefon Født Gift
Per Jensen Skolevej 12 31458791 17-07-1962 Nej
Jane Høst Allégade 70 52442109 31-03-1971 Ja
Allan Ravn Svinget 49 44553177 12-12-1977 Ja
Ole Olsen Junivej 112 41764430 26-04-1950 Ja
Ditte Dorfmann Dalstrøget 3 43519982 11-08-1972 Nej
13Felt
- Et felt er en enkelt oplysning om en enkelt,
specifik entitet - Person
Navn Adresse Telefon Født Gift
Per Jensen Skolevej 12 31458791 17-07-1962 Nej
Jane Høst Allégade 70 52442109 31-03-1971 Ja
Allan Ravn Svinget 49 44553177 12-12-1977 Ja
Ole Olsen Junivej 112 41764430 26-04-1950 Ja
Ditte Dorfmann Dalstrøget 3 43519982 11-08-1972 Nej
14Tænk på en relations-database som
- et gammeldags arkivskab
- Hele skabet er en database
- En skuffe er en tabel
- Et kartotekskort er en post
- En oplysning på et kort er et felt
- Men en database bliver ikke støvet og skrammet
15Et database-system kaldes også DBMS
- Data
- Base
- Management
- System
16Er det nemt?
- Umiddelbart ser det ret nemt ud at definere en
database - Udfordringen er at definere den korrekt!
- Korrekt undgå vore to dødsfjender
- Redundans
- Inkonsistens
17Redundans
- Redundans at det samme data forekommer flere
gange i databasen - Gør databasen unødvendigt stor
- Databasen arbejder langsommere
- Øger faren for inkonsistens
18Redundans
Aftenskoleelever
Navn Adresse Telefon Født Fag
Per Jensen Skolevej 12 31458791 17-07-1962 Engelsk
Per Jensen Skolevej 12 31458791 17-07-1962 IT
Ditte Dorfmann Dalstrøget 3 43519982 11-08-1972 Engelsk
Ditte Dorfmann Dalstrøget 3 43519982 11-08-1972 Økonomi
Ditte Dorfmann Dalstrøget 3 43519982 11-08-1972 Matematik
19Inkonsistens
- Inkonsistent at data, som burde være ens, ikke
er ens - Hvilke data skal vi stole på?
- Tæt forbundet med redundans
- Hvis der ikke er redundans, kan (simpel)
inkonsistens ikke forekomme
20Inkonsistens
Aftenskoleelever
Navn Adresse Telefon Født Fag
Per Jensen Skolevej 12 31458791 17-07-1962 Engelsk
Per Jensen Skolevej 21 31458791 17-07-1962 IT
Ditte Dorfmann Dalstrøget 3 43519982 11-08-1972 Engelsk
Ditte Dorfmann Dalstrøget 3 43519982 11-08-1972 Økonomi
Ditte Dorfmann Bakkehøj 22 33128769 28-03-1976 Engelsk
21At lave et produkt
Kunde
Designer
Konstruktør
22At lave et produkt
For et hus
Kunde
Designer (Arkitekt)
Konstruktør (Murer)
23At lave et produkt
Det ville være skønt med et nyt hus Mere plads,
nemmere at gøre rent,
Ethvert nyt produkt ud-springer af et ønske
24At lave et produkt
Jeg vil gerne have et nyt hus, der er flot og
lækkert, nemt at gøre rent, en stor stue, og
Det kan jeg ikke arbejde med
Murermester Jensen
Nogen skal realisere vores ønske
25At lave et produkt
Jeg vil gerne have et nyt hus, der er flot og
lækkert, nemt at gøre rent, en stor stue, og
Rolig, du må være mere præcis i din beskrivelse
Arkitekt Larsen
så først må det specificeres korrekt
26At lave et produkt
Hmmmm, stor stue 40-50 m2 nemt at gøre rent
ét plan flot sort tag hvide sten
Den som specificerer er måske ikke den der
bygger
27At lave et produkt
Mente du et hus som dette?
Jeps, dog vil jeg gerne lige have rettet lidt til
Designeren har værktøjer til at lave en
specifikation
28At lave et produkt
Så er kunden glad, nu skal mureren bare have en
mere detaljeret tegning
Flere værktøjer til flere trin i
specifikations-processen
29At lave et produkt
Se, det kan jeg godt arbejde med!
Væg 2,30m Farvekode 4512
Vindue 1,10x1,10 Prod.nr 12-387B
Kontakt Højde 40cm, 30 cm fra hjørne
Med tilstrækkeligt mange detaljer kan
konstruktøren tage over!
30At lave et produkt
For en database
Kunde
Designer (DB-Arkitekt)
Konstruktør (Access-koder)
31At lave et produkt
Det ville være skønt med et system til holde styr
på min aftenskole. Hvem er mine kursister, hvilke
fag tager de,
Ethvert nyt produkt ud-springer af et ønske
32At lave et produkt
Jeg vil gerne have en database til at holde styr
på data for min aftenskole, med elever, lærere,
kurser, og
Det kan jeg ikke arbejde med
Access-koder Andersen
Nogen skal realisere vores ønske
33At lave et produkt
Jeg vil gerne have en database til at holde styr
på data for min aftenskole, med elever, lærere,
kurser, og
Rolig, du må være mere præcis i din beskrivelse
DB-Arkitekt Damgaard
så først må det specificeres korrekt
34At lave et produkt
Hmmmm, Entiteterne er Lærer, Elev, Kursus,
Klasse, Lokale, Relationerne er Underviser,
Afholdes i, Går i,
Den som specificerer er måske ikke den der
bygger
35At lave et produkt
Mente du, at databasen skal rumme data om disse
entiteter og relationer?
Jeps, dog vil jeg gerne lige have rettet lidt til
Designeren har værktøjer til at lave en
specifikation
36At lave et produkt
Så er kunden glad, nu skal Access-koderen bare
have et TS-diagram og en Data Dictionary at
arbejde med
Flere værktøjer til flere trin i
specifikations-processen
37At lave et produkt
Se, det kan jeg godt arbejde med!
Med tilstrækkeligt mange detaljer kan
konstruktøren tage over!