Für blutige Anfänger | Was Du über Datenbanken wissen solltest

Für wen ist dieser Abschnitt gedacht?

Das Ziel dieses Teils des Tutorials ist, Dir zu erklären, was eine Datenbank ist und wo Du sie im Alltag findest. Kurz: Dir ein Grundverständnis von Datenbanken an die Hand zu geben.

Was ist eine Datenbank?

Eine Datenbank ist ein System, in dem man Daten speichern, abrufen und verändern kann. Eine Datenbank besteht meistens aus mehr als einer Tabelle, in der Datensätze, auch Tupel genannt, gespeichert werden.

Streng genommen besteht eine Datenbank jedoch aus zwei Teilen: Der Datenbank selbst, bestehend aus den vorhandenen Daten, in der Fachsprache kurz DB genannt, und einem Datenbankmanagementsystem, kurz DBMS, welches die Kommunikation zwischen dem Benutzer und der Datenbank übernimmt. Zudem sortiert es neue Daten ein, verändert vorhandene und zeigt die gewünschten Daten an.

Was für Datenbanktypen gibt es?

Für verschiedene Zwecke werden verschiedene Datenbanken benötigt. Die zwei in der Informatik wohl bekanntesten Datenbankstrukturen sind die relationale und die objektorientierte Datenbankstruktur. Folgend eine kurze Übersicht:

Relationale Datenbank Objektorientierte Datenbank

"Relation" bedeutet in der Sprache der relationalen Datenbank "Tabelle". Somit basiert das relationale Datenbanksystem, wie der Name schon sagt, auf der Anwendung von Tabellen zum Speichern von Daten.

Zudem können Beziehungen zwischen Tabellen auch in Tabellen gespeichert werden. Haben wir z. B. die Tabelle Lehrer und die Tabelle Schüler, so können wir die Beziehung der beiden in der Tabelle unterrichtet speichern, indem wir dort die jeweiligen Lehrer, die die jeweiligen Schüler unterrichten, eintragen.

Diese Struktur basiert auf der Darstellung eines Datensatzes als Objekt.

Haben wir das Objekt Kugelschreiber, so werden alle Attribute, die der Kugelschreiber hat, z. B.: blaue Tinte, rote Hülle, etc gebündelt gespeichert, sodass alle Informationen mit einem Aufruf abrufbar sind. Zudem können zusätzlich Methoden und Funktionen in dem Objekt gespeichert werden, wie z. B.: Mine einfahren oder Mine ausfahren.

Objekte können zusätzlich zu Klassen zusammengefasst werden bzw., werden von diesen abgeleitet. Das Ergebnis ist eine Hierarchie aus Klassen und Unterklassen. Kurzgesagt ähnelt ein solches Vorgehen objektorientierten Programmiersprachen.

Nur relationalen Datenbanksystemen ist die Sprache SQL bekannt, die jedoch je nach System von ihrer Syntax her variiert.

Was ist SQL & wofür brauche ich es?

SQL ist eine Programmiersprache, mit der Du Datenbanken erstellen und verändern kannst. Gehst Du in einen Supermarkt und kaufst Dir eine Packung Eis, so fragt die Kasse das DBMS, wie viel dieser Artikel kostet. Das DBMS durchsucht die Datenbank nach dem Artikel und gibt den Preis zurück. Zusätzlich wird in der Datenbank vermerkt, dass es eine Packung Eis weniger gibt, sodass bei Bedarf automatisch nachbestellt werden kann.

Sollst Du diese Datenbank aufbauen, so sorgst Du dafür, dass die Kasse mit einer geeigneten SQL-Abfrage, auch Query genannt, das DBMS anspricht, und hinterlegst zusätzlich einen SQL-Befehl, der dem DBMS sagt, dass es die vorhandene Stückzahl reduzieren soll, wenn die Kasse nach dem Preis eines Artikels fragt.

Mit welchem Datenbanksystem befasst sich dieses Tutorial?

Dieses Tutorial beschäftigt sich ausschließlich mit dem relationalen Datenbanksystem mariaDB, der community-Alternative zum kostenpflichtigen MySQL. MySQL war anfangs kostenlos, wurde dann jedoch von Oracle gekauft, so dass sich die Community gezwungen sah, eine kostenlose Alternative zu entwickeln.

Da die Syntax und Funktionalität von MySQL und mariaDB (fast) identisch ist, wird im Tutorial "MySQL" mit "mariaDB" bzw. "SQL" gleichgesetzt. Trotzdem sollte Dir klar sein, dass sich alle Syntaxbeispiele nur auf mariaDB beziehen.

Was ist ein Datentyp?

Ein Datentyp ist ein konkreter Wertebereich. In MySQL sind die gängigsten Datentypen TEXT, VARCHAR, INT, DATE & FLOAT. TEXT ist für längere Texte gedacht, INT speichert nur ganze Zahlen, FLOAT nur Dezimalzahlen, also sowohl ganze als auch gebrochene Zahlen. In einem VARCHAR kannst Du alle Zeichen speichern und genau wie beim INT und FLOAT die Länge festlegen. So kannst du in einem VARCHAR der Länge 5 maximal fünf Buchstaben oder eine 5-stellige Zahl speichern. DATE ist das Datumsformat, welches sich (wie fast alles in der Programmierung) am ISO 8601 Datumsformat orientiert; YYYY-MM-TT um genau zu sein. Bsp.: 1999-12-31 wäre Silvester der letzten Jahrhundertwende.