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

ψήφοι
2

Έχω πρότυπο την ακόλουθη UML για τη βάση δεδομένων της ιστοσελίδας μας (project πανεπιστήμιο): διάγραμμα

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

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

Δημοσιεύθηκε 27/11/2018 στις 17:47
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
3

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

Μπορείτε να διαβάσετε περισσότερα σχετικά με την επιλογή αυτή στο τμήμα Εκπροσωπώντας τάξη ιεραρχίες με τους πίνακες της βάσης δεδομένων SQL (μιας tutoral στην κατηγορία χειρισμό ιεραρχίες σε Javascript για front-end web app συνταχθεί από εμένα).

Απαντήθηκε 27/11/2018 στις 23:12
πηγή χρήστη

ψήφοι
1

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

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

Απαντήθηκε 27/11/2018 στις 19:01
πηγή χρήστη

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