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

SQL υπολογιζομενη τιμή πεδίου


p_thimios

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

Δημοσ.

Καλησπέρα! Αυτό είναι το πρώτο μου post και συνοδεύεται από μια απορία που έχω στην SQL. Χρησιμοποίησα SQL Express και έχω φτιάξει τους παρακάτω πίνακες:

 

Πίνακας Group (Group_id, Count_memebers, Enabled)

 

Πίνακας Members (Memberi_id, Group_id)

 

Τα πεδία Group_id, Count, Member_id είναι τύπου int. Το πεδίο Enabled είναι boolean. Στον πίνακα Members το Group_id αποτελεί ξένο κλειδί από τον πίνακα Group_id.

 

Αυτό που θέλω να υλοποιήσω είναι το εξής:

1) Το πεδίο Count_members να κρατάει τον αριθμό των εγγραφών από τον πίνακα Members που έχουν το ίδιο Group_id.

2) To πεδίο Enabled να παίρνει την τιμή true αν Count_members > 5 αλλιώς false.

 

Μήπως γνωρίζει κάνείς κάποιον τρόπο για να υλοποιηθούν τα παραπάνω;

Δημοσ.

Αυτα που θες θα τα κανεις με views πανω στους πινακες. Οχι στους ιδιους τους πινακες. Οποτε τα count kai enabled δεν μπαινουν στον πινακα group

 

Αν το γκρουπ εχει μονο id τοτε δεν χρειαζεται δικο του πινακα, υποθετω ομως οτι εχει τουλαχιστον και ονομα, οπως και τα μελη. Οποτε θες τους παρακατω πινακες:

 

Group:

group_id,

group_name

 

Member

member_id,

member_name

 

Subscriptions

group_id,

member_id

 

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

 

Απο κει και περα θα φτιαξεις views για τους υπολογισμους που θες. Δεν ξερω την sql express και τι γραφικα εργαλεια εχει για τη δομηση queries

Αν εχεις δυσκολιες να γραψεις select statements πες μας να σου δειξουμε ορισμενα tutorials. Αλλα ψαξε πρωτα στο google και πιστευω οτι θα βρεις απειρα. Αν δε θες να γραφεις, υπαρχει και η access οπου μπορεις πολυ ευκολα να υλοποιησεις το παραπανω

Δημοσ.

Thanks Bspus!!! Googlαρα λιγάκι και τελικά βρήκα ακριβώς ότι ζητούσα...:-D

 

Τελικά τα views είναι πολύ χρήσιμα. Σε περιπτώσεις τέτοιες που θέλεις να βάλεις κάποιους counters σε απαλάσσουν από εισαγωγές και τροποποιήσεις, καθώς και από τον πιθανό έλεγχο που θα έπρεπε να γίνει στην εφαρμογή και θα έκανε πιο πολύπλοκο τον κώδικα.

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

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

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