Assignment Chef icon Assignment Chef
All German tutorials

Programming lesson

Datenbankprojekt mit SQL: Schritt-für-Schritt-Anleitung für Wedgewood Pacific

Lerne, wie du ein komplettes Datenbankprojekt mit SQL umsetzt – am Beispiel der fiktiven Firma Wedgewood Pacific. Inklusive Tabellen erstellen, Daten einfügen, Abfragen schreiben und ER-Diagramm erweitern.

Datenbankprojekt mit SQL SQL Tutorial Deutsch Wedgewood Pacific Datenbank MySQL Workbench Anleitung SQL Abfrage schreiben ER-Diagramm erstellen Datenbank Projekt Schule SQL Übungen mit Lösungen MySQL Community Server 8.0 SQL Tabellen erstellen Daten einfügen SQL SQL JOIN Abfrage Datenbankdesign Studium SQL Projektarbeit Computerzuweisung Datenbank SQL für Anfänger

Einleitung: Warum ein Datenbankprojekt mit SQL?

In der heutigen digitalen Welt – ob bei Social-Media-Apps, Online-Banking oder Schulverwaltungssystemen – basieren fast alle Anwendungen auf Datenbanken. SQL (Structured Query Language) ist die Standardsprache, um mit relationalen Datenbanken zu kommunizieren. Dieses Tutorial führt dich Schritt für Schritt durch ein typisches Datenbankprojekt mit SQL, wie es im Unterricht oder in einer Projektarbeit vorkommt. Wir verwenden das Beispiel der fiktiven Firma Wedgewood Pacific (WP) aus dem bekannten Lehrbuch. Du lernst, wie du Tabellen erstellst, Daten einfügst, Abfragen schreibst und ein ER-Diagramm erweiterst – alles mit MySQL 8.0 und dem MySQL Workbench.

1. Die Wedgewood Pacific Datenbank anlegen

1.1 Schema erstellen und als Standard setzen

Öffne MySQL Workbench und stelle eine Verbindung zu deinem MySQL Community Server 8.0 her. Als Erstes erstellst du ein neues Schema (eine Datenbank) für Wedgewood Pacific. Klicke auf das Icon „Create a new schema in the connected server“ oder nutze den SQL-Befehl:

CREATE SCHEMA IF NOT EXISTS WedgewoodPacific;
USE WedgewoodPacific;

Setze das Schema als Standard, indem du es in der Workbench-Oberfläche auswählst oder den Befehl USE WedgewoodPacific; ausführst. Lege dann einen Ordner für deine SQL-Skripte an, z. B. unter C:/Documents/MySQLWorkbench/Schemas – das hilft dir, die Skripte organisiert zu halten.

1.2 Tabellen erstellen mit WP-Create-Tables

Jetzt erstellst du die Tabellenstruktur für die WP-Datenbank. Die Tabellen umfassen unter anderem DEPARTMENT, EMPLOYEE, PROJECT und ASSIGNMENT. Orientiere dich an den Vorgaben aus deinem Lehrbuch (z. B. Abbildung 3-7). Ein Auszug für die Tabelle EMPLOYEE könnte so aussehen:

CREATE TABLE EMPLOYEE (
  EmployeeID INT NOT NULL AUTO_INCREMENT,
  FirstName VARCHAR(25) NOT NULL,
  LastName VARCHAR(25) NOT NULL,
  DepartmentID INT NOT NULL,
  OfficePhone VARCHAR(12),
  PRIMARY KEY (EmployeeID),
  FOREIGN KEY (DepartmentID) REFERENCES DEPARTMENT(DepartmentID)
);

Erstelle alle Tabellen in einem Skript namens WP-Create-Tables.sql. Führe es aus und prüfe im Schema-Browser, ob alle Tabellen angelegt wurden. Ein Screenshot der erfolgreichen Ausführung (ähnlich wie Abbildung A-19/A-20) dokumentiert deinen Fortschritt.

1.3 Daten einfügen mit WP-Insert-Data

Nachdem die Tabellen existieren, befüllst du sie mit Beispieldaten. Die Daten findest du in deinem Lehrbuch, z. B. in Abbildung 3-11. Ein Beispiel für das Einfügen in die DEPARTMENT-Tabelle:

INSERT INTO DEPARTMENT (DepartmentID, DepartmentName) VALUES
(1, 'Administration'),
(2, 'Accounting'),
(3, 'Human Resources'),
(4, 'Information Systems'),
(5, 'Marketing');

Erstelle das Skript WP-Insert-Data.sql und führe es aus. Überprüfe mit SELECT * FROM DEPARTMENT;, ob die Daten korrekt eingefügt wurden. Auch hier ist ein Screenshot der Ergebnisse Pflicht.

2. Neue Tabellen für Computerverwaltung hinzufügen

Wedgewood Pacific möchte nun den Überblick über die von Mitarbeitern genutzten Computer behalten. Dazu werden zwei neue Tabellen benötigt: COMPUTER und COMPUTER_ASSIGNMENT. Die Struktur und die referenziellen Integritätsbedingungen sind in deinem Lehrbuch in Frage WA.3.3 beschrieben.

2.1 Tabellenstruktur von COMPUTER und COMPUTER_ASSIGNMENT

Die Tabelle COMPUTER speichert Informationen über jeden Computer: Seriennummer, Hersteller, Modell usw. Die Tabelle COMPUTER_ASSIGNMENT verknüpft einen Computer mit einem Mitarbeiter und einem Datum. Ein mögliches SQL-Skript:

