20 Häufig gestellte Fragen und Antworten zu SQL-Interviews [2022]

Einführung in SQL und häufige Fragen im Vorstellungsgespräch

Die strukturierte Abfragesprache (SQL) ist eine Standardprogrammiersprache, die von Datenbankmanagern und Datenanalysten verwendet wird, um Informationen aus Datenbanken abzurufen. Sie wird oft in den Programmierumgebungen von Webseiten, Anwendungen und weiteren Plattformen eingesetzt.

SQL ermöglicht den Zugriff auf und die Bearbeitung von Daten innerhalb einer Datenbank. Das beinhaltet das Erstellen und Verändern von Tabellen und Spalten, sowie das gezielte Abfragen von Informationen durch spezielle SQL-Befehle.

Dieser Beitrag soll Ihnen wertvolle Einblicke geben, besonders wenn Sie nach Fragen und Antworten suchen, die Sie zur Vorbereitung auf ein SQL-Interview nutzen können. Bei Bewerbungsgesprächen für Positionen wie Dateningenieur, Datenanalyst oder Datenbankadministrator sollten Sie auf die folgenden Fragen vorbereitet sein.

Was sind die grundlegenden SQL-Befehle?

Hier sind einige der wichtigsten SQL-Befehle:

  • SELECT – um Daten aus einer Datenbank abzufragen.
  • CREATE TABLE – um eine neue Tabelle zu erstellen.
  • DELETE – um Daten aus einer Datenbank zu entfernen.
  • INSERT INTO – um neue Daten in eine Datenbank einzufügen.
  • ALTER DATABASE – um eine Datenbank zu verändern.
  • CREATE DATABASE – um eine neue Datenbank zu erzeugen.
  • UPDATE – um Daten in einer Datenbank zu aktualisieren.

Welche vier SQL-Anweisungen sind von besonderer Bedeutung?

Die wichtigsten SQL-Anweisungen lassen sich in folgende Kategorien unterteilen:

  • Data Definition Language (DDL) Anweisungen
  • Data Manipulation Language (DML) Anweisungen
  • Data Control Language (DCL) Anweisungen
  • Transaction Control Language (TCL) Anweisungen

Was ist die Bedeutung eines Primärschlüssels in SQL?

Ein Primärschlüssel ist eine Spalte (oder eine Kombination von Spalten), die jede Zeile innerhalb einer Datenbank eindeutig identifiziert. Primärschlüssel sind von zentraler Bedeutung in SQL-Datenbanken. Sie sorgen dafür, dass jede Zeile in einer Datenbanktabelle eine eindeutige Kennung hat. Ein Primärschlüssel kann aus einem einzelnen oder mehreren Feldern bestehen, wobei es pro Tabelle nur einen Primärschlüssel geben kann.

Welche Datentypen gibt es in SQL?

Ein Datentyp ist eine Eigenschaft, die die Art der Daten beschreibt, die ein Objekt speichern kann. Dazu gehören unter anderem binäre Zeichenketten, numerische Daten, Textdaten, Finanzdaten, Datums- und Zeitangaben.

In SQL werden Datentypen in folgende Kategorien eingeteilt:

  • Exakte Zahlen
  • Ungefähre Zahlen
  • Datum und Uhrzeit
  • Zeichenketten
  • Unicode-Zeichenketten
  • Binäre Zeichenketten

Wo werden Benutzernamen und Passwörter in SQL Server gespeichert?

Benutzernamen und Passwörter sind in den Systemtabellen sys.server_principals beziehungsweise sys.sql_logins des SQL Servers hinterlegt. Passwörter werden dabei nicht im Klartext gespeichert.

Was versteht man unter SQL-Injection?

