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