🇩🇪 Grundlagen von Datenbanksystemen

Pascal Kleindienst - Jul 6 - - Dev Community

Hast du dich je gefragt, wie deine Lieblings-Apps blitzschnell auf deine Daten zugreifen? Oder wie Online-Shops Millionen von Produkten verwalten? Die Antwort liegt in der faszinierenden Welt der Datenbanken. In diesem Beitrag tauchen wir in die Grundlagen ein und schauen uns an, wie du mit MySQL, einem der beliebtesten Datenbanksysteme, loslegen kannst.

Was sind Datenbanken?

Stell dir vor, du hast eine riesige Tabelle mit allen deinen Kontakten, Terminen und Notizen. Super für dich, aber eine App wie WhatsApp müsste das für Milliarden von Nutzern tun - nicht so optimal. Hier kommen Datenbanken ins Spiel. Eine Datenbank ist eine organisierte Sammlung von Daten. Statt alles in einer endlosen Tabelle zu haben, strukturieren Datenbanken Informationen in Tabellen mit Zeilen (Datensätze) und Spalten (Eigenschaften)1

+-------------+---------+---------------+
| Name        | Alter   | E-Mail        |
+-------------+---------+---------------+
| Anna Müller | 27      | anna@web.de   |
| John Doe    | 32      | john@mail.com |
+-------------+---------+---------------+
Enter fullscreen mode Exit fullscreen mode

Der Clou? Datenbanken können diese Tabellen verknüpfen. So kannst du schnell und effizient Beziehungen zwischen Daten herstellen, ohne alles mehrfach zu speichern.

Für einen verständlichen Einstieg empfehle ich "Database Design for Mere Mortals" von Michael J. Hernandez2. Er erklärt die Konzepte wirklich gut für Anfänger.

Unterschied zwischen relationalen und nicht-relationalen Datenbanken

Relationale Datenbanksysteme

Die relationalen Datenbankverwaltungssystem (Relational Database Management System, RDBMS) basieren auf einem Modell von Edgar F. Codd aus den 70ern3. Denk an sie wie an ein gut organisiertes Bücherregal, wo jedes Buch (Datensatz) einen festen Platz hat.

  • Bekannte Vertreter: MySQL, PostgreSQL, Oracle Database
  • Sprache: SQL (Structured Query Language)
  • Gut für: Banken, E-Commerce, alles mit stark strukturierten Daten
-- SQL in Aktion: Finde alle Kontakte mit "@web.de"
SELECT Name, eMail 
FROM Kontakte 
WHERE eMail LIKE '%@web.de';
Enter fullscreen mode Exit fullscreen mode

Nicht relationale (NoSQL) Datenbanksysteme

NoSQL bedeutet "Not Only SQL". Sie entstanden, weil das Internet plötzlich mit Daten überflutet wurde, die nicht gut in Tabellen passten.

  • Bekannte Vertreter: MongoDB (Dokumente), Cassandra (Spalten), Redis (Key-Value)
  • Gut für: Social Media, Internet-of-Things (IoT), schnell ändernde Datenstrukturen
// MongoDB-Stil: Ein Kontakt und seine Notizen
{
  "name": "Anna Müller",
  "alter": 27,
  "email": "anna@web.de",
  "notizen": [
    { "datum": "2024-05-15", "text": "Meeting für Projekt X" },
    { "datum": "2024-05-20", "text": "Annas Geburtstag!" }
  ]
}
Enter fullscreen mode Exit fullscreen mode

Vorteile von Datenbanksystemen

  1. Zentrale Datenverwaltung: Alles an einem Ort, leicht zu warten und zu sichern.
  2. Datensicherheit:
    • ACID-Prinzipien (Atomicity, Consistency, Isolation, Durability)
      • mehr dazu in den folgenden Einträgen 😉
    • Benutzerverwaltung und Zugriffskontrolle
  3. Effiziente Abfragen: Komplexe Daten schnell finden und analysieren.
  4. Datenintegrität: Keine Duplikate, keine Inkonsistenzen.
  5. Mehrere Nutzer: Gleichzeitiger Zugriff ohne Datenkonflikte.

Einführung in MySQL

MySQL ist ein beliebtes Open-Source-Datenbanksystem - schnell, zuverlässig und einfach zu benutzen.

Installation und Tools

  1. Besuche mysql.com und lade MySQL Comunity Server herunter
  2. Folge den Installationsanweisungen für dein Betriebssystem
  3. Verwende Tools wie MySQL Workbench oder Tableplus (grafisch), oder die Kommandozeile

Erste Schritte mit MySQL

Als erstes öffne MySQL Workbench oder die Konsole (oder ein anderes Tool deiner Wahl) und verbinde dich mit deinem Server. In den folgenden Beispielen nutzen wir die Kommandozeile:

mysql -u root -p
Enter fullscreen mode Exit fullscreen mode

Lass uns nun unsere erste Datenbank und eine Tabelle erstellen

CREATE DATABASE meinprojekt;
USE meinprojekt;

CREATE TABLE aufgaben(
  id INT PRIMARY KEY,
  titel VARCHAR(100),
  abgabe DATE
);
Enter fullscreen mode Exit fullscreen mode

Sei unbesorgt, falls dir nicht ganz klar ist, was die einzelnen SQL Befehle genau machen - das schauen wir uns im nächsten Beitrag genauer an.

Fazit

Datenbanken sind das Rückgrat moderner Anwendungen. MySQL ist ein toller Einstieg in die Welt der relationalen Datenbanken. Bleib dran, in den nächsten Beiträgen tauchen wir tiefer in SQL und fortgeschrittene MySQL-Themen ein!

Übungen

  • Übung 1: Recherchiere und beschreibe die Unterschiede zwischen relationalen und nicht-relationalen Datenbanken. Gebe Beispiele für beide Typen und diskutiere die Vor- und Nachteile von beiden.
  • Übung 2: Installiere MySQL und MySQL Workbench auf deinem Computer. Erstelle eine neue Datenbank namens Bibliothek und überprüfen, ob du erfolgreich eine Verbindung herstellen kannst

Referenzen

Referenzen und weiterführende Lektüre

  1. C.J. Date (2003), "An Introduction to Database Systems: International Edition" *
  2. Hernandez, Michael J. (2013), "Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design" *
  3. Codd, E.F. (1970), "A Relational Model of Data for Large Shared Data Banks" *
  4. Alfons Kemper und André Eickler (2015), "Datenbanksysteme: Eine Einführung (De Gruyter Studium)" *
  5. Michael Kofler (2024), "Datenbanksysteme: Das umfassende Lehrbuch für Ausbildung, Beruf und Studium" *

* Affiliatelinks/Werbelinks: Wenn du auf einen Affiliate-Link klickst und über diesen Link einkaufst, bekomme ich von dem betreffenden Online-Shop oder Anbieter eine Provision. Du unterstützt den Blog und für dich ändert sich nichts am Preis.

. .