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 />

• SQL-tolken<br />

Denne delen er allerede laget av Microsoft, nemlig databasemotoren Jet, som er Access’<br />

hjerte. Den er en adskilt del av programmet, som oppbevarer alle data, håndhever alle<br />

begrensninger på dataene og mottar og svarer på alle spørringer. For å si det på en annen<br />

måte er det programdelene som tolker/utfører de to andre delene. Forskjellen på databaseverktøy<br />

og vanlige programmeringsspråk er at i de siste har du ikke denne delen, og må lage<br />

de tilsvarende funksjonene selv.<br />

• Datastruktur<br />

Dette er beskrivelsen av databasen, som lages av deg. Beskrivelsene av alle tabeller,<br />

begrensninger på dataene i tabellene, relasjoner hører hjemme her. Spørringer hører forsåvidt<br />

også hjemme her.<br />

• Brukergrensesnitt<br />

Dette er beskrivelsen av hvordan data skal skrives inn av og presenteres for brukeren. Her<br />

er alle skjemaer og rapporter.<br />

Denne tredelingen av databasene forklarer for en stor del hvorfor ting fungerer som de gjør i<br />

Access og gir en grei sammenheng å sette nye begreper inn i. Det kan <strong>med</strong> andre ord være<br />

greit å ha den i tankene når du leser videre. Et viktig poeng her er at de to siste delene lages av<br />

utvikler, men at ingen av dem inneholder dataene. Alt som beskrives her er hvordan dataene<br />

skal håndteres.<br />

4.7 Referanseintegritet<br />

Når data endres, slettes og flyttes på kan det fort gå slik at frem<strong>med</strong>nøkler i en tabell viser til<br />

poster som ikke finnes i den tabellen forholdet går til. Da har man et brudd på<br />

referanseintegriteten, og det kan føre til en god del besvær. Mange databaser har spesielle<br />

rutiner som håndterer dette.<br />

Den varianten Access brukes kalles kaskadesletting (i den norske programteksten:<br />

massesletting). Det vil si at når du sletter en post vil alle poster som har referanser til denne<br />

også bli slettet. Det kan være en farlig strategi i enkelte tilfeller, men fungerer stort sett bra.<br />

Access protesterer av og til når man prøver å lagre en post ved å si at referanseintegriteten<br />

krever en relatert post i tabell T_EttEllerAnnet. Det som da har skjedd er at posten enten har<br />

en referanse til en post som ikke eksisterer, eller at den ikke har noen referanse i det hele tatt<br />

der den skulle hatt det. I så fall må man enten legge inn/rette referansen eller slette posten.<br />

4.8 SQL og BASIC<br />

Selv om Access for en stor del er basert på at utviklingen skal skje via vinduer, veivisere og<br />

klikking gir ikke dette adgang til alle muligheter. Tradisjonelt har relasjonsdatabaser vært<br />

basert på et spesielt programmeringsspråk kalt SQL. SQL står for Structured Query Language,<br />

som er litt misvisende, ettersom SQL brukes både til spørringer, datamanipulasjon og<br />

oppretting/sletting av tabeller.<br />

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

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

Saved successfully!

Ooh no, something went wrong!