SQL-Injection-Angriffe gehören zu den häufigsten Cyberattacken. Sie ermöglichen es Angreifern, durch Manipulation der Datenbank einer Anwendung auf Daten zuzugreifen. Dies kann erhebliche negative Auswirkungen haben, von finanziellen Verlusten bis hin zum Verlust sensibler Informationen. Die effektivste Methode zum Schutz vor SQL-Injection-Angriffen ist deren präventive Verhinderung.

Was ist ein Trigger in SQL und welche Arten gibt es?

Ein Trigger ist eine spezielle Art von gespeicherter Prozedur, die automatisch ausgeführt wird, wenn ein bestimmtes Ereignis auf dem Datenbankserver eintritt. Trigger werden verwendet, um Daten vor oder nach einer Datenänderung durch DDL- oder DML-Anweisungen zu überprüfen.

Es gibt drei Arten von Triggern: LOGON, DDL und DML.

  • LOGON-Trigger: Werden bei einer Benutzeranmeldung ausgeführt.
  • DDL-Trigger: Werden bei der Ausführung von DDL-Befehlen wie CREATE, ALTER oder DROP ausgelöst.
  • DML-Trigger: Werden bei einer Datenänderung durch DML-Befehle wie INSERT, UPDATE oder DELETE ausgelöst.

Wie unterscheidet man zwischen Einzeilen- und Mehrzeilenfunktionen?

Einzeilenfunktionen wirken auf jeweils eine Zeile innerhalb einer Tabelle. Sie führen eine Operation für jede Zeile aus und geben jeweils ein einzelnes Ergebnis zurück. Beispiele für Einzeilenfunktionen sind Längen- oder Fallkonvertierungsfunktionen.

Mehrzeilenfunktionen, auch als Gruppenfunktionen bezeichnet, agieren gleichzeitig auf mehreren Zeilen einer Tabelle. Sie führen Operationen über mehrere Zeilen hinweg aus und geben dann ein einzelnes Ergebnis zurück.

Was ist Datenbanknormalisierung und welche vier Haupttypen gibt es in SQL?

Datenbanknormalisierung ist ein Prozess, durch den Daten zur Beschleunigung des Zugriffs und zur Reduzierung von Datenredundanz strukturiert werden. Während der Normalisierung werden die Spalten und Tabellen einer Datenbank so organisiert, dass alle Abhängigkeiten durch Datenbankintegritätsbedingungen korrekt erhalten bleiben.

Die vier Haupttypen der Datenbanknormalisierung sind:

  • Erste Normalform (1NF)
  • Zweite Normalform (2NF)
  • Dritte Normalform (3NF)
  • Boyce-Codd-Normalform (BCNF oder 4NF)

Was sind Indizes und Constraints (Einschränkungen) in SQL?

Indizes sind ein wichtiges Konzept in SQL. Sie ermöglichen es, bestimmte Datenzeilen in großen Datenbanken schnell zu finden. Zudem helfen sie dabei, Constraints durchzusetzen – also Regeln, die der Datenbank vorgeben, wie sie sich bei bestimmten Bedingungen verhalten soll.

Indizes verbessern die Abfrageleistung, indem sie die Suche nach Daten in Tabellen beschleunigen. Sie können auch die Lesbarkeit von Daten verbessern.

Constraints dienen der Eingrenzung des Datentyps, der in eine Tabelle aufgenommen werden kann. Sie gewährleisten die Genauigkeit und Zuverlässigkeit der Daten in der Tabelle. Bei einem Verstoß gegen eine Constraint-Regel wird die Datenoperation abgebrochen.

Welche sind die gängigsten SQL-Constraints?

Hier sind einige der häufig verwendeten SQL-Constraints:

  • CREATE INDEX: Erstellt Indizes für Tabellen, um den Datenabruf zu beschleunigen.
  • FOREIGN KEY: Definiert Fremdschlüssel, die Tabellen mit ähnlichen Attributen verbinden.
  • DEFAULT: Setzt einen Standardwert für Felder, wenn kein Wert angegeben wurde.
  • UNIQUE: Garantiert, dass jeder Wert in einer Spalte einzigartig ist.
  • PRIMARY KEY: Definiert den Primärschlüssel, der jede Zeile eindeutig identifiziert.
  • NOT NULL: Verhindert, dass NULL-Werte in Spalten akzeptiert werden.
  • CHECK: Stellt sicher, dass jedes Spaltenfeld einer definierten Anforderung entspricht.

