Innledning
Tema for denne oppgaven er et enkelt regnskapssystem med tre tabeller:
-
Tabellen Konto inneholder opplysninger om kontoer i regnskapet
og har tre kolonner for henholdsvis kontonummer, kontoens navn og
budsjettert beløp. Systemet bruker enkel bokføring, og alle kontoer er
utgiftskontoer.
-
Tabellen Bilag inneholder en rad for hvert bilag og har
kolonner bilagsnummer, bilagsdato og bilagstekst. Til ett bilag kan
det høre mange posteringer.
-
Tabellen Postering inneholder en rad for hver postering i
regnskapet. Hver postering er knyttet til et bilag og til en konto, og
posteringstabellen har kolonner bilagsnummer, kontonummer,
posteringstekst og beløp.
Oppgaver
Når det gjelder oppgave 1 og 4-10 skal besvarelsen inneholde SQL-koden.
Det kan være nødvendig å legge inn flere rader med eksempeldata for å få
testet de forskjellige spørringene.
-
Definer tabellene ved hjelp av SQL. Husk å definere både primærnøkler
og fremmednøkler. Det skal ikke være lov med to like kontonavn.
Bilagsdato og beløp skal alltid fylles ut.
-
Lagre eksempeldata (gjengitt under) på tekstfiler, og importer til
DBHS. Forklar kort hvordan du importerte data.
-
Sjekk at DBHS overholder entitetsintegritet (primærnøkkelkontroll) og
referanseintegritet (fremmednøkkelkontroll). Forklar med
konkrete eksempler hvilke operasjoner du utførte for å teste
integritetskontrollen og hvorfor systemet ga feilmeldinger.
-
Lag en spørring som skriver ut en kontoplan, det vil si en liste med
alle kontonavn og kontonummer i databasen. Listen skal være sortert på
kontonavn.
-
Lag en spørring som skriver ut en enkel hovedbok for 2012, det vil si
en liste med alle posteringer sortert på bilagsdato.
-
Lag en parameterspørring som viser posteringer mot en bestemt konto i
en bestemt tidsperiode. Kontonummer, fra-dato og til-dato skal være
parametre. Ta med kontonavn i utskriften. Bruk konkrete verdier hvis
DBHS ikke støtter parameterspørringer.
-
Lag en spørring som skriver ut en budsjettoversikt pr. konto for
inneværende år. For hver konto skal oversikten inneholde opplysninger
om kontonavn, budsjettert beløp, forbrukt beløp og hvor stort beløp
som er igjen av budsjettet. Utskriften skal være sortert på
kontonummer.
-
Legg til et nytt bilag med to posteringer ved hjelp av SQL. Velg
eksempeldata selv.
-
Lag en parameterspørring som viser samlet posteringsbeløp pr. måned
(summert over alle konti) i et bestemt år. Årstallet skal være
parameter. Bruk et konkret årstall hvis DBHS ikke støtter
parameterspørringer.
-
Selvvalgt spørring: Beskriv en nyttig spørring mot databasen og skriv
SQL-koden.
Eksempeldata
Tabellen Konto
KontoNr Kontonavn Budsjett
761;Lønn;11500000
762;Edb-anskaffelser;750000
763;Forbruksmateriell;500000
764;Telefon;120000
765;Porto og frakt;20000
766;Reiser;50000
767;Velferd;10000
900;Skattetrekk;3500000
Tabellen Bilag
BilagsNr;Bilagsdato;Bilagstekst
1;25.12.2015;Faktura nr 1242 fra DataSelgeren A/S
2;13.01.2016;Reiseregning fra N.N.
3;19.01.2016;Faktura nr. 1243 fra DataSelgeren A/S
4;07.02.2016;Samlebilag lønninger januar
5;08.02.2016;Faktura fra Televerket
6;10.02.2016;Faktura fra Posten Norge
Tabellen Postering
BilagsNr;KontoNr;PosteringsTekst;Beløp
1;762;PC m/harddisk;15000
1;763;Printerpapir;2000
2;766;Reise Bø-Oslo-Bø;350
3;762;10 stk PC;150000
3;763;10 stk. tonerkassetter;15000
3;765;Frakt;150
4;761;Lønn januar;956000
4;900;Skatt januar;280000
4;764;Arb.avgift januar;300
5;764;Tellerskritt januar;11000
6;765;Utsendelse av kundebrev;3775