SQL Schnellstart – Was ist eigentlich eine Datenbank?
In dieser Lektion lernst du den wichtigsten Baustein kennen, den jeder Datenbank-Entwickler benötigt - die Datenbank.
Was ist eigentlich eine Datenbank?
Du planst, deine eigene Social-Media-Plattform für eine Schule zu entwickeln.
Die wichtigsten Daten, um diese Plattform nutzen zu können, sind der Nutzername, das Passwort, das Alter und die E-Mail-Adresse.
Die meisten Entwickler, welche nicht viel Erfahrung mit der Entwicklung haben, würden wahrscheinlich die Daten mit Komma getrennt in einer Text-Datei aneinanderreihen, wobei jede Zeile für einen Nutzer steht. Eine Datenbank könnte dann folgendermaßen aussehen:
Benutzername|Passwort|E-Mail|Alter
Lea582,Katz58,Lea@web.de,19
Paul242,password5,Paul242@gmail.com,22
Max00,guterProgrammierer0x0A00,Max.Mustermann@mustermail.com,15
...
Hinweis: Du solltest Passwörter aus Sicherheitsgründen nie im Klartext abspeichern, sondern immer nur als sogenannten "Hash" (verschlüsselt). Für unsere folgenden Lernzwecke kannst du dies aber vorerst vernachlässigen.
Was du vielleicht noch nicht ahnst ist, dass das obige Beispiel bereits eine Datenbank ist. Man nennt solche Datenbanken auch "Flat-file database". Eine Datenbank ist im Grunde eine Sammlung strukturierter Daten. In der stark vereinfachten Text-Datei sind die Daten durch ein Komma separiert, um eine Struktur zu erzeugen. Wir können daher durchaus sagen, dass es sich, wenn auch stark vereinfacht, um eine Datenbank handelt.
Datenbankmanagementsystem vs. Datenbank
Häufig werden die Begriffe Datenbank und Datenbankmanagementsystem miteinander verwechselt. Derzeit wird unsere Datenbank von unsrer Social-Media-Plattform gemanagt". Den Mechanismus zum Einfügen, Verändern und Löschen von Daten müssen wir eigenhändig in unsere Social-Media-Plattform integrieren. Um uns diese Arbeit zu ersparen und weitere mächtige Funktionalitäten zu erhalten, gibt es Datenbankmanagementsysteme. Ein Datenbankmanagementsystem (kurz: DBMS) ist eine Software, die uns das Erstellen, Definieren und Verändern von Datenbanken und Daten erlaubt. Die meisten Datenbankmanagementsysteme bieten außerdem Werkzeuge an, mit denen man seine Daten einfach analysieren kann oder unterstützen Datenbanksprachen wie SQL, mit welcher man eine Vielzahl an komplexen Aktionen innerhalb der Datenbanken mit wenig Aufwand durchführen kann.
Bekannte Datenbankmanagement-Systeme sind:
- Microsoft Access
- MySQL
- SQLite
- SQL Server
- Oracle RDBMS
Eine Datenbank speichert also nur die Daten, du kannst dir das wie eine Art PDF-Datei vorstellen. Ein Datenbank-Management-System verwaltet ein oder mehre Datenbanken samt Daten. Dies kannst du dir wie eine Art PDF-Bearbeitungssoftware (Adobe Reader, Word, Open Office) vorstellen.
Was sind relationale Datenbanken?
Du kannst deine Daten in einer Datenbank auf verschiedene Weisen strukturieren. Du hast mit hoher Wahrscheinlichkeit bereits mit dem Ordnersystem von Windows oder Mac OS gearbeitet. Sollten deine Daten in deiner Datenbank so strukturiert sein, dann hast du eine hierarchische Datenbank.
Noch einfacher geht es, wenn deine Datenbank einfach aus einer oder mehreren Tabellen besteht, zum Beispiel eine Tabelle namens Nutzer und eine Tabelle namens Nutzerbeiträge, in welcher alle Beiträge gespeichert werden. Wie dir sicher auffällt, besteht zwischen der Tabelle Nutzer und Nutzerbeiträge eine Art Zusammenhang bzw. Beziehung, da ein Nutzerbeitrag immer von einem Nutzer verfasst wird.
Mit einer relationalen Datenbank kannst du diese Art von Beziehungen abbilden. Die beliebte Datenbanksprache SQL wurde speziell für den Einsatz in relationalen Datenbanken entwickelt und trotz gehäufter Konkurrenz durch andere Datenbankarten, werden relationalen Datenbanken immer noch am häufigsten eingesetzt.
Zur Veranschaulichung, schaue dir die folgenden Bilder aus Microsoft Access für die Datenbank "Social-Media-Plattform" an:
Tabellen der Datenbank:
Die Tabelle "Nutzer":
Die Tabelle "Nutzerbeiträge":
Beziehungen (Relationen):
Durch die Verknüpfung (Beziehung) zwischen NutzerID bei Nutzer und NutzerID bei Nutzerbeiträge, weiß Access nun, welcher Nutzerbeitrag zu welchem Nutzer gehört:
Fazit
Du hast gelernt, dass eine Datenbank dazu da ist, Daten strukturiert und logisch abzuspeichern. Ein Datenbankmanagementsystem kann eine oder mehrere Datenbanken verwalten. Du weißt nun, dass es mehrere Typen von Datenbanken gibt und das relationale Datenbankenbeziehungen zwischen Datensätzen abbilden kann.