- 1 Abschnitt
- 7 Lektionen
- Um den Kurs in deinem Profil zu hinterlegen klicke oben auf Starten
Datenorganisation und -speicherung
In diesem Abschnitt werden wir uns mit der Organisation und Speicherung von Daten in relationalen Datenbanken beschäftigen. Wir werden lernen, wie man Datenbanken und Tabellen erstellt und wie man grundlegende Operationen zur Datenmanipulation durchführt. Wir verwenden SQL (Structured Query Language) zur Interaktion mit der Datenbank.
Datenmodellierung
Datenmodellierung ist der Prozess, bei dem die logische Struktur einer Datenbank definiert wird. Dabei werden die verschiedenen Entitäten (Datenobjekte), deren Attribute und die Beziehungen zwischen ihnen identifiziert und dargestellt.
Entity-Relationship-Diagramme (ERD)
Entity-Relationship-Diagramme (ERD) sind ein gängiges Werkzeug zur Datenmodellierung. Sie helfen dabei, die Struktur und die Beziehungen zwischen den Entitäten in einer Datenbank visuell darzustellen.
Beispiel eines ERD für eine To-Do-Liste:
+----------------+
| Benutzer |
|----------------|
| BenutzerID (PK)|
| Name |
+----------------+
+----------------+
| Aufgaben |
|----------------|
| AufgabeID (PK) |
| BenutzerID (FK)|
| Titel |
| Beschreibung |
| Erledigt |
+----------------+ In diesem Beispiel gibt es zwei Entitäten: „Benutzer“ und „Aufgaben“. BenutzerID ist der Primärschlüssel (PK) der Tabelle „Benutzer“ und der Fremdschlüssel (FK) in der Tabelle „Aufgaben“, was die Beziehung zwischen den beiden Tabellen darstellt.
Relationale Datenbanken
Erstellen von Datenbanken und Tabellen
In einer relationalen Datenbank werden Daten in Tabellen organisiert. Jede Tabelle besteht aus Zeilen (Datensätzen) und Spalten (Attributen).
Beispiel:
-- Erstellen einer Datenbank
CREATE DATABASE todoListe;
-- Verwenden der erstellten Datenbank
USE todoListe;
-- Erstellen der Tabelle Benutzer
CREATE TABLE Benutzer (
BenutzerID INT PRIMARY KEY, -- BenutzerID ist der Primärschlüssel der Tabelle
Name VARCHAR(100) -- Name ist ein Attribut der Tabelle und speichert den Namen des Benutzers
);
-- Erstellen der Tabelle Aufgaben
CREATE TABLE Aufgaben (
AufgabeID INT PRIMARY KEY, -- AufgabeID ist der Primärschlüssel der Tabelle
BenutzerID INT, -- BenutzerID ist ein Attribut, das auf die Benutzer-Tabelle verweist
Titel VARCHAR(100), -- Titel ist ein Attribut, das den Titel der Aufgabe speichert
Beschreibung TEXT, -- Beschreibung ist ein Attribut, das die Beschreibung der Aufgabe speichert
Erledigt BOOLEAN, -- Erledigt ist ein Attribut, das den Status der Aufgabe speichert (erledigt oder nicht)
FOREIGN KEY (BenutzerID) REFERENCES Benutzer(BenutzerID) -- BenutzerID ist ein Fremdschlüssel, der auf die Benutzer-Tabelle verweist
); Datenmanipulation
SQL bietet verschiedene Befehle zur Datenmanipulation, bekannt als CRUD-Operationen (Create, Read, Update, Delete).
Beispiel:
Einfügen von Daten:
-- Einfügen von Benutzern
INSERT INTO Benutzer (BenutzerID, Name) VALUES (1, 'Alice'); -- Fügt einen Benutzer mit der ID 1 und dem Namen 'Alice' hinzu
INSERT INTO Benutzer (BenutzerID, Name) VALUES (2, 'Bob'); -- Fügt einen Benutzer mit der ID 2 und dem Namen 'Bob' hinzu
-- Einfügen von Aufgaben
INSERT INTO Aufgaben (AufgabeID, BenutzerID, Titel, Beschreibung, Erledigt) VALUES (1, 1, 'Einkaufen', 'Milch und Brot kaufen', FALSE); -- Fügt eine Aufgabe mit der ID 1 hinzu, die BenutzerID 1 zugeordnet ist
INSERT INTO Aufgaben (AufgabeID, BenutzerID, Titel, Beschreibung, Erledigt) VALUES (2, 2, 'Hausaufgaben', 'Mathe und Bio machen', TRUE); -- Fügt eine Aufgabe mit der ID 2 hinzu, die BenutzerID 2 zugeordnet ist Abfragen von Daten:
-- Alle Benutzer abfragen
SELECT * FROM Benutzer; -- Gibt alle Datensätze der Tabelle 'Benutzer' zurück
-- Alle Aufgaben eines bestimmten Benutzers abfragen
SELECT * FROM Aufgaben WHERE BenutzerID = 1; -- Gibt alle Aufgaben zurück, die der BenutzerID 1 zugeordnet sind
-- Nur erledigte Aufgaben abfragen
SELECT * FROM Aufgaben WHERE Erledigt = TRUE; -- Gibt alle Aufgaben zurück, die als erledigt markiert sind Aktualisieren von Daten:
-- Titel und Beschreibung einer Aufgabe aktualisieren
UPDATE Aufgaben SET Titel = 'Einkaufen', Beschreibung = 'Milch, Brot und Eier kaufen' WHERE AufgabeID = 1; -- Aktualisiert den Titel und die Beschreibung der Aufgabe mit der ID 1
-- Status einer Aufgabe auf erledigt setzen
UPDATE Aufgaben SET Erledigt = TRUE WHERE AufgabeID = 1; -- Setzt den Status der Aufgabe mit der ID 1 auf erledigt Löschen von Daten:
-- Eine Aufgabe löschen
DELETE FROM Aufgaben WHERE AufgabeID = 1;
-- Einen Benutzer löschen
DELETE FROM Benutzer WHERE BenutzerID = 1; 