Ist NULL in SQL gleich 0?

Ein NULL-Wert in SQL kennzeichnet einen fehlenden oder nicht zugewiesenen Wert. Eine Leerzeichenkette (‚ ‚) oder eine Null (0) sind nicht dasselbe wie ein NULL-Wert. NULL kann nicht mit Vergleichsoperatoren (wie „=“ oder „>“) verglichen werden, da er weder gleich noch ungleich zu einem anderen Wert ist.

Wie verhindert man SQL-Injection-Angriffe?

Neben kontinuierlichen Scans und Penetrationstests sind Sicherheitsmaßnahmen wie Eingabevalidierung, Bereinigung von Eingaben, vorbereitete Anweisungen und parametrisierte SQL-Abfragen von entscheidender Bedeutung, um SQL-Injection-Angriffe zu verhindern. Zusätzliche Sicherheitsmaßnahmen, wie z. B. Firewalls, helfen ebenfalls, die SQL-Datenbank zu schützen.

Was ist dynamisches SQL und wann wird es verwendet?

Dynamisches SQL ermöglicht es, Abfragen zur Laufzeit auf der Grundlage bestimmter Kriterien zu verändern, z. B. des aktuellen Datums, der Uhrzeit oder anderer festgelegter Bedingungen.

Dynamisches SQL kann verwendet werden, um Abfragen flexibler zu gestalten und die Programmierfähigkeiten zu verbessern. Es ist nützlich für die Erstellung neuer Anwendungen, die Verbesserung von Datenbanken oder das Hinzufügen von Data-Warehouse-Funktionen zu Produktionssystemen.

Welche Arten von Schlüsseln gibt es in SQL?

Primärschlüssel: Ein Feld, das jede Zeile in einer Tabelle eindeutig identifiziert. Primärschlüssel müssen eindeutige Werte haben und dürfen keine NULL-Werte enthalten. Es kann nur einen Primärschlüssel pro Tabelle geben, der aus einem oder mehreren Feldern bestehen kann.

Fremdschlüssel: Ein Feld oder eine Gruppe von Feldern in einer Tabelle, die sich auf den Primärschlüssel einer anderen Tabelle beziehen. Tabellen mit Primärschlüsseln werden als Elterntabellen bezeichnet, während Tabellen mit Fremdschlüsseln als Kindtabellen bezeichnet werden.

Superschlüssel: Ein Schlüssel oder eine Gruppe von Schlüsseln, die zur Identifizierung von Einträgen in einer Tabelle verwendet werden können. Ein Superschlüssel kann ein oder mehrere Attribute enthalten, obwohl nicht alle Attribute erforderlich sind, um einen Datensatz zu identifizieren.

Kandidatenschlüssel: Eine Teilmenge von Superschlüsseln, die verwendet werden können, um Datensätze in einer Datenbank basierend auf einem oder mehreren Attributen zu identifizieren. Im Gegensatz zum Superschlüssel müssen alle Funktionen eines Kandidatenschlüssels zur Identifizierung von Datensätzen nützlich sein.

Zusammengesetzter Schlüssel: Eine Kombination aus zwei oder mehr Spalten in einer Tabelle, die zur Identifizierung von Zeilen in einer Tabelle verwendet wird. Ein zusammengesetzter Schlüssel ist ein Primärschlüssel, der um ein anderes Attribut oder eine Spalte erweitert wird.

Welche Arten von Indizes gibt es in SQL?

