Opbouw van het boek

Het boek is opgebouwd uit vijf delen

Deel A 'Relationele Systemen' behandelt met tal van voorbeelden de theorie van relationele systemen. De hoofdstukken 1 en 2 gaan over de 'achterkant' van die systemen: relationele databases en hun beheerprogramma's. Hoofdstuk 3 geeft een inleiding in de taal (SQL) waarmee met het beheerprogramma wordt gecommuniceerd. Met alle aandacht voor de 'voorkant' van het systeem: de programma's (clients) waarmee eindgebruikers, databasebeheerders of studenten die SQL willen leren het beheerprogramma benaderen. Hoofdstuk 4 gaat over de problematiek van de 'niet-ingevulde waarden' (nulls). Dit deel eindigt met hoofdstuk 5 over de normalisatietheorie, een klassiek databaseonderwerp over het tranformeren van ongewenste databasestructuren.

Deel B 'Opvragen en manipuleren van gegevens' is het eerste deel van een grondige leergang SQL. Het is gewijd aan de SQL-querytaal, de subtaal om gegevens op te vragen en de gegevensinhoud van een database up-to-date te houden. De hoofdstukken 6 tot en met 9 gaan over het opvragen van gegevens, om te voorzien in de informatiebehoeften van gebruikers. De relationele theorie van deel A wordt daarbij optimaal gebruikt om inzicht en verdieping te bereiken. Als vanzelf heeft dit effect op een goede probleemaanpak en een professionele programmeerstijl. Het leidt ook tot een kritische houding ten opzichte van de taal SQL, die om historische en commerciële redenen niet de mooist denkbare relationele taal is. Hoofdstuk 10 behandelt hierna de SQL-commando's om een database-inhoud bij te werken.

Deel C 'Structuur en beheer' vervolgt de SQL-leergang. Hoofdstuk 11 behandelt het creëren, veranderen en verwijderen van databases met hun verschillende typen databaseobjecten. Hierna volgen twee beheerhoofdstukken: hoofdstuk 12 over autorisatie, het geven van rechten op maat aan gebruikers, en hoofdstuk 13 over het optimaliseren van query's, met het oog op snelle verwerking.

Deel D 'Verdieping' bevat vier verdiepende hoofdstukken die stuk voor stuk interessant zijn. Hoofdstuk 14 gaat over probleemaanpak bij het opstellen van SQL-query's. In hoofdstuk 15 over multi-usergebruik wordt uitgelegd hoe wordt vermeden dat gelijktijdige gebruikers elkaar in de weg zitten. Hoofdstuk 16 behandelt het bewaken van regels en het programmeren van automatische acties via 'triggers en stored procedures', dat zijn programmaatjes in een (derde-generatie) uitbreidingstaal van SQL. Dit deel eindigt met hoofdstuk 17 over het hart van een relationeel systeem: de data dictionary.

Het afsluitende deel E omvat vier bijlagen, drie met Firebird-specifieke informatie en één met een overzicht van alle voorbeelddatabases.