15.07.2013 Views

1. Hensikten med kurset - Lars Marius Garshol

1. Hensikten med kurset - Lars Marius Garshol

1. Hensikten med kurset - Lars Marius Garshol

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Innføring i databaser<br />

det langt i fra selvsagt. Særlig kan det være vanskelig å få ordentlig klarhet i hvordan brukerne<br />

av databasen egentlig vil ha dette.<br />

Det finnes en teknikk for å håndtere disse problemene, nemlig datamodellering. Den er faktisk<br />

svært nyttig i praksis, særlig ved utvikling av store og kompliserte databaser. Datamodellering<br />

gjøres som regel ved å tegne, og til å støtte seg har man forskjellige ‘spesifikasjonsspråk’, som<br />

er regler for hvordan forretningsreglene skal tegnes.<br />

Det finnes en rekke spesifikasjonsspråk, fra de mer avanserte som NIAM til de svært enkle,<br />

som ER. Vi skal ikke dekke noen av disse her, men jeg nevner dem så dere har hørt om dem.<br />

NIAM er faktisk såpass avansert at det finnes databasesystemer som lar deg tegne et NIAMdiagram,<br />

og så lager det tabellene og relasjonene for deg automatisk. Dette lar seg ikke<br />

egentlig gjøre fra et ER-diagram, ettersom ER er mer et skissespråk. I dette <strong>kurset</strong> skal vi bare<br />

bruke datamodellering til å tenke på papiret og kladde litt før vi lager ting, og trenger derfor<br />

bare en forenklet utgave av ER. Den har jeg kalt ER-light.<br />

3.3 Et enkelt spesifikasjonsspråk: ER-light<br />

Noen av forretningsreglene i bil-eksempelet kan beskrives slik: “En bil har bare en eier. En<br />

person kan eie flere biler. Biler har registreringsnummer og bilmerke. Personer har<br />

gateadresser, postnummer/bosted og telefon.”<br />

Datamodellering går ut på å finne typer av objekter (dette kan være gjenstander eller abstrakte<br />

begreper) som vi er interessert i og disses egenskaper. Objektgruppene/typene kalles entiteter,<br />

og deres egenskaper kalles attributter. I beskrivelsen ovenfor er modelleringen egentlig allerede<br />

gjort. Det ligger mellom linjene at vi har to entiteter: personer og biler. Forholdet mellom dem<br />

er gitt, og entitetenes attributter er klarlagt. (Entiteter og attributter er egentlig svært greie å<br />

forstå, ikke la deg skremme av at ordene høres vanskelige ut.)<br />

I ER-light tegnes dette slik:<br />

Merke<br />

Registreringsnummer<br />

Bil<br />

∞<br />

Bil<br />

1<br />

Person<br />

1096 - <strong>Lars</strong> <strong>Marius</strong> <strong>Garshol</strong> 13<br />

Eier<br />

Telefon

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

Saved successfully!

Ooh no, something went wrong!