{"id":1654,"date":"2026-04-09T08:57:53","date_gmt":"2026-04-09T08:57:53","guid":{"rendered":"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/"},"modified":"2026-04-09T08:57:53","modified_gmt":"2026-04-09T08:57:53","slug":"hidden-complexity-gap-junior-engineers-erd","status":"publish","type":"post","link":"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/","title":{"rendered":"Die versteckte Komplexit\u00e4tsl\u00fccke: Wenn Junior-Entwickler Entit\u00e4ts-Beziehungs-Diagramme falsch aufbauen"},"content":{"rendered":"<p>Die Datenmodellierung ist oft der unsichtbare R\u00fcckgrat jeder Softwareanwendung. W\u00e4hrend der Code, der die Gesch\u00e4ftslogik ausf\u00fchrt, im Rampenlicht steht, bestimmt das darunterliegende Schema Leistungsf\u00e4higkeit, Skalierbarkeit und Wartbarkeit. F\u00fcr viele Junior-Entwickler ist das Entit\u00e4ts-Beziehungs-Diagramm (ERD) eine einfache \u00dcbung, bei der man nur K\u00e4stchen zeichnet und Linien verbindet. Diese Einfachheit ist jedoch tr\u00fcgerisch. Ein schlecht konstruiertes ERD erzeugt eine Schuldenlast, die sich im Laufe der Zeit vergr\u00f6\u00dfert und zu komplexen Abfragen, Datenintegrit\u00e4tsproblemen und schwierigen Migrationen f\u00fchrt.<\/p>\n<p>Dieser Leitfaden untersucht die versteckte Komplexit\u00e4tsl\u00fccke. Er zeigt auf, wo der Bruch zwischen theoretischem Wissen und praktischer Anwendung entsteht. Durch das Verst\u00e4ndnis dieser Fallstricke k\u00f6nnen Entwickler \u00fcber die einfache Diagrammierung hinaus zu echtem architektonischem Denken gelangen.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img alt=\"A kawaii-style infographic explaining common Entity Relationship Diagram mistakes junior engineers make, featuring cute chibi characters, pastel colors, and visual examples of cardinality relationships, normalization tradeoffs, naming conventions, business logic considerations, and a validation checklist to help developers build scalable, maintainable database schemas.\" decoding=\"async\" src=\"https:\/\/www.viz-note.com\/wp-content\/uploads\/2026\/04\/kawaii-erd-complexity-gap-infographic.jpg\"\/><\/figure>\n<\/div>\n<h2>1. Das Fundament der Datenmodellierung verstehen \ud83c\udfd7\ufe0f<\/h2>\n<p>Bevor man sich mit Fehlern besch\u00e4ftigt, ist es unerl\u00e4sslich, klarzustellen, was ein ERD eigentlich darstellt. Es ist nicht einfach nur eine Zeichnung; es ist ein Vertrag zwischen der Anwendung und der Speicher-Ebene. Ein ERD visualisiert Entit\u00e4ten (Tabellen), Attribute (Spalten) und Beziehungen (Fremdschl\u00fcssel).<\/p>\n<p>Wenn ein Ingenieur dies als statisches Artefakt betrachtet, das einmal erstellt und danach vergessen wird, verpasst er die dynamische Natur der Daten. Datenmodelle entwickeln sich weiter, je nachdem, wie sich die Gesch\u00e4ftsanforderungen \u00e4ndern. Ein Junior-Entwickler k\u00f6nnte sich auf die unmittelbare Funktion konzentrieren, beispielsweise die Speicherung des Namens eines Benutzers, und dabei \u00fcbersehen, wie dieser Benutzer mit anderen Entit\u00e4ten wie Bestellungen, Abonnements oder Protokollen interagiert.<\/p>\n<ul>\n<li><strong>Entit\u00e4ten:<\/strong> Sie stellen Gegenst\u00e4nde oder Konzepte der realen Welt dar (z.\u202fB. Kunde, Produkt, Rechnung).<\/li>\n<li><strong>Attribute:<\/strong> Sie sind die Eigenschaften, die die Entit\u00e4t definieren (z.\u202fB. E-Mail, Preis, Datum).<\/li>\n<li><strong>Beziehungen:<\/strong> Sie definieren, wie Entit\u00e4ten miteinander interagieren (z.\u202fB. Eins-zu-Viele, Viele-zu-Viele).<\/li>\n<\/ul>\n<p>Ein robustes Modell ber\u00fccksichtigt zuk\u00fcnftiges Wachstum. Es ber\u00fccksichtigt, wie ein \u201eKunde\u201c zu einem \u201eBenutzer\u201c werden k\u00f6nnte oder wie ein \u201eProdukt\u201c Varianten ben\u00f6tigen k\u00f6nnte. Das urspr\u00fcngliche Diagramm sollte flexibel genug sein, um diese \u00c4nderungen zu erm\u00f6glichen, ohne dass eine vollst\u00e4ndige Neugestaltung erforderlich ist.<\/p>\n<h2>2. Die Kardinalit\u00e4tsfalle: Falsche Interpretation von Beziehungen \ud83d\udd04<\/h2>\n<p>Die Kardinalit\u00e4t ist die h\u00e4ufigste Ursache f\u00fcr strukturelle Fehler bei der Datenbankgestaltung. Sie definiert die numerische Beziehung zwischen Instanzen von Entit\u00e4ten. Ein Missverst\u00e4ndnis f\u00fchrt zu ineffizientem Speicherplatz und komplexer Join-Logik.<\/p>\n<h3>H\u00e4ufige Kardinalit\u00e4ts-Szenarien<\/h3>\n<p>Ingenieure neigen oft dazu, die offensichtlichste Beziehung zu w\u00e4hlen, ohne Randf\u00e4lle zu ber\u00fccksichtigen. Betrachten Sie die folgenden Szenarien, bei denen Annahmen zu Fehlern f\u00fchren:<\/p>\n<ul>\n<li><strong>Eins-zu-Eins (1:1):<\/strong>H\u00e4ufig \u00fcberm\u00e4\u00dfig verwendet. Wenn zwei Entit\u00e4ten eine 1:1-Beziehung haben, sollten sie oft in einer einzigen Tabelle zusammengefasst werden, um die Join-Kosten zu reduzieren, es sei denn, eine strenge Sicherheits-Trennung ist erforderlich.<\/li>\n<li><strong>Eins-zu-Viele (1:N):<\/strong> Die h\u00e4ufigste Beziehung. Ein einzelnes Eltern-Element steht in Beziehung zu mehreren Kind-Elementen. Der Fremdschl\u00fcssel muss auf der Kind-Seite stehen.<\/li>\n<li><strong>Viele-zu-Viele (M:N):<\/strong> Hier vergr\u00f6\u00dfert sich die Komplexit\u00e4tsl\u00fccke. Eine direkte M:N-Beziehung ist in einem relationalen Modell ohne eine Zwischentabelle physisch nicht m\u00f6glich.<\/li>\n<\/ul>\n<h3>Tabelle: Fehler bei der Implementierung der Kardinalit\u00e4t<\/h3>\n<table>\n<thead>\n<tr>\n<th>Szenario<\/th>\n<th>Falscher Ansatz<\/th>\n<th>Richtiger Ansatz<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Sch\u00fcler und Kurse<\/td>\n<td>Hinzuf\u00fcgen einer \u201eCourseID\u201c-Spalte zur \u201eStudent\u201c-Tabelle<\/td>\n<td>Erstellen einer \u201eStudent_Course\u201c-Zwischentabelle<\/td>\n<\/tr>\n<tr>\n<td>Auftr\u00e4ge und Produkte<\/td>\n<td>Einbetten von Produktinformationen direkt in die Auftrags-Tabelle<\/td>\n<td>Verkn\u00fcpfen \u00fcber eine OrderItems-Tabelle<\/td>\n<\/tr>\n<tr>\n<td>Mitarbeiter und Abteilungen<\/td>\n<td>Erlauben, dass ein Mitarbeiter mehreren Abteilungen ohne eine Verbindungstabelle angeh\u00f6rt<\/td>\n<td>Trennen der Abbildungsbeziehung<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Wenn Ingenieure versuchen, eine Many-to-Many-Beziehung durch Wiederholung von Daten in einer einzigen Tabelle zu erzwingen, f\u00fchren sie Redundanz ein. Wenn sich der Preis eines Produkts \u00e4ndert, muss er in jedem Auftragsdokument aktualisiert werden, in dem dieses Produkt erscheint. Dies verst\u00f6\u00dft gegen die Normalisierungsprinzipien und f\u00fchrt zu Wartungs-Albtr\u00e4umen.<\/p>\n<h2>3. Normalisierungsmythen und Realit\u00e4tspr\u00fcfungen \ud83d\udcc9<\/h2>\n<p>Normalisierung ist ein Standardkonzept, das in akademischen Ausbildungen vermittelt wird. Ziel ist es, Datenredundanz zu reduzieren und die Integrit\u00e4t zu verbessern. Allerdings normalisieren Junior-Entwickler oft bis ins Extreme (bis zu 5NF), ohne die Leistungsabw\u00e4gungen zu ber\u00fccksichtigen.<\/p>\n<h3>Die Falle der \u00dcbernormalisierung<\/h3>\n<p>Ein \u00fcber-normalisierter Schema teilt die Daten in zu viele Tabellen auf. Obwohl dies Konsistenz gew\u00e4hrleistet, zwingt es die Anwendung, \u00fcberm\u00e4\u00dfige Joins durchzuf\u00fchren. Jeder Join f\u00fcgt zus\u00e4tzlichen Rechenaufwand hinzu. In Systemen mit hohem Datenverkehr kann dies zu einer Engstelle werden.<\/p>\n<ul>\n<li><strong>1NF (Erste Normalform):<\/strong>Atomare Werte. Keine Listen in einer einzelnen Zelle.<\/li>\n<li><strong>2NF (Zweite Normalform):<\/strong>Keine partiellen Abh\u00e4ngigkeiten. Alle nicht-schl\u00fcsselbasierten Attribute m\u00fcssen auf den gesamten Prim\u00e4rschl\u00fcssel abh\u00e4ngen.<\/li>\n<li><strong>3NF (Dritte Normalform):<\/strong>Keine transitiven Abh\u00e4ngigkeiten. Attribute sollten nicht von anderen nicht-schl\u00fcsselbasierten Attributen abh\u00e4ngen.<\/li>\n<\/ul>\n<p>Ein h\u00e4ufiger Fehler ist die Annahme, dass 3NF immer das Ziel ist. In einigen F\u00e4llen ist die De-Normalisierung eine bewusste Gestaltungsoption. Zum Beispiel vermeidet das Speichern einer \u201eGesamtbestellsumme\u201c direkt in der Auftrags-Tabelle die Berechnung der Summe der Artikel bei jeder Anzeige des Auftrags. Dies tauscht Schreibleistung gegen Leseleistung aus.<\/p>\n<h3>Tabelle: Normalisierung gegen\u00fcber De-Normalisierung<\/h3>\n<table>\n<thead>\n<tr>\n<th>Faktor<\/th>\n<th>Normalisiert (3NF)<\/th>\n<th>De-normalisiert<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Datenredundanz<\/td>\n<td>Niedrig<\/td>\n<td>Hoch<\/td>\n<\/tr>\n<tr>\n<td>Schreibgeschwindigkeit<\/td>\n<td>Schnell<\/td>\n<td>Langsam<\/td>\n<\/tr>\n<tr>\n<td>Lesegeschwindigkeit<\/td>\n<td>Langsam (mehr Joins)<\/td>\n<td>Schnell<\/td>\n<\/tr>\n<tr>\n<td>Datenintegrit\u00e4t<\/td>\n<td>Hoch<\/td>\n<td>Niedriger (erfordert Logik)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Die Entscheidung, die Normalisierung aufzuheben, muss datengest\u00fctzt sein. Sie sollte nicht willk\u00fcrlich erfolgen. Ingenieure m\u00fcssen die Abfrageleistung profilieren, bevor sie Tabellen zusammenf\u00fchren. Blindes Folgen von Normalisierungsregeln ohne Kontext f\u00fchrt zu Systemen, die konsistent, aber langsam sind.<\/p>\n<h2>4. Namenskonventionen und semantische Klarheit \ud83c\udff7\ufe0f<\/h2>\n<p>Schema-Namen sind das Vokabular der Datenbank. Wenn das Vokabular mehrdeutig ist, wird das System f\u00fcr zuk\u00fcnftige Entwickler unverst\u00e4ndlich. Dies ist ein h\u00e4ufiges Problem, bei dem technische Pr\u00e4zision der K\u00fcrze geopfert wird.<\/p>\n<p>Ein Feld namens <code>Status<\/code> ist gef\u00e4hrlich. Was bedeutet es? Ist es ein aktives Konto? Eine ausstehende Zahlung? Ein gel\u00f6schtes Dokument? Ohne Kontext geht die Bedeutung verloren. Ebenso f\u00fchrt die Verwendung von Pluralnamen f\u00fcr Tabellen (z.\u202fB. <code>Benutzer<\/code>) im Gegensatz zu Singularnamen (z.\u202fB. <code>Benutzer<\/code>) zu Inkonsistenzen.<\/p>\n<ul>\n<li><strong>Konsistenz:<\/strong> Wenn eine Tabelle <code>snake_case<\/code> verwendet, m\u00fcssen alle <code>snake_case<\/code>.<\/li>\n<li><strong>Beschreibbarkeit:<\/strong> Verwenden Sie Namen, die die Daten beschreiben, nicht nur das Format. Vermeiden Sie generische Begriffe wie <code>tabelle1<\/code> oder <code>Daten<\/code>.<\/li>\n<li><strong>Kontext:<\/strong> F\u00fcgen Sie den Entit\u00e4tsnamen in den Beziehungsschl\u00fcssel ein, falls Mehrdeutigkeit besteht. Verwenden Sie <code>benutzer_id<\/code> anstelle von einfach nur <code>id<\/code> wenn m\u00f6glich.<\/li>\n<\/ul>\n<p>Betrachten Sie die Situation eines Systems mit mehreren Benutzertypen: Administratoren, Kunden und Lieferanten. Eine einzelne Tabelle namens <code>Benutzer<\/code> k\u00f6nnte eine <code>Rolle<\/code> Spalte enthalten. Dies ist eine \u201eGott-Tabelle\u201c. Ein besseres Vorgehen ist die Verwendung separater Tabellen oder einer klaren Vererbungsstrategie. Diese Unterscheidung wird entscheidend, wenn Berechtigungen und Datenzugriffsregeln zwischen den Rollen stark abweichen.<\/p>\n<h2>5. Ignorieren der Gesch\u00e4ftslogik in der technischen Gestaltung \ud83e\udde0<\/h2>\n<p>Der gr\u00f6\u00dfte Unterschied zwischen Junior- und Senior-Entwicklern ist das Verst\u00e4ndnis der Gesch\u00e4ftslogik. Ein Junior-Entwickler k\u00f6nnte ein Schema erstellen, das den aktuellen Codeanforderungen perfekt entspricht, aber versagt, wenn sich die Gesch\u00e4ftsregeln \u00e4ndern.<\/p>\n<h3>Der Missbrauch des \u201eWeichen L\u00f6schen\u201c<\/h3>\n<p>Viele Entwickler f\u00fcgen einfach eine <code>gel\u00f6scht_am<\/code> Spalte zu einer Tabelle hinzu. Das funktioniert f\u00fcr einfache F\u00e4lle. Wenn jedoch ein Benutzer gel\u00f6scht wird, sollten dann deren zugeh\u00f6rige Protokolle ebenfalls gel\u00f6scht werden? Sollten ihre Finanzdaten aus Audit-Zwecken erhalten bleiben? Das ERD sollte diese Einschr\u00e4nkungen durch Constraints und Trigger widerspiegeln, nicht nur durch Anwendungscode.<\/p>\n<h3>Das \u201eNull\u201c-Problem<\/h3>\n<p>Die Zulassung von NULL-Werten ist oft eine Quelle verborgener Komplexit\u00e4t. In einigen F\u00e4llen ist NULL semantisch anders als eine leere Zeichenkette oder Null. Wenn ein Feld optional ist, sollte das ERD dies eindeutig anzeigen. Die Verwendung von NULL-Werten zur Steuerung der Logik wird jedoch abgeraten.<\/p>\n<ul>\n<li><strong>Referenzielle Integrit\u00e4t:<\/strong> Fremdschl\u00fcssel sollten idealerweise nicht NULL sein, es sei denn, die Beziehung ist wirklich optional.<\/li>\n<li><strong>Berechnungen:<\/strong> NULL-Werte breiten sich in Berechnungen aus und f\u00fchren zu NULL-Ergebnissen. Dies kann Aggregationsabfragen st\u00f6ren.<\/li>\n<li><strong>Indizes:<\/strong> Die Behandlung von NULL-Werten in Indizes variiert je nach Datenbank-Engine und kann die Abfrageleistung beeinflussen.<\/li>\n<\/ul>\n<h2>6. Der Wartungsaufwand schlechter Gestaltung \ud83d\udd27<\/h2>\n<p>Technische Schulden gehen nicht nur um langsamen Code; es geht um strukturelle Starrheit. Ein schlecht gestaltetes ERD macht \u00c4nderungen schmerzhaft. Wenn eine neue Anforderung kommt, beispielsweise die Hinzuf\u00fcgung einer \u201eRechnungsadresse\u201c, die von einer \u201eLieferadresse\u201c getrennt ist, muss der Ingenieur pr\u00fcfen, ob das aktuelle Schema dies unterst\u00fctzt.<\/p>\n<h3>Migration-Alptr\u00e4ume<\/h3>\n<p>Die \u00c4nderung des Schemas einer Produktionsdatenbank mit Millionen von Datens\u00e4tzen erfordert sorgf\u00e4ltige Planung. Wenn das ERD nicht mit Migrationen im Blick entworfen wurde, kann die \u00c4nderung eines Spaltentyps oder das Aufteilen einer Tabelle das System stundenlang sperren. Diese Ausfallzeit beeintr\u00e4chtigt Umsatz und Benutzervertrauen.<\/p>\n<p>Strategien zur Minderung dieses Problems sind:<\/p>\n<ul>\n<li><strong>Versionskontrolle f\u00fcr das Schema:<\/strong> Behandeln Sie die Datenbankstruktur wie Anwendungscode.<\/li>\n<li><strong>R\u00fcckw\u00e4rtskompatibilit\u00e4t:<\/strong> F\u00fcgen Sie Spalten vor dem L\u00f6schen hinzu. Behalten Sie alte Spalten bis zum Abschluss der Migration bei.<\/li>\n<li><strong>Dokumentation:<\/strong> Der ERD sollte die Quelle der Wahrheit sein. Wenn er nicht mit der Datenbank \u00fcbereinstimmt, ist die Datenbank falsch.<\/li>\n<\/ul>\n<h2>7. Praktische Pr\u00fcfliste f\u00fcr die ERD-Validierung \u2705<\/h2>\n<p>Um ein robustes Design zu gew\u00e4hrleisten, sollten Ingenieure eine Validierungs-Checkliste durchlaufen, bevor sie die Diagramm endg\u00fcltig festlegen. Dieser Prozess hilft dabei, logische Fehler zu erkennen, bevor die Implementierung beginnt.<\/p>\n<h3>Validierung vor der Implementierung<\/h3>\n<table>\n<thead>\n<tr>\n<th>Pr\u00fcfung<\/th>\n<th>Frage<\/th>\n<th>Bestehenskriterien<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Prim\u00e4rschl\u00fcssel<\/td>\n<td>Hat jede Tabelle einen eindeutigen Bezeichner?<\/td>\n<td>Ja, Auto-Inkrement oder UUID<\/td>\n<\/tr>\n<tr>\n<td>Fremdschl\u00fcssel<\/td>\n<td>Sind Beziehungen explizit definiert?<\/td>\n<td>Ja, mit ON DELETE\/UPDATE-Regeln<\/td>\n<\/tr>\n<tr>\n<td>Redundanz<\/td>\n<td>Wird irgendeine Daten in mehr als einem Ort gespeichert?<\/td>\n<td>Nein, es sei denn, die Denormalisierung ist bewusst<\/td>\n<\/tr>\n<tr>\n<td>Skalierbarkeit<\/td>\n<td>Kann dies das Zehnfache des aktuellen Datenvolumens bew\u00e4ltigen?<\/td>\n<td>Indizes existieren auf Fremdschl\u00fcsseln<\/td>\n<\/tr>\n<tr>\n<td>Lesbarkeit<\/td>\n<td>Kann ein neuer Mitarbeiter den Ablauf in 5 Minuten verstehen?<\/td>\n<td>Klare Namenskonventionen<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>8. Werkzeuge im Vergleich zu Konzepten \ud83d\udee0\ufe0f<\/h2>\n<p>Es ist leicht, sich auf die Funktionen eines bestimmten Werkzeugs zu verlassen, um Gestaltungsprobleme zu l\u00f6sen. Doch das Werkzeug ist dem Konzept untergeordnet. Egal, ob man ein visuelles Modellierungswerkzeug verwendet oder direkt SQL-Skripte schreibt, die zugrundeliegende Logik bleibt dieselbe.<\/p>\n<p>Einige Ingenieure erstellen Diagramme, die optisch perfekt aussehen, aber syntaktisch im Zielfeld-Database unm\u00f6glich sind. Zum Beispiel erlauben einige Werkzeuge zirkul\u00e4re Abh\u00e4ngigkeiten in der visuellen Ebene, w\u00e4hrend der Datenbank-Engine sie ablehnen wird. Der Fokus muss auf den Regeln der relationale Integrit\u00e4t liegen, anstatt auf der Zeichenoberfl\u00e4che.<\/p>\n<ul>\n<li><strong>Visuelle Konsistenz:<\/strong> Verwenden Sie Standard-Symbole f\u00fcr Beziehungen (Crow\u2019s Foot-Notation).<\/li>\n<li><strong>Validierung:<\/strong> F\u00fchren Sie das Schema gegen eine Testdatenbank aus, um die Einschr\u00e4nkungen zu \u00fcberpr\u00fcfen.<\/li>\n<li><strong>Zusammenarbeit:<\/strong> \u00dcberpr\u00fcfen Sie das Diagramm mit Stakeholdern, die den Gesch\u00e4ftsbereich verstehen, nicht nur mit technischen Kollegen.<\/li>\n<\/ul>\n<h2>9. Realweltszenarien des Versagens \u26a0\ufe0f<\/h2>\n<p>Abstrakte Konzepte zu verstehen ist eine Sache; sie in der Praxis versagen zu sehen, ist etwas anderes. Nachfolgend finden Sie h\u00e4ufige Szenarien, bei denen eine schlechte ERD-Designf\u00fchrung zu greifbaren Problemen f\u00fchrt.<\/p>\n<h3>Szenario A: Die unendliche Schleife<\/h3>\n<p>Ein Entwickler erstellt eine Beziehung zwischen <code>Benutzer<\/code> und <code>Teams<\/code> bei dem ein Benutzer einer Gruppe angeh\u00f6rt und eine Gruppe von einem Benutzer geleitet wird. Wenn der Fremdschl\u00fcssel auf dieselbe Tabelle verweist, ohne eine klare Wurzel zu haben, treten w\u00e4hrend der Einf\u00fcgung zirkul\u00e4re Referenzfehler auf. Das ERD muss zwischen \u201eMitglied\u201c- und \u201eLeiter\u201c-Beziehungen klar unterscheiden.<\/p>\n<h3>Szenario B: Der stille Datenverlust<\/h3>\n<p>Eine <code>Bestellung<\/code>Tabelle verweist auf eine <code>Produkt<\/code>Tabelle. Die <code>ON DELETE<\/code>Einschr\u00e4nkung ist auf <code>CASCADE<\/code>. Wenn ein Produkt aus dem Katalog entfernt wird, werden alle zugeh\u00f6rigen Bestellungen gel\u00f6scht. Dadurch wird die historische Verkaufsdaten zerst\u00f6rt. Das ERD sollte die referenzielle Aktion explizit als <code>RESTRICT<\/code> oder <code>SET NULL<\/code> festlegen, je nach Gesch\u00e4ftsanforderung.<\/p>\n<h3>Szenario C: Die langsame Suche<\/h3>\n<p>Eine Tabelle wird mit einer <code>name<\/code>Spalte erstellt. Ingenieure fragen diese Tabelle h\u00e4ufig ab, um Benutzer anhand ihres Namens zu finden. Ohne einen Index in der Entwurfsphase zu definieren, f\u00fchrt die Datenbank eine vollst\u00e4ndige Tabellenabfrage durch. Das ERD sollte anzeigen, welche Spalten suchintensiv sind und Indizierung erfordern.<\/p>\n<h2>10. Entwicklung von einem Junior- zu einem Senior-Mindset \ud83d\ude80<\/h2>\n<p>Der \u00dcbergang beinhaltet eine Verschiebung des Fokus von \u201eFunktioniert es?\u201c zu \u201eSkaliert es?\u201c und \u201eIst es wartbar?\u201c.<\/p>\n<ul>\n<li><strong>Voraussicht:<\/strong> Prognostizieren zuk\u00fcnftiger Anforderungen basierend auf Branchentrends.<\/li>\n<li><strong>Kommunikation:<\/strong> \u00dcbersetzen technischer Beschr\u00e4nkungen in gesch\u00e4ftliche Risiken.<\/li>\n<li><strong>\u00dcberpr\u00fcfung:<\/strong> Nehmen Sie niemals an, dass ein Diagramm korrekt ist, ohne eine Peer-Review durchzuf\u00fchren.<\/li>\n<\/ul>\n<p>Junior-Engineer arbeiten oft isoliert. Senior-Engineer arbeiten zusammen. Das ERD ist ein Kommunikationswerkzeug. Es schlie\u00dft die L\u00fccke zwischen Entwicklern, Produktmanagern und Stakeholdern. Wenn das Diagramm verwirrend ist, werden die Erwartungen falsch ausgerichtet.<\/p>\n<h2>Abschlie\u00dfende Gedanken zur Datenintegrit\u00e4t \ud83c\udfaf<\/h2>\n<p>Die Erstellung einer Datenbank-Schema ist keine einmalige Aufgabe; es ist eine fortlaufende Disziplin. Die Komplexit\u00e4tsl\u00fccke besteht, weil die Konsequenzen hoch sind. Ein Fehler im Anwendungscode kann schnell behoben werden. Ein Fehler im Datenmodell erfordert oft eine Migration, Datenbereinigung und Ausfallzeiten.<\/p>\n<p>Durch die Einhaltung strenger Modellierungsprinzipien, tiefes Verst\u00e4ndnis der Kardinalit\u00e4t und die Priorisierung von Gesch\u00e4ftslogik gegen\u00fcber Bequemlichkeit k\u00f6nnen Ingenieure die L\u00fccke schlie\u00dfen. Das Ziel ist nicht, ein perfektes Diagramm zu erstellen, sondern eine Grundlage zu schaffen, die die Entwicklung der Software unterst\u00fctzt. Daten sind das wertvollste Gut, das eine Anwendung besitzt. Den Schutz ihrer Struktur ist die Verantwortung jedes Ingenieurs, der am Bauprozess beteiligt ist.<\/p>\n<p>Nehmen Sie sich die Zeit, Ihre Diagramme zu \u00fcberpr\u00fcfen. Fragen Sie jede Beziehung. \u00dcberpr\u00fcfen Sie jede Beschr\u00e4nkung. Die Zeit, die Sie in der Entwurfsphase investieren, spart Monate an Aufwand in der Wartungsphase.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Datenmodellierung ist oft der unsichtbare R\u00fcckgrat jeder Softwareanwendung. W\u00e4hrend der Code, der die Gesch\u00e4ftslogik ausf\u00fchrt, im Rampenlicht steht, bestimmt das darunterliegende Schema Leistungsf\u00e4higkeit, Skalierbarkeit und Wartbarkeit. F\u00fcr viele Junior-Entwickler&hellip;<\/p>\n","protected":false},"author":1,"featured_media":1655,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"ERD-Fehler, die Junior-Engineer machen: Ein umfassender Leitfaden","_yoast_wpseo_metadesc":"Entdecken Sie h\u00e4ufige Fehler in Entity-Relationship-Diagrammen. Lernen Sie \u00fcber Kardinalit\u00e4t, Normalisierung und Fallstricke der Datenmodellierung, um Ihre Datenbankarchitektur zu verbessern.","fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[68],"tags":[89,93],"class_list":["post-1654","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database-design","tag-academic","tag-erd"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ERD-Fehler, die Junior-Engineer machen: Ein umfassender Leitfaden<\/title>\n<meta name=\"description\" content=\"Entdecken Sie h\u00e4ufige Fehler in Entity-Relationship-Diagrammen. Lernen Sie \u00fcber Kardinalit\u00e4t, Normalisierung und Fallstricke der Datenmodellierung, um Ihre Datenbankarchitektur zu verbessern.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ERD-Fehler, die Junior-Engineer machen: Ein umfassender Leitfaden\" \/>\n<meta property=\"og:description\" content=\"Entdecken Sie h\u00e4ufige Fehler in Entity-Relationship-Diagrammen. Lernen Sie \u00fcber Kardinalit\u00e4t, Normalisierung und Fallstricke der Datenmodellierung, um Ihre Datenbankarchitektur zu verbessern.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/\" \/>\n<meta property=\"og:site_name\" content=\"Viz Note German - AI Insights &amp; Software Industry Updates\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-09T08:57:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.viz-note.com\/de\/wp-content\/uploads\/sites\/9\/2026\/04\/kawaii-erd-complexity-gap-infographic.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1664\" \/>\n\t<meta property=\"og:image:height\" content=\"928\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"vpadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"vpadmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"11\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/\"},\"author\":{\"name\":\"vpadmin\",\"@id\":\"https:\/\/www.viz-note.com\/de\/#\/schema\/person\/d69595112293b803501f7b381be28255\"},\"headline\":\"Die versteckte Komplexit\u00e4tsl\u00fccke: Wenn Junior-Entwickler Entit\u00e4ts-Beziehungs-Diagramme falsch aufbauen\",\"datePublished\":\"2026-04-09T08:57:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/\"},\"wordCount\":2149,\"publisher\":{\"@id\":\"https:\/\/www.viz-note.com\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.viz-note.com\/de\/wp-content\/uploads\/sites\/9\/2026\/04\/kawaii-erd-complexity-gap-infographic.jpg\",\"keywords\":[\"academic\",\"erd\"],\"articleSection\":[\"Database Design\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/\",\"url\":\"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/\",\"name\":\"ERD-Fehler, die Junior-Engineer machen: Ein umfassender Leitfaden\",\"isPartOf\":{\"@id\":\"https:\/\/www.viz-note.com\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.viz-note.com\/de\/wp-content\/uploads\/sites\/9\/2026\/04\/kawaii-erd-complexity-gap-infographic.jpg\",\"datePublished\":\"2026-04-09T08:57:53+00:00\",\"description\":\"Entdecken Sie h\u00e4ufige Fehler in Entity-Relationship-Diagrammen. Lernen Sie \u00fcber Kardinalit\u00e4t, Normalisierung und Fallstricke der Datenmodellierung, um Ihre Datenbankarchitektur zu verbessern.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/#primaryimage\",\"url\":\"https:\/\/www.viz-note.com\/de\/wp-content\/uploads\/sites\/9\/2026\/04\/kawaii-erd-complexity-gap-infographic.jpg\",\"contentUrl\":\"https:\/\/www.viz-note.com\/de\/wp-content\/uploads\/sites\/9\/2026\/04\/kawaii-erd-complexity-gap-infographic.jpg\",\"width\":1664,\"height\":928},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.viz-note.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Die versteckte Komplexit\u00e4tsl\u00fccke: Wenn Junior-Entwickler Entit\u00e4ts-Beziehungs-Diagramme falsch aufbauen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.viz-note.com\/de\/#website\",\"url\":\"https:\/\/www.viz-note.com\/de\/\",\"name\":\"Viz Note German - AI Insights &amp; Software Industry Updates\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.viz-note.com\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.viz-note.com\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.viz-note.com\/de\/#organization\",\"name\":\"Viz Note German - AI Insights &amp; Software Industry Updates\",\"url\":\"https:\/\/www.viz-note.com\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.viz-note.com\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.viz-note.com\/de\/wp-content\/uploads\/sites\/9\/2025\/03\/cropped-viz-note-logo.png\",\"contentUrl\":\"https:\/\/www.viz-note.com\/de\/wp-content\/uploads\/sites\/9\/2025\/03\/cropped-viz-note-logo.png\",\"width\":512,\"height\":512,\"caption\":\"Viz Note German - AI Insights &amp; Software Industry Updates\"},\"image\":{\"@id\":\"https:\/\/www.viz-note.com\/de\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.viz-note.com\/de\/#\/schema\/person\/d69595112293b803501f7b381be28255\",\"name\":\"vpadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.viz-note.com\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g\",\"caption\":\"vpadmin\"},\"sameAs\":[\"https:\/\/www.viz-note.com\"],\"url\":\"https:\/\/www.viz-note.com\/de\/author\/vpadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ERD-Fehler, die Junior-Engineer machen: Ein umfassender Leitfaden","description":"Entdecken Sie h\u00e4ufige Fehler in Entity-Relationship-Diagrammen. Lernen Sie \u00fcber Kardinalit\u00e4t, Normalisierung und Fallstricke der Datenmodellierung, um Ihre Datenbankarchitektur zu verbessern.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/","og_locale":"de_DE","og_type":"article","og_title":"ERD-Fehler, die Junior-Engineer machen: Ein umfassender Leitfaden","og_description":"Entdecken Sie h\u00e4ufige Fehler in Entity-Relationship-Diagrammen. Lernen Sie \u00fcber Kardinalit\u00e4t, Normalisierung und Fallstricke der Datenmodellierung, um Ihre Datenbankarchitektur zu verbessern.","og_url":"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/","og_site_name":"Viz Note German - AI Insights &amp; Software Industry Updates","article_published_time":"2026-04-09T08:57:53+00:00","og_image":[{"width":1664,"height":928,"url":"https:\/\/www.viz-note.com\/de\/wp-content\/uploads\/sites\/9\/2026\/04\/kawaii-erd-complexity-gap-infographic.jpg","type":"image\/jpeg"}],"author":"vpadmin","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"vpadmin","Gesch\u00e4tzte Lesezeit":"11\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/#article","isPartOf":{"@id":"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/"},"author":{"name":"vpadmin","@id":"https:\/\/www.viz-note.com\/de\/#\/schema\/person\/d69595112293b803501f7b381be28255"},"headline":"Die versteckte Komplexit\u00e4tsl\u00fccke: Wenn Junior-Entwickler Entit\u00e4ts-Beziehungs-Diagramme falsch aufbauen","datePublished":"2026-04-09T08:57:53+00:00","mainEntityOfPage":{"@id":"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/"},"wordCount":2149,"publisher":{"@id":"https:\/\/www.viz-note.com\/de\/#organization"},"image":{"@id":"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/#primaryimage"},"thumbnailUrl":"https:\/\/www.viz-note.com\/de\/wp-content\/uploads\/sites\/9\/2026\/04\/kawaii-erd-complexity-gap-infographic.jpg","keywords":["academic","erd"],"articleSection":["Database Design"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/","url":"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/","name":"ERD-Fehler, die Junior-Engineer machen: Ein umfassender Leitfaden","isPartOf":{"@id":"https:\/\/www.viz-note.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/#primaryimage"},"image":{"@id":"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/#primaryimage"},"thumbnailUrl":"https:\/\/www.viz-note.com\/de\/wp-content\/uploads\/sites\/9\/2026\/04\/kawaii-erd-complexity-gap-infographic.jpg","datePublished":"2026-04-09T08:57:53+00:00","description":"Entdecken Sie h\u00e4ufige Fehler in Entity-Relationship-Diagrammen. Lernen Sie \u00fcber Kardinalit\u00e4t, Normalisierung und Fallstricke der Datenmodellierung, um Ihre Datenbankarchitektur zu verbessern.","breadcrumb":{"@id":"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/#primaryimage","url":"https:\/\/www.viz-note.com\/de\/wp-content\/uploads\/sites\/9\/2026\/04\/kawaii-erd-complexity-gap-infographic.jpg","contentUrl":"https:\/\/www.viz-note.com\/de\/wp-content\/uploads\/sites\/9\/2026\/04\/kawaii-erd-complexity-gap-infographic.jpg","width":1664,"height":928},{"@type":"BreadcrumbList","@id":"https:\/\/www.viz-note.com\/de\/hidden-complexity-gap-junior-engineers-erd\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.viz-note.com\/de\/"},{"@type":"ListItem","position":2,"name":"Die versteckte Komplexit\u00e4tsl\u00fccke: Wenn Junior-Entwickler Entit\u00e4ts-Beziehungs-Diagramme falsch aufbauen"}]},{"@type":"WebSite","@id":"https:\/\/www.viz-note.com\/de\/#website","url":"https:\/\/www.viz-note.com\/de\/","name":"Viz Note German - AI Insights &amp; Software Industry Updates","description":"","publisher":{"@id":"https:\/\/www.viz-note.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.viz-note.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.viz-note.com\/de\/#organization","name":"Viz Note German - AI Insights &amp; Software Industry Updates","url":"https:\/\/www.viz-note.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.viz-note.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/www.viz-note.com\/de\/wp-content\/uploads\/sites\/9\/2025\/03\/cropped-viz-note-logo.png","contentUrl":"https:\/\/www.viz-note.com\/de\/wp-content\/uploads\/sites\/9\/2025\/03\/cropped-viz-note-logo.png","width":512,"height":512,"caption":"Viz Note German - AI Insights &amp; Software Industry Updates"},"image":{"@id":"https:\/\/www.viz-note.com\/de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.viz-note.com\/de\/#\/schema\/person\/d69595112293b803501f7b381be28255","name":"vpadmin","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.viz-note.com\/de\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g","caption":"vpadmin"},"sameAs":["https:\/\/www.viz-note.com"],"url":"https:\/\/www.viz-note.com\/de\/author\/vpadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.viz-note.com\/de\/wp-json\/wp\/v2\/posts\/1654","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.viz-note.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.viz-note.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.viz-note.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.viz-note.com\/de\/wp-json\/wp\/v2\/comments?post=1654"}],"version-history":[{"count":0,"href":"https:\/\/www.viz-note.com\/de\/wp-json\/wp\/v2\/posts\/1654\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.viz-note.com\/de\/wp-json\/wp\/v2\/media\/1655"}],"wp:attachment":[{"href":"https:\/\/www.viz-note.com\/de\/wp-json\/wp\/v2\/media?parent=1654"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.viz-note.com\/de\/wp-json\/wp\/v2\/categories?post=1654"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.viz-note.com\/de\/wp-json\/wp\/v2\/tags?post=1654"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}