Boganmeldelse: Relationelle databaser

Jeg har for nyligt bestilt bogen Relationelle databaser (ISBN: 87-7843-616-8) af Mark Whitehorn og Bill Marklyn i håb om at lære noget om de lidt mere avancerede emner indenfor området. Forsidebillede af bogen Relationelle databaser Bogen er opdelt i 4 dele, og har en helt klar fast opbygning hvor der startes meget basalt, og langsomt fyldes på med gradvist mere avancerede emner mens niveauet stiger. Dette giver mulighed for at alle kan være med, også selvom man ikke har tidligere erfaring med at arbejde med databaser eller den relationelle model. Desuden skrives det i indledningen at bogens eksempler benytter nogle Microsoft Access-databaser som er tilgængelige via bogens bilag, men at bogen behandler alle emner på en teoretisk måde, og at det derfor hverken kræver adgang til Microsoft Access eller forudgående kendskab til programmet.

Del 1 - En simpel database med én tabel

Der startes som sagt helt grundlæggende
  • Hvad er en database?
  • Hvad består en database af? Heriblandt, hvad er:
    • Tabeller
    • Formularer
    • Forespørgsler
    • Rapporter
  • Hvorfor tabeller?
Det handler altså om hvad en database i bund og grund er, samt hvilke elementer en database indeholder. Derudover forklares de basale begreber og det forklares hvordan de bruges i bogen.

Del 2 - Enkeltbrugerdatabase med flere tabeller

Alle der har arbejdet med databaser ved at en enkelt tabel meget sjældent er nok, dette understreger forfatterne da også fra starten af. Andet kapitel omhandler derfor hvordan man får opbygget en brugbar databasemodel med flere tabeller. Det bliver diskutteret grundene til at én tabel ikke er nok, og hvordan man finder ud af hvor mange, samt hvilke, tabeller der er nødvendige for at løse en given opgave, samt hvilke data de enkelte tabeller skal indeholde for at få opbygget sin database mest hensigtsmæssigt. Udover det basale med "hvorfor mere end en tabel?", behandler bogen også emnet "hvordan mere end en tabel?". Der gennemgås hvad der menes med relationer i databasesammenhænge, hvordan disse relationer skabes og opretholdes, samt hvordan dataintegritet opretholdes via. primær- og fremmednøgler. Derudover kommer bogen kort ind på hvordan man laver en databaseapplikation vha. excels brugergrænseflade, makroer samt VBA-programmering, SQL nævnes kun kort.

Del 3 - Databaser med flere tabeller og flere brugere

I tredje del forklares det så hvorfor man normalt vil have databasen liggende på en central server som alle brugere har adgang til, i stedet for på den enkelte brugers maskine, og det gennemgås hvorfor det er en fordel. Desuden gennemgås forskellige måder hvorpå serverne kan opsættes for at adskille databaselaget fra applikationslaget, dog kun rent teoretisk. Herefter, virker det lidt som om forfatteren løber tør for indhold til det igangværende emne, og går tilbage til emnet fra del 2 om brug af flere tabeller, samt hvordan databaseplanlægningen foregår. Hvorfor det ikke kunne samles i én del, som bogens opbygning ligger op til er dog uvist. I slutningen af tredje del går forfatterne dog igen tilbage til at omtale koncepter for centrale flerbrugerdatabaser, og der beskrives emner som logføring, backup og samtidighed. Dette beskrives kun overordnet, men grundigt nok til at man som læser når at opfatte de vigtigste koncepter, samt hvad det er for nogle problemstillinger man står overfor, og hvorfor de er vigtige at medtænke fra starten. Disse beskrivelser er for en gangs skyld fuldstændig uafhængige af hvilken databasesoftware man har valgt, og det lykkes faktisk at gøre denne del af bogen en smule interessant. Man kommer ihvertfald som semi-nørd til at glæde sig lidt til fjerde del af bogen der omtaler de avancerede emner.

Del 4 - Relaterede emner

Bogens fjerde del handler om nogle lidt mere avancerede emner indenfor relationelle databaser. Det er i denne del de mest nørdede og interessante (og praktisk anvendelige) emner tages op, og der diskuteres både normalisering, indeksering og SQL. Der dækkes nogle interessante og relevante emner på en forståelig måde uden at indskrænke det til kun at virke i et enkelt stykke databasesoftware.

Opsummering og konklussion

Det gøres fra starten af klart at bogen er skrevet med til folk med begrænset erfaring med Microsoft Access og som ikke nødvendigvis kender til den relationelle databaser. Derudover fortæller indledningen at der ikke er tale om en lærebog omkring brugen af Microsoft Access, da dette er det mest benyttede databasesoftware (hvor denne påstand kommer fra er jeg dog ikke sikker på), men jeg synes at bogen ligger rigtig meget vægt på hvordan tingene hænger sammen i Access, mere end den ligger vægt på den teoretiske side. Jeg mener derfor ikke at dette vil være den bedste bog til folk der gerne vil lære om den relationelle model, men som måske ikke har så meget lyst til at arbejde med Access. Hvis man har en smule erfaring med access, og har lyst til at lære mere om de lidt mere avancerede teorier bag tror jeg at det vil være en rigtig god bog at arbejde videre med.

Selve indholdet synes jeg overordnet set er ok. Der bliver gået nok i dybden med de fleste emner til at man får en overordnet forståelse, men som nævnt tidligere, kun nok til at gøre brug af den via. Microsoft Access, jeg synes det er lidt synd at en bog der ellers er rettet mod alle der ønsker at vide mere om brugen af relationelle databaser, rammer så forholdsvist smal en målgruppe. Desuden er der rigtig meget ligegyldig fyldtekst i bogen, af bl.a. dårlige jokes. Derudover er der rigtig mange sidespring, og henvisninger til senere afsnit, og rigtig mange afsnit slutter med ligegyldige linjer som "men det er jo ikke det emne vi skal tale om her", eller "men det er alt for teoretisk til dette afsnit, men vil blive gennemgået dybere i kapitel XX". Meget af dette kunne sagtens udelades da det ikke tjener noget egentligt formål.