Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

1.10 System design - Database

Lignende præsentationer


Præsentationer af emnet: "1.10 System design - Database"— Præsentationens transcript:

1 1.10 System design - Database

2 Systemdesign – E/R Diagram
En database vises gerne i et Entity-relationship diagram eller også E/R-diagram Hvilke relationer er der mellem informationerne? Er databasen gennemtænkt ift. opgraderinger? Entity (enhed) er markeret som aflang kasse Enhedens attributter (egenskaber) er beskreven i cirkler: Det kan være en person, så har vi et cpr.nr. køn, alder, højde, beskæftigelse, m.m Relationen mellem enhederne beskrives ved hjælp af udsagnsord og er i romber Hver enhed vil kunne dannes som tabel i en database! Databasedesign

3 Systemdesign - Databasedesign
Et E/R-diagram kan se ud som følgende: Der er attributter(egenskaber, Kolonne), enheder(tabel) og relationer: N-M = mange til mange 1-1= en til en 0-1= nul til en 1-p/n= en til mange Databasedesign

4 Systemdesign - Databasedesign
En en-til-mange-relation, hvor p er antallet En mange-til-mange-relation, hvor m og n, eller n og o er antallet Opgave: Tegn et E/R diagram af en typisk salgsbutik, (butikker, ansatte, varer, byer osv..) - brug hertil En-til-mange-relation Mange-til-mange-relation En-til-mange-relation Mange-til-mange-relation

5 Systemdesign - Normformer
Databaser skal overholde normaliseringsformer, der er tre! 1. Normform Alle rækker skal være lige lange Alle rækker skal indeholde samme type information Der skal være et nøglefelt (primærnøgle) i tabellen, ellers opstår redundans Se eksempel næste side Normform Rækkelængde Type information redundans 1. Normform Rækkelængde Type information redundans

6 Systemdesign - Normformer
Personale Personale-ID Fornavn Efternavn Postnr. By Afdelings-ID Afdelings-Navn Kursus-ID Kursus-Navn 100 Erik Pedersen 7100 Vejle 5 Salg 11 Photoshop 20 Word 31 Access 101 Svend Johansen 7 Økonomi 102 Hans Hansen 7200 Grindsted 21 103 Jens Nielsen 3 Produktion Tabel rawdata Denne skal ændres, og der skal oprettes en ny tabel, eftersom der ikke er én unik nøgle

7 Systemdesign - Normformer
Personale Personale-ID Fornavn Efternavn Postnr. By Afdelings-ID Afdelings-Navn 100 Erik Pedersen 7100 Vejle 5 Salg 101 Svend Johansen 7 Økonomi 102 Hans Hansen 7200 Grindsted 103 Jens Nielsen 3 Produktion Kursus Personale-ID Kursus-ID Kursus-Navn 100 11 Photoshop 20 Word 31 Access 101 102 21 103 Redundans er løst i Personale tabellen, i Kursus tabellen opstår der dobbeltnøgle, men også med yderligere informationer Den løses vha. 2. normform 1. Normform Der må ikke være redundans Normform Der må ikke være redundans

8 Systemdesign - Databasedesign
2. Normform Der må kun være et nøglefelt i hver tabel, der entydigt afgør indholdet af alle øvrige felter Eksempel fortsat: Tabellen Kursus har to nøgler! Normform Personale som før Kursus Personale-ID Kursus-ID Kursus-Navn 100 11 Photoshop 20 Word 31 Access 101 102 21 103 2. Normform Personale som før

9 Systemdesign - Databasedesign
Kursus Personale-ID Kursus-ID Kursus-Navn 100 11 Photoshop 20 Word 31 Access 101 102 21 103 Personale-Kursus Personale-ID Kursus-ID 100 11 20 31 101 102 21 103 Kursus Kursus-ID Kursus-Navn 11 Photoshop 20 Word 21 31 Access 2. Normform Kursus ændres 2:Normform Kursus ændres Nu er der kun én entydig primærnøgle i tabellen Kursus Tabellen Personale-Kursus er en ren dobbeltnøgle

10 Systemdesign - Databasedesign
3. Normform Alle felter, der afhænger af andet end nøglen (indirekte afhængighed) i tabellen, splittes ud Eksempel fortsat: Med den til højre stående ”Kursus” tabel og ”Personale-Kursus” tabel sker ikke noget yderligere i 3. normform Personale-Kursus Personale-ID Kursus-ID 100 11 20 31 101 30 102 21 103 Kursus Kursus-ID Kursus-Navn 11 Photoshop 20 Word 21 31 Access 3. Normform Indirekte afhængighed 3. Normform Indirekte afhængighed

11 Systemdesign - Databasedesign
Personale Personale-ID Fornavn Efternavn Postnr. By Afdelings-ID Afdelings-Navn 100 Erik Pedersen 7100 Vejle 5 Salg 101 Svend Johansen 7 Økonomi 102 Hans Hansen 7200 Grindsted 103 Jens Nielsen 3 Produktion 3. Normform Tabellen tilpasses 3. Normform Tabellen tilpasses Ved at anvende 3. normform, oprettes 2 nye tabeller: ”Postnummer” og ”Afdeling”. ”Personale” tabellen reduceres, se næste side

12 Systemdesign - Databasedesign
Personale Personale-ID Fornavn Efternavn Postnr. Afdelings-ID 100 Erik Pedersen 7100 5 101 Svend Johansen 7 102 Hans Hansen 7200 103 Jens Nielsen 3 Afdeling Afdelings-ID Afdelings-Navn 3 Produktion 5 Salg 7 Økonomi 3. Normform Indirekte afhængighed splittes ud Postnummer Postnr. By 7100 Vejle 7200 Grindsted 3. Normform Indirekte afhængighed splittes ud

13 Systemdesign - Normformer
Udgangssituationen var: Personale Personale-ID Fornavn Efternavn Postnr. By Afdelings-ID Afdelings-Navn Kursus-ID Kursus-Navn 100 Erik Pedersen 7100 Vejle 5 Salg 11 Photoshop 20 Word 31 Access 101 Svend Johansen 7 Økonomi 102 Hans Hansen 7200 Grindsted 21 103 Jens Nielsen 3 Produktion Start tabel Og ender i:

14 Systemdesign - Databasedesign
Personale Personale-ID Fornavn Efternavn Postnr. Afdelings-ID 100 Erik Pedersen 7100 5 101 Svend Johansen 7 102 Hans Hansen 7200 103 Jens Nielsen 3 Personale-Kursus Personale-ID Kursus-ID 100 11 20 31 101 30 102 21 103 Resultat tabeller Resultat tabeller Postnummer Postnr. By 7100 Vejle 7200 Grindsted Afdeling Afdelings-ID Afdelings-Navn 3 Produktion 5 Salg 7 Økonomi Kursus Kursus-ID Kursus-Navn 11 Photoshop 20 Word 21 31 Access

15 Systemdesign - Databasedesign
Opgave: Åben 1.09b Database (Excel-ark) Anvend de tre normformer og gør dermed tabellen klar til indlæsning i en database. (Eksempelvis Microsoft Access) En-til-mange-relation Mange-til-mange-relation Svar gemt!!! En-til-mange-relation Mange-til-mange-relation Svar gemt!!!


Download ppt "1.10 System design - Database"

Lignende præsentationer


Annoncer fra Google