Moduldetails
Datenbanksysteme
DIS 2.3

BdK 4.2

Workload Credits Studiensemester Frequenz Dauer
180 h 6 2. Sem. jährlich 1 Sem.
1 Lehrveranstaltungen Kontaktzeit Selbststudium Sprache Gruppengröße
∑ 4 SWS / 60 h ∑ 120 h
DIS2.3
Datenbanksysteme (Seminaristischer Unterricht und Laborpraktikum)
DIS2.3
4 SWS / 60 h
DIS2.3
120 h
DIS2.3
Deutsch
DIS2.3
70
2 Lernergebnisse (learning outcomes / Kompetenzen):

Die Studierenden erlernen, relationale Datenbanken zu erstellen und diese mit Daten zu befüllen, Daten innerhalb von relationalen Datenbanken zu aktualisieren und mittels komplexer Abfragen zu verknüpfen, zu aggregieren und zu filtern.

Mithilfe von Beispieldaten werde praxisnahe Fragestellungen bis hin zu komplexen SQL-Befehlen erprobt. Diese werden auf professionell genutzten relationalen Datenbanksystemen (wie z.B. MS SQL Server, MySQL) ausgeführt, um komplexe SQL-Abfragen zu generieren und die Prinzipien hinter relationalen Datenbanken zu verstehen.

Ziel ist die Speicherung von und der effiziente und effektive Zugriff auf relational organisierte Daten für die Anwendung in Wirtschaft und Wissenschaft.

3 Inhalte:
DIS2.3

1. Einführung in SQL

  • Was ist SQL?
  • Geschichte und Entwicklung von SQL
  • Anwendungsgebiete von SQL

2. Grundlagen von Datenbanken

  • Was ist eine Datenbank?
  • Relationale Datenbanken
  • Tabellen, Zeilen und Spalten
  • Primär- und Fremdschlüssel

3. Erste Schritte mit SQL

  • Verbindung zu einer Datenbank herstellen
  • Überblick über SQL-Datenbankmanagementsysteme (DBMS)

4. Grundlegende SQL-Befehle

  • SELECT
    • Einfaches SELECT
    • Spalten auswählen
    • DISTINCT verwenden
       
  • WHERE
    • Bedingte Abfragen
    • Vergleichsoperatoren
    • Logische Operatoren (AND, OR, NOT)

5. Arbeiten mit Daten

  • INSERT (Einfügen von Daten in Tabellen)
  • UPDATE (Aktualisieren von Daten)
  • DELETE (Löschen von Daten)

6. Erweiterte SELECT-Anweisungen

  • ORDER BY (Sortieren von Ergebnissen)
  • LIMIT (Begrenzung der Anzahl der Ergebnisse)
  • Aggregatfunktionen (COUNT, SUM, AVG, MAX, MIN)
  • GROUP BY (Gruppieren von Ergebnissen)
  • HAVING (Bedingte Gruppierung)

7. Verknüpfungen (Joins)

  • Einführung in Joins
  • INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN
  • Selbstverknüpfung

8. Subabfragen (Subqueries)

  • Einfache und Korrelierte Subabfragen
  • Verwenden von Subabfragen in SELECT, FROM, WHERE und HAVING

9. Datenbankdesign und -verwaltung

  • ER-Modelle und Normalisierung
  • Erstellen und Verwenden von Indizes
  • Sichten (Views)

10. Transaktionen und Datenintegrität

  • Einführung in Transaktionen
  • BEGIN, COMMIT und ROLLBACK
  • Isolationsebenen und Sperrmechanismen
  • Fremdschlüsselbeschränkungen und referenzielle Integrität

11. Erweiterte Themen (optional)

  • Stored Procedures und Funktionen
  • Trigger
  • Datenbank-Backups und Wiederherstellung

Jedes Kapitel ist mit praktischen Beispielen und Übungen versehen, um die theoretischen Inhalte zu festigen. Das Ziel ist es, ein solides Verständnis der SQL-Grundlagen zu vermitteln und die Teilnehmer in die Lage zu versetzen, eigenständig mit relationalen Datenbanken zu arbeiten.

4 Lehrformen:
Seminaristischer Unterricht und Laborpraktikum (DIS2.3)
5 Teilnahmevoraussetzungen:

Keine

6 Art der Prüfung:
Klausurarbeit
7 Voraussetzungen für die Vergabe von Kreditpunkten:
-
8 Art: Pflicht- oder Wahlmodul
Pflichtmodul
9 Bewertungsmethoden benotet/unbenotet
benotet
10 Stellenwert der Note für die Endnote:
3 %
11 Modulbeauftragte/r und hauptamtlich Lehrende
Modulbeauftragte/r: Prof. Dr. Matthias Groß
Hauptamtlich Lehrende: Prof. Dr. Matthias Groß
12 Sonstige Informationen:
-
13 Literatur / Quellen

Fuchs, Elmar (2021): SQL - Grundlagen und Datenbankdesign. Bodenheim: Herdt

Geisler, Frank (2014): Datenbanken: Grundlagen und Design. 5., aktualisierte und erweiterte Auflage. Frechen: mitp-Verlag

Kemper, Alfons; Eickler, André (2015): Datenbanksysteme: eine Einführung. 10., aktualisierte und erweiterte Auflage. Berlin: De Gruyter Oldenbourg