1. Hensikten med kurset - Lars Marius Garshol
1. Hensikten med kurset - Lars Marius Garshol
1. Hensikten med kurset - Lars Marius Garshol
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