MMDDB_Analyse
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Database<br />
Ole Kristian Mose<br />
Erhvervsakademi Dania<br />
olmo@eadania.dk<br />
13. november 2016<br />
1 / 15
Overblik<br />
Persistens<br />
1 Databaser - hvad er det?<br />
Persistens og struktur<br />
Øvelse - registrering -case<br />
Øvelse - registrering<br />
2 Relationelle databaser<br />
Vigtige egenskaber<br />
3 Et eksempel<br />
4 Er-diagrammer<br />
Øvelse - Lav et ER diagram<br />
5 Spørgsmål<br />
2 / 15
Persistens<br />
Persistens betyder, at data lagres<br />
på et "ikke-flygtigt medie"<br />
Et ikke flygtigt medie kan være:<br />
En traditionel Harddisk<br />
EN SSD disk<br />
Et magnetbånd<br />
et stykke papir, eller en<br />
papirstrimmel<br />
En flashstick<br />
o.m.a.<br />
Lagringsstruktur<br />
Data kan organiseres på forskellig<br />
vis<br />
Databaser kan organiseres i<br />
forskellige strukturformer<br />
Netværk<br />
Hierarkisk<br />
Relationelt<br />
OO datbase<br />
NoSql - graph, multivalue og<br />
document<br />
M.fl.<br />
3 / 15
Case - World of Multimedia Designers (WoM<br />
I spillet findes figurer, som illustrerer en<br />
multimediedesigner i en fjern fremtid. Hver figur<br />
har et id, et navn, en art (Elver, Dværg, Human,<br />
Orc eller Hobbit). Derudover har hver figur<br />
optjent XP mellem 0 og 100000. Endelig kan<br />
hver figur bære rundt på ting, som f.eks. et<br />
sværd, en ring, en kop, en nøgle o.m.a., ting som<br />
hjælper figuren i spillet. Hver figur kan bære flere<br />
ting,<br />
4 / 15
Opgave<br />
Gå sammen i grupper af 2 personer<br />
varighed 20 min.<br />
Lav en systematisk opstilling af data i et<br />
regneark, som beskriver figurer i WoM<br />
Hvilke oplysninger er registreret om hver<br />
figur<br />
Hver figur har sin egen række<br />
Hver kolonne er alle navne, art o.s.v.<br />
Når i er færdige, ser vi nærmere på<br />
resultaterne.<br />
5 / 15
Hvad skal vi arbejde med?<br />
Vi skal udelukkende arbejde med den relationelle model<br />
Vigtige egenskaber ved relationelle databaser<br />
Organiseres i tabeller<br />
Kolonnerne har navne og en type<br />
Rækkerne er et sæt af data<br />
Alle værdier er "atomare"<br />
Relationer<br />
Tabellerne kan forbindes med relationer<br />
Relationer kan være 1-1, 1-m, eller m-n<br />
Data manipulation<br />
Man bruger SQL til at oprette, rette og slette data.<br />
Man bruger også SQL når man henter data ud fra databasen<br />
6 / 15
En figur har<br />
atributterne<br />
ID<br />
Navn<br />
Art<br />
XP<br />
Udstyr<br />
En simpel tabel<br />
Tabel: Figur<br />
Id Navn Art XP Udstyr<br />
12 Aragon Human 1254 Sword, helmet<br />
67 Gimli Dwarf 547 Helmet, cup, Axe<br />
56 Gandalf Human 5482 Magic stick, Silly hat<br />
123 Gollum Hobbit 120 Ring<br />
54 Frodo Hobbit 111 Box<br />
19 Bilbo Hobbit 109 Sword<br />
. . . . .<br />
7 / 15
ER-Diagrammer bruges i analysefasen<br />
ER Diagrammer er en velkendt teknik til at skabe<br />
overblik over informationerne i et system.<br />
Diagrammerne fokuserer alene på informationer -<br />
ikke på metode.<br />
ER-Diagrammer er enkle at bruge og kan læses af<br />
såvel specialister som u-indviede.<br />
Man bruger normalt ikke ER-diagrammer til at<br />
opbygge en fysisk database. De er kun et redskab til<br />
at opnå en enighed omkring og forståelse for<br />
informationerne i et system - evt. et spil.<br />
Der findes forskellige notationer. I Baggrunden ses<br />
Crow’s foot-notationen. Vi skal bruge den mere<br />
enkle Chen-notation.<br />
8 / 15
ER-Diagrammer består af:<br />
Entiteter<br />
Navneord der<br />
beskriver et hele. Eks.<br />
Figur, Kunde,<br />
Highscore, Bil.<br />
Relationer<br />
Udsagnsord og<br />
beskriver forhold<br />
mellem entiteter. Eks.<br />
Ejer, Holder, Er,<br />
Bærer - Figur Bærer<br />
Udstyr.<br />
Attributter<br />
Navneord der<br />
beskriver dele af et<br />
hele. Eks. Navn,<br />
OprettetDato, ID.<br />
Grafiske dele<br />
9 / 15
Eksempel<br />
ER-Diagrammet kan<br />
beskrive forholdene i<br />
vores eksempel<br />
således.<br />
Bemærk den<br />
dobbeltoptrukne<br />
attribut, der viser, at<br />
figuren kan have flere<br />
ting/udstyr.<br />
Bemærk også<br />
understregningen af<br />
ID, der viser<br />
primærnøglen<br />
ER Eks. 1 - Data præsenteret som ER-Diagram<br />
10 / 15
En anden vinkel<br />
Vi kunne også vælge at<br />
give Udstyr en større<br />
betydning og illustrere det<br />
med en entitet i stedet.<br />
Vi opnår bl.a. at vi senere<br />
kan udvide betydningen af<br />
entiteten, hvis vi eks. vil<br />
tilføje vægt eller andet til<br />
udstyret.<br />
ER Eks. 2 - To entiteter med en relation<br />
Bemærk! Der er angivet kardinalitet. 1 og<br />
M betyder, at 1 figur, kan have mange<br />
stykker udstyr, samt at et stykke udstyr<br />
tilhører én figur.<br />
Overvej, hvad det ville betyde, hvis der var<br />
angivet M begge steder?<br />
Hvad er det rigtige valg (om noget)?<br />
11 / 15
En tredie vinkel<br />
Vi kunne vælge at give<br />
Art en større betydning.<br />
Måske betyder<br />
tilhørsforholdet til en art,<br />
noget mere i spillet.<br />
Måske giver det specielle<br />
egenskaber, eller flere XP.<br />
ER Eks. 3 - Tre entiteter med to relationer<br />
12 / 15
ER-Diagrammer er et analyseværktøj<br />
Du har nu set 3 forskellige opstillinger af ER diagrammer, der<br />
tager udgangspunkt i samme case. Alle 3 er brugbare, men<br />
eksempel 2 og 3 tilføjer flere muligheder.<br />
DE to første vil ende med at blive implementeret på samme<br />
måde i en kommende database - mere om det senere.<br />
ER-Diagrammer kan bruges for sig selv, eller som udgangspunkt<br />
for forskellige design værktøjer.<br />
I det følgende, skal vi se på, hvordan vi designer en relationel<br />
model, der senere kan bruges til at skabe en fysisk database.<br />
13 / 15
Case - Pro Cycling for MMD)<br />
En spiller kan logge ind med brugernavn og kodeord. Hver<br />
spiller kan have flere hold, som hver har en, eller flere sponsorer<br />
tilknyttet. Hver sponsor er har en hjemadresse og en<br />
kontaktperson.<br />
Holdet har samme navn som sponsoren Et hold består at 10<br />
ryttere<br />
Hver rytter har styrker i 3 kategorier (i intervallet 0-100):<br />
tempo<br />
klatring<br />
sprint<br />
Gå sammen i små grupper og tegn et ER-diagram, der kan<br />
illustrere ovenstående. (varighed 30 minutter)<br />
14 / 15
Spørgsmål<br />
Entitet<br />
Relation<br />
Attribut<br />
Flerværdiet<br />
Kardinalitet<br />
Aeh - hvad?<br />
15 / 15