08.01.2017 Views

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!