Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Auswirkungen von Supertyp und Subtyp

Wenn Sie nur Bilder an Benutzer und Seiten anhängen müssen, bin ich mir nicht sicher, ob eine vollständige Kategoriehierarchie (auch bekannt als "Unterklasse", "Untertyp", "Vererbung") optimal wäre.

Angenommen, Seiten/Benutzer können mehrere Bilder haben und jedes beliebige Bild kann an mehrere Seiten/Benutzer angehängt werden, und vorausgesetzt, Sie möchten keine Bilder an Bilder anhängen, sollte Ihr Modell wahrscheinlich so aussehen:

Sie könnten Verwenden Sie die Kategoriehierarchie, um ein ähnliches Ergebnis zu erzielen...

...aber bei so wenigen Unterklassen würde ich davon abraten (aufgrund möglicher Wartbarkeits- und Leistungsprobleme). Wenn andererseits in Zukunft neue Unterklassen hinzugefügt werden könnten, könnte dies tatsächlich die richtige Lösung sein (ENTITY_IMAGE wird automatisch alle diese neuen Unterklassen "abdecken", sodass Sie keinen neuen "Link" einfügen müssen). Tabelle für jeden einzelnen von ihnen).

Übrigens gibt es 3 Hauptwege um die Kategoriehierarchie zu implementieren, jede mit ihren eigenen Kompromissen.