Was ist der beste Ansatz eine Verallgemeinerung Fall für ein Forum Website darzustellen

stimmen
2

Ich habe die folgenden UML für die Datenbank unserer Website (uni-Projekt) modelliert: UML-Diagramm

Allerdings kann ich nicht scheinen zu finden, wie man wandelt die Verallgemeinerung Fall zwischen Post, Geschichte und Kommentar SQL. Mein Lehrer schlug den gleichen Tisch zu verwenden, aber ich denke, dass ich einschränkt, wenn ich will mehr Funktionen hinzuzufügen, wie Tags für Geschichten. Im Moment hat ich bereits zwei zusätzliche Beziehungen: ein Post mehr Kind Kommentare haben kann, und eine Geschichte gehört zu einem bestimmten Kanal.

Soll ich mein Lehrer Vorschlag folgen? Oder sollte ich drei Klassen?

Veröffentlicht am 27/11/2018 um 17:47
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
3

Da Ihre Klassenhierarchie nur zwei Unterklassen hat , die mit nur drei zusätzlichen Eigenschaften kommen ( title, channelund post), sollten Sie die Verwendung Single Table Inheritance Ansatzes. Auch wenn Sie später noch ein paar Eigenschaften / Methoden hinzufügen kann, wird dies die beste Wahl sein, da Ihre Klassenhierarchie mit mehreren Tabellen Umsetzung würde eine viel größere Anstrengung / Aufwand bedeuten.

Sie können mehr über diese Wahl im Abschnitt lesen Darstellen Klassenhierarchien mit SQL - Datenbanktabellen (ein tutoral auf Handhabung Klassenhierarchien in einem JavaScript - Front-End - Web - App von mir verfassten).

Beantwortet am 27/11/2018 um 23:12
quelle vom benutzer

stimmen
1

Wie immer hängt es. eine einzelne Tabelle hat demgegenüber den Vorteil, in einer einfachen Abfrage Ergebniss zu Informationen zugreifen und nur bei einer Flagge im Innern der Säule telling suchen, welche Art von Objekt mit Ihnen zu tun hat. separate Tabellen zu haben, ist eine „akademische“, wie es seit Sie zu lösen (wie Sie vielleicht bemerkt) Objektinformationen getrennt haben.

Ich würde wahrscheinlich mit dem Single-Table-Ansatz in diesem Fall gehen. Aber - YMMV - Sie können auch halten Sie sich an Ihre 3 Tabelle Ansatz. Es könnten auch andere Meinungen kommen hier. Warten Sie nur ein paar Tage, um zu entscheiden :-)

Beantwortet am 27/11/2018 um 19:01
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more