23rd Jun 2022 8 Leseminuten Grundlegende SQL-Begriffe für Einsteiger und Profis Aldo Zelen SQL-Grundlagen Inhaltsverzeichnis Datenbank-Grundlagen Datenbank-Management-Systeme Datenbank-Transaktionen Datenbankdateien Datenbank-Instanz Datenbankserver und Client Strukturierte Abfragesprache, die Sprache der Datenbanken Schlüsselwörter Datendefinitionssprache und Datenmanipulationssprache Anweisungen und Abfragen Klauseln, Prädikate und Ausdrücke Funktionen und Prozeduren Schlussfolgerung Die Arbeit mit Datenbanken kann für einen Nichttechniker entmutigend wirken. Sofort wird man mit neuen Begriffen bombardiert, die einem den Kopf verdrehen. Datenbank, Datenbankinstanz, Tabelle, SQL und andere sind einige der grundlegenden Begriffe, die Sie verstehen müssen, um eine normale Unterhaltung mit Ihren technischen Kollegen zu führen. In diesem Artikel werden wir einige grundlegende SQL-Datenbankbegriffe untersuchen, die Sie kennen müssen, um erfolgreich zu sein. Stellen Sie sich vor, Sie nehmen an einer Besprechung mit den Entwicklungsmitarbeitern teil und haben plötzlich das Gefühl, weißem Rauschen zuzuhören. Sie wissen, was eine "Datei" ist, aber all die anderen Begriffe, die Ihre Kollegen Ihnen entgegenschleudern, sind unverständlich. Keine Sorge - wir haben alles im Griff. Stellen Sie sich zunächst ein großes Bürogebäude vor, in dem es von Aktivitäten wimmelt. Nehmen wir an, es gehört einem fiktiven Unternehmen namens SQL Inc. Das Gebäude dieses Unternehmens hat eine Standardarchitektur mit Türen, Fenstern, Aufzügen usw. Das Gebäude mit all seinem Unternehmensleben soll als Analogie für eine Datenbank dienen, um die Erklärung der SQL-Terminologie zu vereinfachen. Datenbank-Grundlagen Datenbank-Management-Systeme Beginnen wir mit der grundlegenden SQL-Terminologie. SQL Inc. hat viele Gebäude (Datenbanken) desselben Typs, die über den ganzen Globus verstreut sind. Und wenn Sie eines dieser Gebäude sehen, wissen Sie, dass es von SQL Inc. verwaltet wird. Das Gleiche gilt für Datenbankmanagementsysteme (DBMS). Wie der Name schon sagt, verwalten diese Systeme Datenbanken! Es gibt viele davon, und sie reichen von großen Marktteilnehmern wie Oracle, Microsoft SQL Server und IBM DB2 bis hin zu anderen wie MySQL, PostgreSQL und so weiter. Die größten DBMS werden vor allem von großen Unternehmen eingesetzt, die den Support und die Funktionen benötigen, die Tools der Enterprise-Klasse bieten. Die anderen werden in kleineren Firmen und Open-Source-Projekten eingesetzt. Datenbank-Transaktionen Es gibt viele SQL-Begriffe im Zusammenhang mit Datenbanken. Ein weiterer davon ist eine Datenbanktransaktion. Einfach ausgedrückt, besteht die Aufgabe einer Datenbank darin, Daten zu erstellen, zu lesen, zu aktualisieren und zu löschen. In unserem SQL Inc.-Gebäude ist dies vergleichbar mit der Verwaltung von Geschäftspapieren, die man ausfüllt, liest, korrigiert und verwirft. So wie es genau eine relevante Version eines bestimmten Dokuments in der Organisation gibt, gibt es auch nur eine relevante und wahrheitsgemäße Version von Daten in einer Datenbank (z. B. dass es nur eine Version eines Mitarbeiter-Manifests gibt, das innerhalb eines SQL Inc.-Gebäudes viele Male repliziert wird). Datenbanken stellen über Transaktionen sicher, dass es nur eine relevante Version von Daten gibt. Wenn in unserem Gebäude der Strom ausfällt, wird die gesamte Arbeit in Papierform gespeichert. Wenn in einer funktionierenden Datenbank der Strom ausfällt, sorgt das Transaktionsmodell der Datenbank dafür, dass die Datenbank nach dem Wiedereinschalten zu einem früheren stabilen Zustand zurückkehren kann. Datenbankdateien Am Ende eines anstrengenden Arbeitstages gehen alle nach Hause, und unser Gebäude bleibt leer. Aber die Arbeit, die die Mitarbeiter im Laufe des Tages geleistet haben, geht nicht verloren - sie wird an verschiedenen Stellen im Gebäude archiviert. Das Gleiche gilt für unsere Datenbank. Wenn wir unsere Datenbank offline nehmen, ein Begriff, den wir für das regelmäßige Ausschalten des Systems verwenden, sind die Daten in unseren Datenbankdateien immer noch gesichert. Datenbank-Instanz Unsere Mitarbeiter sind tagsüber mit dem Ändern und Erstellen von Dokumenten beschäftigt. Ihr Arbeitsablauf ist fließend und aktiv; viele Mitarbeiter erledigen im Laufe des Tages verschiedene Aufgaben. Dieser Arbeitsablauf ist nur während der Arbeitszeit "lebendig", und er ist der einzige Prozess, der die in unserem Gebäude gespeicherten Dokumente ändern kann. In ähnlicher Weise bildet die Sammlung der Prozesse, die die Dateien in einer Datenbank verwalten, und damit die Datenbank selbst, eine Datenbankinstanz. Technisch gesehen ist eine Datenbankinstanz eine Sammlung von Prozessen und temporären Speicherstrukturen, die die Arbeit des Datenbanksystems ermöglichen. Datenbankserver und Client Ein Gebäude der SQL Inc. konsolidiert seine Dateien und sendet sie zur Einsichtnahme an Personen außerhalb der Gebäudeorganisation. Verschiedene externe Parteien, Unternehmen und andere Einrichtungen erhalten Papierdateien von unserem Gebäude. Auf diese Weise interagiert unser Gebäude mit der externen Geschäftswelt. In ähnlicher Weise hat eine Datenbank einen Server, der mit dem externen Client kommuniziert. In der Regel haben wir einen Datenbankserver (ein Gebäude der SQL Inc.) an einem bestimmten Standort und viele Datenbank-Clients, die externen Parteien, die auf verschiedene Weise mit der Datenbank interagieren. Der Client kann die Daten in der Datenbank manipulieren, indem er mit dem Server kommuniziert, was er in der Regel auch tut. Sie müssen bedenken, dass SQL Inc. viele Gebäude auf der ganzen Welt hat, und analog dazu hat ein Datenbankanbieter auch viele Datenbanken (mit Servern und Clients). Um die SQL-Datenbankterminologie besser zu verstehen, lesen Sie mehr über Datenbankserver und Datenbankclient hier. Strukturierte Abfragesprache, die Sprache der Datenbanken Kommen wir nun zum Kern der SQL-Terminologie. Die Unternehmenskommunikation muss direkt und unmissverständlich sein. Sie hat ihre eigenen Regeln - man könnte sie sogar eine Sprache nennen! Der Unternehmensbereich kommuniziert mit der Außenwelt in dieser Geschäftssprache. Die Sprache, die wir zur Kommunikation mit einer Datenbank verwenden, heißt SQL, was für Structured Query Language steht. Diese Sprache ist viel einfacher als Englisch. Die Datenbank weiß genau, was sie mit den Daten tun muss, wenn sie einen Befehl in SQL erhält, so wie unsere Abteilung weiß, was sie tun muss, wenn sie ihre Befehle von der zentralen Leitung erhält. Schlüsselwörter Die Geschäftssprache einer Organisation folgt bestimmten gemeinsamen Regeln oder Standards. So gibt es auch in SQL eine Reihe von reservierten Wörtern. Diese Wörter müssen auf eine bestimmte Art und Weise verwendet werden; sie können nicht zur Bezeichnung von Objekten in der Datenbank verwendet werden. Wir nennen diese Wörter Schlüsselwörter. Beispiele für SQL-Schlüsselwörter sind CREATE, INSERT, GRANT, UPDATE, DELETE, SELECT, usw. Datendefinitionssprache und Datenmanipulationssprache Wenn die zentrale Abteilung einen neuen Dateityp als Vorlage implementieren muss, sendet sie diese Vorlage an alle Unternehmensbereiche. Wenn wir die Struktur neuer Datenbankobjekte (z. B. einer neuen Tabelle) definieren müssen, geben wir eine DDL-Anweisung (Data Definition Language) aus. Um die Vorlagen mit echten Unternehmensdaten zu füllen, sendet die zentrale Abteilung einen neuen Satz von Aufträgen. Dieser Prozess der Änderung von Daten in Tabellenkalkulationen ist eine Teilmenge von SQL, die DML (Data Manipulation Language) genannt wird. Unsere Datenbankdaten werden in tabellarischer Form dargestellt. Wir sehen unsere Datenbankdaten als Tabellen mit Zeilen und Spalten. Die Tabellen repräsentieren bestimmte Einheiten, wie sales, in unserem Gebäude. Diese sales haben bestimmte Attribute, wie z. B. Verkaufsdatum, Betrag und Verkaufsnummer. Diese Attribute stellen die Spalten unserer Tabellen dar, während die Zeilen verschiedene Verkäufe repräsentieren. In einer Datenbank kann es viele verschiedene Tabellen geben, die in einer Beziehung zueinander stehen, wie sales und items_sold. Diese Beziehung ist der Grund, warum herkömmliche Datenbanken als relationale Datenbanken bezeichnet werden. Schauen wir uns ein Beispiel an. Mit einer DDL-Anweisung erstellen wir eine Verkaufstabelle: CREATE TABLE sales ( id NUMBER, amount NUMBER, sales_date DATE ); Wir füllen die Tabelle mit Hilfe von DML mit einigen Verkäufen: INSERT INTO TABLE sales (id, amount, sales_date) VALUES (1,100,’2018-01-10); INSERT INTO TABLE sales (id, amount, sales_date) VALUES (2,500,’2018-02-10); INSERT INTO TABLE sales (id, amount, sales_date) VALUES (3,250,’2018-03-10); Um diese Daten aus der Tabelle abzurufen, stellen wir eine SELECT -Abfrage (Teil der DML): SELECT id, amount, sales_date; Anweisungen und Abfragen Weitere SQL-Begriffe, die Sie kennen sollten? Sie fragen sich wahrscheinlich, warum einige Anweisungen an Datenbanken als Anweisungen und andere als Abfragen bezeichnet werden. Das ist ganz einfach. Eine Abfrage fordert eine Datenbank auf, Daten in irgendeiner Form zurückzugeben. Diese Abfrage von Daten ist in der Regel die wichtigste Arbeit, die eine Datenbank für einen Benutzer leistet. Eine Anweisung hingegen ist ein allgemeiner Befehl an die Datenbank. Dazu gehören das Erstellen und Löschen von Tabellen, das Einfügen und Löschen von Daten usw. Daraus lässt sich schließen, dass alle Abfragen Anweisungen sind und nicht alle Anweisungen Abfragen sind. Klauseln, Prädikate und Ausdrücke Betrachten wir unser obiges Beispiel mit den SELECT Anweisungen. Wenn wir nur die Verkäufe vom10. Januar sehen möchten, würden wir unsere Abfrage wie folgt erweitern: SELECT id, amount, date_time WHERE date_time = ‘2018-01-10’; Der Teil WHERE unserer Anweisung stellt eine optionale SQL-Klausel dar. SQL-Anweisungen sind aus optionalen und obligatorischen Klauseln aufgebaut, genau wie die Sätze der englischen Sprache. Klauseln sind Schlüsselwörter in SQL, die es Ihnen ermöglichen, eine bestimmte Aktion auf der Grundlage einer Bedingung anzufordern, die erfüllt sein muss. In unserer WHERE Klausel sind diese Bedingungen Fragen, die wir der Datenbank stellen. Zum Beispiel: Ist das Verkaufsdatum der10. Januar? Diese Frage ist entweder wahr oder falsch. Wir nennen diese Frage (Bedingung) ein Prädikat. Die Art der Frage, die wir stellen, ist ein Ausdruck. In unserem Beispiel ist das Prädikat vom Typ Gleichheit, da wir fragen, ob das Datum einem bestimmten Wert entspricht. Wenn wir stattdessen nach allen Daten nach dem10. Januar fragen würden, hätten wir einen Vergleichsausdruck als Prädikat in der WHERE Klausel in der Abfrage. Funktionen und Prozeduren Die letzten wichtigen SQL-Begriffe auf unserer Liste sind Funktionen und Prozeduren. Nehmen wir an, die Geschäftsleitung von SQL Inc. weist den Mitarbeitern unseres Gebäudes eine sich wiederholende Aufgabe zu. Zum Beispiel: Nehmen Sie diesen Bericht; lege ihn in einem anderen Gebäude ab; und sagen Sie mir, wie lange Sie dafür gebraucht haben. Es wäre effizienter, wenn die Geschäftsleitung die Abteilung einfach anweisen würde, diesen Vorgang mit einem einzigen Befehl auszuführen. In Datenbanken werden Prozesse, die beliebig oft wiederholt werden können, als Funktionen oder Prozeduren bezeichnet. Funktionen geben immer ein Ergebnis ihrer Ausführung zurück. In unserem Beispiel gibt die Funktion file_report die Zeit zurück, die sie für die Ausführung dieser Aufgabe benötigt hat. Im Gegensatz dazu geben Prozeduren keinen Wert zurück - sie tun einfach, was ihnen gesagt wird. Schlussfolgerung Dieser Artikel bot einen kurzen Überblick über die in der Datenbankwelt am häufigsten verwendeten SQL-Begriffe. Wir haben die Grundlagen der Datenbankarchitektur, Dateien, Datenbankinstanzen, Transaktionen und die Client-Server-Kommunikation behandelt. SQL ist außerdem eine sehr leistungsfähige und umfassende Sprache, die wir für die Kommunikation mit Datenbanken verwenden. Wir haben auch die wichtigsten SQL-Begriffe zu Themen wie DML, DDL, Anweisungen, Schlüsselwörter, Abfragen und Klauseln behandelt. Natürlich ist die Kenntnis der SQL-Datenbankterminologie nur die halbe Miete. Die andere Hälfte ist ihre Anwendung. Als Programmiersprache der vierten Generation ist SQL unglaublich einfach zu erlernen und macht Spaß. Egal, ob Sie gerade erst anfangen oder bereits über Grundkenntnisse verfügen, eine hervorragende Möglichkeit, SQL zu lernen, ist unser vollständig interaktiver SQL für Anfänger Kurs auf der Plattform LearnSQL.de. Probieren Sie es aus! Tags: SQL-Grundlagen