Structured Query Language (SQL) ist die Standardprogrammiersprache, die von Datenbankadministratoren und Datenanalysten zur Abfrage von Datenbanken verwendet wird. Sie ist in den Programmiersprachen von Websites, Anwendungen und anderen Plattformen weit verbreitet.
Sie wird verwendet, um auf Daten in einer Datenbank zuzugreifen und diese zu manipulieren, einschließlich des Erstellens und Änderns von Tabellen und Spalten und der Abfrage der Daten mit SQL-Befehlen.
Dieser Beitrag wird Ihnen zweifellos einige Einblicke geben, wenn Sie nach Fragen und Antworten suchen, die Sie bei der Vorbereitung auf ein SQL-Interview verwenden können. In einem Vorstellungsgespräch für einen Dateningenieur, Datenanalysten, Datenbankadministrator usw. sollten Sie die folgenden Fragen erwarten.
Was sind die grundlegenden SQL-Befehle?
Einige der wichtigsten SQL-Befehle sind:
- SELECT – extrahiert Daten aus einer Datenbank.
- CREATE TABLE – erstellt eine neue Tabelle.
- DELETE – löscht Daten aus einer Datenbank.
- INSERT INTO – fügt neue Daten in eine Datenbank ein.
- ALTER DATABASE – modifiziert eine Datenbank.
- CREATE DATABASE – erstellt eine neue Datenbank.
- UPDATE – aktualisiert Daten in einer Datenbank.
Was sind die vier wichtigsten SQL-Anweisungen?
Die wichtigsten SQL-Anweisungen werden in diese Kategorien unterteilt:
- Data Definition Language (DDL)-Anweisungen
- Data Manipulation Language (DML)-Anweisungen
- Data Control Language (DCL)-Anweisungen
- Transaction Control Language (TCL)-Anweisungen
Was ist die Bedeutung des Primärschlüssels in SQL?
Ein Primärschlüssel ist eine Spalte (oder eine Reihe von Spalten), mit der jede Zeile in einer Datenbank eindeutig identifiziert werden kann. SQL-Datenbanken messen den Primärschlüsseln eine große Bedeutung bei. Sie geben jeder Zeile in einer Datenbanktabelle eine eindeutige ID. Ein Primärschlüssel kann aus einem oder mehreren Feldern bestehen, und es kann nur einen Primärschlüssel pro Tabelle geben.
Was sind SQL-Datentypen?
Ein Datentyp ist ein Attribut, das die Art von Daten beschreibt, die ein Objekt speichern kann, wie z.B. binäre Zeichenketten, numerische Daten, Zeichendaten, Finanzdaten, Datums- und Zeitdaten und so weiter.
In SQL werden die Datentypen in die folgenden Gruppen eingeteilt:
- Exakte Numerik
- Ungefähre numerische Daten
- Datum und Uhrzeit
- Zeichenketten
- Unicode-Zeichenketten
- Binäre Zeichenketten
Wo werden Benutzernamen und Kennwörter in SQL Server gespeichert?
Benutzernamen und Passwörter werden in den SQL-Tabellen sys.server principals und sys.sql logins gespeichert. Passwörter werden nicht in normalem Text gespeichert.
Was ist eine SQL-Injektion?
SQL-Injection-Angriffe sind heute eine der häufigsten Arten von Cyberangriffen. Sie ermöglichen böswilligen Angreifern den Zugriff auf Daten, indem sie die Datenbank einer Anwendung manipulieren. Dies kann eine Vielzahl negativer Folgen haben, von finanziellen Verlusten bis hin zum Verlust sensibler Daten. Der beste Schutz gegen SQL-Injection-Angriffe besteht darin, sie von vornherein zu verhindern.
Was ist ein Trigger in SQL und seine Typen?
Ein Trigger ist eine spezielle Art von gespeicherter Prozedur, die automatisch ausgeführt wird, wenn ein Ereignis auf dem Datenbankserver eintritt. Trigger werden verwendet, um Daten vor oder nach einer Datenänderung durch DDL- und DML-Anweisungen auszuwerten.
Es gibt drei Arten von Triggern – LOGON, DDL und DML.
- LOGON-Trigger: Diese Trigger werden ausgelöst, wenn ein Benutzer ein Logon-Ereignis initiiert.
- DDL-Trigger werden ausgelöst, wenn ein DDL-Befehl wie CREATE, ALTER oder DROP erteilt wird.
- DML-Auslöser: Diese werden immer dann ausgelöst, wenn ein DML-Befehl Daten verändert. Vergleichbar mit INSERT, UPDATE und DELETE
Wie würden Sie zwischen Funktionen für eine einzelne Zeile und Funktionen für mehrere Zeilen unterscheiden?
Eine einzelne Zeile in einer Tabelle kann von einzeiligen Funktionen auf einmal beeinflusst werden. Sie führen eine Zeile aus und geben dann nur ein Ergebnis zurück. Es ist bekannt, dass Längen- und Groß-/Kleinschreibung-Konvertierungen einzeilige Funktionen sind.
Die Zeilen einer Tabelle können von vielen Zeilenfunktionen gleichzeitig betroffen sein. Sie werden auch als Gruppenfunktionen bezeichnet, da sie mehrere Zeilen ausführen, bevor sie eine einzige Ausgabe zurückgeben.
Was ist Datenbanknormalisierung und welche vier Haupttypen gibt es in SQL?
Datenbanknormalisierung ist ein Prozess, bei dem Daten organisiert werden, um einen schnelleren Zugriff zu ermöglichen und Datenredundanz zu vermeiden. Die Spalten und Tabellen einer Datenbank werden während der Normalisierung organisiert, um sicherzustellen, dass alle Abhängigkeiten durch die Integritätsbeschränkungen der Datenbank korrekt aufrechterhalten werden.
Es gibt folgende vier Arten von Datenbank-Normalisierungsprozessen:
- Erste Normalform (1 NF)
- Zweite Normalform (2 NF)
- Dritte Normalform (3 NF)
- Boyce Codd Normalform oder Vierte Normalform (BCNF oder 4 NF)
Was sind Indizes und Constraints in SQL?
Indizes sind eines der wichtigsten Konzepte in SQL. Sie ermöglichen es uns, bestimmte Datenzeilen in großen Datenbanken schnell zu finden. Sie helfen uns auch, Constraints durchzusetzen, d.h. Regeln, die der Datenbank sagen, wie sie sich verhalten soll, wenn bestimmte Bedingungen erfüllt sind.
Indizes werden verwendet, um die Leistung von Abfragen zu verbessern, indem die Suche nach Daten in Tabellen beschleunigt wird. Sie werden auch verwendet, um die Lesbarkeit der Daten in Tabellen zu verbessern.
Einschränkungen werden verwendet, um die Art der Daten zu begrenzen, die in eine Tabelle aufgenommen werden können. Dadurch wird die Genauigkeit und Zuverlässigkeit der Daten in der Tabelle gewährleistet. Wenn es einen Verstoß zwischen der Einschränkung und der Datenaktion gibt, wird die Aktion abgebrochen.
Welche SQL-Beschränkungen werden häufig verwendet?
Häufig verwendete SQL-Beschränkungen sind:
- CREATE INDEX: Dieser Befehl sorgt dafür, dass Indizes für Tabellen erstellt werden, um das Abrufen von Daten zu vereinfachen.
- FOREIGN KEY: Der Fremdschlüssel einer Tabelle muss Tabellen mit ähnlichen Attributen miteinander verbinden.
- DEFAULT: Wenn für die Felder einer Spalte kein Wert angegeben wird, wird ein Standardwert für diese Felder angegeben.
- UNIQUE: Dies legt fest, dass jeder Wert in einer Spalte eindeutig sein muss.
- PRIMÄRSCHLÜSSEL: Der Primärschlüssel einer Tabelle muss jede Zeile identifizieren.
- NOT NULL: Diese Bedingung stellt sicher, dass NULL-Werte von Spalten nicht akzeptiert werden.
- CHECK: Er stellt sicher, dass jedes Spaltenfeld eine vorher festgelegte Bedingung erfüllt.
Ist NULL in SQL gleich 0?
Ein NULL-Wert in SQL bezeichnet einen Wert, der nicht verfügbar oder zugewiesen ist. Ein Leerzeichen (‘ ‘) oder eine Null (0) sind nicht gleichbedeutend mit dem Wert NULL. Sie können den NULL-Wert nicht mit einem anderen Wert vergleichen, indem Sie Vergleichsoperatoren wie “=” oder “>” verwenden, da er weder gleich noch ungleich einem anderen Wert sein kann.
Wie lassen sich SQL-Injection-Angriffe verhindern?
Neben ständigem Scannen und Penetrationstests sind Sicherheitsmethoden wie Eingabevalidierung, Bereinigung, vorbereitete Anweisungen und parametrisierte SQL-Abfragen entscheidend, um SQL-Injection-Angriffe zu verhindern. Darüber hinaus können schnelle Abwehrmaßnahmen wie eine Firewall helfen, die SQL-Datenbank zu schützen.
Was ist Dynamic SQL und wann können Sie es verwenden?
Dynamisches SQL ist eine Funktion, mit der Sie Ihre Abfragen zur Laufzeit auf der Grundlage eines oder mehrerer Kriterien ändern können, einschließlich des aktuellen Datums, der aktuellen Uhrzeit oder anderer Kriterien Ihrer Wahl.
Mit dynamischem SQL können Sie Ihre Abfragen auf sinnvolle Weise ändern und so Ihre Ziele erreichen oder einfach Ihre Programmierkenntnisse verbessern. Ganz gleich, ob Sie eine neue Anwendung erstellen, eine Datenbank verbessern oder Ihr Produktionssystem um Data-Warehouse-Funktionen erweitern möchten – mit Dynamic SQL können Sie all das tun.
Was sind die verschiedenen Arten von Schlüsseln in SQL?
Primärschlüssel: Jede Zeile oder jeder Datensatz in einer Datenbanktabelle wird durch ein Feld namens Primärschlüssel eindeutig identifiziert. Der eindeutige Wert muss im Primärschlüssel enthalten sein. Primärschlüsselfelder können keine NULL-Werte enthalten. Es kann nur einen Primärschlüssel pro Tabelle geben, der aus einem oder mehreren Feldern besteht.
Fremdschlüssel: Das Feld oder die Gruppe von Feldern in einer Tabelle, die sich auf den Primärschlüssel einer anderen Tabelle bezieht, wird als Fremdschlüssel bezeichnet. Tabellen mit Primärschlüsseln werden als übergeordnete Tabellen bezeichnet, während Tabellen mit Fremdschlüsseln als untergeordnete Tabellen bezeichnet werden.
Superschlüssel: Ein Superschlüssel ist ein Schlüssel oder eine Reihe von Schlüsseln, die zur Identifizierung von Einträgen in einer Tabelle dienen. Obwohl nicht alle Attribute zur Identifizierung eines Datensatzes erforderlich sind, kann ein Superschlüssel eines oder mehrere davon enthalten.
Kandidat-Schlüssel: Ein Kandidatenschlüssel ist eine Teilmenge von Superschlüsseln, die zur Identifizierung von Datensätzen in einer Datenbank auf der Grundlage eines oder mehrerer Attribute verwendet werden kann. Im Gegensatz zum Superschlüssel müssen alle Merkmale eines Kandidatenschlüssels für die Identifizierung von Datensätzen nützlich sein.
Zusammengesetzter Schlüssel: Ein zusammengesetzter Schlüssel ist 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 mit einem anderen Attribut oder einer anderen Spalte.
Was sind die Arten von Indizes in SQL?
Es gibt folgende Arten von Indizes in SQL
- Hash-Index
- speicheroptimiert Nicht geclustert
- Geclusterter Index
- Nicht-geclusterter Index
- Eindeutiger Index
- Column Store-Index
- Index mit eingeschlossenen Spalten
- Index auf berechnete Spalten
- Gefilterter Index
- Räumlicher Index
- XML-Index
- Volltext-Index
Was verstehen Sie unter einem Pufferpool und nennen Sie seine Vorteile?
In SQL wird ein Pufferpool auch als Puffercache bezeichnet. Ein Pufferpool kann von allen Ressourcen verwendet werden, um ihre zwischengespeicherten Datenseiten zu speichern. Beim Einrichten einer SQL Server-Instanz kann die Größe des Pufferpools angegeben werden. Die Größe eines Pufferpools bestimmt, wie viele Seiten er speichern kann.
Im Folgenden finden Sie die Vorteile eines Pufferpools:
- Verbesserungen der E/A-Leistung
- Steigerung des Transaktionsdurchsatzes
- Reduzierung der E/A-Latenz
- Verbesserung der Leseleistung
Was verstehen Sie unter Abhängigkeit und nennen Sie die verschiedenen Abhängigkeiten?
Wenn ein Objekt in einer SQL-Anweisung, die in einem anderen Objekt enthalten ist, namentlich referenziert wird, wird eine Abhängigkeit zwischen den beiden Objekten hergestellt. Der Begriff “referenzierte Entität” bezieht sich auf ein Objekt, das in einem SQL-Ausdruck vorkommt, während der Begriff “referenzierende Entität” sich auf ein Objekt bezieht, das einen SQL-Ausdruck enthält.
Im Folgenden finden Sie die verschiedenen Arten von Abhängigkeiten in SQL.
- Funktionale Abhängigkeit
- Vollständig funktionale Abhängigkeit
- Mehrwertige Abhängigkeit
- Transitive Abhängigkeit
- Partielle Abhängigkeit
Was sind SQL-Joins, und welche sind die beliebtesten SQL-Joins?
Joins sind ein grundlegender Bestandteil der Datenverwaltung in SQL. Sie ermöglichen es, zwei oder mehr Tabellen miteinander zu verbinden, um eine einzige Tabelle zu erstellen, die für die Datenanalyse verwendet werden kann. Sie bieten auch die Möglichkeit, Ergebnisse anhand von Kriterien in einer einzigen Tabelle zu filtern, was nützlich sein kann, wenn Sie versuchen, bestimmte Zeilen oder Spalten in einer großen Tabelle zu finden.
Es gibt vier Haupttypen von JOINs in SQL: INNER JOIN, OUTER JOIN, CROSS JOIN und SELF JOIN.
Was sind die Mengenoperatoren in SQL?
Mit dem Set-Operator können Daten aus einer oder mehreren Tabellen desselben Typs kombiniert werden. Der SQL-Set-Operator und der SQL-Join-Operator sind ähnlich, aber es gibt einige wichtige Unterschiede. SQL-Set-Operatoren fassen Datensätze aus verschiedenen Abfragen zusammen, während SQL-Joins Spalten aus verschiedenen Tabellen kombinieren. Zusammengesetzte SQL-Abfragen sind Abfragen, die Set-Operationen enthalten.
Was ist ein DBMS?
Einfach ausgedrückt, ist ein DBMS ein Softwaresystem, das die Kommunikation zwischen Endbenutzern und einer Datenbank erleichtert. Dadurch ermöglicht es uns, Daten in einer Datenbank zu speichern, abzurufen, zu definieren und zu verwalten.
Was ist ein RDBMS?
Um RDBMS zu verstehen, müssen Sie zunächst das Konzept der relationalen Datenbanken begreifen. Eine relationale Datenbank ist eine strukturierte Methode zum Speichern und Verwalten von Daten mit Hilfe von Tabellen, in denen die Daten zum einfachen Abruf und zur Analyse in Zeilen und Spalten organisiert sind.
Jetzt, da die Funktionalität klar ist, lassen Sie uns RDBMS definieren. Ein RDBMS ist ein Softwareprogramm, mit dem Benutzer relationale Datenbanken verwalten, aktualisieren und erstellen können. Zu den beliebtesten RDBMS auf dem Markt gehören MySQL, Microsoft SQL Server, Oracle Database usw.
Was ist PostgreSQL?
PostgreSQL ist ein robustes Open-Source-Datenbanksystem, das SQL um erweiterte Funktionen für eine sichere und skalierbare Datenverwaltung erweitert.
Erläutern Sie den Unterschied zwischen SQL und MySQL.
Im Gegensatz zu MySQL ist PostgreSQL eine objektrelationale Datenbank, die erweiterte Datentypen wie Objekte, Arrays und XML unterstützt. Das macht sie für Entwickler intuitiver und vielseitiger. Nachfolgend finden Sie eine tabellarische Übersicht, um die Unterschiede zu verdeutlichen.
S.Nr | MySQL | PostgreSQL |
1 | Beliebt | Fortgeschritten |
2 | Relational | Objekt-Relational |
3 | MySQL Workbench | pgAdmin |
4 | Begrenzte Index-Typen | Unterstützt verschiedene Indizes |
5 | Eingeschränktes MVCC | Volle MVCC-Unterstützung |
6 | Einfache Operationen | Komplexer Betrieb |
7 | OS-Threads | OS-Prozesse |
8 | Zuverlässig & schnell | Langsamer & Kompliziert |
9 | Grundlegende Datentypen | Erweiterte Datentypen |
Diskutieren Sie den Unterschied zwischen NoSQL und SQL.
Es gibt verschiedene Unterschiede zwischen NoSQL und SQL in Bezug auf Typ, Sprache, Struktur, Unterstützung usw. Auch die Anwendungsfälle unterscheiden sich, da SQL immer dann eine gute Wahl ist, wenn Sie mit zusammenhängenden Daten arbeiten müssen, während NoSQL sich vor allem dann auszeichnet, wenn Sie mit großen oder sich ändernden Datensätzen arbeiten. Nachfolgend finden Sie eine tabellarische Darstellung der Unterschiede, die Ihnen helfen könnte, Klarheit über SQL und NoSQL zu gewinnen.
S. Nr | SQL | NoSQL |
1 | Verwendet Strukturen der SQL-Sprache | Verwendet ein dynamisches Schema für unstrukturierte Daten |
2 | Befolgt ACID-Eigenschaften | Folgt dem CAP-Theorem |
3 | Vertikal skalierbar | Horizontal skalierbar |
4 | Gut für verwandte Daten, strukturierte Abfragen | Ideal für große oder wechselnde Datensätze, flexible Datenmodelle |
5 | Relationale Datenbanken (RDBMS) | Nicht-relationale/verteilte Datenbanken |
6 | Tabellenbasiert | Verschiedene Strukturen (z.B. Schlüssel-Werte-Paare, Dokumente, Graphen) |
7 | Starke Unterstützung durch Anbieter und Berater | Begrenzte Expertenunterstützung, oft auf Community angewiesen |
Erläutern Sie den Unterschied zwischen SQL und PL/SQL.
SQL und PL/SQL unterscheiden sich in ihren Ansätzen zur Datenbankmanipulation. SQL ist eine deklarative Sprache für relationale Datenbanken, während PL/SQL eine prozedurale Sprache ist, die SQL für Datenbankoperationen verwendet.
PL/SQL enthält Variablen und Kontrollstrukturen und kann mehrere Operationen auf einmal ausführen, was den Netzwerkverkehr reduziert. SQL ist auf einzelne Operationen beschränkt. PL/SQL bietet eine Hochgeschwindigkeitsdatenverarbeitung, die SQL nicht hat.
Erläutern Sie die Unterschiede zwischen OLTP und OLAP.
OLAP ist für analytische Aufgaben, die Beschaffung historischer Daten aus mehreren Datenbanken und die Verwendung eines Data Warehouse gedacht. Bei großen Datenmengen ist es langsamer, erfordert aber keine häufigen Aktualisierungen. Im Gegensatz dazu ist OLTP für tägliche Geschäftsaufgaben gedacht, bei denen aktuelle operative Daten mit einem Standard-DBMS verwaltet werden. Es ist schneller für wichtige Operationen und schnelle Datenaktualisierungen, die von Benutzern initiiert werden.
OLAP ist subjektorientiert, während OLTP anwendungsorientiert ist. OLAP richtet sich an die oberste Führungsebene und konzentriert sich auf die Kunden, während OLTP sich an Angestellte, Forex-Mitarbeiter und Manager mit einem marktorientierten Ansatz wendet.
Was ist die Select-Anweisung?
Die SQL SELECT-Anweisung ruft Daten aus einer Datenbank ab und ermöglicht es uns, festzulegen, welche Spalten abgerufen werden sollen und Kriterien für die Datenauswahl anzuwenden. Das Ergebnis wird in einer Ergebnismenge gespeichert, und wir können zur besseren Übersichtlichkeit Spaltenüberschriften definieren. Diese Anweisung ist eine der ersten und letzten Klauseln, die der Datenbankserver auswertet, um die möglichen Spalten für die endgültige Ergebnismenge zu bestimmen.
Nehmen wir zum Beispiel eine Tabelle “Produkte”. Wenn wir die Namen und Preise von Produkten mit einem Preis von mehr als 50 $ abrufen möchten, können wir die folgende SQL-Abfrage verwenden:
SELECT Produktname, Preis
FROM Produkte
WHERE Preis > 50;
In diesem Beispiel geben wir die Spalten “Produktname” und “Preis” in der SELECT-Klausel an. Die WHERE-Klausel legt die Kriterien fest, nach denen nur die Datensätze ausgewählt werden, bei denen der Preis größer als 50 $ ist. Die Ergebnismenge enthält die Namen und Preise der Produkte, die diese Bedingung erfüllen.
Wie verwendet man eine DISTINCT-Anweisung?
SQL DISTINCT ist ein leistungsstarkes Werkzeug zum Entfernen von Duplikaten in Abfrageergebnissen. Es lässt sich mit SELECT kombinieren, um eindeutige Werte aus bestimmten Spalten oder Tabellen zu extrahieren. Die wichtigsten Punkte sind:
- Sie eliminiert Duplikate.
- Es kann mit Aggregatfunktionen arbeiten.
- Funktioniert mit einer einzigen Spalte.
- Syntax:
SELECT DISTINCT Ausdrücke FROM Tabellen [WHERE Bedingungen]
; - NULL-Werte werden als eindeutig behandelt.
Was ist eine CLAUSE in SQL?
In SQL werden Sie auf eine Reihe von Klauseln stoßen, die dazu dienen, große Datenmengen effizient zu verarbeiten. Diese Klauseln fungieren als integrierte Funktionen, die bedingte Ausdrücke mit Spaltennamen oder verwandten Begriffen empfangen.
Diese Ausdrücke leiten die Klauseln bei der Berechnung der Ergebnisse an, so dass Sie umfangreiche Daten, die in Datenbanken gespeichert sind, filtern und analysieren können. In der Welt von SQL sind diese Klauseln also Ihre treuen Begleiter, die Ihnen helfen, Ihre Daten mühelos zu durchsuchen und zu verstehen.
Nennen Sie einige Klauseln, die mit select verwendet werden.
Im Folgenden finden Sie einige gängige Klauseln, die mit der SELECT-Anweisung in SQL verwendet werden:
- WHERE: Filtert Zeilen auf der Grundlage eines bestimmten Kriteriums.
- ORDER BY: Sortiert die Ergebnismenge.
- GROUP BY: Gruppiert Zeilen mit ähnlichen Werten.
- HAVING: Filtert gruppierte Zeilen.
- LIMIT (oder TOP): Begrenzt die Anzahl der zurückgegebenen Zeilen.
- DISTINCT: Ruft eindeutige Werte ab.
- JOIN: Kombiniert Zeilen aus mehreren Tabellen.
- UNION (und UNION ALL): Kombiniert Ergebnisse aus mehreren Abfragen.
- CASE: Ermöglicht bedingte Logik innerhalb einer Abfrage.
Was ist die Standardreihenfolge der Daten bei Verwendung der ORDER BY-Klausel?
Die Standardreihenfolge von Daten mit der ORDER BY-Klausel ist so, als würden Sie die Dinge standardmäßig vom Kleinsten zum Größten anordnen. Stellen Sie sich vor, Sie haben eine Liste von Zahlen: 1, 4, 2, 7, 3. Wenn Sie ORDER BY verwenden, ohne eine Richtung anzugeben, werden sie so angeordnet:
1, 2, 3, 4, 7
Es geht also vom kleinsten (1) zum größten (7) Wert. Wenn Sie dies umkehren und mit dem größten Wert beginnen möchten, können Sie das Schlüsselwort DESC wie folgt verwenden:
SELECT * FROM Tabelle
ORDER BY Spaltenname DESC;
Die Liste würde also lauten:
7, 4, 3, 2, 1
Mit der ORDER BY-Klausel haben Sie die Kontrolle darüber, wie die Daten geordnet werden, so dass Sie Ihre Daten ganz einfach auf verschiedene Arten sortieren können.
Nennen Sie die verschiedenen Arten von Beziehungen in SQL
Stellen Sie sich vor, Sie haben ein Datenmodell mit Tabellen, und diese Tabellen sind miteinander verbunden oder stehen in Beziehung zueinander. Sie werden oft Linien sehen, die sie verbinden. Diese Linien stellen die Arten von Beziehungen zwischen den Tabellen dar.
Es gibt drei Haupttypen von Beziehungen:
🔷 Eins-zu-Viel: Dies ist die häufigste Art. Stellen Sie sich vor, Sie haben eine Liste von Kunden, und jeder Kunde ist mit einer Stadt verbunden. Eine Stadt kann viele Kunden haben, aber jeder Kunde gehört nur zu einer Stadt.
🔷 Many-to-Many: Dieser Typ wird verwendet, wenn beide Tabellen mehrere Einträge auf beiden Seiten haben können. Denken Sie zum Beispiel an Mitarbeiter, die bei Kunden anrufen. Ein Mitarbeiter kann viele Kunden anrufen, und ein Kunde kann Anrufe von vielen Mitarbeitern erhalten. Wenn Sie “viele” auf beiden Seiten haben, handelt es sich um eine Many-to-Many-Beziehung. Um dies zu handhaben, benötigen Sie oft eine neue Tabelle dazwischen.
🔷 One-to-One: Dies wird selten verwendet, hat aber seine Berechtigung. Stellen Sie sich vor, Sie möchten Mitarbeiterdaten und deren gültige Personalausweise speichern. Jeder Mitarbeiter hat nur einen gültigen Personalausweis, und jeder Personalausweis gehört nur zu einem Mitarbeiter. Das ist eine Eins-zu-Eins-Beziehung. Sie können die Ausweisdaten in einer separaten Tabelle speichern und sie über einen Fremdschlüssel miteinander verknüpfen.
Wenn Sie also eine Datenbank entwerfen, hilft Ihnen das Verständnis dieser Beziehungstypen bei der Entscheidung, wie Sie Ihre Tabellen und deren Verbindungen effektiv strukturieren. Es ist, als würden Sie herausfinden, wie die Puzzleteile zusammenpassen, um Ihre realen Daten korrekt darzustellen.
Was sind Union und Intersect?
UNION: Stellen Sie sich UNION als eine Möglichkeit vor, Ergebnisse übereinander zu stapeln. Dabei werden Daten aus mehreren Abfragen in einer einzigen Liste kombiniert. Wenn Sie zwei Listen mit Elementen haben und diese zusammenführen und dabei Duplikate entfernen möchten, können Sie UNION verwenden.
Beispiel: Stellen Sie sich vor, Sie haben eine Liste mit den Lieblingsfrüchten eines Freundes und eine weitere Liste von einem anderen Freund. Mit UNION können Sie eine einzige Liste mit eindeutigen Früchten erstellen, indem Sie beide Listen kombinieren
SELECT Obst FROM Freund1_Früchte
UNION
SELECT fruit FROM friend2_fruits;
INTERSECT: INTERSECT ist wie ein Detektivwerkzeug, um gemeinsame Elemente zu finden. Es vergleicht zwei Listen und zeigt Ihnen nur die Elemente an, die in beiden Listen vorkommen. Wenn Sie zwei Datensätze haben und sehen möchten, was sie gemeinsam haben, können Sie INTERSECT verwenden.
Beispiel: Stellen Sie sich vor, Sie haben eine Liste der Bücher, die Ihr Freund gelesen hat, und eine Liste der Bücher, die Sie gelesen haben. INTERSECT hilft Ihnen, die Bücher zu finden, die Sie beide gelesen haben.
SELECT buch FROM ihre_buecher
INTERSECT
SELECT book FROM friend_books;
Diese Operationen sind wie Puzzlestücke, die Ihnen helfen, gemeinsame Elemente in Ihren Daten zu kombinieren oder zu finden.
Erläutern Sie den Unterschied zwischen Cross Join und Natural Join.
Bei einem Natural Join werden zwei Tabellen kombiniert, die etwas gemeinsam haben, z.B. die Namen der Schüler in einer Klassenliste und ihre Testergebnisse in einer anderen Tabelle. Beide Tabellen müssen dieselbe Art von Informationen enthalten (z.B. Namen in beiden Tabellen), um einen Natural Join zu verwenden.
Nehmen wir an, Sie haben zwei Tabellen: “Schüler” und “Testergebnisse”, und Sie möchten einen Natural Join auf der Grundlage des gemeinsamen Attributs “student_id” durchführen
Tabelle: Schüler
Schüler-ID | Name des Schülers | Student Alter |
1 | Alice | 18 |
2 | Bob | 19 |
3 | Charlie | 18 |
Tabelle: TestScores
Schüler-ID | Name des Schülers | Ergebnis |
1 | Mathematik | 95 |
2 | Wissenschaft | 88 |
3 | Mathematik | 91 |
Lassen Sie uns nun einen Natural Join in SQL durchführen:
SELECT * FROM Schüler
NATURAL JOIN TestScores;
Ausgabe:
Schüler ID | Name | Alter | Fach | Punktzahl |
1 | Alice | 18 | Mathematik | 95 |
2 | Bob | 19 | Wissenschaft | 88 |
3 | Charlie | 18 | Mathematik | 91 |
In diesem Beispiel kombiniert der Natural Join die Tabellen “Students” und “TestScores” auf der Grundlage des gemeinsamen Attributs “student_id” Die resultierende Tabelle enthält alle Attribute aus beiden Tabellen, aber nur eine Kopie der Spalte “student_id”, da dies das gemeinsame Attribut ist.
Bei einem Cross Join, der auch als Cartesian Join bezeichnet wird, wird jede Zeile aus einer Tabelle mit jeder Zeile aus einer anderen Tabelle kombiniert. Er basiert nicht auf einer bestimmten Bedingung oder einem gemeinsamen Attribut, sondern kombiniert einfach jede Zeile aus der ersten Tabelle mit jeder Zeile aus der zweiten Tabelle.
Tabelle: Farben
Farbe |
Rot |
Grün |
Blau |
Tabelle: Größen
Größe |
Klein |
Mittel |
Groß |
Lassen Sie uns nun einen Cross Join in SQL durchführen:
SELECT * FROM Farben
CROSS JOIN Größen;
Ausgabe:
Farbe | Größe |
Rot | Klein |
Rot | Mittel |
Rot | Groß |
Grün | Klein |
Grün | Mittel |
Grün | Groß |
Blau | Klein |
Blau | Mittel |
Blau | Groß |
In diesem Beispiel kombiniert der Cross Join jede Farbe aus der Tabelle “Farben” mit jeder Größe aus der Tabelle “Größen”, was zu allen möglichen Kombinationen von Farben und Größen führt. Er berücksichtigt keine spezifische Beziehung oder Bedingung zwischen den beiden Tabellen und unterscheidet sich damit von anderen Arten von Verknüpfungen, die auf übereinstimmenden Kriterien beruhen.
Wie entfernen Sie doppelte Zeilen in SQL?
Bei der Arbeit mit SQL-Datenbanken stoßen Sie möglicherweise auf doppelte Zeilen in Ihren Tabellen. Das kann selbst dann passieren, wenn Sie bewährte Methoden wie die Verwendung von Primärschlüsseln und Indizes befolgen. In diesem Artikel werden verschiedene Methoden zum Entfernen doppelter Zeilen aus einer SQL-Tabelle beschrieben.
- Verwendung von GROUP BY und HAVING-Klausel
- Identifizieren Sie doppelte Zeilen mit Hilfe der GROUP BY-Klausel.
- Verwenden Sie COUNT, um nach doppelten Vorkommen zu suchen.
- Löschen Sie Duplikate, indem Sie jeweils nur eine Instanz behalten.
- Gemeinsame Tabellenausdrücke (CTE) verwenden
- Verwenden Sie die Funktion ROW_NUMBER() in einer CTE.
- Partitionieren Sie Daten auf der Basis bestimmter Spalten.
- Löschen Sie Duplikate, bei denen die Zeilennummer größer als 1 ist.
- Verwendung der RANK-Funktion
- Verwenden Sie RANK() mit der PARTITION BY Klausel.
- Weisen Sie den Zeilen eindeutige IDs zu, unabhängig von Duplikaten.
- Löschen Sie Zeilen mit Rängen größer als 1.
- SSIS-Paket verwenden
- SQL Server Integration Services (SSIS) kann die Entfernung von Duplikaten automatisieren.
- Sortieren Sie Daten mit einem Sortieroperator in SSIS.
- Aktivieren Sie die Option “Zeilen mit doppelten Sortierwerten entfernen”.
- Speichern Sie die bereinigten Daten in einer Zieltabelle.
Bei der Anwendung dieser Methoden auf Produktionsdaten ist Vorsicht geboten. Testen Sie diese Methoden immer in einer sicheren Umgebung, bevor Sie sie auf Live-Daten anwenden.
Welche SQL-Funktionen werden zur Bearbeitung von Großbuchstaben verwendet?
SQL bietet mehrere Funktionen, mit denen Sie die Groß- und Kleinschreibung in Strings manipulieren können. Einige gängige SQL-Funktionen zur Manipulation von Groß- und Kleinschreibung sind:
UPPER(): Diese Funktion wandelt alle Zeichen in einer Zeichenkette in Großbuchstaben um.
SELECT UPPER('Hallo Welt') AS UppercaseResult;
Ausgabe: "HALLO WORLD"
LOWER(): Diese Funktion wandelt alle Zeichen in einer Zeichenkette in Kleinbuchstaben um.
SELECT LOWER('Hallo Welt') AS LowercaseResult;
Ausgabe: "hallo welt"
INITCAP(): Diese Funktion macht den ersten Buchstaben eines jeden Wortes in einer Zeichenkette groß.
SELECT INITCAP('hallo Welt') AS InitCapResult;
Ausgabe: "Hallo Welt"
Diese Funktionen sind nützlich, um Textdaten in SQL-Abfragen und Berichten konsistent und lesbar zu formatieren und darzustellen.
Was ist ein UNIQUE-Schlüssel?
Der Unique Key von SQL stellt sicher, dass eine Tabellenspalte nur unterschiedliche Werte und keine Wiederholungen enthält. Er ist ein bisschen wie ein Primärschlüssel, erlaubt aber einen “leeren” Wert (wie ein Leerzeichen). Das kann praktisch sein, wenn Sie wollen, dass die Dinge weitgehend eindeutig sind, aber nicht super streng. Sie können Unique Keys auch verwenden, um Verbindungen zu anderen Tabellen herzustellen. Und wissen Sie was? Sie können mehr als einen Unique Key für verschiedene Spalten in einer Tabelle gleichzeitig haben.
Was ist ein Fremdschlüssel?
Ein FOREIGN KEY verbindet eine Tabelle mit einer anderen, indem er auf den PRIMARY KEY der zweiten Tabelle verweist. Die erste Tabelle wird als untergeordnete Tabelle bezeichnet, die zweite als übergeordnete Tabelle. Es ist so, als ob die untergeordnete Tabelle sich Informationen von der übergeordneten Tabelle leiht.
Was sind Token?
In SQL sind Token die grundlegenden Einheiten, aus denen sich SQL-Anweisungen zusammensetzen. Dazu gehören Schlüsselwörter (z.B. SELECT), Bezeichner (z.B. Tabellennamen), Literale (z.B. Zahlen), Operatoren (z.B. ), Interpunktion (z.B. Kommas) und Kommentare. Token werden verwendet, um SQL-Abfragen und -Befehle zu strukturieren und zu definieren.
Was ist ein BLOB in MYSQL?
In MySQL ist ein BLOB (Binary Large Object) ein Datentyp zum Speichern von binären Daten wie Bildern oder Dateien. Sie können zum Beispiel eine Tabelle zum Speichern von Bildern mit Spalten für Bildnamen und deren Binärdaten erstellen. So können Sie binäre Daten in Ihre Datenbank einfügen, abrufen und verwalten.
Im Folgenden finden Sie einen vereinfachten Beispielcode für die Erstellung einer MySQL-Tabelle zum Speichern von Bildern unter Verwendung des Datentyps BLOB und das Einfügen eines Bildes in diese Tabelle:
-- Erstellen Sie eine Tabelle zum Speichern von Bildern
CREATE TABLE Bilder (
image_id INT AUTO_INCREMENT PRIMARY KEY,
image_name VARCHAR(255),
image_data BLOB
);
-- Fügen Sie ein Bild in die Tabelle ein
INSERT INTO Bilder (bild_name, bild_daten) VALUES ('beispiel.jpg', 'binary_data_hier');
In diesem Code:
- Wir erstellen eine Tabelle namens “Bilder” mit Spalten für die eindeutige ID des Bildes (image_id), den Namen des Bildes (image_name) und die binären Bilddaten (image_data), die als BLOB gespeichert sind.
- Wir fügen ein Bild mit dem Namen ‘beispiel.jpg’ in die Tabelle “Bilder” ein. In der Praxis würden Sie jedoch ‘binary_data_here’ durch die tatsächlichen Binärdaten des Bildes ersetzen, die mit der Funktion LOAD_FILE() aus einer Datei geladen oder programmatisch bereitgestellt werden können.
Dieser Code demonstriert die grundlegende Struktur für die Erstellung einer BLOB-Spalte in einer MySQL-Tabelle und das Einfügen eines Bildes in diese Spalte.
Erläutern Sie den Unterschied zwischen CHAR und VARCHAR.
Char und Varchar sind Datentypen in SQL, die zum Speichern von Zeichenketten verwendet werden, aber sie haben unterschiedliche Eigenschaften:
Char(n) Datentyp:
- Speichert Zeichenketten mit fester Länge.
- Erfordert eine bestimmte Länge (n) für jeden gespeicherten Wert.
- Verwendet einen statischen Speicherplatz.
- Jedes Zeichen nimmt 1 Byte Speicherplatz in Anspruch.
- Geeignet, wenn die Länge der Zeichenkette bekannt und konsistent ist.
Varchar(n) Datentyp:
- Speichert Zeichenketten mit variabler Länge.
- Erlaubt unterschiedliche Zeichenkettenlängen bis zu einer maximal angegebenen Länge (n).
- Verwendet eine dynamische Speicherzuweisung.
- Erfordert zusätzliche Bytes (in der Regel 2), um Längeninformationen zu speichern.
- Geeignet, wenn die Länge der Zeichenkette variiert.
Unterschiede:
- Char ist für Zeichenketten mit fester Länge, während Varchar für Zeichenketten mit variabler Länge geeignet ist.
- Char verwendet statischen Speicher, während Varchar dynamischen Speicher verwendet.
- Char benötigt 1 Byte pro Zeichen, während Varchar 1 Byte pro Zeichen plus zusätzliche Bytes für die Länge benötigt.
- Char eignet sich für Situationen mit konstanten Zeichenfolgenlängen, während Varchar flexibel für unterschiedliche Längen ist.
Zusammenfassend lässt sich sagen, dass Char wie ein starrer Kasten für Ihre Zeichenketten ist, der immer die gleiche Größe hat, während Varchar wie ein Gummiband ist, das sich je nach Bedarf an unterschiedliche Längen anpasst.
Diskutieren Sie den Unterschied zwischen den Bedingungsoperatoren ‘BETWEEN’ und ‘IN’.
In SQL haben wir zwei praktische Operatoren: BETWEEN und IN. Sie helfen uns, Werte auf unterschiedliche Weise zu vergleichen. Der Operator BETWEEN ist nützlich, wenn wir prüfen wollen, ob ein Wert in einen bestimmten Bereich fällt. Das ist wie die Frage: “Liegt diese Zahl zwischen 5 und 10?”
Der IN-Operator hingegen ist wie eine Checkliste. Wir verwenden ihn, um zu sehen, ob ein Wert auf unserer Liste der akzeptierten Werte steht. Wir können zum Beispiel fragen: “Ist dieser Name in unserer Liste der zugelassenen Namen?” Diese Operatoren sind wie unsere Werkzeuge für die Auswahl von Daten in einer Datenbank. Sie stellen sicher, dass wir die richtigen Informationen erhalten, die in die von uns angegebenen Bereiche fallen oder mit den von uns aufgeführten Werten übereinstimmen.
Erläutern Sie den Unterschied zwischen IN und EXISTS.
In SQL vergleicht der IN-Operator einen Wert mit einer Liste oder Unterabfrage, die typischerweise in der WHERE-Klausel für bekannte Wertemengen verwendet wird. Er hilft zum Beispiel beim Filtern von Produkten nach CategoryID innerhalb einer vordefinierten Liste.
Der EXISTS-Operator hingegen prüft, ob eine Zeile vorhanden ist, die von einer Unterabfrage zurückgegeben wird. Er gibt “true” zurück, wenn die Unterabfrage Zeilen liefert. Damit ist er nützlich, um bestimmte Daten oder Tabellenbeziehungen in komplexen Szenarien zu überprüfen, oft mit korrelierten Unterabfragen.
Kurz gesagt, IN vergleicht Werte mit festen Mengen, während EXISTS das Vorhandensein von Zeilen überprüft, insbesondere in komplizierten Fällen von Unterabfragen und Tabellenbeziehungen.
Besprechen Sie den Unterschied zwischen den Befehlen DROP und TRUNCATE.
DROP löscht die Tabelle vollständig, während TRUNCATE die Tabellenstruktur beibehält, aber die Daten löscht. Hier finden Sie eine tabellarische Darstellung der Unterschiede zwischen den Befehlen DROP und TRUNCATE in SQL:
Aspekt | DROP-Befehl | TRUNCATE Befehl |
Zweck | Entfernt die gesamte Tabelle | Entfernt alle Daten aus der Tabelle |
Auswirkungen auf die Struktur | Löscht sowohl die Daten als auch das Tabellenschema | Behält die Tabellenstruktur bei |
Rollback | Kann nicht zurückgerollt werden | Es kann innerhalb einer Transaktion zurückgesetzt werden |
Geschwindigkeit | Langsamer aufgrund der Tabellenstrukturoperationen | Schneller, da es sich nur um Daten handelt |
Anwendungsszenario | Wenn Sie eine Tabelle komplett löschen wollen | Wenn Sie Daten entfernen, aber die Tabelle für die zukünftige Verwendung behalten wollen |
Beispiel | DROP TABLE Tabellenname; | TRUNCATE TABLE Tabellenname; |
Erläutern Sie den Unterschied zwischen den Anweisungen DELETE und TRUNCATE.
DELETE wird verwendet, um selektiv bestimmte Zeilen unter Berücksichtigung von Bedingungen zu entfernen, während TRUNCATE schnell alle Zeilen entfernt, aber die Tabellenstruktur beibehält. Beide können innerhalb einer Transaktion zurückgesetzt werden, aber TRUNCATE setzt Identitätsspalten zurück, während DELETE sie standardmäßig nicht zurücksetzt. Nachfolgend finden Sie einen kurzen Vergleich zwischen den Anweisungen DELETE und TRUNCATE in SQL:
Aspekt | DELETE-Anweisung | TRUNCATE-Anweisung |
Zweck | Entfernt bestimmte Zeilen aus einer Tabelle auf der Grundlage einer Bedingung. | Die Anweisung kann innerhalb einer Transaktion zurückgenommen werden. |
Rollback | Kann innerhalb einer Transaktion rückgängig gemacht werden. | Entfernt alle Zeilen aus einer Tabelle, behält aber die Tabellenstruktur bei. |
Geschwindigkeit | Langsamer, vor allem bei großen Datensätzen, da die Löschung einzelner Zeilen protokolliert und alle damit verbundenen Trigger ausgelöst werden. | Schneller, da es Datenseiten freigibt, ohne jede gelöschte Zeile zu protokollieren. |
Identität zurücksetzen | Identitätsspalten (Auto-Inkrement) werden nicht standardmäßig zurückgesetzt; Sie müssen sie manuell zurücksetzen. | Setzt Identitätsspalten (auto-increment) auf den Startwert zurück. |
Bedingungen | Ermöglicht die Angabe von Bedingungen zum selektiven Löschen von Zeilen. | Es sind keine Bedingungen möglich; es werden alle Zeilen auf einmal gelöscht. |
Beispiel | DELETE FROM Tabellenname WHERE Bedingung; | TRUNCATE TABLE Tabellenname; |
Erläutern Sie den Unterschied zwischen NOW() und CURRENT_DATE().
Die Funktion NOW() dient dazu, das aktuelle Datum und die Uhrzeit abzurufen und im Format ‘JJJJ-MM_DT HH:MM:SS’ darzustellen. Die Funktion AKTUELLES_DATUM() hingegen holt speziell das Datum des aktuellen Tages im Format ‘JJJJ-MM_DT’ ab. Beide Funktionen werden verwendet, um genaue Angaben zum aktuellen Datum und zur aktuellen Uhrzeit zu machen, und dienen als wertvolle Werkzeuge für zeitbezogene Daten in SQL.
Erläutern Sie den Unterschied zwischen den Funktionen RANK() und DENSE_RANK().
In SQL werden die Funktionen RANK() und DENSE_RANK() für das Ranking von Zeilen innerhalb von Ergebnismengen verwendet. Sie unterscheiden sich jedoch darin, wie sie mit verbundenen oder identischen Werten umgehen. Die Funktion RANK() weist jeder Zeile einen eindeutigen Rang zu. Wenn jedoch mehrere Zeilen die gleichen Werte haben und den gleichen Rang einnehmen, lässt sie Lücken in den Rangwerten.
Wenn beispielsweise zwei Zeilen den Rang 2 haben, wird der nächsten Zeile der Rang 4 zugewiesen. Die Funktion DENSE_RANK() hingegen weist jeder Zeile ebenfalls einen eindeutigen Rang zu, hinterlässt aber keine Lücken, wenn mehrere Zeilen die gleichen Werte und den gleichen Rang haben. Das bedeutet, dass, wenn zwei Zeilen den Rang 2 haben, die nächste Zeile nacheinander den Rang 3 hat.
Die Wahl zwischen RANK() und DENSE_RANK() hängt also davon ab, ob Sie Lücken in den Rangwerten haben wollen oder nicht, wenn Sie mit verbundenen Zeilen in Ihren SQL-Ergebnismengen arbeiten.
Diskutieren Sie den Unterschied zwischen COALESCE() & ISNULL().
COALESCE() ist eine vielseitigere und weithin unterstützte Funktion für die Behandlung von Nullwerten in SQL, während ISNULL() spezifisch für SQL Server ist und einen ähnlichen Zweck erfüllt, aber nur begrenzt portabel ist.
Hauptunterschiede:
- COALESCE() entspricht dem ANSI-Standard für SQL und kann mehrere Ausdrücke verarbeiten, während ISNULL() SQL Server-spezifisch ist und mit nur zwei Argumenten arbeitet.
- COALESCE() gibt den ersten Nicht-Null-Wert aus einer Liste von Ausdrücken zurück, während ISNULL() einen Null-Wert durch einen angegebenen Ersatzwert ersetzt.
- COALESCE() ist besser auf verschiedene Datenbanksysteme übertragbar, während ISNULL() auf SQL Server beschränkt ist.
Erläutern Sie den Unterschied zwischen den Funktionen NVL und NVL2.
In SQL hilft die Funktion NVL() dabei, einen Nullwert in einen tatsächlichen Wert umzuwandeln. Dies kann für verschiedene Datentypen wie Daten, Zeichen und Zahlen nützlich sein, aber es ist wichtig, dass die Datentypen von expr1 und expr2 übereinstimmen. Die Syntax ist einfach: NVL(expr1, expr2), wobei expr1 der Quellwert ist, der null sein könnte, und expr2 der Wert ist, den wir verwenden möchten, um die null zu ersetzen.
In einer Abfrage, die Jahresgehälter berechnet, können wir zum Beispiel NVL() verwenden, um Provisionsprozentsätze zu behandeln. Wenn commission_pct null ist, ersetzen wir es durch 0.
SELECT gehalt, NVL(provision_pct, 0),
(gehalt*12) (gehalt*12*NVL(commission_pct, 0)) AS annual_salary FROM mitarbeiter;
Eine weitere nützliche Funktion ist NVL2(), die den ersten Ausdruck auswertet. Wenn sie nicht null ist, gibt sie den zweiten Ausdruck zurück, andernfalls den dritten Ausdruck. Das Argument expr1 kann einen beliebigen Datentyp haben.
In einer Abfrage, die das Einkommen berechnet, können wir beispielsweise mit NVL2() bestimmen, ob die Provision in die Berechnung einbezogen werden soll.
SELECT letzter_name, gehalt, provisions_pct,
NVL2(commission_pct, 'SAL COMM', 'SAL') AS income FROM employees;
Diese Funktionen sind praktisch für den Umgang mit Nullwerten und die Anpassung der Datenverarbeitung in SQL-Abfragen.
Erläutern Sie den Unterschied zwischen den WHERE- und HAVING-Klauseln.
WHERE filtert einzelne Zeilen anhand von Spaltenwerten, während HAVING gruppierte Ergebnisse anhand von Aggregatfunktionen filtert. Sie dienen unterschiedlichen Zwecken in SQL-Abfragen, wobei WHERE für die Filterung auf Zeilenebene und HAVING für die Filterung auf Gruppenebene verwendet wird.
Hauptunterschiede:
- WHERE wird verwendet, um einzelne Zeilen vor der Gruppierung zu filtern, während HAVING verwendet wird, um Gruppen von Zeilen nach der Gruppierung zu filtern.
- WHERE wird auf die Quelldaten angewendet, während HAVING auf die Ergebnisse von Aggregatfunktionen angewendet wird.
- WHERE wird in der Regel bei SELECT-, UPDATE- und DELETE-Anweisungen verwendet, während HAVING in der Regel bei SELECT-Anweisungen mit GROUP BY verwendet wird.
- WHERE-Bedingungen basieren auf einzelnen Spaltenwerten, während HAVING-Bedingungen Aggregatfunktionen beinhalten.
Wie erstellen Sie leere Tabellen?
Um eine leere Tabelle in SQL zu erstellen, können Sie den Befehl “CREATE TABLE” verwenden. Sie geben den Namen der Tabelle an und definieren die Spalten mit ihren Datentypen. Bei der Erstellung der Tabelle fügen Sie jedoch keine tatsächlichen Daten in die Tabelle ein. Es ist so, als ob Sie eine leere Struktur einrichten, die in der Zukunft Daten aufnehmen soll. Auf diese Weise haben Sie zwar eine fertige Tabelle, aber sie enthält zu Beginn noch keine Informationen.
Können Sie mir die Schritte zur Erstellung einer temporären Tabelle erklären?
Das Erstellen einer temporären Tabelle in SQL ist ganz einfach:
- Schritt 1 – Verbinden: Stellen Sie zunächst sicher, dass Sie mit Ihrer Datenbank verbunden sind.
- Schritt 2 – Definieren Sie die Struktur: Verwenden Sie den Befehl CREATE TABLE, um die Struktur Ihrer temporären Tabelle festzulegen. Geben Sie den Namen, die Spalten und die Datentypen an.
- Schritt 3 – Optionale Daten: Fügen Sie bei Bedarf Daten mit INSERT INTO ein. Dieser Schritt dient dazu, bestimmte Informationen hinzuzufügen.
- Schritt 4 – Nutzen Sie die Tabelle: Jetzt können Sie Ihre temporäre Tabelle in SQL-Abfragen während Ihrer aktuellen Datenbanksitzung verwenden.
- Schritt 5 – Aufräumen (optional): Wenn Sie möchten, können Sie die temporäre Tabelle löschen, wenn Sie sie nicht mehr benötigen. Verwenden Sie dazu DROP TEMPORARY TABLE.
Temporäre Tabellen sind praktisch, um Daten innerhalb Ihrer Datenbanksitzung vorübergehend zu speichern.
Welche Arten von Tabellen werden in MySQL üblicherweise verwendet und wie dienen sie unterschiedlichen Zwecken?
In MySQL gibt es mehrere Arten von Tabellen, die häufig für unterschiedliche Zwecke verwendet werden:
- InnoDB-Tabellen: Sie unterstützen Transaktionen, Fremdschlüssel und Sperren auf Zeilenebene. Dadurch eignet sie sich für Anwendungen, die Datenintegrität erfordern, wie z.B. E-Commerce-Plattformen und Content-Management-Systeme.
- MyISAM-Tabellen: MyISAM ist eine ältere Speicher-Engine, die noch in einigen Szenarien verwendet wird. Sie ist für ihre Einfachheit und Geschwindigkeit bekannt und eignet sich daher für leseintensive Anwendungen wie Blogs oder Foren. Allerdings unterstützt sie keine Transaktionen oder Fremdschlüssel.
- MEMORY-Tabellen: Ideal für die Zwischenspeicherung von Daten oder für temporäre Daten, die nicht persistiert werden müssen. Die Daten gehen jedoch verloren, wenn der Server neu gestartet wird.
- ARCHIV-Tabellen: ARCHIVE-Tabellen werden für die effiziente Speicherung großer Datenmengen verwendet. Sie sind gut geeignet für Anwendungen, die historische oder archivierte Daten benötigen, da sie nur wenig Speicherplatz benötigen. Sie haben jedoch im Vergleich zu anderen Speicher-Engines eine begrenzte Funktionalität.
- CSV-Tabellen: Sie sind nützlich für den Import und Export von Daten im CSV-Format und können für den Datenaustausch zwischen MySQL und anderen Anwendungen verwendet werden.
- Föderierte Tabellen: Föderierte Tabellen ermöglichen Ihnen den Zugriff auf Daten von einem entfernten MySQL-Server. Sie sind praktisch für verteilte Datenbankszenarien oder wenn Sie Daten aus mehreren Quellen in einer Abfrage kombinieren müssen.
Wie können Sie eindeutige Datensätze aus einer Tabelle auswählen?
Um eindeutige Datensätze aus einer Tabelle in SQL zu erhalten, können Sie das Schlüsselwort DISTINCT mit einer SELECT-Anweisung verwenden. Dieses Schlüsselwort sorgt dafür, dass nur unterschiedliche Werte für die ausgewählten Spalten angezeigt werden. Wenn Sie zum Beispiel eine Liste eindeutiger Namen aus der Tabelle “Kunden” anzeigen möchten, schreiben Sie:
SELECT DISTINCT Vorname, Nachname
FROM Kunden;
Diese Abfrage ruft eindeutige Kombinationen von Vor- und Nachnamen aus der Tabelle “Kunden” ab, wobei Duplikate ausgeschlossen werden.
Was sind partitionierte Tabellen?
Partitionierte Tabellen in SQL bedeuten, dass eine große Tabelle auf der Grundlage bestimmter Werte in einer ausgewählten Spalte, dem so genannten Partitionsschlüssel, in kleinere Teile zerlegt wird. Dies hilft bei der Verwaltung großer Datenmengen und beschleunigt Abfragen. Jeder Teil wird als Partition bezeichnet und funktioniert wie eine eigene Mini-Tabelle, so dass die Handhabung und Suche nach Daten erleichtert wird.
Häufig werden Daten auf diese Weise nach Zeit, Zahl oder Ort geordnet. Verschiedene Datenbanken unterstützen die Partitionierung, aber die Details können variieren. So können Sie beispielsweise eine Tabelle “Verkäufe” nach “Bestelldatum” in monatliche Abschnitte unterteilen, was den Umgang mit vielen Verkaufsdaten vereinfacht.
Wie kopiert man Tabellen in SQL?
Um den Inhalt einer Tabelle in SQL zu duplizieren oder zu “klonen”, können Sie verschiedene Methoden verwenden:
- CREATE TABLE … AS SELECT:
Erstellen Sie eine neue Tabelle und kopieren Sie Daten aus einer bestehenden Tabelle:
CREATE TABLE new_table AS SELECT * FROM original_table;
Seien Sie vorsichtig mit großen Tabellen; dies kann langsam und ressourcenintensiv sein. Die neue Tabelle erbt einige Grundlagen, aber keine Indizes oder Einstellungen für das automatische Erhöhen.
- TABELLE ERSTELLEN… ZIEL:
Um die Struktur einer bestehenden Tabelle zu replizieren, verwenden Sie:
CREATE TABLE new_table LIKE original_table;
Dies erzeugt eine neue Tabelle mit der gleichen Struktur, aber ohne Daten.
- INSERT … SELECT:
Um Daten zwischen Tabellen zu kopieren, können Sie folgendes tun:
INSERT INTO new_table SELECT * FROM original_table;
Mit diesen Methoden haben Sie die Kontrolle über das Duplizieren von Tabellen in SQL, denn Sie können wählen, was und wie kopiert werden soll.
Wie löscht man eine Tabelle in SQL?
Um eine Tabelle in SQL zu löschen, können Sie die Anweisung DROP TABLE verwenden, gefolgt von dem Namen der Tabelle, die Sie löschen möchten. Hier ist die grundlegende Syntax:
DROP TABLE tabellen_name;
Ersetzen Sie table_name durch den Namen der Tabelle, die Sie löschen möchten.
Hier ist ein Beispiel:
DROP TABLE Kunden;
In diesem Beispiel würde die Tabelle “Customers” gelöscht werden, und alle darin enthaltenen Daten gingen verloren.
Wie können Sie eine Datenbank in PostgreSQL löschen?
Um eine Datenbank in PostgreSQL zu löschen, können Sie den Befehl DROP DATABASE verwenden. Bei der Ausführung dieses Befehls müssen Sie jedoch vorsichtig sein, da er die gesamte Datenbank und alle damit verbundenen Objekte, einschließlich Tabellen, Ansichten, Funktionen und Daten, dauerhaft löscht.
Wie kann ich den Datentyp einer vorhandenen Spalte in SQL ändern und welche Schritte sind dazu erforderlich?
Um den Datentyp einer vorhandenen Spalte in SQL zu ändern, können Sie eine Reihe von Schritten befolgen. Stellen Sie zunächst eine Verbindung zu Ihrer Datenbank mit Ihrem bevorzugten Datenbankverwaltungsprogramm her. Sobald Sie verbunden sind, prüfen Sie den aktuellen Datentyp der Zielspalte mit Befehlen wie DESCRIBE oder SHOW COLUMNS.
Als nächstes verwenden Sie die Anweisung ALTER TABLE und geben den Tabellennamen, den Spaltennamen und den gewünschten neuen Datentyp an. Nachdem Sie die Änderung vorgenommen haben, überprüfen Sie den Erfolg der Änderung, indem Sie den Datentyp der Spalte noch einmal überprüfen. Je nach dem neuen Datentyp müssen Sie möglicherweise die Daten der Spalte entsprechend aktualisieren, damit sie dem neuen Typ entsprechen.
Schließlich müssen Sie alle Abfragen oder Anwendungen, die diese geänderte Spalte verwenden, gründlich testen, um sicherzustellen, dass sie mit dem angepassten Datentyp korrekt funktionieren. Dieser Prozess sollte mit Sorgfalt und gründlichen Tests durchgeführt werden, um Datenverluste oder unvorhergesehene Probleme zu vermeiden, insbesondere in Produktionsumgebungen.
Was sind SQL-Kommentare?
SQL-Kommentare sind wie Notizen, die Sie in Ihren SQL-Code einfügen können, um Dinge zu erklären oder Informationen bereitzustellen. Diese Kommentare werden nicht ausgeführt, wenn Sie Ihre SQL-Abfragen ausführen. Sie dienen vielmehr dazu, Ihnen und anderen zu helfen, den Code besser zu verstehen.
Es gibt zwei Arten: einzeilige Kommentare, die mit zwei Bindestrichen (–) beginnen, und mehrzeilige Kommentare, die zwischen /* und */ eingeschlossen sind. Einzeilige Kommentare eignen sich hervorragend für kurze Erklärungen, während Sie mit mehrzeiligen Kommentaren längere Notizen schreiben können.
SQL-Kommentare sind praktisch, um Code zu dokumentieren, komplexe Abfragen zu verdeutlichen und Ihren Code für sich selbst und andere Entwickler verständlicher zu machen, insbesondere bei größeren Projekten.
Was sind verschachtelte Trigger?
Verschachtelte Trigger in SQL-Datenbanken sind wie Trigger innerhalb von Triggern. Wenn ein Trigger durch eine Aktion ausgelöst wird und dieser Trigger wiederum die Aktivierung eines anderen Triggers bewirkt, spricht man von einem verschachtelten Trigger.
Wenn z.B. Trigger A durch eine Aktion ausgelöst wird und diese Aktion wiederum Trigger B auslöst, haben Sie eine verschachtelte Trigger-Situation. Diese verschachtelten Trigger können Ihre Datenbankaktionen komplexer und schwieriger zu verwalten machen. Es ist wichtig, bei ihrer Verwendung vorsichtig zu sein und zu verstehen, wie sie zusammenwirken, da sie bei unvorsichtiger Handhabung zu unerwarteten Ergebnissen oder Leistungsproblemen führen können.
Was ist Denormalisierung?
Die Denormalisierung in SQL vereinfacht Datenbanktabellen durch die Einführung von Redundanz. Im Gegensatz zur Normalisierung, bei der die Duplizierung minimiert wird, wird bei der Denormalisierung absichtlich Redundanz hinzugefügt. Dies geschieht, um die Datenabfrage zu beschleunigen, indem die Notwendigkeit komplexer Joins reduziert wird. Dies kann zwar die Abfrageleistung verbessern, kann aber auch zu Dateninkonsistenzen und erhöhtem Speicherbedarf führen. Setzen Sie die Denormalisierung also mit Bedacht ein, um ein Gleichgewicht zwischen Leistung und Datenintegrität herzustellen.
Was ist eine Ansicht?
In SQL ist ein View so etwas wie eine virtuelle Tabelle, die durch eine Abfrage erstellt wird. Es handelt sich nicht um eine echte Tabelle mit Daten, aber sie verhält sich wie eine solche, wenn Sie die Datenbank abfragen. Views haben ein paar praktische Tricks in petto:
- Vereinfachte Abfragen: Sie können Ansichten verwenden, um komplexe Abfragen einfacher zu lesen und zu verwenden.
- Datensicherheit: Sie helfen dabei, Ihre Daten sicher zu halten, indem Sie kontrollieren können, wer was sieht. Sie können die für verschiedene Benutzer sichtbaren Spalten und Zeilen einschränken.
- Datenflexibilität: Selbst wenn Sie die eigentlichen Tabellen ändern, bleiben die Ansichten gleich, solange Sie die gleichen Spaltennamen beibehalten.
- Leistungssteigerung: In einigen Fällen können Ansichten Ihre Abfragen beschleunigen, indem sie einige Berechnungen im Voraus durchführen.
Kurz gesagt: Views sind sozusagen die Art und Weise, wie SQL Ihnen das Leben im Umgang mit Datenbanken erleichtert.
Was ist eine Stored Procedure?
Eine gespeicherte Prozedur ist wie ein vorab gespeicherter Satz von SQL-Befehlen, die Sie immer wieder verwenden können. Anstatt denselben SQL-Code neu zu schreiben, speichern Sie ihn als Stored Procedure und führen ihn bei Bedarf aus.
Das Tolle daran ist, dass Sie ihr einige Werte (Parameter) geben können und die Stored Procedure auf der Grundlage dieser Werte verschiedene Dinge tun kann. Das ist wie ein praktischer SQL-Werkzeugkasten!
Was ist ein Cursor?
In SQL ist ein Cursor so etwas wie eine virtuelle Hand, mit der Sie Daten Zeile für Zeile bearbeiten können. Er hilft Ihnen dabei, eine Liste von Daten durchzuarbeiten und Aktionen für jedes Element einzeln auszuführen. Cursors sind nützlich, wenn Sie eine präzise Kontrolle über Datenoperationen benötigen.
Es gibt zwei Arten: implizite, die automatisch erstellt werden, und explizite, die Sie für komplexere Aufgaben selbst verwalten. Cursors bieten eine feinkörnige Datenmanipulation.
Was ist eine benutzerdefinierte Funktion?
In SQL ist eine benutzerdefinierte Funktion (User-Defined Function, UDF) ein benutzerdefiniertes Werkzeug, das Sie für bestimmte Aufgaben erstellen. Es ist wie Ihr eigenes Mini-Programm in SQL. UDFs nehmen Eingaben entgegen, verarbeiten sie und liefern Ihnen Ergebnisse. Es gibt zwei Arten: Skalare Funktionen (für einzelne Ergebnisse) und tabellenwertige Funktionen (für Datentabellen). Mit UDFs bleibt Ihr SQL-Code übersichtlich und wiederverwendbar.
Was sind Gruppenfunktionen?
In SQL sind Gruppenfunktionen (auch Aggregatfunktionen genannt) spezielle Funktionen, mit denen Sie Operationen auf Gruppen von Zeilen ausführen und für jede Gruppe ein einziges Ergebnis zurückgeben können. Anstatt mit einzelnen Zeilen zu arbeiten, operieren diese Funktionen mit Gruppen von Zeilen und liefern eine Zusammenfassung oder Aggregation der Daten innerhalb jeder Gruppe.
Was sind skalare Funktionen?
Skalare Funktionen in SQL sind wie Miniprogramme, die mit einzelnen Daten arbeiten. Sie nehmen einen Wert, machen etwas damit und geben Ihnen ein Ergebnis. Sie können zum Beispiel Text in Großbuchstaben umwandeln, die Länge eines Wortes ermitteln oder eine Zahl runden. Diese Funktionen sind praktisch für Aufgaben wie die Datenbereinigung, bei der Sie Daten in einer einzelnen Zeile einer Tabelle verändern müssen.
Was sind Zeichenmanipulationsfunktionen?
Zeichenmanipulationsfunktionen in SQL sind eine Gruppe von Funktionen, mit denen Sie verschiedene Operationen mit Zeichen- oder Textdaten durchführen können. Mit diesen Funktionen können Sie Textwerte in Ihren SQL-Abfragen manipulieren und umwandeln.
Wie viele Aggregatfunktionen gibt es in SQL?
Aggregatfunktionen in SQL bieten Einblicke in die Daten innerhalb einer Datenbank. AVG zum Beispiel berechnet den Durchschnittswert einer Spalte in einer Datenbank. Es gibt fünf primäre Aggregatfunktionen: MIN (findet das Minimum), MAX (findet das Maximum), COUNT (zählt die Anzahl der Zeilen), SUM (summiert die Werte) und AVG (berechnet den Durchschnitt). Diese Funktionen bieten wertvolle Datenzusammenfassungen und Einblicke bei der Abfrage von Datenbanken.
Was ist eine eindeutige Einschränkung?
Eine eindeutige Einschränkung in SQL stellt sicher, dass eine bestimmte Spalte oder eine Gruppe von Spalten keine doppelten Werte enthält. Sie ist wie eine Regel, die besagt: “Jeder Wert muss eindeutig sein.” Dies wird häufig für Dinge wie Mitarbeiter-IDs oder E-Mail-Adressen verwendet, um Duplikate zu verhindern und die Datenintegrität zu wahren.
Was ist eine Unterabfrage?
Eine Unterabfrage in SQL ist wie eine Abfrage innerhalb einer Abfrage. Sie hilft Ihnen, spezifische Fragen innerhalb einer größeren Frage zu stellen. Diese verschachtelte Abfrage wird verwendet, um Daten auf strukturierte Weise zu filtern oder zu berechnen.
Was ist ein SQL-Server?
Ein SQL-Server ist eine Softwareanwendung, die Datenbanken verwaltet und speichert. Er ist eine Art leistungsstarker Bibliothekar für Daten. SQL-Server sind darauf ausgelegt, Aufgaben wie das Speichern, Abrufen und Organisieren von Informationen effizient zu erledigen.
Sie verwenden die SQL-Sprache, um mit Datenbanken zu kommunizieren, so dass Benutzer und Anwendungen problemlos mit den gespeicherten Daten interagieren können. SQL-Server werden in vielen Branchen eingesetzt, um wertvolle Informationen zu verwalten und zu sichern.
Wie startet man einen SQL Server?
Der Start von SQL Server hängt von Ihrem Betriebssystem und Ihren Einstellungen ab. Unter Windows können Sie einfach auf die Schaltfläche Start klicken, nach “SQL Server” suchen und ihn öffnen. Alternativ drücken Sie “Windows R”, geben “services.msc” ein, suchen den SQL Server in der Liste, klicken ihn mit der rechten Maustaste an und wählen “Starten”
Wenn Sie einen organisierteren Ansatz bevorzugen, können Sie den SQL Server Configuration Manager verwenden, um SQL Server-Instanzen zu verwalten und zu starten. Für SQL Server Express, eine abgespeckte Version, können Sie die Eingabeaufforderung öffnen, zu seinem Installationsordner navigieren und “sqlservr.exe” ausführen, um ihn zu starten.
Wie stellt man die Datenbank in SQL Server wieder her?
Bei der Wiederherstellung einer Datenbank werden die Daten aus einem Backup übernommen und alle protokollierten Transaktionen darauf angewendet. Im Wesentlichen geht es darum, eine Sicherungsdatei wieder in eine brauchbare Datenbank zu verwandeln.
Sie können eine Datenbankwiederherstellung mit zwei Methoden durchführen:
Methode 1 – T-SQL: Bei dieser Methode verwenden Sie SQL-Befehle, um eine Datenbank wiederherzustellen. Hier ist ein Beispiel:
Datenbank TestDB von Datenträger = 'D:\TestDB_Full.bak' mit replace wiederherstellen
In diesem Befehl ist “TestDB” der Name der Datenbank, die Sie wiederherstellen möchten, und ‘D:\TestDB_Full.bak’ ist der Speicherort der Sicherungsdatei. Wenn Sie eine neue Datenbank erstellen oder neue Daten- und Protokolldateipfade angeben müssen, können Sie die Option “MOVE” wie folgt verwenden:
RESTORE DATABASE TestDB FROM DISK = 'D:\TestDB_Full.bak'
WITH MOVE 'TestDB' TO 'D:\Data\TestDB.mdf',
MOVE 'TestDB_Log' TO 'D:\Data\TestDB_Log.ldf'
Methode 2 – SSMS (SQL Server Management Studio): Bei dieser Methode verwenden Sie SQL Server Management Studio (SSMS) für den Wiederherstellungsprozess:
- Verbinden Sie sich mit Ihrer Datenbankinstanz in SSMS.
- Klicken Sie mit der rechten Maustaste auf den Ordner “Databases”.
- Wählen Sie “Datenbank wiederherstellen”
- Wählen Sie die Sicherungsdatei und konfigurieren Sie die Optionen.
- Klicken Sie auf “OK”, um den Wiederherstellungsprozess zu starten.
Mit diesen Methoden können Sie eine Datenbank aus einer Sicherung effizient wiederherstellen.
Was ist ein Schema in SQL Server?
In SQL Server ist ein Schema eine Art virtueller Ordner, in dem verschiedene Arten von Informationen wie Tabellen und Funktionen gespeichert werden. Es hilft dabei, die Dinge zu organisieren, zu verwalten, wer auf was zugreifen kann, und Namenskonflikte zu vermeiden. Sie können z.B. einen Ordner “Vertrieb” für alle vertriebsbezogenen Daten und einen Ordner “HR” für personalbezogene Daten haben. Auf diese Weise können Sie Ihre Datenbankwelt aufräumen und kontrollieren.
Was sind Datenbank-Blackbox-Tests?
Datenbank-Blackbox-Tests sind so, als würden Sie einen Automaten testen, ohne zu wissen, wie er im Inneren aufgebaut ist. Die Tester interagieren mit der Datenbank, ohne einen Blick in ihr Innenleben zu werfen. Sie konzentrieren sich darauf zu überprüfen, ob die Datenbank das tut, was sie tun soll, z.B. die richtigen Antworten auf Fragen geben.
Die Tester müssen nicht wissen, wie die Datenbank aufgebaut ist. Sie stellen lediglich sicher, dass sie korrekt funktioniert, die Daten sicher aufbewahrt und verschiedene Situationen wie Fehler oder Sicherheitsüberprüfungen bewältigt. Auf diese Weise können sie sicherstellen, dass die Datenbank von außen betrachtet so funktioniert, wie ein Benutzer es erwarten würde.
Was ist Datenintegrität?
Datenintegrität in Datenbanken bedeutet, dass die Daten korrekt, vollständig und sicher sind. Sie stellt sicher, dass die Informationen korrekt sind, nicht fehlen und in der gesamten Datenbank konsistent sind. Zuverlässige Daten sind frei von Fehlern und sicher vor unbefugten Änderungen. Sie folgen den Regeln und bleiben geschützt. Auch die Pflege von Beziehungen zwischen Daten ist wichtig.
Die Verfolgung von Datenänderungen ist Teil der Datenintegrität. Sie ist entscheidend, um gute Entscheidungen zu treffen und Vertrauen aufzubauen. Probleme mit der Datenintegrität können zu Fehlern und Sicherheitsproblemen in Unternehmen führen.
Was ist ein Grant-Befehl?
In SQL wird der Befehl GRANT verwendet, um Datenbankbenutzern oder -rollen bestimmte Privilegien oder Berechtigungen zu erteilen. Diese Privilegien können die Fähigkeit beinhalten, verschiedene Aktionen auf Datenbankobjekten wie Tabellen, Ansichten oder Prozeduren durchzuführen. Mit dem GRANT-Befehl können Administratoren steuern, wer auf bestimmte Teile einer Datenbank zugreifen, sie ändern oder verwalten darf.
Mit dem GRANT-Befehl können Sie beispielsweise einem Benutzer die Berechtigung erteilen, Daten aus einer Tabelle auszuwählen, Datensätze zu aktualisieren oder sogar neue Tabellen zu erstellen. Auf diese Weise können Sie den Grad des Zugriffs und der Kontrolle festlegen, den verschiedene Benutzer oder Rollen innerhalb eines Datenbanksystems haben.
Der GRANT-Befehl trägt im Wesentlichen dazu bei, dass Benutzer nur die Aktionen ausführen können, zu denen sie berechtigt sind, was ein grundlegender Aspekt der Datenbanksicherheit und Zugriffskontrolle ist.
Was ist COMMIT?
In SQL ist COMMIT so etwas wie das Speichern von Änderungen in einer Datenbank. Im Gegensatz zu ROLLBACK, das die Änderungen rückgängig macht, werden sie damit dauerhaft gespeichert.
Diskutieren Sie die Unterschiede zwischen Commit und Checkpoint.
Ein COMMIT schließt die aktuelle Transaktion in der aktuellen Sitzung ab und gewährleistet die Konsistenz der in dieser Transaktion geänderten Daten. Ein Checkpoint hingegen schreibt alle übertragenen Änderungen bis zu einer bestimmten SCN (System Change Number), die in der Steuerdatei und den Headern der Datendatei gespeichert ist, auf die Festplatte und gewährleistet so die allgemeine Konsistenz der Datenbank.
Fazit
Ich hoffe, dass diese SQL-Interview-Fragen Ihnen einen guten Eindruck davon vermitteln, was Sie bei einem Interview erwarten können. Um ein SQL-Interview zu bestehen, müssen Sie sich intensiver mit der SQL-Umgebung auseinandersetzen; dies können Sie erreichen, indem Sie sich eingehend mit SQL beschäftigen. Um die wichtigsten SQL-Prinzipien einschätzen zu können, müssen Sie auch die SQL-Abfrage-Interviewfragen üben und weiter lesen.
Wenn Sie eine Erläuterung zu SQL-Abfragen suchen, besuchen Sie den SQL-Spickzettel, um mehr über SQL-Anweisungen zu erfahren.
Um praktische Erfahrungen bei der Ausführung von SQL-Abfragen zu sammeln, sehen Sie sich diese SQL-Übungsplattformen an.