EILD.nrw

Entwicklung von Inhalten für die Lehre im Fach Datenbanken in vielfältigen Lernszenarien

​In dem durch das MKW NRW geförderte Projekt EILD.nrw wurden Open Educational Resources (OER) für die Lehre im Fach Datenbanken entwickelt. Die Lerneinheiten können in vielfältigen Lernszenarien verwendet werden. Studierende der Informatik und von Anwendungsfächern können den kompletten Lebenszyklus für die Entwicklung von Datenbanken erlernen. Dafür wurden von den vier beteiligten Hochschulen FH Dortmund​, HS Bonn-Rhein-Sieg​, HS Düsseldorf​ und TH Köln​ Quizze, interaktive Tools, ​Lehrvideos und Kurse für Lernmanagementsysteme entwickelt.

Im Projekt wurden insgesamt 9 Lernmodule entwickelt, die die Kompetenzen, die von der Gesellschaft für Informatik für Bachelorstudiengänge im Fach Datenbanken und Informationssysteme empfiehlt, beinhalten. Die Lernmodule können wie in einem Baukastensystem anhand eines Leitfadens für die Lehrenden je nach Hochschule und Typ des Studiengangs ausgewählt und adaptiert werden.

In sechs Lernmodulen erfolgt eine Abdeckung der Themen von Grundvorlesungen im Fach Datenbanken. Das weitere Lernmodul zu NoSQL-Datenbanken erweitert die Inhalte um aktuelle Entwicklungen. Zwei auf den Grundlagen aufbauende Lernmodule zu Master-Veranstaltungen – Verteilte Datenbanken und Datenanalyse – werden ebenfalls angeboten.

Lernmodul 1: Konzepte von Datenbanksystemen
In dem Modul wird ein konsistentes Begriffsgebäude bezüglich der Konzepte von Datenbanksystemen vermittelt. Die Datenmodelle relationaler, aktiver, objektrelationaler und unstrukturierter (No-SQL) Datenbanken werden vermittelt (vgl. Lernmodul 8 NoSQL-Datenbanken). Beschrieben werden die definierenden Eigenschaften von Datenbanksystemen. Informationssysteme und Wissensverarbeitung werden zu Datenbanksystemen in Bezug gesetzt. Datenschutzmechanismen und gesellschaftliche Auswirkungen großer Datensammlungen werden diskutiert.
Lernmodul 2: Konzeptioneller Entwurf von Datenbanken

Die Analyse einer Anwendung leitet die benötigten Funktionen eines Datenbanksystems her. In dem Modul werden diese Anforderungen zunächst mittels datenbankneutraler und semantisch ausdrucksstarker Modelle wie dem Entity-Relationship-Modell und dem Klassendiagramm der Unified Modeling Language (UML) modelliert.
Lernmodul 3: Das relationale Datenmodell
Aus dem datenbankneutralen Entity-Relationship- oder dem UML-Schema (s. Lernmodul 2) wird das vom gewählten Datenbankmanagementsystem abhängige und logische relationale Schema abgeleitet. Das relationale Datenmodell wird mittels relationaler Algebra definiert. In relationalen Datenbanken können durch Änderungen sogenannte Anomalien hervorgerufen  werden. Sind dieselben „Zusammenhänge“ zwischen Daten eines Tupels mehrfach vorhanden, so muss eine Änderung bei allen diesen Zusammenhängen erfolgen. Ursache und Vermeidung dieses Problems beschreibt die Normalisierung.
Lernmodul 4: Programmierung mit SQL
An der Schnittstelle zwischen Anwendung und DBMS ist die Structured Query Language (SQL) positioniert. SQL ist in einem ISO-Standard genormt und sehr umfangreich. Der Standard beinhaltet neben der Sprachdefinition auch die Verwendung der Sprache in (anderen) Programmiersprachen. Es werden die drei zur Entwicklung bestimmten Teile von SQL gelehrt: die Anfragesprache (DQL-Data Query Language), die Manipulationssprache (DML-Data Manipulation Language) und die Schemasprache (DDL-Data Definition Language). Die  dynamische Änderung von Daten kann mittels sogenannter Trigger überwacht und mit Aktionen verbunden werden. Die prozedurale Programmierung erlaubt als Ergänzung in SQL die Speicherung von Prozeduren und Funktionen in Datenbanken. Die Kenntnisse werden in einem SQL-Trainer mit wählbaren Schemata angewendet. SQL-Dialekte werden erläutert. Bestandteile und Umfang können durch den Lehrenden ausgewählt werden.
Lernmodul 5: Entwicklung von Datenbankanwendungen
In dem Modul werden die Konzepte zur Kopplung von Anwendungsprogrammen mit Datenbanksystemen vorgestellt. Im Fokus steht die Abbildung der anwendungsspezifischen Objektsicht auf die normalisierten relationalen Strukturen der Datenbank (OR-Mapping), die Typkonvertierung und die Abbildung der mengenorientierten SQL-Zugriffe des Datenbanksystems auf die satzorientierte Verarbeitung innerhalb der Programmiersprache (CLI, ODBC, JDBC). Die Anbindung von Programmiersprachen der Business Logic insbesondere die objekt-relationale Abbildung und API’s werden erläutert und praktiziert.
Lernmodul 6: Aufbau und Funktionsweise eines Datenbankmanagementsystems
In dem Lernmodul wird das “Innere” eines Datenbankmanagementsystems erläutert. Die Fünf-Schichten-Architektur als Rahmen der Abbildung logischer Datenstrukturen auf physi-
sche Speicherstrukturen der Speichermedien, Speicher- und Pufferverwaltung, Anfrageoptimierung, Transaktionsverarbeitung, Performanzoptimierung werden erläutert.

Lernmodul 7: NoSQL-Datenbanken
Neben relationalen Datenbanken werden alternative Datenbankmodelle für datenintensive Anwendungen verwendet. Die Grenzen relationaler Datenbankmodelle werden aufgezeigt
und die speziellen Möglichkeiten von Key Value Stores, Column Wide Stores, Document Stores, Graphdatenbanken sowie multimodalen Datenbanken herausgestellt.

Lernmodul 8: Verteilung von Datenbanken
In dem Modul werden Kenntnisse über die Architektur und Funktionsweise verteilter Datenbanksysteme und Anwendungen vermittelt. Algorithmen können bewertet werden.
Lernmodul 9: Datenanalyse
Die Analyse unstrukturierter, heterogener, großer und medialer Datenvolumina – Big Data – wird in vielen Unternehmen angewendet. Die Techniken zur Analyse insbesondere in Webumgebungen werden in dem Modul vermittelt und angewendet.