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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Innføring i databaser<br />

4. Person=(ID_Person, Navn, Gateadresse, Postnummer, Sted, Telefon) og<br />

Bil=(Registreringsnummer, Merke, Eier). Her er Eier en frem<strong>med</strong>nøkkel til Person-tabellen.<br />

5. Person=(ID_Person, Navn, Gateadresse, Postnummer, Sted, Telefon) og<br />

Bil=(Registreringsnummer, Merke, Eier). Relasjoner: (Person,ID_Person,1)-(Bil,Eier,∞).<br />

Merk her at relasjonen går mellom feltene ID_Person og Eier. En relasjon må alltid være<br />

mellom to felter.<br />

Her har vi det vi i dette <strong>kurset</strong> vil trenge for å begynne å lage en database. I større systemer<br />

ville man ofte vært interessert i flere regler og begrensninger, men for våre formål holder dette.<br />

4.4 Tommelfingerregler for normalisering<br />

• Primærnøkkelen bør være kort, av hensyn til hastigheten.<br />

• Verdien til primærnøkkelen må være kjent for alle poster.<br />

• Frem<strong>med</strong>nøkkelen som representerer et forhold skal inn i den tabellen som har ∞-tegnet<br />

nærmest seg.<br />

• Bruk bare tall hvis du vil regne <strong>med</strong> verdiene i feltet, eller hvis du er helt sikker på at<br />

verdiene i feltet bare er tall.<br />

• Bruk boolean til felter som bare kan ha to verdier. (Det finnes unntak her, men de er få.<br />

Dersom det f.eks. bare kan være to typer av noe er det et unntak.)<br />

• Bruk dato/tid til alt som har <strong>med</strong> datoer og klokkeslett å gjøre.<br />

• Dersom du har forhold mellom to felter må disse ha samme type. Tellere må kobles <strong>med</strong><br />

Tall (Langt heltall).<br />

4.5 Spørringer, skjemaer og rapporter<br />

Etter å ha laget en relasjon mellom bil- og person-tabellene går det svært greit å lage oversikter<br />

der dataene fra disse to tabellene kombineres. Til dette bruker man noe som kalles spørringer<br />

(eng. queries). I en spørring kan man angi hvilke felter man vil ha <strong>med</strong>, lage nye felter<br />

sammensatt av de gamle, sortere, velge ut bare noen av postene og stort sett gjøre hva man vil.<br />

Spørringene brukes som grunnlag for skjemaene, som er skjermbildene, og rapportene, som er<br />

utskriftene. Skjemaene vises på skjermen som vinduer, mens rapportene ser ut som<br />

dokumenter, og kan forhåndsvises og skrives ut. Skjemaene kan også skrives ut, men det er<br />

ikke hovedhensikten <strong>med</strong> dem. Dersom du vil vite mer om skjemaer og rapporter kan du tyvtitte<br />

på kapitlene 9 og 1<strong>1.</strong>)<br />

4.6 Oppbygningen av databaser<br />

Dette er en formell ISO-standard som beskriver inndelingen av databasene som utvikles i tre<br />

lag, eller skjemaer. (Ikke å forveksle <strong>med</strong> skjemaene nevnt ovenfor, som vi skal lage i Access.)<br />

Denne kalles 3-skjema-arkitekturen, men er såpass formell at vi dropper den og tar vår egen<br />

variant istedet. Dersom dette avsnittet er uforståelig så ikke fortvil: dette er ikke ment som<br />

noen viktig del av <strong>kurset</strong>, bare som en sammenheng å sette det vi lærer senere inn i.<br />

De tre lagene eller skjemaene er<br />

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

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

Saved successfully!

Ooh no, something went wrong!