Omschrijving uit een recente studiegids
In de beginjaren van de automatisering was een database (of gegevensbank) niets meer dan een geautomatiseerde kaartenbak. De kaartenbakken in de vorm van bestanden waren automatisch toegankelijk maar stonden elk op zichzelf. In de jaren zestig werd het mogelijk die verschillende bestanden met elkaar te combineren. Zo is een computer in een bibliotheek niet alleen in staat te laten zien welke boeken er zijn, maar ook of die zijn uitgeleend en zo ja, aan wie, waar die persoon woont en wanneer het boek teruggebracht moet zijn. Maar een databasesysteem doet meer. Het controleert de juistheid en volledigheid van de gegevens en het beschermt de gegevens tegen ongeautoriseerd gebruik. Het bouwen en bevragen van zulke databases staat centraal in deze cursus. De cursus is een goede theoretische en praktische inleiding in het vakgebied.
De voor de praktijk zo belangrijke ‘relationele databases’ worden uitgebreid behandeld, evenals de achterliggende relationele theorie. Je oefent met de relationele gegevenstaal SQL, waarbij zowel het bevragen als het bouwen en beheren van dit type databases aan bod komen. Daarnaast is er bijzondere aandacht voor normalisatie van gegevensstructuren, mechanismen voor regelbewaking (onder meer via ’triggers en stored procedures’), transacties, concurrency, optimalisatie van bevragingen en de wijze waarop een relationeel systeem zijn eigen structuurgegevens administreert als ‘metagegevens’ in een systeemcatalogus.
De cursus is opgebouwd uit vier blokken.
Blok 1 behandelt relationele databasesystemen, elementen van het relationele model (waaronder nulls en driewaardige logica) en de normalisatietheorie. Normalisatie wordt hierbij niet behandeld als een informatieanalysemethode of -techniek, maar als een geschikt middel om enkele belangrijke begrippen voor het voetlicht te brengen (zoals redundantie, functionele afhankelijkheid en ‘single point of definition’). NB Het is geen modelleercursus; er wordt steeds uitgegaan van bestaande databasemodellen.
De blokken 2 en 3 behandelen het bevragen, wijzigen, creëren en beheren van relationele databases. Hierbij worden SQL3 en het relationeel database management systeem Firebird gebruikt. Zoveel mogelijk wordt de cursus uitgetild boven het leren van een taal: niet alleen de relationele theorie wordt steeds naar voren gehaald en verdiept, maar juist ook aspecten die in alle architecturen van belang zijn (in het bijzonder navigatie, in nauwe relatie met het methodisch opstellen van query’s).
Blok 4 behandelt transacties en concurrency, regelhandhaving via triggers en stored procedures en de data dictionary.