Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

δημιουργία βάσης

Îåêßíçóå áðü ôï ìÝëïò evagelos. Τελευταία δημοσίευση από το μέλος evagelos στις 25-03-2013, 21:22. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  17-03-2013, 15:29 72338

    δημιουργία βάσης

    Γεια σας παιδια,

    μου ζητήθηκε να φτιάξω ένα πρόγραμμα παρακολούθησης μαθητών.

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

    Και όλοι θα "κρέμονται", κάτω απο τον 1ο.

     

    Σαν ένα είδος πυραμίδας δηλαδή.

    Πώς θα μπορώ να φτιάξω τους πίνακες της βάσης για να υποστηρίζει την παραπάνω λειτουργία;\

    ευχαριστώ

  •  21-03-2013, 20:14 72359 σε απάντηση της 72338

    Απ: δημιουργία βάσης

    Στον πίνακα των μαθητών βάλε ένα πεδίο που θα μπορούσες να το ονομάσεις ParentID ή InvitedByID ή ότι άλλο νομίζεις εσύ.
    Κάθε φορά που θα καταχωρείς έναν μαθητή γράφε εκεί τον μαθητή ( StudentID ) που τον προσκάλεσε ( αν προσκλήθηκε ή αλλιώς NULL ).
    Αν π.χ. ο μαθητής Β έχει προσκληθεί από τον μαθητή Α και οι Μαθητές Γ1 και Γ2 έχουν προσκληθεί από τον μαθητή Β, τότε είναι προφανές ότι ο Μαθητής Α έχει προσκαλέσει άμεσα τον μαθητή Β καί έμμεσα τον μαθητή Γ1 και Γ2.
    Εφόσον αυτό δεν γίνεται με ένα SELECT Statement, γιά κάθε μαθητή ο οποίος έχει Parent τον μαθητή Α, συνέχισε την διαδικασία με recursion, 
    περνώντας ως παράμετρο το ID του μαθητή ( ή μαθητών ) που έχουν Parent τον Αρχικό μαθητή,
    μέχρι το Query να σταματήσει να φέρνει εγγραφές, είτε από κώδικα είτε από stored procedure και κάνε τους υπολογισμούς σου γιά την έκπτωση.

  •  25-03-2013, 21:22 72399 σε απάντηση της 72359

    Απ: δημιουργία βάσης

    ok,

    σε ευχαριστώ

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems