In der Welt der Softwareentwicklung und Datenverwaltung ist die Fähigkeit, robuste Datenbankstrukturen zu entwerfen, eine grundlegende Fähigkeit. Ein Entity-Relationship-Diagramm (ERD) dient als Bauplan dafür, wie Daten organisiert, gespeichert und abgerufen werden. Für Personalvermittler und technische Rekrutierer ist es ein unmittelbarer Beweis für Ihr Verständnis von Datenintegrität, Beziehungen und Systemarchitektur, wenn sie ein gut durchdachtes ERD in Ihrem Portfolio sehen. 🗂️
Dieser Leitfaden skizziert konkrete Projektideen, die von Anfänger bis fortgeschritten reichen. Er erläutert die Gestaltungslogik hinter jedem Schema und hilft Ihnen dabei, ein Portfolio zu erstellen, das tiefgehende technische Kompetenz ohne Verwendung von Buzzwords oder verkaufstreibender Sprache demonstriert. Am Ende dieses Artikels haben Sie eine klare Wegleitung, um ERDs zu erstellen, die sich bei Bewerbungen hervorheben.

Warum ERDs in Ihrem Portfolio wichtig sind 📊
Code-Schnipsel zeigen, dass Sie Syntax schreiben können, aber ein ERD zeigt, dass Sie denken können. Wenn Sie ein Projekt einem potenziellen Arbeitgeber vorlegen, wollen sie wissen, wie Sie mit Datenkomplexität umgehen. Ein solides ERD zeigt:
- Datenintegrität: Sie verstehen, wie Sie durch Normalisierung Anomalien vermeiden können.
- Skalierbarkeit: Sie können Schemata entwerfen, die mit der steigenden Nutzeranforderung wachsen.
- Beziehungen: Sie verstehen die Feinheiten von Fremdschlüsseln und Join-Operationen.
- Dokumentation: Sie können komplexe Strukturen an Stakeholder kommunizieren.
Rekrutierer suchen oft nach dem „Warum“ hinter der Gestaltung. Haben Sie hier eine Many-to-Many-Beziehung gewählt? Warum? Verletzt diese Tabelle das dritte Normalform? Die Bereitschaft, diese Fragen zu beantworten, ist genauso wichtig wie das Diagramm selbst.
Grundlagen einer starken ERD-Gestaltung 🧩
Bevor Sie sich konkreten Projektideen widmen, ist es unerlässlich, die zentralen Komponenten zu überprüfen, die ein ERD wirksam machen. Jedes Diagramm beruht auf drei Säulen: Entitäten, Attributen und Beziehungen.
1. Entitäten und Tabellen
Eine Entität stellt ein Gegenstand oder Konzept der realen Welt dar, über das Sie Daten speichern müssen. In einer Datenbank entspricht dies einer Tabelle. Eine gute Namensgebung für Entitäten ist singular und beschreibend. Verwenden Sie beispielsweise “Kunde anstelle von “Kunden, und “Rechnung anstelle von “Rechnungsdatensätze.
2. Attribute und Spalten
Attribute definieren die Eigenschaften einer Entität. Jedes Attribut sollte einen klaren Datentyp haben. Vermeiden Sie es, komplexe Objekte in einer einzigen Spalte zu speichern. Beispielsweise anstelle einer einzigen Spalte für “Adresse, überlegen Sie, sie in Straße, Stadt, Bundesland, und Postleitzahl um die Suche und Sortierung zu erleichtern.
3. Beziehungen und Kardinalität
Beziehungen definieren, wie Entitäten miteinander interagieren. Das Verständnis der Kardinalität ist entscheidend:
- Ein-zu-eins (1:1): Ein Datensatz in Tabelle A steht nur mit einem Datensatz in Tabelle B in Beziehung. Beispiel: Eine Person und ihr Reisepass.
- Ein-zu-viele (1:N): Ein Datensatz in Tabelle A steht mit mehreren Datensätzen in Tabelle B in Beziehung. Beispiel: Ein Autor schreibt viele Bücher.
- Viele-zu-viele (M:N): Mehrere Datensätze in Tabelle A stehen mit mehreren Datensätzen in Tabelle B in Beziehung. Beispiel: Studierende und Kurse. Dies erfordert in der Regel eine Verbindungstabelle.
Projekte für Anfänger 🟢
Wenn du gerade erst anfängst, konzentriere dich auf Klarheit und grundlegende Normalisierung. Diese Projekte sollten zeigen, dass du einfache Geschäftsregeln modellieren kannst, ohne zu komplex zu werden.
1. Bibliotheksverwaltungssystem 📚
Dies ist ein klassisches Projekt, das Bestand, Verleih und Benutzerverwaltung abdeckt. Es eignet sich hervorragend, um ein-zu-viele- und viele-zu-viele-Beziehungen zu zeigen.
- Wichtige Entitäten:
- Buch: ISBN, Titel, Erscheinungsjahr, Genre, Bestand
- Autor: AutorID, Name, Biografie
- Mitglied: MitgliedsID, Name, E-Mail, Beitrittsdatum, Status
- Ausleihe: AusleiheID, BuchID, MitgliedsID, Ausleihdatum, Rückgabedatum, Rückgabedatum
- Entwurfslogik:
- Ein Buch kann mehrere Autoren (M:N), was eine Zwischentabelle erfordert.
- Ein Mitglied kann mehrere Bücher (1:N über die Ausleihtabelle).
- Verwenden Sie Rückgabedatum als nullable, um aktive Ausleihen anzugeben.
2. Persönlicher Finanz-Tracker 💰
Finanzdaten erfordern Präzision. Dieses Projekt hebt die Bedeutung von Datentypen (Dezimalzahlen gegenüber Ganzzahlen) und der historischen Verfolgung hervor.
- Wichtige Entitäten:
- Konto: Kontonummer, Kontoname, Saldo, Art (Giro/Sparen)
- Transaktion: Transaktions-ID, Kontonummer, Betrag, Datum, Kategorie, Art (Gutschrift/Lastschrift)
- Kategorie: Kategorie-ID, Name, Elternkategorie-ID
- Entwurfslogik:
- Verwenden Sie DezimalDatentypen für Währungen, um Gleitkommefehler zu vermeiden.
- Implementieren Sie eine Selbstverweisende Beziehung in der Kategorie-Tabelle für hierarchisches Budgetieren (z. B. Essen > Lebensmittel).
- Stellen Sie sicher, dass jede Transaktion genau einem Konto zugeordnet ist.
3. Mitarbeiterverzeichnis 👥
Einfach, aber effektiv zur Veranschaulichung hierarchischer Datenstrukturen und selbstbezüglicher Beziehungen.
- Wichtige Entitäten:
- Mitarbeiter: MitarbeiterID, Name, Rolle, Einstellungsdatum, VorgesetztenID
- Abteilung: AbteilungsID, Abteilungsname, Budget
- Entwurfslogik:
- Die VorgesetztenID in der Mitarbeiter-Tabelle ist ein Fremdschlüssel, der auf die Mitarbeiter-Tabelle selbst verweist. Dadurch entsteht eine rekursive Beziehung.
- Jeder Mitarbeiter gehört einer Abteilung.
- Überlegen Sie, eine UrlaubsantragTabelle hinzuzufügen, um die Transaktionsgeschichte zu zeigen.
Projekte auf mittlerem Niveau 🟡
In diesem Stadium müssen Sie komplexe Geschäftsregeln, Konkurrenz und anspruchsvollere Normalisierungsanforderungen bewältigen. Diese Projekte zeigen, dass Sie mit der Realitätskomplexität umgehen können.
4. E-Commerce-Plattform 🛒
Der Verkauf von Produkten online beinhaltet Bestände, Bestellungen, Zahlungen und Bewertungen. Dies ist ein hochwertiges Projekt für Backend-Rollen.
- Wichtige Entitäten:
- Produkt: ProduktID, Name, Beschreibung, Grundpreis, SKU
- Bestellung: BestellID, KundenID, Bestelldatum, Status, Versandadresse
- Bestellposition: BestellpositionsID, BestellID, ProduktID, Menge, Preis zum Zeitpunkt des Kaufs
- Kunde: KundenID, E-Mail, Passwort-Hash, Rechnungsadresse
- Bewertung: BewertungsID, ProduktID, KundenID, Bewertung, Kommentar
- Entwurfslogik:
- Wichtige Entscheidung: Speichern Sie die PreisZumKauf in Bestellposition. Wenn sich der Produktpreis später ändert, muss die historische Bestellaufzeichnung genau bleiben.
- Verwenden Sie eine Viele-zu-Viele Beziehung zwischen Kunde und Produkt über die Bestell-/Bestellposition-Struktur.
- Implementieren Sie eine Weicher Löschen Kennzeichen für Produkte, die eingestellt werden, anstatt aus der Datenbank entfernt zu werden.
5. Soziales Netzwerk-App 📱
Soziale Graphen sind berüchtigt für ihre Komplexität. Dieses Projekt zeigt Ihre Fähigkeit, Verbindungen und Inhaltsfeeds zu modellieren.
- Wichtige Entitäten:
- Benutzer: BenutzerID, Benutzername, Profilbild, Bio
- Beitrag: BeitragID, BenutzerID, Inhalt, Zeitstempel
- Folgt: FollowerID, Folge-ID, Folge-Datum
- Kommentar: KommentarID, BeitragID, BenutzerID, Inhalt
- Entwurfslogik:
- Die Folgt Tabelle ist eine Verbindungstabelle für eine viele-zu-viele-Beziehung.
- Überlegen Sie, eine hinzuzufügen Block Tabelle, um Benutzerbeschränkungen zu verwalten.
- Verwenden Sie Indizes auf Zeitstempel um Abfragen zur Abrufung des Feeds zu optimieren.
- Stellen Sie sicher, dass die Referenzintegrität die Löschung eines Benutzers verhindert, der bereits Beiträge oder Kommentare hat.
6. Gesundheitsterminsystem 🏥
Gesundheitsdaten erfordern strenge Datenschutzmaßnahmen und Terminplanungslogik. Dies unterstreicht die Behandlung von Einschränkungen.
- Wichtige Entitäten:
- Patient: PatientID, Name, Geburtsdatum, Versicherungs-ID
- Arzt: Arzt-ID, Name, Fachrichtung
- Termin: Termin-ID, Patient-ID, Arzt-ID, Startzeit, Endzeit, Grund
- Medizinische Aufzeichnung: Aufzeichnungs-ID, Patient-ID, Arzt-ID, Diagnose, Notizen
- Entwurfslogik:
- Zeitfenster: Verhindern Sie die Doppelbuchung, indem Sie sicherstellen, dass Startzeit und Endzeit für denselben Arzt sich nicht überschneiden.
- Verlauf: Ein Patient kann im Laufe der Zeit mehrere Aufzeichnungen von demselben Arzt haben.
- Datenschutz:Sensible Felder sollten logisch getrennt oder in der Anwendungsschicht verschlüsselt werden.
Projekte auf fortgeschrittenem Niveau 🔴
Für Positionen auf Senior-Level müssen Sie ein Verständnis für Skalierbarkeit, Mehrfachnutzung (Multi-Tenancy) und Audits nachweisen. Diese Schemata sind für Umgebungen mit hohem Volumen konzipiert.
7. Multi-Tenant-SaaS-Architektur ☁️
Software-as-a-Service-(SaaS)-Plattformen versorgen viele Organisationen aus einer einzigen Instanz. Die Gestaltung des Schemas dafür erfordert sorgfältige Isolationsstrategien.
- Wichtige Entitäten:
- Mietende:MietendeID, Name, Abonnementplan
- Benutzer:BenutzerID, MietendeID, E-Mail, Rolle
- Datenprotokoll:Protokoll-ID, MietendeID, BenutzerID, Inhalt, ErstelltAm
- Entwurfslogik:
- Mietende-Isolation:Jede Tabelle muss eine MietendeIDFremdschlüssel haben, um eine Datenabgrenzung sicherzustellen.
- Global vs. Lokal:Entscheiden Sie, ob Sie ein Schema teilen (billiger, schwerer zu isolieren) oder pro Mietende separate Schemata verwenden (teurer, sicherer).
- Leistung:Stellen Sie sicher, dass Abfragen immer MietendeIDim WHERE-Klausel enthalten sind, um Datenlecks zwischen Mietenden zu vermeiden.
8. IoT-Sensordatenprotokollierung 📡
Das Internet der Dinge erzeugt riesige Mengen an Zeitreihendaten. Dieses Projekt konzentriert sich auf Speichereffizienz und zeitbasierte Abfragen.
- Wichtige Entitäten:
- Gerät:Geräte-ID, Geräteart, Standort, Installationsdatum
- Messwert: LesungID, GeräteID, Sensortyp, Wert, Zeitstempel
- Warnung: WarnungID, GeräteID, Schwellenwert, AusgelöstAm, BeseitigtAm
- Entwurfslogik:
- Partitionierung: Die Lesung Tabelle sollte nach Zeit partitioniert werden (z. B. monatlich), um das Wachstum zu steuern.
- Kompression: Speichern Sie Werte effizient, möglicherweise unter Verwendung spezifischer Datentypen, die für Sensordaten optimiert sind.
- Aufbewahrung: Definieren Sie Richtlinien für die Archivierung alter Lesungen, um die Leistungsfähigkeit der aktiven Datenbank aufrechtzuerhalten.
9. Finanztransaktionsprotokoll 💸
Finanzsysteme erfordern absolute Genauigkeit. Die Prinzipien des doppelten Buchführungssystems müssen im Schema widergespiegelt werden.
- Wichtige Entitäten:
- Konto: Kontoid, Kontotyp, Saldo
- Transaktion: TransaktionsID, Datum, Beschreibung
- Eintrag: EintragsID, TransaktionsID, Kontoid, SollBetrag, HabenBetrag
- Entwurfslogik:
- Atommengen: Jede Transaktion muss mindestens einen Soll- und einen Habeneintrag enthalten, deren Summe null ergibt.
- Unveränderlichkeit: Aktualisieren Sie niemals einen Protokolleintrag. Falls ein Fehler auftritt, erstellen Sie einen Gegen-Eintrag.
- Konsistenz: Verwenden Sie Sperrmechanismen, um Rennbedingungen zu verhindern, wenn Saldoaktualisierungen durchgeführt werden.
Präsentieren Sie Ihr Portfolio effektiv 📝
Das Erstellen des Diagramms ist nur die halbe Miete. Wie Sie es präsentieren, bestimmt, ob der Prüfer Ihr Ziel versteht. Folgen Sie diesen Richtlinien, um den Einfluss zu maximieren.
1. Dokumentationsstandards 📄
Ein Diagramm ohne Kontext ist verwirrend. Fügen Sie für jedes Projekt eine README-Datei oder einen Beschreibungsteil hinzu, der folgendes abdeckt:
- Geschäftskontext: Welches Problem löst diese Datenbank?
- Annahmen: Welche Regeln haben Sie als wahr angenommen? (z. B. „Ein Benutzer kann nur eine aktive Abonnement haben.“)
- Normalisierung: Erläutern Sie kurz, warum Sie bei der dritten Normalform (3NF) stehen geblieben sind, oder warum Sie aus Leistungsgründen abgewichen sind.
2. Visuelle Klarheit 👁️
Stellen Sie sicher, dass Ihr ERD lesbar ist. Vermeiden Sie unnötige Linienkreuzungen. Verwenden Sie konsistente Namenskonventionen (z. B. camelCase für Spalten, PascalCase für Tabellen). Falls möglich, stellen Sie sowohl eine Übersichts- als auch eine detaillierte Ansicht bereit.
3. Werkzeuge und Formate
Exportieren Sie Ihre Diagramme in Standardformate wie PNG oder SVG. Verlassen Sie sich nicht auf proprietäre Dateiformate, die vom Prüfer nicht geöffnet werden können. Stellen Sie sicher, dass die Auflösung hoch genug ist, damit der Text beim Vergrößern lesbar bleibt.
Häufige Fehler, die vermieden werden sollten ⚠️
Selbst erfahrene Designer machen Fehler. Überprüfen Sie Ihre Arbeit anhand dieser Checkliste, um Fehler vor der Einreichung zu erkennen.
| Fehlerquelle | Auswirkung | Lösung |
|---|---|---|
| Über-Normalisierung | Zu viele Joins verlangsamen Abfragen. | Dekormalisieren Sie bestimmte Felder für Lese-optimierte Operationen. |
| Fehlende Einschränkungen | Risiken für Datenintegrität (z. B. negatives Alter). | Fügen Sie CHECK-Einschränkungen und NOT NULL-Flags hinzu. |
| Zweideutige Benennung | Verwirrung während der Entwicklung. | Verwenden Sie beschreibende Namen (z. B. erstellt_am vs datum1). |
| Hartkodierte Werte | Das Schema wird starr und schwer zu ändern. | Verwenden Sie Abfrage-Tabellen für Statuscodes oder Kategorien. |
| Zeitzone ignorieren | Falsche Zeitstempel über Regionen hinweg. | Speichern Sie UTC und konvertieren Sie in der Anwendungsschicht. |
Vorbereitung auf das Vorstellungsgespräch 🗣️
Sobald Sie diese Projekte in Ihrem Portfolio haben, seien Sie bereit, Ihre Entscheidungen zu verteidigen. Interviewer stellen oft „Was wäre wenn“-Szenarien, um Ihre Anpassungsfähigkeit zu testen.
- Skalierung: „Was passiert, wenn diese Tabelle 100 Millionen Zeilen erreicht?“ Seien Sie bereit, über Indexstrategien, Partitionierung oder Sharding zu diskutieren.
- Abfrage-Optimierung: „Wie würden Sie die 10 Top-User nach Ausgaben finden?“ Erklären Sie Ihren Ansatz zur Filterung und Sortierung.
- Änderungen: „Wie würden Sie eine neue Funktion hinzufügen, die eine Änderung dieser Struktur erfordert?“ Diskutieren Sie Migrationsstrategien und Kompatibilität mit älteren Versionen.
Indem Sie sich auf die Logik hinter Ihrer Gestaltung konzentrieren, anstatt nur auf die Syntax, zeigen Sie ein Senior-Level Denken. Arbeitgeber schätzen die Fähigkeit, Kompromisse einzugehen und technische Entscheidungen zu rechtfertigen. Verwenden Sie diese Projektideen als Grundlage, aber passen Sie sie gerne Ihren spezifischen Interessen an. Egal, ob Sie sich für Fintech, Gesundheitswesen oder soziale Medien interessieren, die zugrundeliegenden Prinzipien der Datenmodellierung bleiben konsistent. Bauen Sie Ihr Portfolio sorgfältig auf, dokumentieren Sie Ihre Überlegungen und lassen Sie Ihre Diagramme für Ihre Expertise sprechen.











