
Έχω πρότυπο την ακόλουθη UML για τη βάση δεδομένων της ιστοσελίδας μας (project πανεπιστήμιο):
[![διάγραμμα](https://i.stack.imgur.com/PwUzD.jpg)](https://i.stack.imgur.com/PwUzD.jpg)


Ωστόσο, δεν μπορώ να βρώ πώς να μετατρέψετε σε SQL την υπόθεση γενίκευση μεταξύ Post, ιστορία και Σχόλιο. Ο δάσκαλός μου πρότεινε να χρησιμοποιούν το ίδιο τραπέζι, αλλά νομίζω ότι μου περιορίζει, αν θέλω να προσθέσω περισσότερες λειτουργίες, όπως ετικέτες για τις ιστορίες. Αυτή τη στιγμή έχω ήδη δύο επιπλέον σχέσεις: μια θέση μπορεί να έχει αρκετές παιδί σχόλια, και μια ιστορία ανήκει σε ένα συγκεκριμένο κανάλι.


Θα πρέπει να ακολουθήσει την πρόταση του δασκάλου μου; Ή θα πρέπει να χρησιμοποιήσω 3 τάξεις;

 
Ποια είναι η καλύτερη προσέγγιση για να αντιπροσωπεύουν μια υπόθεση γενίκευση για ένα δικτυακό τόπο φόρουμ
==========================================================================================================



Από την ιεραρχία τάξη σας έχει μόνο δύο υποκατηγορίες που έρχονται με μόνο 3 πρόσθετες ιδιότητες ( `title`, `channel`και `post`), θα πρέπει να χρησιμοποιήσετε το *Ενιαίο Πίνακα Κληρονομικότητα* προσέγγιση. Ακόμα και όταν μπορείτε να προσθέσετε μερικές ακόμα ιδιότητες / μεθόδους αργότερα, αυτή θα είναι η καλύτερη επιλογή, δεδομένου εφαρμογή ιεραρχία τάξη σας με πολλά τραπέζια θα σήμαινε μια πολύ μεγαλύτερη προσπάθεια / γενικά.


Μπορείτε να διαβάσετε περισσότερα σχετικά με την επιλογή αυτή στο τμήμα [Εκπροσωπώντας τάξη ιεραρχίες με τους πίνακες της βάσης δεδομένων SQL](https://web-engineering.info/tech/JsFrontendApp/subtyping-tutorial.html#secInheritTbl) (μιας tutoral στην κατηγορία χειρισμό ιεραρχίες σε Javascript για front-end web app συνταχθεί από εμένα).

 

Όπως πάντα εξαρτάται. Έχοντας ένα ενιαίο πίνακα έχει το πλεονέκτημα της πρόσβασης σε σχετικό μήνυμα πληροφορίες σε ένα απλό ερώτημα και απλά κοιτάζοντας μια σημαία στο εσωτερικό του λέει στήλης τι είδους αντικείμενο έχουμε να κάνουμε με. Έχοντας ξεχωριστούς πίνακες είναι πιο «ακαδημαϊκό» τρόπο επίλυσης ότι από τη στιγμή που (όπως θα παρατηρήσατε) έχουν πληροφορίες αντικείμενο διαχωρίζονται. 


Είχα πάει πιθανώς με την προσέγγιση ενιαίο πίνακα σε αυτήν την περίπτωση. Αλλά - YMMV - μπορείτε να καθώς και να επιμείνουμε σε προσέγγιση 3 τραπέζι σας. θα μπορούσε να έρθει άλλες απόψεις εδώ. Απλά περιμένετε μερικές ημέρες για να αποφασίσει :-)

 