CREATE TABLE COMPUTER (
  SerialNumber VARCHAR(20) NOT NULL,
  Make VARCHAR(20) NOT NULL,
  Model VARCHAR(30) NOT NULL,
  PRIMARY KEY (SerialNumber)
);

CREATE TABLE COMPUTER_ASSIGNMENT (
  AssignmentID INT NOT NULL AUTO_INCREMENT,
  EmployeeID INT NOT NULL,
  SerialNumber VARCHAR(20) NOT NULL,
  StartDate DATE NOT NULL,
  EndDate DATE,
  PRIMARY KEY (AssignmentID),
  FOREIGN KEY (EmployeeID) REFERENCES EMPLOYEE(EmployeeID),
  FOREIGN KEY (SerialNumber) REFERENCES COMPUTER(SerialNumber)
);

Füge auch die entsprechenden Daten ein – Beispieldaten findest du in den Abbildungen 3-31 bis 3-34 deines Lehrbuchs.

2.2 Abfrage: Wer nutzt welchen Computer?

Die entscheidende Abfrage soll folgende Informationen liefern: Seriennummer, Hersteller, Modell, Mitarbeiter-ID, Nachname, Vorname, Abteilung und Bürotelefon – sortiert nach Abteilung und dann nach Nachnamen. Hier ein möglicher SQL-Befehl:

SELECT c.SerialNumber, c.Make, c.Model, e.EmployeeID, e.LastName, e.FirstName, d.DepartmentName AS Department, e.OfficePhone
FROM COMPUTER c
JOIN COMPUTER_ASSIGNMENT ca ON c.SerialNumber = ca.SerialNumber
JOIN EMPLOYEE e ON ca.EmployeeID = e.EmployeeID
JOIN DEPARTMENT d ON e.DepartmentID = d.DepartmentID
WHERE ca.EndDate IS NULL OR ca.EndDate >= CURDATE()
ORDER BY d.DepartmentName, e.LastName;

Erklärung: Wir verbinden die Tabellen über die Fremdschlüssel. Die Bedingung WHERE ca.EndDate IS NULL OR ca.EndDate >= CURDATE() stellt sicher, dass nur aktuelle Zuweisungen berücksichtigt werden. Sortiert wird zuerst nach Abteilungsname, dann nach Nachname. Führe die Abfrage aus und dokumentiere das Ergebnis mit einem Screenshot.

3. ER-Diagramm mit MySQL Workbench erweitern

Ein ER-Diagramm (Entity-Relationship-Diagramm) visualisiert die Datenbankstruktur. Dein Lehrbuch zeigt in Abbildung 5-17 (oder A-67) das ER-Diagramm für WP inklusive der rekursiven Beziehung bei EMPLOYEE (z. B. Vorgesetzter). Deine Aufgabe ist es, dieses Diagramm um die neuen Tabellen COMPUTER und COMPUTER_ASSIGNMENT zu ergänzen.

3.1 Vorgehen im MySQL Workbench

Öffne das vorhandene ER-Diagramm (z. B. aus dem Modell, das du zuvor erstellt hast). Füge zwei neue Entitäten hinzu: COMPUTER und COMPUTER_ASSIGNMENT. Definiere die Attribute entsprechend der Tabellenstruktur. Ziehe dann eine Beziehung zwischen COMPUTER_ASSIGNMENT und EMPLOYEE (1:N) sowie zwischen COMPUTER_ASSIGNMENT und COMPUTER (1:N). Achte darauf, dass die Kardinalitäten und die referenziellen Integritätsbedingungen korrekt sind. Das fertige Diagramm sollte ähnlich aussehen wie in den Abbildungen deines Lehrbuchs, jedoch mit den neuen Tabellen. Ein Screenshot des erweiterten ER-Diagramms ist der letzte Teil deiner Abgabe.

4. Tipps für eine erfolgreiche Abgabe

  • Organisiere deine Skripte: Lege für jeden Teil ein separates SQL-Skript an (z. B. WP-Create-Tables.sql, WP-Insert-Data.sql, WP-Query.sql). So behältst du den Überblick.
  • Dokumentiere alles: Zu jedem SQL-Skript gehört ein Screenshot der Ausführung (z. B. die Bestätigung „Query OK“) und ein Screenshot der Ergebnisse (z. B. die zurückgegebenen Zeilen).
  • Verwende aussagekräftige Screenshots: Zeige sowohl das SQL-Skript im Editor als auch das Ergebnis im Result Grid. Füge kurze Erklärungen hinzu, was auf dem Screenshot zu sehen ist.
  • Teste deine Abfragen: Stelle sicher, dass die Abfrage aus Teil 2 die richtigen Daten liefert. Probiere auch andere Abfragen aus, um das Verständnis zu vertiefen.
  • Nutze die aktuellen Trends: Stell dir vor, Wedgewood Pacific wäre ein modernes Tech-Startup, das KI-gestützte Arbeitsplatzanalyse betreibt. Die Computerzuweisung könnte dann mit Machine-Learning-Modellen optimiert werden – aber das ist Stoff für ein fortgeschrittenes Projekt.

Fazit

Mit diesem Tutorial hast du gelernt, wie man ein komplettes Datenbankprojekt mit SQL umsetzt: von der Erstellung des Schemas über das Anlegen von Tabellen, das Einfügen von Daten bis hin zu komplexen Abfragen und der Erweiterung eines ER-Diagramms. Diese Fähigkeiten sind nicht nur für die Schule oder Universität wichtig, sondern auch in der Praxis – egal ob du eine E-Commerce-Plattform, eine Social-Media-App oder ein Schulverwaltungssystem entwickelst. Übe weiter und experimentiere mit eigenen Datenbanken, um sicher im Umgang mit SQL zu werden.