<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<document>
<title>Datenbanken</title>
<cid>PRI-DB</cid>
<sapsubmodule>P222-0009</sapsubmodule>
<bkey>pri</bkey>
<ctypes>
<hours>3</hours>
<type>V</type>
<hours>1</hours>
<type>P</type>
</ctypes>
<cp>5</cp>
<semester>3</semester>
<mandatory>ja</mandatory>
<language>Deutsch</language>
<admission>Übungen</admission>
<exam>Klausur, Dauer 120 min.</exam>
<curriculum>
<curriculum_entry>
<cid>DFBI-323</cid>
<branch>Informatik und Web-Engineering</branch>
<semester>3</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
<curriculum_entry>
<cid>DFIW-DB</cid>
<branch>Informatik und Web-Engineering</branch>
<semester>3</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
<curriculum_entry>
<cid>KIB-DB</cid>
<branch>Kommunikationsinformatik</branch>
<semester>3</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
<curriculum_entry>
<cid>KIB-DB</cid>
<branch>Kommunikationsinformatik</branch>
<semester>3</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
<curriculum_entry>
<cid>PIB-DB</cid>
<branch>Praktische Informatik</branch>
<semester>3</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
<curriculum_entry>
<cid>PIB-DB</cid>
<branch>Praktische Informatik</branch>
<semester>3</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
<curriculum_entry>
<cid>PRI-DB</cid>
<branch>Produktionsinformatik</branch>
<semester>3</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
<curriculum_entry>
<cid>PRI-DB</cid>
<branch>Produktionsinformatik</branch>
<semester>3</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
<curriculum_entry>
<cid>TIB-DB</cid>
<branch>Technische Informatik</branch>
<semester>3</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
</curriculum>
<workload>
Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 60 Veranstaltungsstunden (= 45 Zeitstunden). Der Gesamtaufwand des Moduls beträgt bei 5 Creditpoints 150 Stunden (30 Stunden/ECTS Punkt). Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 105 Stunden zur Verfügung.
</workload>
<prerequisites>
</prerequisites>
<prerequisitesfor>
</prerequisitesfor>
<convenor>Prof. Dr. Klaus Berberich</convenor>
<convenor-person-key>kbe</convenor-person-key>
<lecturers>
<lecturer>Prof. Dr. Klaus Berberich</lecturer>
<lecturer-person-key>kbe</lecturer-person-key>
</lecturers>
<objectives>Nach erfolgreichem Absolvieren des Moduls sind die Studierenden in der Lage, relationale Datenbanksysteme fachgerecht in der Praxis einzusetzen. Sie erlernen Techniken der Datenmodellierung – unter anderem mithilfe des Entity-Relationship-Modells – und können diese auf einen gegebenen Ausschnitt der realen Welt anwenden.

Die Studierenden verstehen das relationale Modell sowie die relationale Algebra als mathematische Grundlagen relationaler Datenbanksysteme. Sie sind befähigt, aus einem modellierten Realweltausschnitt ein relationales Schema abzuleiten und dessen Qualität anhand der Normalformen (1NF, 2NF, 3NF, BCNF) zu beurteilen sowie bei Bedarf durch Überführung in höhere Normalformen zu verbessern. Ebenso können sie konkrete Informationsbedürfnisse als Ausdrücke der relationalen Algebra formulieren.

Darüber hinaus kennen die Studierenden die wesentlichen Kommandos der Structured Query Language (SQL) und können diese anwenden, um sowohl das Schema einer Datenbank als auch die darin gespeicherten Daten zu verändern. Sie sind in der Lage, Informationsanforderungen als SQL-Anfragen auszudrücken sowie vorhandene SQL-Anfragen zu interpretieren und verständlich zu erläutern.

Die Studierenden kennen den zentralen Begriff der Transaktion und können die ACID-Eigenschaften definieren und anhand geeigneter Beispiele veranschaulichen. Ebenso sind ihnen verschiedene Arten von Indizes in relationalen Datenbanksystemen vertraut, die sie situationsgerecht auswählen und einsetzen können.

Zur Lösung komplexerer Aufgaben verfügen die Studierenden über grundlegende Kenntnisse zu prozeduralen Erweiterungen von SQL (z. B. PostgreSQL PL/pgSQL oder Microsoft Transact-SQL). Zudem kennen sie gängige Schnittstellen (z. B. ODBC, JDBC, ORM) für den Zugriff aus Applikationen auf relationale Datenbanksysteme und können aus einer ihnen vertrauten Programmiersprache (z. B. Java, Python oder C) auf eine bestehende Datenbank zugreifen.

Weiterhin haben die Studierenden einen Überblick über Alternativen zu relationalen Datenbanken, etwa dokumentenorientierte Datenbanken, Key-Value-Stores oder Graphdatenbanken, und können deren Unterschiede sowie geeignete Einsatzszenarien benennen. Abschließend erhalten sie einen Einblick in aktuelle Datenbanklösungen in Cloud-Umgebungen.</objectives>
<content>1. Einführung
2. Datenbankentwurf
3. Relationales Modell und relationale Algebra
4. Structured Query Language (SQL)
5. Relationale Entwurfstheorie
6. Datenintegrität
7. Transaktionsverwaltung
8. Datenbanktuning
9. Sicherheitsaspekte
10. Programmieren in SQL
11. Datenbankschnittstellen
12. NoSQL
13. Cloud-Datenbanken</content>
<media>Folien, Videos, Beispieldatenbanken in SQLite und PostgreSQL, vorlesungsbegleitende praktische und theoretische Übungen.</media>
<literature>Kemper Alfons und Eickler André: Datenbanksysteme - Eine Einführung, De Gruyter, 2015

Kofler Michael: Datenbanksysteme: Das umfassende Lehrbuch für Ausbildung, Beruf und Studium, Rheinwerk Computing, 2024

Saake Gunter und Sattler Kai-Uwe: Datenbanken - Konzepte und Sprachen, mitp Professional, 2018

Wiese Lena: Advanced Data Management, De Gruyter, 2015</literature>
<offered>
</offered>
<moduldb-query>Mon Jun 15 16:32:45 CEST 2026, CKEY=kd, BKEY=pri, CID=[?], LANGUAGE=de, DATE=15.06.2026</moduldb-query>
</document>
