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

mysql multiple tables


cherie

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

Δημοσ.

Γεια σας παιδιά! Αποφάσισα να ζητήσω τη βοήθεια σας για μια εργασία που προσπαθώ να κάνω και μια και είμαι πολύ καινούργια σ' αυτό τα έχω βρει λίγο σκούρα.

 

Λοιπόν χρειάζομαι να φτιάξω τη βάση δεδομένων ενός σχολείου σε MySQL η οποία θα περιλαμβάνει μεταξύ άλλων τα μαθήματα του σχολείου, τους μαθητές, τους βαθμούς τους στα μαθήματα και τις απουσίες τους. Αν κ έχω διαβάσει διάφορα tutorials έχω μπερδευτεί.

 

Έχω ένα πίνακα για τους μαθητές και ένα για τα μαθήματα και αν έχω καταλάβει καλά χρειάζεται να φτιάξω έναν ακόμη πίνακα με τους βαθμούς που θα ενώνει και τους δυο προηγούμενους πίνακες. Αν όντως γίνεται έτσι μπορεί να μου εξηγήσει κάποιος τη διαδικασία? Διαφορετικά πως πρέπει να είναι οι πίνακες μου ώστε να συνδέονται μεταξύ τους?

 

Σας ευχαριστώ εκ των προτέρων !:-)

Δημοσ.

Για να συνδέονται οι πίνακες συσχέτισε τα πρώτα κλειδιά τους.

 

Δοκίμασε να δουλέψεις με το phpmyadmin. Αν δεν γνωρίζεις πως να στήνεις server, μπορείς να κατεβάσεις το xampp και να το τρέξεις από εκεί αυτόματα. Είναι πολύ απλό. Όταν θα τρέξεις το xampp επέλεξε να τρέξει τον apache και τον mysqlserver και μετά γράψε στον firefox 127.0.0.1/phpmyadmin. Από εκεί και πέρα δες λίγο το περιβάλλον και θα καταλάβεις.

Δημοσ.

Φαντάσου το εξής:

 

Πίνακας students: id, student_name, student_address, κτλ

Πίνακας lessons: id,description, κτλ

Πίνακας students_lessons: id, student_id, lesson_id,year,grade

 

Πχ:

students

----------------

1 | Μιχάλης | Εγνατιας 11

2 | Κώστας | Κύπρου 16

 

lessons

----------------

1 | Μαθηματικά

2 | Φυσική

 

students_lessons

-------------------

1 | 1 | 2008 | 8

1 | 1 | 2009 | 10

1 | 2 | 2009 | 5

 

Ο τελευταίο πίνακας λέει πχ ότι ο μαθητής 1 (μιχάλης) είχε το μάθημα 1 (μαθηματικά) το 2008 και πήρε βαθμό 8. Ενώ το 2009 πήρε 10.

 

έτσι τρέχοντας ένα query του στυλ:

select student_name,year,description,grade

from students s INNER JOIN students_lessons sl ON s.id= sl.student_id

INNER JOIN lessons l ON sl.lesson_id = l.id

ORDER BY year,description,student_name

 

θα σου επιστρέψει του μαθητές με τους βαθμούς τους ανα μάθημα και ανα χρόνο, ταξινομημένα κατα χρόνο, όνομα μαθήματος, όνομα μαθητή

Δημοσ.

table students: students_id, students_name, students_adress...

table lessons: lesson_id, lesson_description...

table students_lessons: students_lessons_id, students_id,lesson_id, year, grade...

 

οπου πρωτευοντα κλειδια του καθε πινακα τα οποια καλο ειναι και auto_increment (αυξων αριθμηση κατα την προσθηκη τους στον πινακα)

και οπου εβαλα ...

σημαινει οτι μπορεισ να προσθεσεις οτι αλλα πεδια θες εσυ στον καθε πινακα.

 

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

Δημοσ.

Σας ευχαριστώ πάρα πολύ παιδιά για τις απαντήσεις. Κ εγώ κάπως έτσι το είχα στο μυαλό μου αλλά είπα να ρωτήσω και σας που κάτι παραπάνω θα ξέρετε!:-)

 

Nα ρωτήσω και κάτι άλλο? Στο ίδιο σύστημα πρέπει κάθε χρήστης (μαθητής, καθηγητής, γραμματεία) να κάνει εγγραφή και μετά login.

Για τους μαθητές που κάνουν register.. πρέπει να γίνεται update στο students?? Γιατί εγώ έχω πάρει σαν δεδομένο πως στο students είναι εγγεγραμμένοι όλοι οι μαθητές του σχολείου εξ αρχής και μετά όσοι θέλουν να κάνουν χρήση του συστήματος κάνουν register. Εσείς τι λέτε? Είναι λάθος να υπάρχει table με τους μαθητές και άλλο table με τους χρήστες του συστήματος?

Δημοσ.
Σας ευχαριστώ πάρα πολύ παιδιά για τις απαντήσεις. Κ εγώ κάπως έτσι το είχα στο μυαλό μου αλλά είπα να ρωτήσω και σας που κάτι παραπάνω θα ξέρετε!:-)

 

Nα ρωτήσω και κάτι άλλο? Στο ίδιο σύστημα πρέπει κάθε χρήστης (μαθητής, καθηγητής, γραμματεία) να κάνει εγγραφή και μετά login.

Για τους μαθητές που κάνουν register.. πρέπει να γίνεται update στο students?? Γιατί εγώ έχω πάρει σαν δεδομένο πως στο students είναι εγγεγραμμένοι όλοι οι μαθητές του σχολείου εξ αρχής και μετά όσοι θέλουν να κάνουν χρήση του συστήματος κάνουν register. Εσείς τι λέτε? Είναι λάθος να υπάρχει table με τους μαθητές και άλλο table με τους χρήστες του συστήματος?

 

Ένας πίνακας θα είναι. Και μια επιπλέον στήλη registered που θα είναι 0 ή 1 ;)

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

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

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