Ich versuche eine Spezialisierung/Generalisierung zu modellieren, die auf die Verwendung der Vererbung von Klassentabellen ausgerichtet ist (siehe this answer).Klassentabellenvererbung vs. Denormalisierung
Allerdings hat mein Kollege Bedenken wegen Wartung und Leistung, da es viele (50+) überlappende Spezialisierungen derselben Tabelle geben wird. Sein Vorschlag ist eine Tabelle mit den folgenden Spalten zu erstellen:
- Verweis auf die allgemeine Tabelle
- Verweis auf eine Tabelle, die Arten von Spezialisierungen
- Verweis auf eine Tabelle, das Attribut unterhält unterhält Wert
Auf diese Weise werden alle Attribute in einer Tabelle verwaltet und können nach der Spezialisierungsspalte gefiltert werden. Ich weiß nicht, was dieser Entwurf genannt wird, aber ich mache mir Sorgen, dass es irgendwie zu EAV verwendet ist ...
Mein Hauptanliegen ist modification anomalies, aber davon abgesehen, dass ich sehe keinen Grund, warum es eine schlechte Idee ist. Ist eine Lösung der anderen klar überlegen, oder sollten wir nur eine auswählen und weitermachen?
Ich komme gerade von einem Treffen zurück, und das ist sehr ähnlich zu dem, was wir am Ende hatten. Es stellte sich heraus, dass eine große Mehrheit der Spezialisierungen nur informativ war. Daher verwendeten wir den generischen Datenmodellansatz für sie. Für die paar Spezialisierungen, die eine gute Performance erforderten/wir planten, viel abzufragen, verwendeten wir die Vererbung der Klassentabelle. Also danke, tolle Antwort! –