Hier eine Auflistung der verschiedenen Indextypen in SQL:

  • Hash-Index
  • Speicheroptimierter, nicht geclusterter Index
  • Geclusterter Index
  • Nicht geclusterter Index
  • Eindeutiger Index
  • Columnstore-Index
  • Index mit eingeschlossenen Spalten
  • Index für berechnete Spalten
  • Gefilterter Index
  • Räumlicher Index
  • XML-Index
  • Volltextindex

Was versteht man unter dem Pufferpool und welche Vorteile hat er?

In SQL ist der Pufferpool, auch bekannt als Buffer Cache, ein Speicherbereich, der von allen Ressourcen genutzt wird, um zwischengespeicherte Datenseiten zu speichern. Bei der Einrichtung einer SQL-Server-Instanz kann die Größe des Pufferpools festgelegt werden. Die Größe des Pufferpools bestimmt die Anzahl der Seiten, die er aufnehmen kann.

Die Vorteile eines Pufferpools sind:

  • Verbesserte E/A-Leistung
  • Steigerung des Transaktionsdurchsatzes
  • Reduzierung der E/A-Latenz
  • Verbesserung der Leseleistung

Was bedeutet Abhängigkeit in SQL und welche Arten von Abhängigkeiten gibt es?

Eine Abhängigkeit entsteht, wenn ein SQL-Objekt auf ein anderes Objekt durch seinen Namen verweist. Das Objekt, das in einem SQL-Ausdruck verwendet wird, wird als „verwiesene Entität“ bezeichnet, während das Objekt, das einen solchen Ausdruck enthält, als „verweisende Entität“ gilt.

Hier sind die verschiedenen Arten von Abhängigkeiten in SQL:

  • Funktionale Abhängigkeit
  • Vollständige funktionale Abhängigkeit
  • Mehrwertige Abhängigkeit
  • Transitive Abhängigkeit
  • Teilabhängigkeit

Was sind SQL-Joins und welche sind die am häufigsten verwendeten?

SQL-Joins sind ein wesentlicher Bestandteil der Datenverwaltung in SQL. Sie ermöglichen die Kombination von Daten aus zwei oder mehr Tabellen, um eine einzige Tabelle zu erstellen, die für Datenanalysen genutzt werden kann. Außerdem können Ergebnisse basierend auf Kriterien in einer einzelnen Tabelle gefiltert werden.

Es gibt vier Haupttypen von Joins: INNER JOIN, OUTER JOIN, CROSS JOIN und SELF JOIN.

Was sind Mengenoperatoren in SQL?

Mengenoperatoren ermöglichen die Kombination von Daten aus einer oder mehreren Tabellen, die den gleichen Typ haben. Obwohl SQL-Mengen- und SQL-Join-Operatoren Ähnlichkeiten aufweisen, gibt es einige wesentliche Unterschiede. SQL-Mengenoperatoren sammeln Datensätze aus verschiedenen Abfragen, während SQL-Joins Spalten aus verschiedenen Tabellen zusammenführen. SQL-Abfragen, die Mengenoperationen verwenden, werden als kombinierte SQL-Abfragen bezeichnet.

Fazit

Diese SQL-Interviewfragen sollten Ihnen einen guten Überblick darüber geben, was Sie in einem Vorstellungsgespräch erwarten können. Um ein SQL-Interview erfolgreich zu bestehen, ist es wichtig, praktische Erfahrung in der SQL-Umgebung zu sammeln. Dies kann durch intensives Studium und Übung mit SQL-Abfragen erreicht werden. Um Ihre Kenntnisse der SQL-Grundlagen zu bewerten, sollten Sie auch Interviewfragen mit SQL-Abfragen üben und sich fortbilden.

Für weitere Informationen zu SQL-Abfragen, besuchen Sie bitte den SQL-Spickzettel, um weitere Einblicke in SQL-Anweisungen zu erhalten.

Für praktische Übungen mit SQL-Abfragen, nutzen Sie bitte diese SQL-Übungsplattformen.