Fragen SQL Fachgesprächs

Was ist SQL?

SQL steht für „Structured Query Language“ und ist die Standardsprache, um Datenbanken zu abfragen, zu ändern und zu verwalten.


Typische Fragen und Themen im Fachgespräch

1. Was ist eine Datenbank? Was ist eine Tabelle?

  • Antwort:
    Eine Datenbank speichert Daten strukturiert. Eine Tabelle ist eine Sammlung von Daten in Zeilen (Records) und Spalten (Felder).

2. Wie sieht eine einfache SQL-Abfrage (SELECT) aus?

SELECT vorname, nachname FROM kunden;

3. Was ist ein Primärschlüssel?

  • Antwort:
    Ein Primärschlüssel (Primary Key) ist eine Spalte, die jeden Datensatz eindeutig identifiziert (z.B. Kundennummer).

4. Was ist ein Fremdschlüssel?

  • Antwort:
    Ein Fremdschlüssel (Foreign Key) verknüpft eine Tabelle mit einer anderen und sorgt für Beziehungen zwischen Datensätzen.

5. Was ist ein Join?

  • Antwort:
    Ein Join verbindet zwei oder mehr Tabellen zu einer Abfrage, z.B. um Kundendaten mit Bestellungen anzuzeigen.
  • Beispiel (INNER JOIN): sqlKopierenSELECT kunden.name, bestellungen.datum FROM kunden INNER JOIN bestellungen ON kunden.id = bestellungen.kunden_id;

6. Was ist der Unterschied zwischen INNER JOIN, LEFT JOIN und RIGHT JOIN?

  • Antwort:
    • INNER JOIN: Nur Datensätze, die in beiden Tabellen vorkommen.
    • LEFT JOIN: Alle aus der linken Tabelle, auch wenn es rechts kein Match gibt.
    • RIGHT JOIN: Umgekehrt, alle aus der rechten Tabelle.

7. Wie fügt man Daten ein? (INSERT)

  • Beispiel: sqlKopierenINSERT INTO kunden (name, email) VALUES ('Max Mustermann', 'max@email.de');

8. Wie aktualisiert man Daten? (UPDATE)

  • Beispiel: sqlKopierenUPDATE kunden SET email = 'neu@email.de' WHERE id = 1;

9. Wie löscht man Daten? (DELETE)

  • Beispiel: sqlKopierenDELETE FROM kunden WHERE id = 1;

10. Was ist eine WHERE-Klausel?

  • Antwort:
    Die WHERE-Klausel schränkt Abfragen ein, z.B. auf bestimmte Werte. sqlKopierenSELECT * FROM kunden WHERE stadt = 'Berlin';

11. Wie zählt man Datensätze? (COUNT)

  • Beispiel: sqlKopierenSELECT COUNT(*) FROM kunden;

12. Was ist eine Aggregatfunktion?

  • Antwort:
    Eine Funktion, die mehrere Werte zu einem Ergebnis zusammenfasst, z.B. COUNT, SUM, AVG, MIN, MAX.

Weitere wichtige Stichpunkte fürs Fachgespräch:

  • Normalformen (1NF, 2NF, 3NF)
  • Redundanz & Anomalien
  • Transaktionen & das ACID-Prinzip
  • Stored Procedures und Trigger
  • Datentypen (VARCHAR, INT, DATE, usw.)
  • Indexes (zur Performance-Steigerung)
  • Views (gespeicherte Abfragen)

Beispiel-Fragen zum Üben

Was ist eine relationale Datenbank?

Eine relationale Datenbank ist ein System, das Daten in Tabellen organisiert. Die Tabellen sind miteinander über Beziehungen (Relationen) verknüpft – z.B. durch Schlüssel. Die Daten werden so gespeichert, dass sie einfach, flexibel und widerspruchsfrei abgefragt und gepflegt werden können.

Wie ist eine Tabelle aufgebaut?

Eine Tabelle besteht aus Zeilen (Datensätzen) und Spalten (Felder/Attribute).

  • Spalten definieren die Struktur (z.B. Name, Geburtsdatum, E-Mail).
  • Jede Zeile enthält die Werte zu einem Datensatz.

