Hovedsiden
Innholdsfortegnelse
Åpne ressurser
Trykkfeil


Kort om boka
Brukere av boka
Kurs

Har du spørsmål?

 
 

Databaser
Dette er en lærebok tilrettelagt for høyere utdanning hvor databaser inngår som en del av grunnopplæringen i informatikk. Boken kan også leses individuelt i et selvstudium av alle som er interessert i emnet.

Boken forutsetter en viss generell kjennskap til datamaskiner, operativsystemer og de mest vanlige verktøyene, som for eksempel tekstbehandler, regneark og nettleser. Leserne av boken bør være fortrolig med grunnleggende begrep som fil og katalog og vite forskjellen mellom RAM og harddisk.

Databaser som basis i grunnopplæringen
Databasen er en viktig komponent i de fleste moderne informasjonssystemer. Selv om databasebegreper, teknologi og arkitektur har vært gjenstand for en selvstendig utvikling og konsolidering i de siste tiårene, så har denne utviklingen også i stor grad blitt påvirket av den generelle teknologiske utviklingen. Derfor har det vært en utfordring å skrive en lærebok på dette klassiske fagfeltet.

Utviklingen innenfor fagområdet har gjort at vi har fokusert på følgende hovedelementer i moderne databasehåndtering:

• relasjonsmodellen og SQL
• normalisering
• konseptuell kunnskap i datamodellering og databasedesign
• integrering av objektorienterte egenskaper i relasjonsmodellen med eksempler i SQL3
• flerbrukerdatabaser og sikkerhet
• databasearkitektur
• mulighet for å publisere databaser på web med bruk av XML, PHP og MySQL

Å bruke boken i undervisningen
Boken bruker flere pedagogiske virkemidler: Hvert kapittel innledes med læringsmål og avsluttes med et sammendrag og kontrollspørsmål. I tillegg avsluttes de fleste delkapitlene med mindre oppgaver, der leseren oppfordres til å arbeide aktivt med det nylig gjennomgåtte stoffet.

Boken har også en egen Internettside: databasebok.no
hvor det finnes relevante lenker, praktiske oppgaver med løsningsforslag og tidligere eksamensoppgaver med løsningsforslag.

Det totale omfanget av boken antas å tilsvare ca. 6 studiepoeng.

Programvare
Programvaren som trengs for å opprette en relasjonsdatabase med tabeller, kan være MySQL, MS Access SQL, Oracle, PostgreSQL blant mange andre tilgjengelige relasjonsdatabaseverktøy.

Boken er verktøyuavhengig, men de fleste SQL-spørringene kan utføres av de nevnte relasjonsdatabaseverktøy.

For å lage ER-modeller, som er basert på UML-notasjonen, har vi brukt MS Visio, men andre verktøy kan også sikkert brukes. Forslag til mulige verktøy vil komme senere.

For å opprette objektrelasjonelle strukturer i SQL3 bruker vi Oracle 8is SQL-kompilator SQL Plus. Her har vi også laget en liten innføring i hvordan vi bruker SQL Plus.

Konvensjoner
Følgende konvensjoner brukes for uthevelser i løpende tekst:

SQL-spørringer og programkode: SELECT * FROM ansatt;

Kommandoer: $ initdb -D/usr/local/pgsql/data

Filnavn, webadresser o.l.: http://www.postgresql.org/

Bokens struktur
Boken består av ti kapitler, en indeks og referanser til litteratur som er brukt og aktuell litteratur for videre fordypning.

Grunnleggende emner

  • Kapittel 1gir en introduksjon til begrepene databaser og databasesystemer. Her blir også noen databasemodeller presentert med utgangspunkt i filbaserte systemer. Vi forklarer nærmere ANSI-SPARC-modellen.
  • I kapittel 2 beskriver vi relasjonsmodellen med sine grunnleggende begrep som blant annet attributt, tuppel, relasjon, entitets- og referanseintegritet. Vi illustrerer også det grunnleggende språket relasjondatabasen bygger på: relasjonsalgebra.
  • I kapittel 3 diskuterer vi normalisering og hvilke kriterier som må oppfylles for å unngå redundans i databasen. Normalisering blir ofte brukt som en verifikasjon på at datamodellen er riktig. Men som en viktig designteknikk så tror vi at utvikleren databaseteknisk sett også kan bruke normalisering som en selvstendig metode for å modellere virkeligheten.
  • Kapittel 4 og 5 gir en grundig innføring i SQL ved å fokusere på både datadefinisjonsspråket, brukt for å opprette strukturene (tabellene, utsnittene etc.) i databasen, og datamanipuleringsspråket som tillater spørringer og endringer av innholdet i databasen.
  • Kapittel 6 dekker den konseptuelle og logiske design av relasjonsdatabasen. Denne prosessen starter med en analyse av brukerkravene og avsluttes med en modell som tilfredsstiller flere krav til korrekthet. Vi ser på ER-modellen, gjennom UML-notasjonen, og dens hovedbegreper som entitetstype, sammenhengstype, attributt, identifikator (primærnøkkel), generalisering, aggregering og komposisjon.
  • I kapittel 7 ser vi på noen objektorienterte begreper som er implementert i Oracle 8i som støtter SQL3.
  • I kapittel 8 ser vi på problematikk knyttet til samtidige brukere i større databasesystemer. Emner som er viktig for en databaseadministrator (DBA) av flerbrukerdatabaser vektlegges. Dette inkluderer sikkerhetsaspekter, administrasjon av brukere med eksempler fra Oracle, prosessering av transaksjoner, lagringsstrukturer og indeksering av tabeller.
  • Kapittel 9 gir en innføring i ulike systemløsninger et databasesystem kan inngå i. Hvor skal dataene lagres (sentralt eller distribuert), og hvor skal transaksjoner prosesseres (av brukerklientene eller databasesystem)? Mulige klient/ tjener-løsninger gjennomgås, både tolags og trelags. Poenget med mellomvare forklares. Hva et distribuert databasesystem og mobile databaser er, forklares kort, likeledes hvordan speiling av data kan brukes for å øke sikkerheten.
  • Kapittel 10 prøver å gi en enkel oversikt over et uoversiktelig tema: databaser og Internett. Her vises det hvordan en database kan kobles mot Internett, inkludert bruk av skript og HTML. Eksempler i skriptspråket PHP mot MySQL vises. Vi forklarer også begrepet semistrukturelle data og hvordan XML-teknologi kan brukes. Vi viser et eksempel på bruk av XML Schema og XQuery.

Databaser er et samarbeidsprosjekt mellom Stiftelsen TISIP og Gyldendal Akademisk.