background image

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

 

 

37 

 

“name”, τύπου “varchar(50)” που περιέχει το όνομα και κατάληξη κάθε αρχείου βιβλιοθήκης. 
Έπειτα  έχουμε  το  γνώρισμα  “approved”,  τύπου  “tinyint(1)”.  Το  συγκεκριμένο  γνώρισμα 
παίρνει την τιμή 0 όταν η βιβλιοθήκη εκκρεμεί την έγκριση ενός διαχειριστή και την τιμή 1 
όταν  έχει  εγκριθεί.  Οι  χρήστες  μπορούν  να  βρουν  και  να  εισάγουν  στα  έργα  τους  μόνο 
βιβλιοθήκες που έχουν εγκριθεί. Το επόμενο γνώρισμα είναι το “owner_id”, τύπου “int(10)”. 
Το γνώρισμα αυτό λειτουργεί ως ξένο κλειδί στον πίνακα “users” όπου συνδέεται με το “id” 
της αντίστοιχης εγγραφής. Η σύνδεση είναι τύπου 1 χρήστη με n βιβλιοθήκες. Το νόημα της 
σύνδεσης είναι να μας επιτρέψει να συγκρατήσουμε τον χρήστη που αρχικά δημιούργησε και 
δημοσίευσε την βιβλιοθήκη. Παρόμοια το γνώρισμα “file_id”, τύπου “int(10)” συνδέει αυτόν 
τον πίνακα με τον “project_files” περιέχοντας το “id” του αρχείου από το οποίο προήρθε η 
βιβλιοθήκη. Το γνώρισμα “version” είναι τύπου “smallint(4)” και συγκρατεί την έκδοση της 
βιβλιοθήκης. Το γνώρισμα “pending_suggestion”, τύπου “tinyint(1)” παίρνει τις τιμές 0 και 1. 
Η τιμή 0 σημαίνει ότι δεν υπάρχει κάποια πρόταση για αλλαγές ενώ αντίθετα, η τιμή 1 σημαίνει 
ότι  υπάρχει  πρόταση  για  αλλαγές.  Τέλος,  το  γνώρισμα  “downloads”  με  τύπο  “int(10)” 
συγκρατεί  τον  αριθμό  που  οι  χρήστες  έχουν  εισάγει  την  βιβλιοθήκη  σε  κάποιο  έργο  τους. 
Λειτουργώντας  με  την  λογική  ότι  οι  χρήσιμες  βιβλιοθήκες  εισάγονται  περισσότερες  φορές, 
μπορούμε  να  χρησιμοποιήσουμε  αυτό  το  γνώρισμα  για  την  ταξινόμηση  αποτελεσμάτων 
αναζήτησης. Έτσι, με τον πίνακα “libraries” μπορούμε να περιγράψουμε ικανοποιητικά την 
κάθε βιβλιοθήκη. Με το συγκεκριμένο σύνολο γνωρισμάτων αποσκοπούμε στην συγκράτηση 
δεδομένων  τόσο  για  απλές  όσο  και  για  πιο  προηγμένες  λειτουργίες  που  δημιουργούν  ένα 
προηγμένο σύστημα βιβλιοθηκών.  

 

3.1.7 Περιγραφή του Πίνακα library_updates 
 

 

Οι βιβλιοθήκες δεν είναι στατικές αλλά αναβαθμίζονται και αναπτύσσονται συνεχώς. 

Η διόρθωση πιθανών προβλημάτων και περαιτέρω ανάπτυξη γίνεται συνήθως από τον αρχικό 
συγγραφέα τόσο για θέματα πνευματικής ιδιοκτησίας όσο και για θέματα οικειότητας με τον 
κώδικα και τον σκοπό της βιβλιοθήκης. Έτσι χρησιμοποιούμε τον πίνακα “library_updates” 
για την διευκόλυνση αυτής της λειτουργίας. Ο πίνακας αυτός έχει ως σκοπό την διευκόλυνση 
διατήρησης προσωρινών αντιγράφων. Τα προσωρινά αυτά αντίγραφα είναι οι προτάσεις για 
αναβάθμιση  από  τους  ιδιοκτήτες  των  βιβλιοθηκών.  Για  την  ύπαρξη  όμως  μίας  ομαλής 
λειτουργίας  του  συστήματος  βιβλιοθηκών,  τέτοιες  προτάσεις  ελέγχονται  και  εγκρίνονται  ή 
απορρίπτονται  από  τους  διαχειριστές.  Έτσι  η  ύπαρξη  προσωρινών  αρχείων  μέχρι  να 
ολοκληρωθεί η διαδικασία είναι απαραίτητη. 

 

 

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