katina Δημοσ. 29 Οκτωβρίου 2009 Δημοσ. 29 Οκτωβρίου 2009 Θέλω να κάνω μια απλή συσχέτιση. Έχω 15 μαθητές και 50 αξιλογητές. Θέλω για τον κάθε μαθητή να αντιστοιχίζονται 3 βαθμολογητές και όλοι οι αξιολογητές να έχουν κάνει ίσες αξιλογήσεις. Σκέφτηκα ο πίνακας να είναι κάπως έτσι. student(id,name,teacher1,teacher2,teacher3) teacher(id,name,num_evaluations) Μπορεί κανένας να με βοηθήσει να κάνω τις sql εντολές που θα εισάγω σε php?? 1000 ευχαριστώ.
Bspus Δημοσ. 29 Οκτωβρίου 2009 Δημοσ. 29 Οκτωβρίου 2009 Θελεις να κανεις σχεση πολλα προς πολλα, αφου ο καθε μαθητης σχετιζεται με πανω απο 1 αξιολογητες και ο καθε αξιολογητης με πανω απο 1 μαθητες. Συνηθως αυτο υλοποιειται εμμεσως, με εναν ενδιαμεσο πινακα. Θα προτεινα να φτιαξειςενα πινακα "evaluations" με (id, student, teacher) Οι σχεσεις θα ειναι λοιπον 1 προς πολλα. 1 μαθητης πολλες (3) αξιολογησεις και 1 αξιολογητης πολλες αξιολογησεις. Μετα μπορεις να φτιαξεις ενα view (δηλαδη ενα select query που σου εμφανιζει αποτελεσματα σαν να ειναι πινακας) που να δειχνει ακριβως αυτα που θες. Μην ασχοληθεις ακομα παντως με το web κομματι. Πρωτα πρεπει να ξεκαθαρισεις ακριβως τι σε συμφερει να κανεις σε επιπεδο database γιατι λαθος σχεδιασμος εδω θα σου δημιουργησει μεγαλους μπελαδες μετα.
katina Δημοσ. 29 Οκτωβρίου 2009 Μέλος Δημοσ. 29 Οκτωβρίου 2009 Θελεις να κανεις σχεση πολλα προς πολλα, αφου ο καθε μαθητης σχετιζεται με πανω απο 1 αξιολογητες και ο καθε αξιολογητης με πανω απο 1 μαθητες.Συνηθως αυτο υλοποιειται εμμεσως, με εναν ενδιαμεσο πινακα. Θα προτεινα να φτιαξειςενα πινακα "evaluations" με (id, student, teacher) Οι σχεσεις θα ειναι λοιπον 1 προς πολλα. 1 μαθητης πολλες (3) αξιολογησεις και 1 αξιολογητης πολλες αξιολογησεις. Μετα μπορεις να φτιαξεις ενα view (δηλαδη ενα select query που σου εμφανιζει αποτελεσματα σαν να ειναι πινακας) που να δειχνει ακριβως αυτα που θες. Μην ασχοληθεις ακομα παντως με το web κομματι. Πρωτα πρεπει να ξεκαθαρισεις ακριβως τι σε συμφερει να κανεις σε επιπεδο database γιατι λαθος σχεδιασμος εδω θα σου δημιουργησει μεγαλους μπελαδες μετα. Σε ευχαριστώ πολύ. Εχεις δίκιο. Το select που προτείνεις ποιο είναι μετά; Να σαι καλά
Bspus Δημοσ. 30 Οκτωβρίου 2009 Δημοσ. 30 Οκτωβρίου 2009 Εστω οι πινακες Student (stud_id, Name) Teachers (teach_id, Name) Evaluations (eval_id, stud_id, teach_id) Τα ξενα κλειδια τα βαζω παντα το ιδιο ονομα και στους 2 πινακες για να αποφευγω το μπερδεμα αλλα δεν ειναι υποχρεωτικο Το View ειναι SELECT Evaluations.eval_id, Students.stud_id, Students.name, Teachers.teach_id, Teachers.name FROM Teachers, Students, Evaluations WHERE (Evaluations.stud_id=Students.stud_id) And (Evaluations.teach_id=Teachers.teach_id); Μετα μπορεις να χρησιμοποιεις αυτο ως πηγη για αλλα παραγωγα views η απλα select Αμα θες και να βαλεις ελεγχους για το αν οι αξιολογησεις θα ειναι υποχρεωτικα 3 ανα αξιολογητη και αλλα σχετικα παμε σε πιο πολυπλοκα πραγματα, που γινονται φυσικα αλλα θελει διαβασμα
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.