Προς το περιεχόμενο

Ερώτηση php- sql


katina

Προτεινόμενες αναρτήσεις

Δημοσ.

Θέλω να κάνω μια απλή συσχέτιση.

 

Έχω 15 μαθητές και 50 αξιλογητές. Θέλω για τον κάθε μαθητή να αντιστοιχίζονται 3 βαθμολογητές και όλοι οι αξιολογητές να έχουν κάνει ίσες αξιλογήσεις.

 

Σκέφτηκα ο πίνακας να είναι κάπως έτσι.

 

student(id,name,teacher1,teacher2,teacher3)

teacher(id,name,num_evaluations)

 

Μπορεί κανένας να με βοηθήσει να κάνω τις sql εντολές που θα εισάγω σε php??

 

1000 ευχαριστώ.

Δημοσ.

Θελεις να κανεις σχεση πολλα προς πολλα, αφου ο καθε μαθητης σχετιζεται με πανω απο 1 αξιολογητες και ο καθε αξιολογητης με πανω απο 1 μαθητες.

Συνηθως αυτο υλοποιειται εμμεσως, με εναν ενδιαμεσο πινακα. Θα προτεινα να φτιαξειςενα πινακα "evaluations" με (id, student, teacher)

Οι σχεσεις θα ειναι λοιπον 1 προς πολλα. 1 μαθητης πολλες (3) αξιολογησεις και 1 αξιολογητης πολλες αξιολογησεις.

Μετα μπορεις να φτιαξεις ενα view (δηλαδη ενα select query που σου εμφανιζει αποτελεσματα σαν να ειναι πινακας) που να δειχνει ακριβως αυτα που θες.

 

Μην ασχοληθεις ακομα παντως με το web κομματι. Πρωτα πρεπει να ξεκαθαρισεις ακριβως τι σε συμφερει να κανεις σε επιπεδο database γιατι λαθος σχεδιασμος εδω θα σου δημιουργησει μεγαλους μπελαδες μετα.

Δημοσ.
Θελεις να κανεις σχεση πολλα προς πολλα, αφου ο καθε μαθητης σχετιζεται με πανω απο 1 αξιολογητες και ο καθε αξιολογητης με πανω απο 1 μαθητες.

Συνηθως αυτο υλοποιειται εμμεσως, με εναν ενδιαμεσο πινακα. Θα προτεινα να φτιαξειςενα πινακα "evaluations" με (id, student, teacher)

Οι σχεσεις θα ειναι λοιπον 1 προς πολλα. 1 μαθητης πολλες (3) αξιολογησεις και 1 αξιολογητης πολλες αξιολογησεις.

Μετα μπορεις να φτιαξεις ενα view (δηλαδη ενα select query που σου εμφανιζει αποτελεσματα σαν να ειναι πινακας) που να δειχνει ακριβως αυτα που θες.

 

Μην ασχοληθεις ακομα παντως με το web κομματι. Πρωτα πρεπει να ξεκαθαρισεις ακριβως τι σε συμφερει να κανεις σε επιπεδο database γιατι λαθος σχεδιασμος εδω θα σου δημιουργησει μεγαλους μπελαδες μετα.

 

Σε ευχαριστώ πολύ. Εχεις δίκιο. Το select που προτείνεις ποιο είναι μετά;

 

Να σαι καλά

Δημοσ.

Εστω οι πινακες

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 ανα αξιολογητη και αλλα σχετικα παμε σε πιο πολυπλοκα πραγματα, που γινονται φυσικα αλλα θελει διαβασμα

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...