Schweitzer Fachinformationen
Wenn es um professionelles Wissen geht, ist Schweitzer Fachinformationen wegweisend. Kunden aus Recht und Beratung sowie Unternehmen, öffentliche Verwaltungen und Bibliotheken erhalten komplette Lösungen zum Beschaffen, Verwalten und Nutzen von digitalen und gedruckten Medien.
Dieses kurze Kapitel bietet Ihnen einen schnellen Einstieg in die grundlegende SQL-Terminologie und die SQL-Konzepte.
Beginnen wir ganz von vorn. Eine Datenbank ist ein Ort, an dem man auf organisierte Art und Weise Daten ablegen kann. Es gibt viele Möglichkeiten, Daten zu organisieren, und entsprechend gibt es viele Datenbanken, unter denen man wählen kann. Die zwei Kategorien, in die Datenbanken fallen, nennen sich SQL und NoSQL.
SQL ist die Abkürzung für Structured Query Language (strukturierte Abfragesprache). Stellen Sie sich vor, Sie hätten eine App, die sich die Geburtstage all Ihrer Freunde merkt. Mit sehr hoher Wahrscheinlichkeit würden Sie SQL verwenden, um mit dieser App zu reden.
Deutsch: »Hallo App. Wann ist der Geburtstag meines Mannes?«
SQL: SELECT * FROM birthdays
WHERE person = 'husband';
SQL-Datenbanken werden oft als relationale Datenbanken bezeichnet, weil sie aus Relationen bestehen, die üblicherweise Tabellen genannt werden. Viele Tabellen, die miteinander verbunden sind, bilden eine Datenbank. Abbildung 1-1 zeigt das Bild einer Relation in einer SQL-Datenbank.
Abbildung 1-1: Eine Relation (auch bekannt als Tabelle) in einer SQL-Datenbank
Das Wichtigste, das man über SQL-Datenbanken wissen sollte, ist, dass sie vordefinierte Schemata erfordern. Stellen Sie sich ein Schema als die Art vor, in der die Daten in einer Datenbank organisiert oder strukturiert sind. Nehmen wir einmal an, Sie wollten eine Tabelle anlegen. Bevor Sie Daten in die Tabelle laden, muss die Struktur der Tabelle festgelegt werden, darunter solche Dinge wie die Spalten der Tabelle, ob diese Spalten Integer- oder Dezimalwerte enthalten usw.
Irgendwann jedoch kommt der Zeitpunkt, an dem sich die Daten nicht mehr auf diese strukturierte Weise organisieren lassen. Ihre Daten haben vielleicht unterschiedliche Felder. Oder möglicherweise brauchen Sie eine effektivere Methode, um eine große Menge an Daten zu speichern und abzurufen. Hier kommt NoSQL ins Spiel.
NoSQL steht für Not only SQL (nicht nur SQL). Ich werde in diesem Buch nicht näher darauf eingehen, wollte es aber erwähnen, da der Begriff seit den 2010er-Jahren an Popularität gewonnen hat und es wichtig ist, zu verstehen, dass es auch noch andere Wege gibt, um Daten zu speichern, als nur Tabellen.
NoSQL-Datenbanken werden oft als nicht relationale Datenbanken bezeichnet, und es gibt sie in allen Formen und Größen. Ihre wichtigsten Merkmale bestehen darin, dass sie dynamische Schemata haben (das heißt, ihre Schemata müssen nicht im Vorhinein starr festgelegt werden) und dass sie eine horizontale Skalierung erlauben (was bedeutet, dass die Daten sich über mehrere Rechner ausbreiten können).
Die beliebteste NoSQL-Datenbank ist MongoDB, die zu den dokumentenorientierten Datenbanken gehört. Abbildung 1-2 zeigt, wie Daten in MongoDB gespeichert werden. Sie werden bemerken, dass die Daten nicht mehr in einer strukturierten Tabelle vorliegen und die Anzahl der Felder (vergleichbar einer Spalte) für die einzelnen Dokumente (vergleichbar einer Zeile) variiert.
Abbildung 1-2: Eine Collection (eine Variante einer Tabelle) in MongoDB, einer NoSQL-Datenbank
Wie gesagt, der Schwerpunkt dieses Buchs liegt auf SQL-Datenbanken. Selbst mit der Einführung von NoSQL speichern die meisten Unternehmen die Mehrzahl ihrer Daten in Tabellen relationaler Datenbanken.
Sie haben vermutlich schon Begriffe wie PostgreSQL oder SQLite gehört und fragen sich vielleicht, worin diese sich von SQL unterscheiden. Es gibt zwei Typen von Datenbankmanagementsystemen (DBMS), also von Software, die benutzt wird, um mit einer Datenbank zu arbeiten.
Dazu gehören Dinge wie das Festlegen, wie Daten importiert und organisiert werden, aber auch Dinge wie die Handhabung des Zugriffs von Benutzern oder Programmen auf die Daten. Ein relationales Datenbankmanagementsystem (RDBMS) ist eine Software, die speziell für relationale Datenbanken oder Datenbanken, die aus Tabellen bestehen, gedacht ist.
Jedes RDBMS hat eine andere Implementierung von SQL, das heißt, die Syntax variiert leicht von Software zu Software. So würden Sie zum Beispiel in fünf unterschiedlichen RDBMS zehn Zeilen mit Daten ausgeben:
MySQL, PostgreSQL und SQLite
SELECT * FROM birthdays LIMIT 10;
Microsoft SQL Server
SELECT TOP 10 * FROM birthdays;
Oracle Database
SELECT * FROM birthdays WHERE ROWNUM <= 10;
SQL-Syntax mit Google suchen
Wenn Sie online nach SQL-Syntax suchen, sollten Sie immer das RDBMS, mit dem Sie arbeiten, in die Suche aufnehmen. Als ich SQL lernte, konnte ich beim besten Willen nicht herausfinden, weshalb mein aus dem Internet kopierter Code nicht funktionierte. Und genau das war der Grund!
Machen Sie dies.
Suche: create table datetime postgresql
Ergebnis: timestamp
Suche: create table datetime microsoft sql server
Ergebnis: datetime
Nicht das.
Suche: create table datetime
Ergebnis: Syntax könnte für irgendein RDBMS gelten.
Dieses Buch behandelt die SQL-Grundlagen zusammen mit den Nuancen von fünf beliebten Datenbankmanagementsystemen: Microsoft SQL Server, MySQL, Oracle Database, PostgreSQL und SQLite.
Manche sind proprietär, das heißt, sie gehören einem Unternehmen, und man muss Geld bezahlen, wenn man sie benutzen möchte. Andere sind Open Source, dürfen also kostenlos von allen verwendet werden. Tabelle 1-1 stellt die Unterschiede zwischen den einzelnen RDBMS dar.
Tabelle 1-1: Relationale Datenbankmanagementsysteme im Vergleich
RDBMS
Besitzer
Besondere Merkmale
Microsoft
Beliebtes proprietäres RDBMS.
Wird oft zusammen mit anderen Microsoft-Produkten verwendet, einschließlich Microsoft Azure dem .NET Framework.
Auf Windows-Plattformen verbreitet.
Wird auch als MSSQL oder SQL Server bezeichnet.
MySQL
Open Source
Beliebtes Open-Source-RDBMS.
Wird oft zusammen mit Webprogrammiersprachen wie HTML/CSS/JavaScript eingesetzt.
Wurde von Oracle gekauft, ist aber weiterhin Open Source.
Oracle
Wird aufgrund seiner vielen verfügbaren Funktionen, Werkzeuge und Supportmöglichkeiten häufig in großen Unternehmen eingesetzt.
Wird oft einfach als Oracle bezeichnet.
PostgreSQL
Nimmt schnell an Popularität zu.
Wird oft zusammen mit Open-Source-Technologien wie Docker und Kubernetes eingesetzt.
Effizient und hervorragend für große Datenmengen geeignet.
SQLite
Die weltweit am häufigsten eingesetzte Datenbank-Engine.
Verbreitet auf iOS- und Android-Plattformen.
Leichtgewichtig und hervorragend für eine kleine Datenbank geeignet.
Ab sofort in diesem Buch:
Installationsanweisungen und...
Dateiformat: ePUBKopierschutz: Wasserzeichen-DRM (Digital Rights Management)
Systemvoraussetzungen:
Das Dateiformat ePUB ist sehr gut für Romane und Sachbücher geeignet - also für „fließenden” Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Mit Wasserzeichen-DRM wird hier ein „weicher” Kopierschutz verwendet. Daher ist technisch zwar alles möglich – sogar eine unzulässige Weitergabe. Aber an sichtbaren und unsichtbaren Stellen wird der Käufer des E-Books als Wasserzeichen hinterlegt, sodass im Falle eines Missbrauchs die Spur zurückverfolgt werden kann.
Weitere Informationen finden Sie in unserer E-Book Hilfe.