Shopware wie wäre es mal mit Datenbanknormalisierung ???

Wieso wird die Shopware Datenbank eigentlich immer wiedersprüchlicher? Gibt es nicht etwas was sich DAtenbank Normalisierung nennt!? Neben dem Seit jahren mitgeschlepptem doppeltem Attribut Aktiv in den Tabellen: s\_articles.aktive s\_articles\_details.aktive Ist nun mit Shopware 4/5 nun auch noch die Relation zwischen einem Artikel und der ArtikelDetail Tabelle doppelt abgelegt. s\_articles.main\_detail\_id welches eigentlich überflüssig ist da man die Relation in folgender Tabelle bereits hat: s\_articles\_details.articleID Irgendwie inkonsequent und etwas durcheinander wenn man das ganze als Entwickler betrachtet der mit der Datenbank arbeiten muss.

[quote=“nexxoo”]Neben dem Seit jahren mitgeschlepptem doppeltem Attribut Aktiv in den Tabellen:[/quote] Warum? So kann man Artikel komplett deaktivieren, ohne die Konfiguration der Kinder zu gefährden. [quote]Ist nun mit Shopware 4/5 nun auch noch die Relation zwischen einem Artikel und der ArtikelDetail Tabelle doppelt abgelegt.[/quote] Die Angabe des “Hauptartikels” (main_detail_id) ist zwingend notwendig. [quote=“nexxoo”]Gibt es nicht etwas was sich DAtenbank Normalisierung nennt!?[/quote] Oh ja - und das Thema ist den Shopware Jungs offensichtlich geläufiger als dir. [quote=“nexxoo”]wenn man das ganze als Entwickler betrachtet der mit der Datenbank arbeiten muss.[/quote] Hier sehe ich den eigentlichen Fehler: Shopware bietet ausreichend Schnittstellen (API, doctrine etc), um -nicht- direkt in die DB zu schreiben. Viele Grüße

1 Like

Hallo, trotz deiner wenig konstruktiven Kritik ein kurzes Statement zum Thema Datenbanknormalisierung. Ja, die Datenbank könnte an manchen Stellen besser modelliert sein, keine Software ist perfekt. Eine gezielte Denormalisierung der Daten ist oft notwendig um Daten performant Auslesen zu können. Viele Grüße, Benjamin Cremer :shopware:

1 Like

[quote=“Benjamin Cremer”]Hallo, trotz deiner wenig konstruktiven Kritik ein kurzes Statement zum Thema Datenbanknormalisierung. Ja, die Datenbank könnte an manchen Stellen besser modelliert sein, keine Software ist perfekt. Eine gezielte Denormalisierung der Daten ist oft notwendig um Daten performant Auslesen zu können. Viele Grüße, Benjamin Cremer :shopware:[/quote] Alles klar. Danke für die Info. Sicherlich lässt sich vieles über die von SHopware bereitgestellten Schnittstellen auslesen bzw. ansprechen. @Aquatuning Doch dies ist nicht immer möglich wesshalb man auch das ein oder andere mal direkt mit der Datenbank arbeiten muss. Und dort haben eben genau die oben genannten fälle für verwunderung gesorgt. Zur Zeiten der 3.5er waren soweit ich mich entsinnen kann auch noch nicht alle Attribute über die Api ansprechbar. Danke für die Aufklärung mit den Artikel childs.