Datenbankdesign und Implementierung
Auswahlverfahren und -kriterien: Aus einer Problemstellung heraus können Studierende Auswahlkriterien für ein relationales oder nicht-relationales Datenbanksystem erstellen, diese gegeneinander abwägen, und eine geeignete Datenbank selektieren. So kennen sie die typischen Anwendungsbereiche der relationalen und nicht-relationalen Datenbanken. Sie verstehen welches Datenbankmodell (unter anderem Relationale-, Key-Value-, Dokumenten/JSON-, Column-Store- und Graphendatenbanken) sich für welche Art von Daten eignen. Weiter kennen sie die Vor- und Nachteile der unterschiedlichen Konsistenzmodelle (z.B. ACID vs. BASE) und deren Implikationen.
Relationale Datenbanken (SQL): Studierende können aus einer Problemstellung heraus ein relationales Datenmodell definieren und dieses in einer relationalen Datenbank erstellen. Sie können in dieser Datenbank Daten hinzufügen, Daten verändern und Einträge löschen. Sie können Indizes erstellen. Sie können Daten exportieren und wieder importieren. Sie wissen wie das Datenmodell situationsbedingt angepasst und gelöscht werden kann.
Nicht-Relationale Datenbanken (NoSQL): Studierende können aus einer Problemstellung heraus ein nicht-relationales Datenmodell definieren und dieses in einer nicht-relationalen Datenbank erstellen. Sie können in dieser Datenbank Daten hinzufügen, Daten verändern und Einträge löschen. Sie können Daten exportieren und wieder importieren. Sie wissen wie das Datenmodell situationsbedingt angepasst und gelöscht werden kann.
Verteilte Datenbanken: Studierende haben ein Basisverständnis des Konzepts der verteilten Datenbanken, insbesondere Datenverteilung, Datenreplikation, Ausfallsicherheit und Time to Live (TTL).