background image

Κεφάλαιο 2 - Θεωρητικό Υπόβαθρο 
 

 

 

 

23 

 

 

Η  MySQL  επιτρέπει  στην  εφαρμογή  μας  την  αποθήκευση  στοιχείων  σε  μία  βάση 

δεδομένων  και  την  προσπέλασή  τους  μέσω  SQL  ερωτημάτων.  Η  αλληλεπίδραση  της 
εφαρμογής μας με την βάση δεδομένων γίνεται αποκλειστικά μέσω της γλώσσας PHP η οποία 
μας δίνει την δυνατότητα να θέσουμε ερωτήματα  SQL με ασφαλή και άμεσο τρόπο με την 
χρήση της διεπαφής PDO (PHP Data Objects, PHP Αντικείμενα Δεδομένων) [20]. Καθώς η 
εφαρμογή  μας  απαιτεί  την  χρήση  συστήματος  χρηστών  αλλά  και  την  διατήρηση  αρχείων, 
έργων και εξαρτημάτων, γίνεται φανερό ότι πρέπει να διατηρήσουμε κάποια δεδομένα. Έτσι 
χρησιμοποιούμε την βάση δεδομένων για την αποθήκευση στοιχείων χωρισμένα σε κατηγορίες 
που  αντιστοιχούν  σε  διαφορετικούς  πίνακες  βάσης  δεδομένων.  Σε  αυτούς  τους  πίνακες 
διατηρούμε δεδομένα όπως τις λεπτομέρειες που προσδιορίζουν τον κάθε χρήστη, τα στοιχεία 
κάθε  προγράμματος  και  αρχείου  καθώς  και  αυτά  κάθε  δημοσιευμένου  εξαρτήματος. 
Παράλληλα  όμως  αποθηκεύουμε  και  συνδετικά  στοιχεία  όπως  τους  συγγραφείς  που 
αντιστοιχούν  σε  κάθε  έργο  και  εγγραφές  που  συνδέουν  δύο  πίνακες.  Μέσω  της  MySQL 
μπορούμε  να  προσθέσουμε,  τροποποιήσουμε,  αφαιρέσουμε  και  προβάλουμε  αυτές  τις 
πληροφορίες. Έτσι η MySQL μας επιτρέπει την διατήρηση μνήμης στο σύστημά μας και την 
ομαλή συνεχή ροή πληροφοριών μεταξύ χρηστών και εφαρμογής. 

 

Με τα παραπάνω εργαλεία δημιουργήσαμε τις βασικές λειτουργίες της εφαρμογής μας. 

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

 

2.1.5 Πρωτόκολλο HTTP 
 

 

Το HTTP (Hypertext Transfer Protocol , πρωτόκολλο μεταφοράς υπερκειμένου) [21] 

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

 

Οι  βασικές  έννοιες  που  καθορίζονται  από  το  HTTP  είναι  το  μοντέλο  πελάτη  - 

διακομιστή και η λειτουργία αιτήματος και ανταπόκρισης. Η οντότητα του πελάτη δημιουργεί 
αιτήματα  στην  οντότητα  του  διακομιστή.  Ο  διακομιστής  επεξεργάζεται  το  αίτημα  και 
επιστρέφει  μία  ανταπόκριση  περιέχοντας  πληροφορίες  για  την  κατάσταση  της  αίτησης  και 
συνήθως δεδομένα που ζητήθηκαν. Στο διαδίκτυο, η οντότητα του πελάτη είναι ο περιηγητής 
του χρήστη και η οντότητα του διακομιστή είναι ο εξυπηρετητής. Τα συνηθέστερα αιτήματα 
είναι  αυτά  για  την  λήψη  των  στοιχείων  μίας  σελίδας  όπου  λαμβάνουν  ως  ανταπόκριση  τα 
δεδομένα που χρειάζεται ο περιηγητής για την εμφάνιση της σελίδας. Τα διαθέσιμα αιτήματα 
που παρέχει το HTTP χωρίζονται σε μεθόδους. Οι μέθοδοι περιγράφουν τον τρόπο με τον οποίο 
θα  αντιμετωπιστούν  τα  αιτήματα  από  τον  διακομιστή  και  το  είδος  των  αναμενόμενων 
αποτελεσμάτων  από  τον  πελάτη.  Οι  μέθοδοι  που  χρησιμοποιούμε  στην  εφαρμογή  μας  και 
αξίζει να δούμε ποιο αναλυτικά είναι οι POST και GET. Η μέθοδος POST χρησιμοποιείται σε 
αιτήματα  που  περιέχουν  δεδομένα  για  επεξεργασία  από  τον  διακομιστή.  Η  μέθοδος  αυτή 
βρίσκεται συνήθως στην αποστολή μίας φόρμας ενώ μπορεί να επιλεχθεί κατά την αποστολή 
δεδομένων μέσω AJAX. Συγκεκριμένα η PHP λαμβάνει τα δεδομένα της μεθόδου POST σε