Datenbanken

Übungen

Übungsfragen und Aufgaben zu Datenmodellierung, Normalisierung, SQL, Rechten, Auditing und verteilten Datenbanken.

Übungen

Diese Seite sammelt Aufgaben zur Wiederholung und Prüfungsvorbereitung.

Zusätzliche ausführliche ERM-Szenarien aus dem Web-Development-Materialblock findest du unter ERM und Normalisierung Praxis.

Datenbankbegriffe

  1. Erkläre den Unterschied zwischen Nachricht, Information und Daten.
  2. Was ist der Unterschied zwischen Stammdaten und Bewegungsdaten?
  3. Nenne drei Nachteile klassischer Dateisysteme.
  4. Was ist ein DBMS?
  5. Was ist der Unterschied zwischen Datenbank und Datenbanksystem?
  6. Nenne drei Datenbanktypen und jeweils ein Einsatzgebiet.

Datenmodellierung

  1. Was ist eine Entität?
  2. Was ist ein Attribut?
  3. Was ist eine Beziehung?
  4. Erkläre 1:1, 1:n und n:m mit je einem Beispiel.
  5. Warum sollte man Entitäten im Singular benennen?
  6. Was sind Synonyme und Homonyme in der Modellierung?
  7. Warum arbeitet man beim Datenmodell top-down?

Modellierungsaufgabe Kino

Ein Kino möchte Filme, Säle, Vorstellungen, Kunden und Tickets speichern.

Entitäten:

  • Film
  • Saal
  • Vorstellung
  • Kunde
  • Ticket

Aufgaben:

  1. Lege sinnvolle Primärschlüssel fest.
  2. Ergänze mindestens fünf Attribute.
  3. Bestimme die Beziehungen.
  4. Bestimme Kardinalitäten.
  5. Überlege, welche Fremdschlüssel nötig sind.
  6. Formuliere zwei mögliche Auswertungen.

Beispielfragen:

  • Wie viele Tickets wurden für einen bestimmten Film verkauft?
  • Welche Auslastung hatte ein Saal?

Modellierungsaufgabe Musikplattform

Eine Plattform speichert Bands, Musiker, Alben, Songs und Konzerte.

Aufgaben:

  1. Erstelle ein ER-Modell in Worten.
  2. Kläre, ob Band und Musiker eine 1:n- oder n:m-Beziehung haben.
  3. Überlege, welche Zwischentabelle nötig sein könnte.
  4. Leite Tabellen mit Primär- und Fremdschlüsseln ab.
  5. Formuliere eine SQL-Abfrageidee: Welche Songs gehören zu welchem Album?

Normalisierung

  1. Was bedeutet Redundanz?
  2. Erkläre Insert-, Update- und Delete-Anomalie.
  3. Was ist eine funktionale Abhängigkeit?
  4. Was bedeutet voll funktionale Abhängigkeit?
  5. Was ist eine transitive Abhängigkeit?
  6. Erkläre 1NF, 2NF und 3NF in eigenen Worten.
  7. Warum ist die 3NF oft ein guter Kompromiss?

SQL Grundlagen

  1. Was ist SQL?
  2. Erkläre DDL, DML und DCL.
  3. Schreibe ein CREATE TABLE für eine Tabelle kunde.
  4. Schreibe ein INSERT für einen Kunden.
  5. Schreibe ein UPDATE, das eine E-Mail-Adresse ändert.
  6. Schreibe ein DELETE, das genau einen Kunden löscht.
  7. Warum ist WHERE bei UPDATE und DELETE so wichtig?

SQL Selektion

Schreibe SQL-Abfragen für folgende Aufgaben:

  1. Alle Mitarbeiter aus Abteilung 30 ausgeben.
  2. Alle Verkäufer mit Gehalt ab 1500 ausgeben.
  3. Alle Mitarbeiter, deren Name mit M beginnt, ausgeben.
  4. Alle Mitarbeiter mit Gehalt zwischen 1200 und 1300 ausgeben.
  5. Alle unterschiedlichen Berufsbezeichnungen anzeigen.
  6. Alle Mitarbeiter nach Job und innerhalb des Jobs nach Gehalt absteigend sortieren.
  7. Alle Mitarbeiter ohne Provision ausgeben.

SQL Joins

  1. Was ist ein Inner Join?
  2. Was ist ein Cross Join?
  3. Warum braucht man Tabellenaliase beim Self Join?
  4. Was ist der Unterschied zwischen Inner Join und Left Outer Join?
  5. Schreibe eine Abfrage, die Mitarbeiter mit Abteilungsnamen ausgibt.
  6. Schreibe eine Abfrage, die Abteilungen ohne Mitarbeiter findet.
  7. Erkläre, warum ein fehlendes Join-Prädikat gefährlich ist.

Gruppenfunktionen

Schreibe SQL-Abfragen:

  1. Anzahl aller Mitarbeiter.
  2. Durchschnittsgehalt aller Büroangestellten.
  3. Anzahl Mitarbeiter pro Abteilung.
  4. Durchschnittsgehalt pro Job.
  5. Jobs, die von mehr als zwei Mitarbeitern ausgeführt werden.
  6. Anzahl verschiedener Jobs in Abteilung 30.
  7. Gesamtverdienst mit NVL(comm, 0).

Subqueries

  1. Was ist eine Subquery?
  2. Schreibe eine Abfrage für Mitarbeiter, die mehr als das Durchschnittsgehalt verdienen.
  3. Wann ist eine Subquery mit mehreren Ergebnissen problematisch?
  4. Was ist der Unterschied zwischen IN und = bei Subqueries?

Constraints, Views und Indexe

  1. Was macht ein Primärschlüssel-Constraint?
  2. Was macht ein Fremdschlüssel-Constraint?
  3. Warum sind NOT NULL und CHECK wichtig?
  4. Was ist eine View?
  5. Wozu dient WITH CHECK OPTION?
  6. Wann ist ein Index sinnvoll?
  7. Welche Nachteile kann ein Index haben?

Rechte und Auditing

  1. Was ist ein Objektprivileg?
  2. Was ist ein Systemprivileg?
  3. Was macht GRANT?
  4. Was macht REVOKE?
  5. Warum sind Rollen praktisch?
  6. Was bedeutet WITH GRANT OPTION?
  7. Was wird beim Auditing aufgezeichnet?
  8. Warum ist Auditing für Sicherheit wichtig?

Verteilte Datenbanken

  1. Was ist ein verteiltes Datenbanksystem?
  2. Nenne drei Gründe für Verteilung.
  3. Was ist horizontale Fragmentierung?
  4. Was ist vertikale Fragmentierung?
  5. Was ist Replikation?
  6. Was ist eine Remote Query?
  7. Was ist eine Distributed Query?
  8. Warum sind Joins in verteilten Datenbanken teuer?

Mini-Lernkarte

Erstelle zu jedem Begriff eine Mini-Lernkarte:

  • Begriff
  • Definition
  • Wozu braucht man das?
  • Beispiel
  • Abgrenzung
  • Prüfungsfrage
  • Kurzantwort
  • Merksatz

Wichtige Begriffe:

  • DBMS
  • SQL
  • SELECT
  • FROM
  • WHERE
  • Primärschlüssel
  • Fremdschlüssel
  • Relation
  • Integrität
  • Redundanz
  • Datenmodellierung
  • 1NF
  • 2NF
  • 3NF

Merksatz

Bei Datenbanken zählt nicht Auswendiglernen allein. Entscheidend ist, aus einer Beschreibung ein Modell abzuleiten und daraus korrekte SQL-Abfragen zu formulieren.

Zuletzt aktualisiert: 6. Juni 2026