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.

3. Overgangen fra idé til database<br />

3.1 Hva er en database? Om strukturering av informasjon<br />

Innføring i databaser<br />

Forskjellen på en database og et vanlig tekstdokument er at informasjonen i en database er<br />

strukturert på en måte som maskinen forstår, mens den ikke forstår tekstdokumentet.<br />

“Anne Tryti eier en Toyota MR2 som har registreringsnummer SP 83400. Hun bor i Dalveien<br />

19, 1800 Askim og privattelefon 69882344. Bil nummer BN 26131 er en Nissan Bluebird eid<br />

av Jarl Andresen, som bor i Nansensgt 69, 4601 Kristiansand og har telefon 38092483.”<br />

Dette er klar tale for et menneske, men for en datamaskin er dette komplett uforståelig. En<br />

database kan behandle informasjonen, organisere den og svare på spørsmål, mens et<br />

tekstbehandlingssystem ikke kan gjøre noen av delene <strong>med</strong> et dokument. Dataene må <strong>med</strong><br />

andre ord organiseres og struktureres før en datamaskin kan ‘forstå’ dem.<br />

Tabeller er løsningen man har brukt for å strukturere dataene i en relasjonsdatabase. Det finnes<br />

andre måter å gjøre det på, men da har man ikke lenger <strong>med</strong> en relasjonsdatabase å gjøre.<br />

Navn Gateadresse Sted/Postnummer Telefon Registreringsnr Merke<br />

Anne Tryti Dalveien 19 1800 ASKIM 69882344 SP 83400 Toyota MR2<br />

Jarl Andresen Nansensgt 69 4601 KRISTIANSAND 38092483 BN 26131 Nissan Bluebird<br />

Tabell 3.1<br />

Dette er den samme informasjonen, omorganisert til tabellform. Nå er det brått mulig å spørre<br />

datamaskinen om “Hva heter alle som bor i Askim?” eller “Hvem eier bil nummer BN 26131?”<br />

Den kan da i det første tilfellet gå gjennom alle radene i tabellen og for hver gang den finner<br />

Askim i Sted/Postnummer-kolonnen skrive ut det den finner i Navn-kolonnen. Spørsmålet må<br />

selvfølgelig stilles på en måte maskinen forstår, men det kommer vi tilbake til i kapittel 7.<br />

Nå kan du kanskje gjette hva en database er: et system som lagrer informasjon på en<br />

strukturert måte, og som kan la en bruker endre informasjonen og få ut informasjonen<br />

strukturert på en annen måte. Brukeren skal også kunne stille spørsmål til databasen.<br />

3.2 Datamodellering<br />

Når man lager en database er man egentlig ute etter å lage en modell i en datamaskin av en<br />

begrenset del av virkeligheten. I eksempelet ovenfor ville vi lage en modell av eierforholdene<br />

for noen norske biler. Disse eierforholdene er ikke tilfeldig organisert, men styrt av noe vi<br />

kaller ‘forretningsregler’. Disse sier slike ting som at ‘personer eier biler’, ‘en bil kan bare eies<br />

av en person til enhver tid’, ‘en person kan eie flere biler samtidig’ osv.<br />

Den største vanskeligheten <strong>med</strong> å utvikle databaser skulle nå være åpenbar: å finne ut<br />

av forretningsreglene, og gjøre dem om til et sett <strong>med</strong> tabeller. Det er et problem til: nemlig å<br />

finne forholdene mellom tabellene. (Hvis dette virker uklart kan du tyvlese litt i kapittel 4.) For<br />

enkle databaser er dette stort sett barnemat når man har litt trening, men for store databaser er<br />

1096 - <strong>Lars</strong> <strong>Marius</strong> <strong>Garshol</strong> 12

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

Saved successfully!

Ooh no, something went wrong!