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