background image

Κεφάλαιο 3 - Ανάπτυξη και Υλοποίηση της Εφαρμογής 
 

 

 

32 

 

θέματα, ο τύπος “tinyint” με 2 ψηφία μπορεί εύκολα να καλύψει τις απαραίτητες τιμές. Τέλος, 
το γνώρισμα “available_space” είναι τύπου “int(6)” και αντιπροσωπεύει τον διαθέσιμο χώρο 
στον εξυπηρετητή για κάθε χρήστη σε MegaBytes. Ο πίνακας “users” λοιπόν, αποτελείται από 
τα  γνωρίσματα  που  συντελούν  ένα  λογαριασμό  χρήστη.  Τα  γνωρίσματα  αυτά 
αντιπροσωπεύουν τόσο τις τιμές απαραίτητες για διάφορες λειτουργίες όσο και τις τιμές που 
επιφέρουν πληροφορίες για τον χρήστη. 

 

3.1.2 Περιγραφή του Πίνακα user_activation 
 

 

Ο  πίνακας  “user_activation”  είναι  υπεύθυνος  για  την  διατήρηση  των  κωδικών 

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

 

Εικόνα 4: Η δομή του πίνακα user_activation 

Το  πρώτο  γνώρισμα  του  πίνακα  είναι  το  γνώρισμα  ταυτοποίησης  “id”.  Το  γνώρισμα  αυτό 
αποτελεί το πρωτεύον κλειδί του πίνακα και είναι τύπου “int(10)” με αυτόματη αύξηση τιμής. 
Το δεύτερο γνώρισμα του πίνακα είναι το “user_id”. Το γνώρισμα αυτό είναι τύπου “int(10)” 
και  αποτελεί  ξένο  κλειδί  συνδέοντας  αυτόν  τον  πίνακα  με  το  πρωτεύον  κλειδί  του  πίνακα 
χρηστών. Τέλος, το γνώρισμα “active_code” είναι τύπου “varchar(6)” και αντιπροσωπεύει έναν 
τυχαίο  εξαψήφιο  κωδικό,  συνδυασμού  των  μονοψήφιων  αριθμών  και  κεφαλαίων  λατινικών 
χαρακτήρων,  που  χρησιμοποιείται  για  την  επιβεβαίωση  της  διεύθυνσης  e-mail  του  κάθε 
χρήστη. Δεδομένου ότι ο κωδικός αυτός χρειάζεται να είναι μόνο τυχαίος και όχι μοναδικός 
για κάθε χρήστη, τα έξι ψηφία σε συνδυασμό με τις απαραίτητες καθυστερήσεις κάθε δοκιμής 
καθιστούν το συγκεκριμένο μέγεθος αρκετό για μία καλή εξασφάλιση της σωστής λειτουργίας 
του και της δυσκολίας παράκαμψής του. 

 

3.1.2 Περιγραφή του Πίνακα projects 
 

 

Ο  πίνακας  “projects”  περιέχει  τα  γνωρίσματα  που  περιγράφουν  το  κάθε  έργο  ή 

πρόγραμμα.  Η  κάθε  εγγραφή  περιγράφει  ένα  διαφορετικό  έργο.  Υπήρξε  η  επιλογή  για  την 
αποφυγή δημιουργίας αυτού του πίνακα καθώς θα μπορούσαμε να επιτρέψουμε μόνο ένα έργο 
σε κάθε χρήστη ή την χρήση καταλόγων και υποκαταλόγων τα οποία θα μπορούσε ο χρήστης 
να θεωρήσει ως διαφορετικά έργα. Χρησιμοποιώντας όμως αυτόν τον πίνακα σε συνδυασμό 
με τους υπόλοιπους, ανοίγουμε τον δρόμο για ένα σύνολο λειτουργιών που διαφορετικά δεν θα