Beispiel:

IDNameE-Mail
1Maxmax@mail.de
2Annaanna@mail.de

Wofür braucht man einen Fremdschlüssel?

Ein Fremdschlüssel (Foreign Key) wird verwendet, um Beziehungen zwischen Tabellen herzustellen. Er verweist auf einen Primärschlüssel einer anderen Tabelle. So können z.B. Bestellungen immer dem richtigen Kunden zugeordnet werden.

Erkläre den Unterschied zwischen JOIN und SUBSELECT.

JOIN: Verknüpft mehrere Tabellen in einer Abfrage, sodass du Daten aus beiden Tabellen gleichzeitig bekommst.

SELECT k.name, b.datum FROM kunden k JOIN bestellungen b ON k.id = b.kunden_id;

SUBSELECT (Unterabfrage): Eine Abfrage, die als Ergebnis einer anderen Abfrage verwendet wird. Oft genutzt, um Bedingungen zu prüfen.

SELECT name FROM kunden WHERE id IN (SELECT kunden_id FROM bestellungen WHERE betrag > 100);

JOIN verbindet Tabellen direkt, SUBSELECT verschachtelt eine Abfrage in eine andere.

Was ist referenzielle Integrität?

Referenzielle Integrität stellt sicher, dass Beziehungen zwischen Tabellen korrekt bleiben.
Beispiel: Eine Bestellung darf nur dann einen Kunden als Bezug haben, wenn dieser Kunde wirklich existiert. Das wird durch Fremdschlüssel-Regeln erzwungen.

Wie kann man doppelte Einträge vermeiden?

Durch UNIQUE-Constraints auf bestimmten Spalten (z.B. darf jede E-Mail nur einmal vorkommen)

Durch das Festlegen eines Primärschlüssels (jede Zeile ist eindeutig)

CREATE TABLE kunden (
  id INT PRIMARY KEY,
  email VARCHAR(255) UNIQUE
);
Was ist eine Transaktion und warum ist sie wichtig?

Eine Transaktion ist eine Gruppe von Datenbank-Operationen, die als Einheit ausgeführt werden.
Sie ist wichtig, damit:

  • Entweder alles oder nichts passiert (keine halbfertigen Änderungen)
  • Die Daten immer konsistent bleiben

Stichwort: ACID-Prinzip
(Atomicity, Consistency, Isolation, Durability)

Wie funktioniert eine GROUP BY-Klausel?

Mit GROUP BY werden Daten nach bestimmten Spalten gruppiert.
Das ist nützlich, wenn man z.B. Summen oder Durchschnittswerte pro Gruppe berechnen will.

Beispiel:

SELECT stadt, COUNT(*) FROM kunden GROUP BY stadt;
Was ist der Unterschied zwischen DELETE und TRUNCATE?

DELETE entfernt gezielt einzelne oder alle Zeilen einer Tabelle. Es kann mit WHERE eingeschränkt werden und ist langsam, weil jeder Löschvorgang einzeln gespeichert wird.

TRUNCATE löscht alle Zeilen der Tabelle auf einmal (sehr schnell), setzt meist auch Zähler zurück, kann aber nicht einzeln rückgängig gemacht werden.

Wie sichert man Daten vor unberechtigtem Zugriff?

Benutzerrechte und Rollen vergeben (nur wer soll was sehen/bearbeiten dürfen)

Passwortschutz für Datenbanken und Backups

Verschlüsselung der Daten, vor allem bei sensiblen Informationen

Firewalls und Netzwerk-Sicherheitsmaßnahmen

SQL-Injection vermeiden: Niemals Benutzereingaben direkt in SQL-Befehle einbauen


Tipp fürs Fachgespräch

  • Nicht nur SQL-Befehle auswendig lernen, sondern auch erklären können, wofür sie da sind!
  • Eigene Praxisbeispiele einbauen: Das zeigt Verständnis!
  • Fragen zur Sicherheit, Performance und zu typischen Fehlern (z.B. SQL-Injection) können kommen.

Noch Fragen? Lass sie in den Kommentaren da – gemeinsam schaffen wir das!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Top News