ΘΕΜΑ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ



Σχετικά έγγραφα
ΘΕΜΑ. Ανάπτυξη διαδικτυακής εφαρμογής για την διαχείριση εμπορικού καταστήματος ενοικίασης ταινιών με χρήση Php, Mysql, Apache

Τεχνικός Εφαρμογών Πληροφορικής

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

Έννοια - Σκοπός και Μέθοδοι Αναλύσεως

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

databases linux - terminal (linux / windows terminal)

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

Εισαγωγή στον Προγραμματισμό

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Εισαγωγή στην Χρηματοοικονομική ανάλυση

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Σχεδιασμός Βάσεων Δεδομένων

Εισαγωγή στην. χρηματοοικονομική ανάλυση

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.

Σχεδίαση Βάσεων Δεδομένων

2.1. Εντολές Σχόλια Τύποι Δεδομένων

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση

Εργαστήριο Βάσεων Δεδομένων

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

10 η Διάλεξη Python Βάσεις δεδομένων στη python

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

Οδηγίες Χρήσης της MySQL

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Εργαστήριο Βάσεων Δεδομένων

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.

XAMPP Apache MySQL PHP javascript xampp

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Διαδικασιακός Προγραμματισμός

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

PHP 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση

Διαχείριση Βάσης Δεδομένων (dbadmin)

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

ΗΥ-150. Προγραμματισμός

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

Προγραμματισμός διαδικτυακών εφαρμογών με PHP

Ψευδοκώδικας. November 7, 2011

ΗΥ-150. Προγραμματισμός

Τμήμα Διοίκησης Επιχειρήσεων

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Βασικές Εντολές SQL. Θεωρία & Εντολές SQL. Γραμμή Εντολών MS-DOS (MySQL)

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP

Τύποι δεδομένων, τελεστές, μεταβλητές

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

Διαδικασιακός Προγραμματισμός

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Προγραμματισμός Παγκόσμιου Ιστού

Θέματα Προγραμματισμού Διαδικτύου ~ MySQL & PHP ~

Παρουσίαση PHP. Μιχάλης Ζήσης GreekLUG

Εισαγωγή στην PHP. ΕΣΔ 232 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας. Περιεχόμενα. Περιεχόμενα

Μια καλή επιλογή θα ήταν (χωρίζοντας τις λέξεις με παύλα -) ή

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 4 7/02/2012

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος...

Διαδικασιακός Προγραμματισμός

Εντολές επιλογής Επαναλήψεις (if, switch, while)

Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub

Εργαστήριο #10 (Ε10) 1

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Οδηγίες Χρήσης της MySQL

PHPMyAdmin: Σύντομος οδηγός για αρχάριους

Διαδικτυακές Εφαρμογές Ενότητα 1: JPA

3 ο Εργαστήριο Μεταβλητές, Τελεστές

Εισαγωγή στην Αριθμητική Ανάλυση

Διαγραφή Επιλέγετε Διαγραφή για να διαγράψετε μία ήδη υπάρχουσα διαδικασία εισαγωγής ASCII

Βασικές Αρχές Προγραμματισμού

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

Εισαγωγή στην πληροφορική

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία

Προγραμματισμός Ι (ΗΥ120)

Η HTML χρησιμοποιεί εντολές που ονομάζονται HTML tags δίνοντας εντολές στους Web browsers για το πώς να εμφανίζουν την κάθε ιστοσελίδα.

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

Transcript:

Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΘΕΜΑ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗΣ ΑΝΑΛΥΣΗΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΣΠΟΥΔΑΣΤΡΙΑ : Μιχαηλίδου Ευαγγελία ΑΥΓΟΥΣΤΟΣ 2009 ΕΠΟΠΤΗΣ ΚΑΘΗΓΗΤΗΣ Χατζής Βασίλειος Εκπονηθείσα πτυχιακή εργασία απαραίτητη για την κτήση του βασικού πτυχίου

ΕΥΧΑΡΙΣΤΙΕΣ ΕΥΧΑΡΙΣΤΙΕΣ Με την εκπόνηση της πτυχιακής μου εργασίας νιώθω την επιθυμία να ευχαριστήσω θερμά τον καθηγητή μου κ. Χατζή Βασίλειο για την εμπιστοσύνη που μου έδειξε με την ανάθεση αυτής της εργασίας, για την άψογη συνεργασία μας και την πολύτιμη καθοδήγηση του. Επίσης, θα ήθελα να ευχαριστήσω όλους τους διδάσκοντες του τμήματος Διαχείρισης Πληροφοριών του Τ.Ε.Ι. Καβάλας για τις ειδικές γνώσεις που μου παρείχαν κατά τη διάρκεια της φοίτησης μου, όπως επίσης την μητέρα μου και τους φίλους μου για την βοήθεια και την συμπαράσταση τους. Σελίδα 2 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία ΠΡΟΛΟΓΟΣ Η συγκεκριμένη εργασία δημιουργήθηκε στα πλαίσια πτυχιακής εργασίας κατά το ακαδημαϊκό έτος 2008-2009 για λογαριασμό του Τεχνολογικού Εκπαιδευτικού Ιδρύματος Καβάλας με επιβλέποντα καθηγητή τον κ. Χατζή Βασίλειο. Σκοπός της πτυχιακής εργασίας είναι η μελέτη και ανάπτυξη ενός συστήματος χρηματοοικονομικής ανάλυσης και αποτίμησης των επιχειρήσεων. Ο διαχειριστής του συστήματος έχει την δυνατότητα να εισάγει τα οικονομικά στοιχεία των επιχειρήσεων με βάση τον ισολογισμό τους και την ημερομηνία χρήσης του. Το σύστημα παρέχει την δυνατότητα, μέσα από ένα σύνολο κατάλληλων αριθμοδεικτών, να παρουσιάζει την οικονομική κατάσταση των επιχειρήσεων. Οι επισκέπτες του συστήματος διακρίνονται σε απλό χρήστη, ο οποίος με την χρήση του προσωπικού κωδικού πρόσβασης του μπορεί να λάβει πληροφορίες για την οικονομική κατάσταση της εταιρίας που επέλεξε και σε εξειδικευμένο χρήστη, ο οποίος εκτός από τα παραπάνω έχει επιπλέον τη δυνατότητα να παρακολουθήσει τα αποτελέσματα των αριθμοδεικτών. Σελίδα 3 από 150

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ Περιεχόμενα ΠΡΟΛΟΓΟΣ...3 ΕΙΣΑΓΩΓΗ... 6 1 HTML... 7 2 PHP... 8 2.1 ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ... 8 2.2 ΟΡΙΣΜΟΣ PHP...10 2.3 ΕΝΤΟΛΕΣ... 11 1.4 ΤΥΠΟΙ ΜΕΤΑΒΛΗΤΩΝ... 12 1.5 ΤΕΛΕΣΤΕΣ... 13 1.6 ΔΟΜΕΣ ΕΛΕΓΧΟΥ... 15 1.6.1 Αποφάσεις με συνθήκες υπό Όρους... 15 1.6.2 Αποφάσεις Επανάληψης : Επαναλαμβάνοντας ενέργειες... 17 1.7 ΒΑΣΙΚΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ... 19 1.8 ΠΛΕΟΝΕΚΤΗΜΑΤΑ... 20 3 MYSQL... 24 3.1 ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ... 27 3.2 Τι ΕΙΝΑΙ Η SQL;...28 3.3 ΠΛΕΟΝΕΚΤΗΜΑΤΑ MYSQL... 32 4 ΔΙΑΚΟΜΙΣΤΕΣ ΔΙΑΔΙΚΤΥΟΥ (WEB SERVERS)...34 4.1 Apache Web Server... 35 4.2 Συνεργασία της MySQL, PHP και του Apache Server...36 5.ΘΕΩΡΙΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗΣ ΑΝΑΛΥΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ...38 5.1 ΛΟΓΙΣΤΙΚΕΣ ΚΑΤΑΣΤΑΣΕΙΣ... 38 5.2 Σκοπος Της Αναλυςεως Των Λογιςτικων Καταςταςεων...39 5.3 ΕΞΩΤΕΡΙΚΗ ΑΝΑΛΥΣΗ ΛΟΓΙΣΤΙΚΩΝ ΚΑΤΑΣΤΑΣΕΩΝ... 40 5.4 Διαδικασίες Αναλυςεως... 41 5.5 ΑΝΑΛΥΣΗ ΛΟΓΙΣΤΙΚΩΝ ΚΑΤΑΣΤΑΣΕΩΝ ΜΕ ΑΡΙΘΜΟΔΕΙΚΤΕΣ...42 5.6 Κατηγορίες Αριθμοδεικτων... 44 5.6.1 Είδη Αριθμοδεικτών Ρευστότητας...45 5.6.2 Είδη Αριθμοδεικτών Δραστηριότητας...46 5.6.3 Είδη Αριθμοδεικτών Αποδοτικότητας...48 5.6.4 Είδη Αριθμοδεικτών Διαρθρώσεως Κεφαλαίων Και Βιωσιμότητας... 50 5.6.5 Είδη Αριθμοδεικτών Επενδύσεων ή Επενδυτικών Αριθμοδεικτών...53 5.7 ΑΞΙΟΛΟΓΗΣΗ ΑΡΙΘΜΟΔΕΙΚΤΩΝ... 55 6 ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΠΕΡΙΓΡΑΦΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ... 56 6.1 Δομη Τ ης Βαςης Δεδομένων... 56 6.2 Δημιουργία Πινάκων Και Ανάλυση Πεδίων... 59 6.3 Σύνδεση Με Το Διακομιςτη Βάση Δεδομένων...68 6.3.1 Επιλογή Μιας Βάσης Δεδομένων... 68 Σελίδα 4 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία 7 ΑΝΑΠΤΥΞΗ ΚΑΙ ΠΕΡΙΓΡΑΦΗ ΔΙΑΔΥΚΤΙΑΚΩΝ ΙΣΤΟΣΕΛΙΔΩΝ... 70 ΑΡΧΙΚΗ ΣΕΛΙΔΑ...70 Εγγραφη Χρηστη...72 ΑΝΑΖΗΤΗΣΗ ΕΤΑΙΡΙΑΣ...77 6.1 ΔΙΑΧΕΙΡΙΣΤΗΣ ΣΥΣΤΗΜΑΤΟΣ... 78 1) Όταν δεν υπάρχει το όνομα της εταιρίας στις εμφανιζόμενες εταιρίες...80 Καταχώρηση Νέας Εταιρίας... 81 Καταχώρηση Στοιχείων Χρήσης... 84 Καταχώρηση Ενεργητικού...86 Καταχώρηση Παθητικού...89 Καταχώρηση Αποτελεσμάτων Χρήσεως...92 Καταχώρηση Αποτελεσμάτων Διαθέσεως...95 2) Όταν υπάρχει υπάρχει η εταιρία και δεν υπάρχει η χρήση... 99 Επιλογή Ημερομηνίας... 100 Καταχώρηση Στοιχείων Χρήσης...102 Καταχώρηση Ενεργητικού...104 Καταχώρηση Παθητικού...107 Καταχώρηση Αποτελεσμάτων Χρήσεως... 109 Καταχώρηση Αποτελεσμάτων Διαθέσεως... 112 3) Τροποποίηση εταιρίας, χρήσης και ισολογισμού...116 Τροποποίηση Στοιχείων Εταιρίας...117 Τροποποίηση Στοιχείων Χρήσης...119 Τροποποίηση Στοιχείων Ενεργητικού... 121 Τροποποίηση Στοιχείων Παθητικού...124 Τροποποίηση Στοιχείων Αποτελεσμάτων Χρήσεως...127 Τροποποίηση Στοιχείων Αποτελεσμάτων Διαθέσεως...129 6.2 ΑΠΛΟΣ ΧΡΗΣΤΗΣ...134 Επιλογή Εταιρίας... 134 Επιλογή Ημερομηνίας... 136 Εμφάνιση Χρηματοοικονομικής Ανάλυσης... 138 6.3 Εξειδικευμενοσ Χρηστησ... 140 Επιλογή Εταιρίας... 140 Επιλογή Ημερομηνίας... 142 Εμφάνιση Αποτελεσμάτων Αριθμοδεικτών... 144 ΣΥΜΠΕΡΑΣΜΑΤΑ...149 ΒΙΒΛΙΟΓΡΑΦΙΑ... 150 Σελίδα 5 από 150

ΕΙΣΑΓΩΓΗ ΕΙΣΑΓΩΓΗ Για τη δημιουργία της εφαρμογή χρησιμοποιήθηκε ο συνδυασμός των εργαλείων PHP και MySQL. Οι δύο αυτές τεχνολογίες συνεργάστηκαν με τον διαδικτυακό διακομιστή (web server) Apache Server. Επίσης, χρησιμοποιήθηκε το εργαλείο MySQL administrator που παρέχει ένα γραφικό περιβάλλον διαχείρισης του σχεσιακού συστήματος βάσης δεδομένων MySQL. Στο πρώτο κεφάλαιο σύνταξης της. γίνεται αναφορά στην html και περιγράφεται ο τρόπος Στο δεύτερο κεφάλαιο αναλύεται η ιστορική αναδρομή της γλώσσας προγραμματισμού php, οι εντολές που χρησιμοποιεί, οι δομές ελέγχου, τα βασικά χαρακτηριστικά και τα πλεονεκτήματα που έχει. Στο τρίτο κεφάλαιο αναλύεται το σύστημα διαχείριση βάσεων δεδομένων (mysql), οι τύποι δεδομένων και τα πλεονεκτήματα της, ενώ, στο επόμενο κεφάλαιο παρουσιάζεται ο τρόπος επικοινωνίας μεταξύ της γλώσσας προγραμματισμού php, του διακομιστή apache και της mysql. Στο πέμπτο κεφάλαιο αναλύεται η θεωρία της χρηματοοικονομικής ανάλυσης των επιχειρήσεων που χρησιμοποιήθηκε για να δημιουργηθεί η εφαρμογή Ακολουθεί στο έκτο κεφάλαιο η δομή της βάσης δεδομένων, οι πίνακες που περιέχει και η ανάλυση των πεδίων τους. Παρουσιάζεται η σύνδεση με τον διακομιστή και η επιλογή της βάσης. Τέλος, η εφαρμογή ολοκληρώνεται με την ανάπτυξη και την περιγραφή των διαδικτυακών εφαρμογών (κεφάλαιο έβδομο). Σελίδα 6 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία 1 HTML Τα αρχικά HTML προέρχονται από τις λέξεις Hyper Text Markup Language και σημαίνει Γλώσσα Σήμανσης Υπερ-κειμένου. Η html είναι μια απλή περιγραφική γλώσσα ή αλλιώς γλώσσα σήμανσης, η οποία επιτρέπει να δομήσουμε και να εμφανίσουμε διάφορα αντικείμενα στην οθόνη. Αυτά τα αντικείμενα μπορούν να είναι κείμενο, πίνακες, εικόνες και ήχος. Η εμφάνιση αυτών των αντικειμένων στην οθόνη λέγεται ιστοσελίδα. Αυτές τις ιστοσελίδες μπορούμε να τις δούμε στην οθόνη με ειδικά προγράμματα τα οποία λέγονται φυλλομετρητές (browser). Οι φυλλομετρητές αναγνωρίζουν τον τρόπο γραφής και εκτελούν τις εντολές που περιέχονται σε αυτόν. Αξίζει να σημειωθεί ότι η html είναι η πρώτη και πιο διαδεδομένη γλώσσα περιγραφής της δομής μιας ιστοσελίδας. Ο πηγαίος κώδικας μιας ιστοσελίδας αποτελείται από μια σειρά ειδικών κωδικών (tags) τοποθετημένων μέσα στο κείμενο και τα οποία επιτρέπουν να μορφοποιήσουμε το κείμενο και να προσθέσουμε συνδέσεις προς άλλες ιστοσελίδες. Τα tags είναι εντολές που συνήθως ορίζουν την αρχή ή το τέλος μιας λειτουργίας και βρίσκονται πάντα μεταξύ των συμβόλων < και >. Οι οδηγίες είναι case insensitive, δεν επηρεάζονται από το αν έχουν γραφτεί με πεζά (μικρά) ή κεφαλαία. Ένα αρχείο HTML πρέπει να έχει κατάληξη htm ή html. Σελίδα 7 από 150

PHP 2 PHP Ο Rasmus Lerdorf είναι ο άνθρωπος που ανέπτυξε την PHP το έτος 1994. Ενσωμάτωσε τη μη δημοσιοποιημένη έκδοση μέσα στην προσωπική του ιστοσελίδα. Την χρησιμοποιούσε για να παρακολουθεί τον αριθμό των επισκεπτών της ιστοσελίδας του. Κανένας άλλος δε γνώριζε την ύπαρξη της, μέχρι τις αρχές του 1995 οπότε και έγινε διαθέσιμη η πρώτη έκδοσή της, γνωστή ως Personal Home Page Tools. 2.1 Ιστορική Αναδρομή Personal Home Page: Αυτή η έκδοση της PHP αποτελούνταν από μια μηχανή parser που υποστήριζε κάποιες μακροεντολές και βοηθήματα που χρησιμοποιούνταν συχνά στις προσωπικές ιστοσελίδες. Επέτρεπε στους προγραμματιστές να ενσωματώνουν διαδικασίες όπως ένα βιβλίο επισκεπτών και ένα μετρητή αριθμού επισκέψεων στις ιστοσελίδες τους. PHP/FI: Η δεύτερη έκδοση της PHP Στα μέσα του 1995 ο Lerdorf έγραψε τον αναλυτή (parser) εκ νέου και τον μετονόμασε σε PHP/FI Version 2 (το FI συμβολίζει Form Interpreter). Μπορούσε δηλαδή να διερμηνεύει δεδομένα από μια HTML φόρμα. Εκτός από τις λειτουργίες FI και Personal Home Page Tools η PHP/FI περιελάμβανε υποστήριξη και για την βάση δεδομένων msql. Εξαιτίας αυτών των ισχυρών χαρακτηριστικών της, και με την ενσωματωμένη υποστήριξη βάσης δεδομένων, έγινε γνωστή πολύ σύντομα και πολλοί άρχισαν να δουλεύουν στον κώδικα, προσπαθώντας να τη βελτιώσουν και να της προσθέσουν μεγαλύτερη λειτουργικότητα. Είχε τόση μεγάλη απήχηση που προγραμματιστές συνεισέφεραν τον κώδικα τους σε αυτήν. Μετά από την PHP/FI ήρθε η PHP 3, με πιο ισχυρές και εμπλουτισμένες δυνατότητες. Σελίδα 8 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία PHP 3: Η τρίτη έκδοση της PHP Μέχρι τα μέσα του 1997 η χρήση της ΡΗΡ ήταν περιορισμένη στους λίγους προγραμματιστές που είχαν συνεισφέρει τον κώδικά τους. Όμως με την αναγνώριση και την ιδιαίτερη δημοτικότητα που είχε αποκτήσει η εξέλιξή της σύντομα έγινε προσπάθεια δημιουργίας μιας μεγαλύτερης και πιο οργανωμένης ομάδας προγραμματιστών και χρηστών. Ο parser ξαναγράφτηκε από την αρχή. Οι Zeev Suraski και Andi Gutmans, σχημάτισαν τον πυρήνα της τρίτης έκδοσης της ΡΗΡ, γνωστός ως ΡΗΡ 3 ο οποίος περιελάμβανε έναν αξιοσημείωτο αριθμό νέων χαρακτηριστικών. Μέσα σε όχι και πολύ χρόνο άρχισε να χρησιμοποιείται για τη δημιουργία εφαρμογών στο διαδίκτυο. [5] Ο συνδυασμός των ΡΗΡ, Apache, MySQL, σύντομα έγινε ένας επιτυχημένος συνδυασμός για την ανάπτυξη εφαρμογών διαδικτύου. Η βελτιωμένη απόδοση του συστήματος αυτού και το γεγονός ότι και οι τρεις τεχνολογίες διανέμονται ελεύθερα στο διαδίκτυο έκαναν ιδανικό αυτόν τον συνδυασμό. Αυτό φυσικά δεν σημαίνει ότι η ΡΗΡ δεν είναι συμβατή με άλλο λογισμικό. Η υποστήριξη που παρέχει η ΡΗΡ σε έναν τόσο μεγάλο αριθμό συστημάτων διαχείρισης βάσεων δεδομένων είναι ένα από τα δυνατότερα και σημαντικότατα χαρακτηριστικά της. PHP 4: Η τελευταία έκδοση της PHP Η πλέον σύγχρονη έκδοση της ΡΗΡ είναι η ΡΗΡ 4. Η έκδοση αυτή παρουσιάστηκε σε ένα πιο σύνθετο περιβάλλον όπου προγραμματισμός στο διαδίκτυο δεν είναι μόνο η συγγραφή πολύπλοκων ιστοσελίδων. Οι εφαρμογές που δημιουργούνται πρέπει να είναι δυναμικές, αλληλεπιδραστικές και να υποστηρίζουν λειτουργίες σε επίπεδο βάσεων δεδομένων. Οι εφαρμογές σχεδιάζονται με τέτοιο τρόπο ώστε πολλαπλοί χρήστες να μπορούν να στέλνουν και να λαμβάνουν πληροφορία συγχρόνως. Υπό μελέτη είναι και ο χρόνος απόκρισης για την ανάκτηση της πληροφορίας. Σύμφωνα με μια εκτίμηση ο μέγιστος χρόνος απόκρισης στον οποίο οι χρήστες μπορούν να περιμένουν υπομονετικά μια ιστοσελίδα να φορτώσει είναι 10 δευτερόλεπτα. Σελίδα 9 από 150

PHP Η έκδοση ΡΗΡ4, έχει πολλά νέα χαρακτηριστικά που επιτρέπουν τις υψηλές επιδόσεις και την προσπέλαση σε ακόμα μεγαλύτερο αριθμό επεκτάσεων (extensions) και βιβλιοθηκών (libraries). Η ΡΗΡ αποτελεί πλέον το πρότυπο για τη δημιουργία εφαρμογών διαδικτύου και από έρευνες που έχουν γίνει διαπιστώθηκε ότι χρησιμοποιείται κατά κόρον από πάρα πολλούς χρήστες. 2.2 Ορισμός PHP Η ΡΗΡ είναι μια γλώσσα script από την πλευρά του διακομιστή, σχεδιασμένη ειδικά για το Web.Μέσα σε μια HTML σελίδα μπορείτε να ενσωματώσετε PHP κώδικα, που θα εκτελείται κάθε φορά που θα επισκέπτεστε τη σελίδα. Ο ΡΗΡ κώδικας μεταφράζετε στο Web διακομιστή και δημιουργεί HTML ή άλλη έξοδο που θα δει ο επισκέπτης [6]. Ας δούμε ένα απλό παράδειγμα: <html> <head> <title>example</title> </head> <body> <?php echo "Hi, I'm a PHP script!";?> </body> </html> Όπως παρατηρούμε το παραπάνω είναι ένα διαφορετικό script από ένα που θα ήταν γραμμένο σε άλλες γλώσσες προγραμματισμού όπως η PERL ή η C. Δηλαδή, αντί να γράφουμε ένα πρόγραμμα με πολλές εντολές για να εξάγουμε HTML, εδώ γράφουμε ένα HTML script που έχει ενσωματωμένο κώδικα για να κάνει κάτι (σε αυτή την περίπτωση, να εμφανίζει κάποιο κείμενο). Ο κώδικας της PHP περιέχεται μέσα σε ειδικές ετικέτες αρχής και τέλους που μας επιτρέπουν να μεταφερόμαστε μέσα και έξω από τον PHP τρόπο λειτουργίας. Σελίδα 10 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία Χρησιμοποιώντας τις ΡΗΡ ετικέτες Ο κώδικας ΡΗΡ στο προηγούμενο παράδειγμα, αρχίζει με <? και τελειώνει με?> Αυτό είναι παρόμοιο με τις ετικέτες HTML, επειδή όλες ξεκινάνε με ένα σύμβολο μικρότερο "< και τελειώνουν με ένα σύμβολο μεγαλύτερο ">. Αυτά τα σύμβολα ονομάζονται ΡΗΡ ετικέτες και λένε στον Web διακομιστή πού ξεκινά ο ΡΗΡ κώδικας και που τελειώνει. Το κενό μεταξύ των ετικετών θα μεταφραστεί σαν ΡΗΡ. Το κείμενο έξω από αυτές τις ετικέτες θα αντιμετωπιστεί σαν κανονική HTML. Οι ετικέτες ΡΗΡ μας επιτρέπουν διαφεύγουμε από την HTML. 2.3 Εντολές Λέμε στον μεταφραστεί ΡΗΡ τι να κάνει βάζοντας τις εντολές ΡΗΡ μεταξύ της αρχικής και τελικής ετικέτας. Σε αυτό το παράδειγμα χρησιμοποιήσαμε μόνο ένα τύπο εντολής [6]. echo "<ρ>η καταχώρηση της εταιρίας αποθηκεύτηκε. ; Χρησιμοποιώντας την δομή echo έχετε ένα πολύ απλό αποτέλεσμα: τυπώνει την συμβολοσειρά που έχει περάσει σε αυτήν, στον browser. Θα παρατηρήσετε ότι εμφανίζεται ένα ερωτηματικό στο τέλος της εντολής echo. Αυτό χρησιμοποιείται για να ξεχωρίζει εντολές της ΡΗΡ, όπως μια τελεία χρησιμοποιείται για να ξεχωρίζει τις προτάσεις της γλώσσας. Είναι συνηθισμένο συντακτικό λάθος να παραλείψετε το ερωτηματικό. Προσπέλαση μεταβλητών φορμών Η ουσία να χρησιμοποιήσουμε μια φόρμα καταχώρησης στοιχείων είναι για να συλλέξουμε τα στοιχειά που μας ενδιαφέρουν. Είναι πολύ εύκολο στη ΡΗΡ να πάρουμε τις πληροφορίες που πληκτρολόγησε ο διαχειριστής. Μέσα στο PHP script, μπορείτε να έχετε πρόσβαση σε κάθε ένα από τα πεδία της φόρμας σαν μια μεταβλητή με το ίδιο όνομα με το πεδίο της φόρμας. Ας δούμε το παρακάτω παράδειγμα. Σελίδα 11 από 150

PHP Προσθέτουμε τις παρακάτω γραμμές στο κάτω μέρος του ΡΗΡ script : echo "<p> Η καταχώρηση της εταιρίας ολοκληρώθηκε echo "<br>"; echo $name_etairia." Όνομα εταιρίας<^>"; echo $city." Πόλη<^>"; echo $address." Διεύθυνση <br>"; echo $address_number." Αριθμός<br>"; echo $telephone." Τηλέφωνο <br>"; Μεταβλητές φορμών Τα δεδομένα του script καταλήγουν σε ΡΗΡ μεταβλητές. Μπορείτε να αναγνωρίσετε τα ονόματα των μεταβλητών στην ΡΗΡ επειδή ξεκινούν με το $. Συνένωση συμβολοσειρών Στο script, χρησιμοποιούμε το echo για να δώσουμε την τιμή που πληκτρολόγησε ο διαχειριστής σε κάθε ένα από τα πεδία της φόρμας, ακολουθούμενη από κάποιο επεξηγηματικό κείμενο. Προσέχοντας καλύτερα την εντολή echo, θα δούμε ότι το όνομα της μεταβλητής και το επόμενο κείμενο έχουν μια τελεία μεταξύ τους ως εξής echo $name_etairia. Όνομα Εταιρίας<^> ; Αυτός είναι ο τελεστής συνένωσης συμβολοσειρών, που χρησιμοποιείται για να προσθέτει συμβολοσειρές μεταξύ τους. 1.4 Τύποι Μεταβλητών Η ΡΗΡ υποστηρίζει τους παρακάτω τύπους δεδομένων: Integer (ακέραιος) - χρησιμοποιείται για ακέραιους αριθμούς Double (διπλής ακρίβειας) - χρησιμοποιείται για πραγματικούς αριθμούς Σελίδα 12 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία String (συμβολοσειράς) - χρησιμοποιείται για συμβολοσειρές χαρακτήρων Array (πίνακα) - χρησιμοποιείται για αποθήκευση πολλαπλών στοιχείων του ίδιου τύπου Object (αντικείμενα) - χρησιμοποιείται για αποθήκευση στιγμιότυπων κλάσεων 1.5 Τελεστές Οι τελεστές είναι σύμβολα που μπορούμε να χρησιμοποιήσουμε για να χειριστούμε τιμές και μεταβλητές εκτελώντας μια λειτουργία πάνω τους. Αριθμητικοί τελεστές Οι αριθμητικοί τελεστές είναι πολύ απλοί, είναι απλώς κανονικοί μαθηματικοί τελεστές. Αριθμητικοί Τελεστές Τελεστής Όνομα Παράδειγμα + Πρόσθεση $a+$b - Αφαίρεση $a-$b * Πολλαπλασιασμού $a*$b / Διαίρεση $a/$b % Υπόλοιπο $a%$b Πίνακας 3.1: Οι αριθμητικοί τελεστές της PHP Τελεστές συμβολοσειρών Έχουμε ήδη δει και χρησιμοποιήσει το μόνο τελεστή συμβολοσειρών. Μπορείτε να χρησιμοποιήσετε τον τελεστή συνένωσης συμβολοσειρών και να προσθέσετε δυο συμβολοσειρές και να δημιουργήσετε και να αποθηκεύσετε ένα αποτέλεσμα, όπως θα κάνατε και με τον τελεστή πρόσθεσης, για να προσθέσετε δυο αριθμούς. $a = "Γιώργος "; $b = " Παπαδόπουλος ; $results = $a.$b; Η μεταβλητή $results περιέχει τώρα την συμβολοσειρά "Γιώργος Παπαδόπουλος. Τελεστές σύγκρισης Σελίδα 13 από 150

PHP Οι τελεστές σύγκρισης χρησιμοποιούνται για να συγκρίνουμε δύο τιμές. Οι παραστάσεις που χρησιμοποιούν αυτούς τους τελεστές επιστρέφουν λογικές τιμές True - False, ανάλογα με το αποτέλεσμα σύγκρισης. Τελεστές Σύγκρισης Τελεστής Όνομα Χρήση = = Ισότητα $a == $b === Ταυτότητα $a === $b!= Άνισο $a!= $b <> Άνισο $a <> $b < Μικρότερο $a < $b > Μεγαλύτερο $a > $b <= Μικρότερο ή ίσον $a <= $b >= Μεγαλύτερο ή ίσον $a >= $b Πίνακας 3.2: Τελεστές σύγκρισης της PHP Ένα πράγμα που πρέπει να παρατηρήσετε είναι ο νέος τελεστής ταυτότητας ===, που επιστρέφει true μόνο αν και οι δυο τελεστές είναι ίσοι και του ίδιου τύπου (Ο τελεστής αυτός εμφανίζεται στην PHP 4) (Meloni C. : 74-78) Λογικοί τελεστές Οι λογικοί τελεστές χρησιμοποιούνται για να συνδυάζουν τα αποτελέσματα των λογικών συνθηκών. Για παράδειγμα μπορεί να ενδιαφερόμαστε σε μια περίπτωση αν η τιμή μιας μεταβλητής, της $a είναι μεταξύ 0 και 100. Θα πρέπει να ελέγξουμε τις συνθήκες $a >=0 και $a<=0, χρησιμοποιώντας τον τελεστή AND ως εξής: $a >0 && $a <=100. Λογικοί Τελεστές Τελεστής Όνομα Χρήση Αποτέλεσμα! NOT!$b Επιστρέφει true αν το $b είναι false και το αντίστροφο && AND $a && $b Επιστρέφει true αν τα $a και $b είναι και τα δυο true, διαφορετικά επιστρέφει false OR $a $b Επιστρέφει true αν το $a ή το $b είναι true, διαφορετικά επιστρέφει false And AND $a and $b Το ίδιο με το &&, αλλά με χαμηλότερη προτεραιότητα Σελίδα 14 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία Or OR $a or $b Το ίδιο με το αλλά με χαμηλότερη προτεραιότητα Πίνακας 3.3: Λογικοί τελεστές της PHP Ο τελεστής μη εμφάνισης λαθών Ο τελεστής @ μπορεί να χρησιμοποιηθεί εμπρός από οποιαδήποτε πρόταση. $a = @(57/0); Χωρίς τον τελεστή @, αυτή η γραμμή θα δημιουργήσει μια προειδοποίηση για διαίρεση με το 0. Με το τελεστή,το λάθος δεν εμφανίζεται. Αν δεν εμφανίζουμε τα λάθη θα πρέπει να συντάξουμε κατάλληλο κώδικα για να χειρίζεται τα τυχόν σφάλματα στην εφαρμογή μας. 1.6 Δομές Ελέγχου Οι δομές ελέγχου είναι οι δομές μέσα σε μια γλώσσα που μα επιτρέπουν να ελέγχουμε την ροή της εκτέλεσης ενός προγράμματος ή ενός script. Μπορείτε να τις ομαδοποιήσετε σε δομές υπό όρους (ή διακλάδωσης) και δομές επανάληψης(ή βρόχου). 1.6.1 Αποφάσεις με συνθήκες υπό Όρους Αν θέλουμε να αποκριθούμε λογικά στην είσοδο του χρήστη, ο κώδικας μας θα πρέπει να παίρνει λογικές αποφάσεις. Οι δομές που λένε στο πρόγραμμα μας να πάρει αποφάσεις ονομάζονται εντολές υπό όρους. Εντολές if Μπορούμε να χρησιμοποιήσουμε μια εντολή if για να πάρουμε μια απόφαση. Θα πρέπει να δώσουμε στην εντολή if μια συνθήκη για να την χρησιμοποιήσουμε. Αν η εντολή είναι true, θα εκτελεστεί το επόμενο τμήμα του κώδικα. Οι συνθήκες με εντολές if πρέπει να περιβάλλονται με παρενθέσεις. Σελίδα 15 από 150

PHP Για παράδειγμα, αν ο συγκεκριμένος κωδικός πρόσβασης χρήστη δεν υπάρχει, θα θέλαμε να του πούμε «Εσφαλμένος Συνδυασμός Username /Password» Μπορούμε να το κάνουμε αυτό εύκολα με την παρακάτω εντολή if: if ($result == 0) { echo Εσφαλμένος Συνδυασμός Username /Password<br>"; Εντολές else Συνήθως θέλουμε να αποφασίζουμε, όχι μόνο αν θέλουμε να εκτελείται μια ενέργεια αλλά επίσης ποιο σύνολο ενεργειών θέλουμε να εκτελεστεί. Μια εντολή else μας επιτρέπει να ορίζουμε μια εναλλακτική ενέργεια, όταν η συνθήκη της εντολή if είναι false. Για παράδειγμα: if( $result == 0 ) { echo " Εσφαλμένος Συνδυασμός Username /Password <br>"; } else { echo " Ευχαριστούμε που συνδεθήκατε στην ιστοσελίδα μας <br>"; } Θα μπορούσαμε να δημιουργήσουμε πιο περίπλοκες λογικές διαδικασίες βάζοντας τις εντολές if, την μια μέσα στην άλλη. Εντολές elseif Για πολλές από τις αποφάσεις που παίρνουμε, υπάρχουν περισσότερες από δύο επιλογές. Μπορούμε να δημιουργήσουμε μια σειρά από πολλές επιλογές χρησιμοποιώντας την εντολή elseif. Η εντολή αυτή είναι συνδυασμός της else και της if. Παρέχοντας μια σειρά από συνθήκες, το πρόγραμμα μπορεί να ελέγχει κάθε μια, μέχρι να βρει αυτή που είναι αληθείς. Σελίδα 16 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία Το σύστημα χρησιμοποιεί τα αποτελέσματα των αριθμοδεικτών για να παρουσιάσει με βάση αυτά την οικονομική ανάλυση μια συγκεκριμένης εταιρίας που επέλεξε ο χρήστης. Για παράδειγμα: - Όταν ο αριθμοδείκτης Δανειακής Κάλυψης είναι 50 - Η εταιρία διατηρεί σε ισορροπία τα επίπεδα δανεισμού της. - Όταν ο αριθμοδείκτης Δανειακής Κάλυψης είναι 100 - Η εταιρία είναι υπερδανεισμένη. Μπορούμε να δημιουργήσουμε κώδικα για να υπολογίζει το αποτέλεσμα του αριθμοδείκτη χρησιμοποιώντας συνθήκες και εντολές if και elseif. If ($n ==50) { echo Η εταιρία διατηρεί σε ισορροπία τα επίπεδα δανεισμού της. <br>"; } elseif ($n ==100 ) { echo Η εταιρία είναι υπερδανεισμένη. <br> ; } Εντολές switch Η εντολή switch δουλεύει με παρόμοιο τρόπο με την εντολή if, αλλά επιτρέπει στην συνθήκη να πάρει περισσότερες από δυο τιμές. Σε μια εντολή if, η συνθήκη μπορεί να πάρει true ή false. Σε μια εντολή switch, η συνθήκη μπορεί να πάρει οποιονδήποτε αριθμό διαφορετικών τιμών, εφόσον καταλήγει σε έναν απλό τύπο (ακέραιο, συμβολοσειρά ή double). Πρέπει να παρέχετε μια εντολή case για κάθε τιμή στην οποία θέλετε να αντιδράτε και προαιρετικά, μια προκαθορισμένη case για να χειρίζεστε οτιδήποτε για το οποίο δεν παρέχεται μια συγκεκριμένη εντολή case. 1.6.2 Αποφάσεις Επανάληψης : Επαναλαμβάνοντας ενέργειες Σελίδα 17 από 150

PHP Σε ένα πράγμα που οι υπολογιστές είναι πολύ καλοί είναι η αυτοματοποίηση επαναλαμβανόμενων διαδικασιών. Αν υπάρχει κάτι που πρέπει να κάνουμε με τον ίδιο τρόπο, πολλές φορές, μπορούμε να χρησιμοποιήσουμε ένα βρόγχο για να επαναλαμβάνουμε κάποια μέρη του προγράμματος μας. Βρόγχοι While Το απλούστερο είδος βρόγχων στην ΡΗΡ είναι ο βρόγχος while. Όπως και μια εντολή if έτσι και αυτός βασίζεται σε μια συνθήκη. Η διαφορά μεταξύ ενός βρόγχου while και μιας εντολής if είναι ότι η εντολή if εκτελεί το επόμενο τμήμα του κώδικα μία φορά, εφόσον η συνθήκη είναι αληθής. Ο βρόγχος while εκτελεί το τμήμα επαναλαμβανόμενα, εφόσον η συνθήκη είναι αληθής. Γενικά χρησιμοποιούμε ένα βρόγχο while όταν δεν ξέρουμε πόσες επαναλήψεις θα απαιτηθούν για να γίνει η συνθήκη αληθής. Αν απαιτείτε σταθερός αριθμός επαναλήψεων, μπορούμε να χρησιμοποιήσουμε ένα βρόγχο for. Η βασική δομή ενός βρόγχου while είναι : while (condition) expression; Ο παρακάτω κώδικας θα εμφανίσει τους αριθμούς 1 έως το 10 $number While ($number <= 10) { echo $number. <br> ; $number++; } Η εντολή $number++; ισοδυναμεί με $number = $number +1 ; δηλαδή προσθέτει στον εαυτό του κάθε φορά το 1. Στην αρχή της κάθε επανάληψης, ελέγχει την συνθήκη. Αν είναι ψευδείς, το τμήμα του δεν θα εκτελεστεί και ο βρόγχος θα τερματιστεί. Θα εκτελεστεί η αμέσως επόμενη εντολή μετά το βρόχο. Σελίδα 18 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία Βρόγχοι for Ο τρόπος που χρησιμοποιήσαμε τον βρόγχο while προηγουμένως είναι πολύ συνηθισμένος. Ορίζουμε ένα μετρητή όταν ξεκινάμε.πριν από κάθε επανάληψη, ελέγχουμε τον μετρητή με μια συνθήκη. Στο τέλος της επανάληψης, τροποποιούμε τον μετρητή. Μπορούμε να γράψουμε αυτό το στυλ βρόγχου με μια πιο συμπαγή μορφή, χρησιμοποιώντας ένα βρόγχο for. Η βασική δομή ενός βρόγχου for είναι : for ($sum =50 ; $sum <=250 ; $sum += 50) { echo "<tr>\n <td align = right>$sum</td>\n"; echo " <td align = right>". $sum / 10."</td>\n</tr>\n";} Βρόχοι do...while Ο τελευταίος τύπος βρόχου που θα αναφέρουμε συμπεριφέρεται λίγο διαφορετικά. Η γενική δομή ενός βρόχου do.w hile είναι Do Expression While (condition); Ένας βρόχος διαφέρει από ένα βρόγχο while επειδή η συνθήκη ελέγχεται στο τέλος. Αυτό σημαίνει ότι, σε ένα βρόγχο d o. while, η εντολή ή το μπλοκ μέσα στον βρόγχο εκτελείται πάντα τουλάχιστον μια φορά (Welling and Thomson, 2002 : 38-47). 1.7 Βασικά Χαρακτηριστικά Η PHP ενσωματώνει την ισχύ και τη δυναμικότητα σχετικά παλαιότερων γλωσσών όπως η Perl καταργώντας τις αδυναμίες τους. Αναφέρουμε μερικά από τα βασικά χαρακτηριστικά της : Σελίδα 19 από 150

PHP Ο συντακτικός αναλυτής της, καθώς και ο πηγαίος κώδικας της διανέμεται ελεύθερα στο διαδίκτυο δίνοντας τη δυνατότητα σε όποιον θέλει να κατασκευάζει και να διανέμει εφαρμογές για εμπορική και μη χρήση. Μπορεί να μεταφραστεί και να τρέξει στα περισσότερα λειτουργικά συστήματα που κυκλοφορούν στην αγορά ( Microsoft Windows, Linux, BSD, Solaris, Macintosh OS X, and UNIX servers). Συνεργάζεται χωρίς προβλήματα με τους πιο δημοφιλείς Web Servers που κυκλοφορούν όπως τον Apache και τον Microsoft IIS. Διαθέτει ενσωματωμένες εντολές υποστήριξης για ένα μεγάλο αριθμό βάσεων δεδομένων όπως MySQL, Sybase, Oracle, Ingres. Προσφέρει ένα σύνολο από Database API s τις ενοποιημένες ODBC συναρτήσεις (unified ODBC functions), που εξασφαλίζουν την προσπέλαση σε μια υποκείμενη βάση δεδομένων, χρησιμοποιώντας τις εγγενείς μεθόδους της εκάστοτε βάσης για να μεγιστοποιήσουν την απόδοση (IBM DB2). Είναι πιο απλό να συντάξει κάποιος κώδικα PHP από ότι σε οποιαδήποτε άλλη γλώσσα σεναρίου. Μπορεί να χρησιμοποιηθεί στη δημιουργία εικόνων, ανάγνωση / εγγραφή σε αρχεία και για αποστολή email. Για να προσφέρει αυτές τις υπηρεσίες, η PHP επικοινωνεί με αρκετά πρωτόκολλα όπως: HTTP (Ιστοσελίδες), POP3 (e-mail), SNMP και LDAP. 1.8 Πλεονεκτήματα Κάποιοι από τους βασικούς ανταγωνιστές της ΡΗΡ είναι ο Perl, Microsoft Active Server Pages (ASP), Java Server Pages ( JSP ) και Allaire Cold Fusion. Σε σύγκριση με αυτά τα προϊόντα, η ΡΗΡ έχει πολλά πλεονεκτήματα όπως : Υψηλή απόδοση Διασυνδέσεις με πολλά διαφορετικά συστήματα βάσεων δεδομένων Ενσωματωμένες βιβλιοθήκες για πολλές συνηθισμένες Web διαδικασίες Χαμηλό κόστος Ευκολία μάθησης και χρήσης Σελίδα 20 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία Μεταφερσιμότητα Διαθεσιμότητα του κώδικα προέλευσης Ακολουθεί μια πιο λεπτομερή περιγραφή αυτών των πλεονεκτημάτων. Απόδοση Η ΡΗΡ είναι πολύ αποτελεσματική. Με ένα φθηνό διακομιστή μπορείτε να εξυπηρετήσετε εκατομμύρια επισκέψεων καθημερινά. Οι δοκιμές που δημοσιεύθηκαν από την Zend Technologies ( http://www.zend.com), δείχνουν ότι η ΡΗΡ ξεπερνά τους ανταγωνιστές της. Σελίδα 21 από 150

PHP Ολοκλήρωση με Βάσεις δεδομένων Η ΡΗΡ έχει εγγενείς συνδέσεις για πολλά συστήματα βάσεων δεδομένων. Εκτός από την MySQL, μπορείτε να συνδεθείτε κατευθείαν με τις βάσεις δεδομένων PostgreSQL, msql, Oracle, dbm, filepro, Informix, InterBase, Sybase, μεταξύ άλλων. Χρησιμοποιώντας το Open Database Connectivity Standard (ODBC) μπορείτε να συνδεθείτε σε οποιαδήποτε βάση δεδομένων παρέχει ένα πρόγραμμα οδήγησης ODBC. Αυτό περιλαμβάνει και τα προϊόντα της Microsoft products, μεταξύ άλλων. Ενσωματωμένες Βιβλιοθήκες Επειδή η ΡΗΡ σχεδιάστηκε για να χρησιμοποιείται στο Web, έχει πολλές ενσωματωμένες βιβλιοθήκες, που εκτελούν πολλές χρήσιμες λειτουργίες σχετικές με το Web. Μπορείτε να δημιουργήσετε εικόνες GIF δυναμικά, να συνδεθείτε με άλλες υπηρεσίες δικτύων, να στείλετε ηλεκτρονικό ταχυδρομείο, να δουλέψετε με cookies και να δημιουργήσετε PDF έγγραφα : όλα αυτά με λίγες γραμμές κώδικα. Κόστος Η ΡΗΡ είναι δωρεάν. Μπορείτε να κατεβάσετε την τελευταία έκδοση από το http://www.php.net, χωρίς χρέωση. Εκμάθηση της ΡΗΡ Η σύνταξη της ΡΗΡ βασίζεται σε άλλες γλώσσες προγραμματισμού,βασικά στην C και στην Perl. Μεταφερσιμότητα Η ΡΗΡ είναι διαθέσιμη για πολλά λειτουργικά συστήματα. Μπορείτε να γράψετε κώδικα ΡΗΡ για δωρεάν συστήματα τύπου Unix, όπως LINUX και FreeBSD, για εμπορικές εκδώσεις του UNIX, όπως το Solaris και το IRIX ή για διαφορετικές εκδώσεις των Microsoft Windows. Σελίδα 22 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία Ο κώδικα σας συνήθως θα δουλεύει χωρίς αλλαγές στα συστήματα που τρέχουν την ΡΗΡ. Κώδικας προέλευσης Έχετε πρόσβαση στον κώδικα προέλευσης της ΡΗΡ. Αντίθετα με εμπορικά, κλειστά προγράμματα, αν υπάρχει κάτι που θέλετε να αλλάξετε ή να προσθέσετε στη γλώσσα, μπορείτε να το κάνετε. Δεν χρειάζεται να περιμένετε τον κατασκευαστή να εμφανίσει διορθώσεις. Δεν θα ανησυχείτε αν ο κατασκευαστής θα σταματήσει να υπάρχει ή αν θα σταματήσει να υποστηρίζει το προϊόν. Σελίδα 23 από 150

3 MYSQL 3 MYSQL Η MySQL είναι ένα πολύ γρήγορο και δυνατό, σύστημα διαχείρισης βάσεων δεδομένων. Μια βάση δεδομένων σας επιτρέπει να αποθηκεύετε, να αναζητάτε, να ταξινομείτε και να ανακαλείτε τα δεδομένα αποτελεσματικά. Ο MySQL διακομιστής ελέγχει την πρόσβαση στα δεδομένα σας, για να μπορούν να δουλεύουν πολλοί χρήστες ταυτόχρονα, για να παρέχει γρήγορη πρόσβαση και να διασφαλίζει ότι μόνο πιστοποιημένοι χρήστες μπορούν να έχουν πρόσβαση. Συνεπώς η MySQL είναι ένας πολυνηματικός διακομιστής πολλαπλών χρηστών. Χρησιμοποιεί την SQL ( Structured Query Language ) την τυπική γλώσσα ερωτημάτων για βάσεις δεδομένων, παγκόσμια. H MySQL είναι διαθέσιμη από το 1996 αλλά η ιστορία της ξεκινά από το 1979 [6]. Δημιουργώντας μια βάση δεδομένων Η MySQL μπορεί να υποστηρίξει πολλές διαφορετικές βάσεις δεδομένων. Θα πρέπει γενικά να έχουμε μια βάση δεδομένων ανά εφαρμογή. Αυτό είναι το ευκολότερο μέρος. Στην προτροπή της MySQL πληκτρολογούμε : mysql > create database etairia; Μετά από την εντολή θα πάρουμε την παρακάτω απόκριση : Query OK, 1 row affected (0.07 sec) Αυτό σημαίνει ότι όλα δούλεψαν σωστά και η βάση μας δημιουργήθηκε. Χρησιμοποιώντας την σωστή βάση δεδομένων Το πρώτο πράγμα που θα χρειαστεί να κάνουμε όταν συνδεθούμε, είναι να καθορίσουμε ποια βάση δεδομένων θέλουμε να χρησιμοποιήσουμε. Αυτό μπορούμε να το πετύχουμε πληκτρολογώντας mysql > use etairia; Σελίδα 24 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία Δημιουργία πινάκων βάσεων δεδομένων Για να δημιουργήσουμε έναν πίνακα σε μία βάση μας, χρησιμοποιούμε την εντολή CREATE TABLE tablename (columns) το μόνο που πρέπει να κάνουμε είναι να αντικαταστήσουμε το tablename με το όνομα που θέλουμε να έχει ο πίνακας μας και το columns με τις στήλες που θα περιέχει. Παράδειγμα: CREATE TABLE xrisis ( Id_xrisis int(10) not null auto_increment primary key, description varchar(50) not null, number_xrisis int(20) not null, date1 date not null, date2 date not null ); Ο παραπάνω κώδικας δημιουργεί έναν πίνακα με όνομα xrisis και με στήλες id_xrisis, description, number_xrisis,date1,date2. Δίπλα από κάθε στήλη γράφεται και ο τύπος της. Τι σημαίνουν οι λέξεις κλειδιά Το NOT_NULL σημαίνει ότι όλες οι γραμμές του πίνακα πρέπει να έχουνε τιμές σε αυτήν την ιδιότητα. Αν δε καθοριστεί, το πεδίο μπορεί να είναι κενό NULL. Το auto_increment είναι μια ειδική λειτουργία της MySQL, που μπορούμε να χρησιμοποιούμε σε ακέραιες στήλες. Σημαίνει ότι αν αφήσουμε αυτό το πεδίο κενό όταν εισάγουμε γραμμές στον πίνακα η MySQL θα δημιουργήσει αυτόματα ένα μοναδικό αναγνωριστικό. Το primary_key μετά από ένα όνομα στήλης καθορίζει ότι αυτή η στήλη είναι το πρωτεύον κλειδί του πίνακα. Τα στοιχεία αυτής της στήλης θα πρέπει να είναι Σελίδα 25 από 150

3 MYSQL μοναδικά. Βλέποντας τη βάση δεδομένων με την SHOW και DESCRIBE Εφόσον έχουμε συνδεθεί στο διακομιστή μας και έχουμε επιλέξει μια βάση δεδομένων, πληκτρολογώντας mysql > show tables; θα δούμε ως αποτέλεσμα τους πίνακες που περιέχει η βάση μας. TABLES Newxristis Etairia Xrisis Stoixeia Αν θέλουμε να πάρουμε πληροφορίες για τις υπάρχουσες βάσεις δεδομένων που υπάρχουν στον διακομιστή MySQL, πληκτρολογούμε : mysql > show databases; Και θα πάρουμε κάτι ανάλογο με το παραπάνω DATABASES Forum Mysql Etairia Test Αν θέλουμε τώρα να πάρουμε πληροφορίες για έναν πίνακα πληκτρολογούμε : mysql > describe tablename; (όπου tablename είναι το όνομα του πίνακα) Παράδειγμα mysql> describe etairia; Σελίδα 26 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία Field Type Null Key Default Extra Id_etairia int(10) PRI NULL auto_increment Name_etairia varchar(50) City varchar(50) Address varchar(50) Address_number varchar(5) Telephone char(10) 3.1 Τύποι Δεδομένων Οι τρεις βασικοί τύποι δεδομένων στην MySQL είναι : αριθμητικοί, ημερομηνίας - ώρας και συμβολοσειράς. Μέσα σε κάθε μια από αυτές τις κατηγορίες υπάρχει μεγάλος αριθμός τύπων. 1) Αριθμητικοί τύποι Οι αριθμητικοί τύποι διακρίνονται σε κατηγορίες, στους ακέραιους τύπους δεδομένων και στους τύπους κινητής υποδιαστολής. Ακέραιοι Τύποι Δεδομένων Τύπος Εύρος Εύρος Περιγραφή (Σε byte) TINYINT[(M)] -127..128 ή 0..255 1 Πολλοί μικροί ακέραιοι SMALLINT[(M)] -32768..32767 ή 2 Μικροί ακέραιοι 0..65535 MEDIOUMINT[(M)] -8388608.. 8388607 ή 3 Μεσαίου μεγέθους 0..16777315 ακέραιοι INT[(M)] -231..231-1 η 0..231-1 4 Κανονικοί ακέραιοι INTEGER[(M)] Συνώνυμο για το INT BIGINT[(M)] -263.263-1 ή 0..264-1 8 Μεγάλοι ακέραιοι Πίνακας 2.1: Ακέραιοι τύποι δεδομένων της Mysql Τύποι Κινητής Υποδιαστολής Τύπος Εύρος (σε byte) FLOAT(precision) Διαφέρει FLOAT[(M,D)] 4 DOUBLE[(M,D)] 8 Σελίδα 27 από 150

3 MYSQL DOUBLE PRECISION[(M,D)] REAL[(M,D)] DECIMAL[(M[,D])] M+2 NUBERIC Πίνακας 2.2: Τύποι κινητής υποδιαστολής της Mysql 2) Τύποι ημερομηνίας και ώρας Η MYSQL υποστηρίζει διάφορους τύπους ημερομηνίας και ώρας. Αυτοί φαίνονται στον παρακάτω πίνακα Τύποι Ημερομηνίας Και Ώρας Τύπος Εύρος DATE 1000-01-01 9999-12-31 TIME -838:59:59 838:59:59 DATETIME 1000-01-01 00:00:00 9999-12-31 23:59:59 TIMESTAMP[(M)] 1970-01-01 00:00:00 YEAR[(2 4)] 70-69 (1970-2069) 1901-2155 Πίνακας 2.3: Τύποι ημερομηνίας και ώρας της Mysql 3) Τύποι κανονικών συμβολοσειρών Κανονικοί Τύποι Συμ βολοσειρών Τύποι Εύρος Περιγραφή CHAR(M) 1 έως 255 χαρακτήρες Σταθερού μήκους συμβολοσειράς μήκους Μ VARCHAR(M) 1 έως 255 χαρακτήρες Μεταβλητού μήκους συμβολοσειράς μήκους Μ Πίνακας 2.4: Κανονικοί τύποι συμβολοσειρών της Mysql 3.2 Τι είναι η SQL; Το SQL προέρχεται από το Structured Query Language (δομημένη γλώσσα ερωτημάτων). Είναι η πιο τυπική γλώσσα για πρόσβαση σε συστήματα διαχείρισης Σελίδα 28 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία βάσεων δεδομένων. Η SQL χρησιμοποιείται για να αποθηκεύουμε και να ανακαλούμε δεδομένα από και προς μια βάση δεδομένων. Χρησιμοποιείται σε βάσεις δεδομένων MySQL, Oracle, Microsoft SQL κ.α. ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ Εισάγοντας δεδομένα στην βάση δεδομένων Για να αποθηκεύσουμε δεδομένα μέσα σε μια βάση χρησιμοποιούμε την εντολή INSERT της SQL. Η συνηθισμένη μορφή της εντολής είναι : INSERT [INTO] table [(column1, column2,...)] VALUES (value1, value2...); Για παράδειγμα : insert into newxristis values ( NULL, Maria, 231100 ); Στο παράδειγμα βάλαμε στον πίνακα newxristis τα δεδομένα στο usemame- Maria και στο password = 231100 και αφήσαμε κενό το id_newxristis για να βάλει από μόνη της η MySQL τον αριθμό. Ανακαλώντας δεδομένα από την βάση δεδομένων Η δύναμη της SQL είναι η εντολή SELECT. Χρησιμοποιείται για να ανακαλεί δεδομένα από μια βάση δεδομένων, επιλέγοντας γραμμές από έναν πίνακα, που ταιριάζουν με συγκεκριμένα κριτήρια. Υπάρχουν πολλές επιλογές και διαφορετικό τρόποι για να χρησιμοποιήσουμε την εντολή SELECT[6]. Η βασική μορφή της είναι : SELECT items FROM tables [ WHERE condition ] [ GROUP BY group_type ] [ HAVING where_definition ] [ ORDER BY oder_type ] Σελίδα 29 από 150

3 MYSQL [LIMIT limit_criteria ] ; Παραδείγματα Α) mysql> select username from newxristis; Με την εντολή αυτή εμφανίζουμε από τον πίνακα newxristis μόνο το username. Β) mysql> select * from newxristis; Εμφανίζουμε όλα τα στοιχεία του πίνακα newxristis. Γ) mysql> select * from newxristis where id_newxristis=3; Εδώ ζητάμε όλα τα στοιχεία του πίνακα που έχουν σαν id_newxristis το 3. Αντίστοιχα συντάσσονται και οι υπόλοιποι παράμετροι της εντολής SELECT. Ενημερώνοντας εγγραφές στην βάση δεδομένων Εκτός από την ανάκληση δεδομένων από την βάση δεδομένων, συνήθως θέλουμε και να την αλλάζουμε. Χρησιμοποιώντας την εντολή UPDATE μπορούμε να αλλάξουμε τα δεδομένα του πίνακα μας. Η εντολή UPDATE συντάσσεται ως εξής : UPDATE tablename SET columnl = expresion1,column2 = expresion2... [ WHERE condition ] [LIMIT number ] Η βασική ιδέα είναι να ενημερώνουμε τον πίνακα tablename, ορίζοντας κάθε μια από τις στήλες που αναφέρονται στην αντίστοιχη παράσταση. Παραδείγματα mysql> update newxristis set username="george" where id_newxristis=2; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 Σελίδα 30 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία Όπως παρατηρούμε από την εντολή που δώσαμε, αλλάξαμε το username σε "George όπου το id_newxristis ήταν 2. Διαγράφοντας εγγραφές από την βάση δεδομένων Η διαγραφή εγγραφών από την βάση δεδομένων είναι πολύ απλή. Μπορούμε να το κάνουμε χρησιμοποιώντας την εντολή DELETE, που γενικά δείχνει ως εξής : DELETE FROM table [ WHERE condition ] [ LIMIT number ] Αν γράψουμε DELETE FROM table; Θα διαγραφούν όλες οι εγγραφές του πίνακα. Συνήθως, θέλουμε να διαγράψουμε συγκεκριμένες γραμμές και μπορούμε να το κάνουμε αυτό με μία εντολή WHERE. Π.χ. delete from newxristis where id_newxristis=2; Διαγράφοντας Πίνακες Για να διαγράψουμε ολόκληρους πίνακες χρησιμοποιούμε την εντολή : DROP TABLE newxristis; Αυτό θα διαγράψει όλες τις εγγραφές που περιέχει ο πίνακας και τον ίδιο πίνακα. Διαγράφοντας μια ολόκληρη βάση δεδομένων Σελίδα 31 από 150

3 MYSQL Για να διαγράψουμε ολόκληρες βάσεις δεδομένων χρησιμοποιώντας την εντολή: DROP DATABASE etairia; Αυτό θα διαγράψει όλα τα δεδομένα, όλους τους πίνακες και φυσικά θα διαγράψει και την βάση δεδομένων. 3.3 Πλεονεκτήματα MYSQL Μερικοί από τους κύριους ανταγωνιστές της MySQL είναι οι PostgreSQL, Microsoft SQL και Oracle. H MySQL έχει πολλά πλεονεκτήματα, όπως χαμηλό κόστος, εύκολη διαμόρφωση και μάθηση και ο κώδικας προέλευσης είναι διαθέσιμος. Απόδοση Η MySQL είναι χωρίς αμφιβολία γρήγορη. Μπορείτε να δείτε την σελίδα δοκιμών http://web.mysql.com/benchmark.html. Πολλές από αυτές τις δοκιμές δείχνουν ότι η MySQL είναι αρκετά πιο γρήγορη από τον ανταγωνισμό. Χαμηλό κόστος Η MySQL είναι διαθέσιμη δωρεάν, με άδεια ανοικτού κώδικα (Open Source) ή με χαμηλό κόστος, αν πάρετε εμπορική άδεια, αν απαιτείται από την εφαρμογή σας. Ευκολία Χρήσης Οι περισσότερες μοντέρνες βάσεις δεδομένων χρησιμοποιούν SQL. Αν έχετε χρησιμοποιήσει ένα άλλο σύστημα διαχείρισης βάσεων δεδομένων δεν θα έχετε πρόβλημα να προσαρμοστείτε σε αυτό. Μεταφερσιμότητα Σελίδα 32 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία Η MySQL μπορεί να χρησιμοποιηθεί σε πολλά διαφορετικά συστήματα Unix όπως επίσης και στα Microsoft Windows. Κώδικας Προέλευσης Όπως και με την ΡΗΡ, μπορείτε να πάρετε και να τροποποιήσετε τον κώδικα προέλευσης της MySQL (Welling and Thomson, 2002 : 5-6). Σελίδα 33 από 150

4 ΔΙΑΚΟΜΙΣΤΕΣ ΔΙΑΔΙΚΤΥΟΥ (WEB SERVERS) 4 ΔΙΑΚΟΜΙΣΤΕΣ ΔΙΑΔΙΚΤΥΟΥ (WEB SERVERS) Αναρωτηθήκατε ποτέ για τους μηχανισμούς με τους οποίους μία ιστοσελίδα εμφανίζεται στον πλοηγό που χρησιμοποιείτε όταν δίνετε ένα συγκεκριμένο URL(Uniform Resource Locator); Γενικά όλα τα μηχανήματα που είναι συνδεδεμένα στο Internet κατηγοριοποιούνται σε δύο τύπους: Πελάτες(Clients) Δ ια κ ο μ ισ τέ ς ^ ι^ φ Οι διακομιστές είναι τα μηχανήματα που προσφέρουν υπηρεσίες ενώ οι πελάτες είναι τα μηχανήματα που ζητούν και δέχονται τις υπηρεσίες αυτές. Ένα μηχάνημα μπορεί να είναι οποιουδήποτε τύπου ακόμα και των δύο συγχρόνως. Ανάλογα με τις υπηρεσίες που προσφέρουν οι διακομιστές στο διαδίκτυο διαχωρίζονται σε: Web Servers E-mail Servers FTP Servers Το ενδιαφέρον μας εστιάζεται στους Web Servers. Στο παρακάτω σχήμα περιγράφεται με έναν πολύ απλό τρόπο, τα βήματα που ακολουθούνται για να εμφανιστεί μια ιστοσελίδα στο μηχάνημα του πελάτη: Σελίδα 34 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία Δίνοντας λοιπόν ο χρήστης τη διεύθυνση, μετά από ορισμένες διαδικασίες, φτάνει η αίτηση στον αντίστοιχο διακομιστή δικτύου ο οποίος λαμβάνει την αίτηση και αφού την επεξεργαστεί στέλνει πίσω τα αποτελέσματα. Έτσι εμφανίζεται μπροστά στην οθόνη μας η ιστοσελίδα. [7] Βέβαια οι διαδικασίες που ακολουθούνται μέχρι να φτάσουμε στο επιθυμητό αποτέλεσμα είναι αρκετά πολύπλοκες οι οποίες αναλύονται στην συνέχεια Ενδεικτικά αναφέρουμε μερικούς από τους δημοφιλέστερους Web Servers που κυκλοφορούν στην αγορά και στο διαδίκτυο: Apache Web Server Microsoft Internet Information Server (IIS) IBM HTTP Server Στην συγκεκριμένη εφαρμογή χρησιμοποιείται η έκδοση 2.2.6 του Apache Web Server. 4.1 Apache Web Server Σελίδα 35 από 150

4 ΔΙΑΚΟΜΙΣΤΕΣ ΔΙΑΔΙΚΤΥΟΥ (WEB SERVERS) Ο Apache Web Server είναι ένας πολύ δημοφιλής διακομιστής διαδικτύου που διανέμεται ελεύθερα στο διαδίκτυο. Αναπτύχθηκε και συντηρείται από μια ομάδα εθελοντών που ήθελαν να υλοποιήσουν έναν εύρωστο κώδικα για διακομιστή δικτύου, που να είναι εμπορικός και να έχει πολλά χαρακτηριστικά. Σήμερα ο Apache θεωρείται από τους πιο σταθερούς διακομιστές δικτύου που κυκλοφορούν και θα πρέπει να τονίσουμε ότι αρκετοί εμπορικοί διακομιστές διαδικτύου, όπως ο HTTP Server της IBM, χρησιμοποιούν τον πυρήνα του Apache [8]. 4.2 Συνεργασία της MySQL, PHP και του Apache Server Βασική λειτουργία διαδικτυακού διακομιστή Το σύστημα αποτελείται από δύο αντικείμενα : web browser διαδικτυακό διακομιστή Απαιτείται μεταξύ τους μια σύνδεση επικοινωνίας. Σελίδα 36 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία Διαδικτυακή συναλλαγή βάσεων δεδομένων Μ Βήμα 1. Ο φυλλομετρητής (Mozilla Firefox) κάνει μια HTTP αίτηση για μια συγκεκριμένη σελίδα Μ Βήμα 2. Ο διαδικτυακός διακομιστής (Apache Server) λαμβάνει την αίτηση για τη σελίδα, ανακαλεί το αρχείο και το περνά στη μηχανή PHP για επεξεργασία Μ Βήμα 3. Η μηχανή PHP αρχίζει την ανάλυση του script. Μέσα στο script, υπάρχει μια εντολή που συνδέει τη βάση δεδομένων και εκτελεί ένα ερώτημα. Η PHP ανοίγει μια σύνδεση με τον MySQL διακομιστή (server) και στέλνει το κατάλληλο ερώτημα Μ Βήμα 4. Ο MySQL διακομιστής (server) λαμβάνει το ερώτημα της βάσης δεδομένων, το επεξεργάζεται και στέλνει τα αποτελέσματα ξανά στη μηχανή PHP Μ Βήμα 5. Η μηχανή PHP σταματά την εκτέλεση του script, που συνήθως περιλαμβάνει τη μορφοποίηση των αποτελεσμάτων του ερωτήματος σε HTML. Επιστρέφει μετά την τελική HTML σελίδα στον web διακομιστή (Apache Server) Μ Βήμα 6. Ο διαδικτυακός διακομιστής (Apache Server) περνά την HTML σελίδα ξανά στο browser (Mozilla Firefox), όπου ο χρήστης μπορεί να δει τα αποτελέσματα που ζήτησε. Σελίδα 37 από 150

ΘΕΩΡΙΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗΣ ΑΝΑΛΥΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ 5.ΘΕΩΡΙΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗΣ ΑΝΑΛΥΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ Η εφαρμογή αυτή δημιουργήθηκε με στόχο την παρουσίαση της χρηματοοικονομικής ανάλυσης των λογιστικών καταστάσεων των επιχειρήσεων, ώστε τα πορίσματα της να αποτελέσουν γνώμονα στη λήψη οικονομικών αποφάσεων, βασιζομένων σε επιστημονικά κριτήρια. 5.1 Λογιστικές Καταστάσεις Ο ρόλος της Λογιστικής, από τεχνικής απόψεως τελειώνει με την κατάρτιση των χρηματοοικονομικών ή λογιστικών καταστάσεων. Από το σημείο αυτό και μετά αρχίζει ένας άλλος ρόλος, ο οποίος αναφέρεται στη διερεύνηση, ερμηνεία και αξιολόγηση των στοιχείων των λογιστικών αυτών καταστάσεων. Οι λογιστικές ή χρηματοοικονομικές καταστάσεις παρέχουν πληροφορίες που μπορούν να βοηθήσουν τους ενδιαφερόμενους για τις επιχειρηματικές μονάδες να λάβουν σωστές αποφάσεις. Αποτελούν, οπότε πολύ σημαντική πηγή πληροφοριών. Η εφαρμογή αυτή αναφέρεται στην χρηματοοικονομική ανάλυση των δημοσιευμένων λογιστικών καταστάσεων των επιχειρήσεων και επομένως περιορίζεται στην ανάλυση που μπορούν να κάνουν οι «εξωτερικοί» αναλυτές, αυτοί δηλαδή αυτοί δηλαδή που δεν έχουν πρόσβαση στα μη δημοσιευόμενα στοιχεία. Έτσι, η σημαντική πηγή πληροφοριών για την δραστηριότητα μιας επιχείρησης είναι οι βασικές λογιστικές καταστάσεις, οι οποίες είναι ο ισολογισμός. Εκεί εμφανίζονται τα περιουσιακά στοιχεία,οι πηγές προέλευσης των κεφαλαίων της και τα οικονομικά αποτελέσματα από τις δραστηριότητες της. Οι λογιστικές καταστάσεις όμως παρουσιάζουν ορισμένα μειονεκτήματα, τα οποία δυσχεραίνουν το έργο του αναλυτή. Τα πιο σημαντικά είναι τα εξής: 1. Τα στοιχεία που περιλαμβάνονται είναι πολύ συνοπτικά και ανομοιόμορφα καταταγμένα, δεδομένου ότι, για την κατάρτιση τους δεν υπάρχει ένας ενιαίος τύπος υποχρεωτικός για όλες τις επιχειρήσεις[10]. Σελίδα 38 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία 2. Ο χρόνος που συνήθως μεσολαβεί από το τέλος της χρήσεως, στην οποία αναφέρονται, μέχρις ότου δημοσιευθούν και γίνουν γνωστές στο ευρύ κοινό είναι αρκετά μακρύς. Για την αντιμετώπιση αυτών των μειονεκτημάτων χρησιμοποιείται η χρηματοοικονομική ανάλυση, η οποία ασχολείται με τον υπολογισμό των κατάλληλων μεγεθών και σχέσεων που είναι σημαντικές και χρήσιμες για τη λήψη οικονομικής φύσεως αποφάσεων. Έτσι μπορεί να ειπωθεί ότι με την ανάλυση των λογιστικών καταστάσεων επιτελείται μια σημαντική λειτουργία μετατροπής πολυποίκιλων στοιχείων, από απλούς αριθμούς σε χρήσιμες πληροφορίες, που σπάνια προσφέρονται αυτούσιες. 5.2 Σκοπός Τ ης Αναλύσεως Τ ων Λογιστικών Καταστάσεων Η ερμηνεία και η αξιολόγηση των λογιστικών καταστάσεων απαιτεί μια κάποια εξοικείωση με τις βασικές μεθόδους χρηματοοικονομικής αναλύσεως. Φυσικά το είδος της χρηματοοικονομικής αναλύσεως των λογιστικών καταστάσεων εξαρτάται από το ενδιαφέρον και τις επιδιώξεις αυτών που πραγματοποιούν την ανάλυση, Μπορεί λοιπόν να ακολουθούνται διάφοροι μέθοδοι αναλύσεως και να δίνεται κάθε φορά έμφαση σε ορισμένα στοιχεία ανάλογα με τον επιδιωκόμενο σκοπό[10]. Αυτοί που ενδιαφέρονται και χρησιμοποιούν την τεχνική της ανάλυσης των λογιστικών καταστάσεων με σκοπό τη λήψη αποφάσεων μπορούν να καταταγούν σε διάφορες βασικές κατηγορίες, όπως : I. Επενδυτές-Μέτοχοι II. III. Δανειστές της επιχειρήσεως Διοικούντες την επιχείρηση IV. Οικονομικοί αναλυτές, χρηματιστές, στελέχη τραπεζών επενδύσεων και χρηματιστηρίου V. Αναλυτές σε περιπτώσεις εξαγορών και συγχωνεύσεων VI. Ελεγκτές λογιστικών καταστάσεων Σελίδα 39 από 150

ΘΕΩΡΙΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗΣ ΑΝΑΛΥΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ VII. Λοιπές ομάδες ενδιαφερομένων Για να μπορέσουν όλες οι ομάδες ενδιαφερόμενων να προχωρήσουν στην χρηματοοικονομική ανάλυση των στοιχείων των επιχειρήσεων, είναι απαραίτητο να προβούν σε συγκρίσεις και να υπολογίσουν σχέσεις, οι οποίες θα αποτελέσουν την βάση στην οποία θα στηρίξουν τις αποφάσεις τους Ως εκ τούτου, με την ανάλυση των στοιχείων των λογιστικών καταστάσεων, οι αποφάσεις των ενδιαφερόμενων δεν στηρίζονται πλέον στη διαίσθηση ή στις υποθέσεις αλλά σε συγκεκριμένα πορίσματα, οπότε μειώνεται με αυτό τον τρόπο η αβεβαιότητα ως προς το αποτέλεσμα που υπάρχει σε όλες τις αποφάσεις. Πριν από κάθε ανάλυση πρέπει να γίνεται ανακατάταξη και ομαδοποίηση ορισμένων λογαριασμών των λογιστικών καταστάσεων με σκοπό: - Τη μείωση των στοιχείων που θα τύχουν επεξεργασίας και μελέτης. - Την κατάταξη αυτών σύμφωνα με τις επιδιώξεις του αναλυτή - Τη δυνατότητα επιλογής των μερικών αθροισμάτων, καθώς και των επί μέρους ποσών, ώστε να μπορούν να υπολογιστούν διάφοροι αριθμοδείκτες. 5.3 Εξωτερική Ανάλυση Λογιστικών Καταστάσεων Η εξωτερική ανάλυση πραγματοποιείται από πρόσωπα, που βρίσκονται έξω από την επιχείρηση και βασίζεται αποκλειστικά και μόνο στα στοιχεία που δημοσιεύονται στις λογιστικές καταστάσεις και στις εκθέσεις του Διοικητικού Συμβουλίου και των ελεγκτών. Έτσι, ο αναλυτής δεν μπορεί να διεισδύσει βαθύτερα μέσα στην επιχείρηση, το δε έργο του είναι τόσο δυσκολότερο όσο πιο συνοπτικά είναι τα στοιχεία που δημοσιεύονται. Η εξωτερική ανάλυση γίνεται κυρίως από πρόσωπα τα οποία ενδιαφέρονται να προσδιορίσουν την οικονομική θέση και την αποδοτικότητα της επιχείρησης. Όταν μιλάμε για προσδιορισμό της οικονομικής θέσεως μιας επιχείρησης, εννοούμε : - Τη δυνατότητα που έχει η επιχείρηση να ανταποκριθεί στις τρέχουσες υποχρεώσεις της στο παρόν και στο μέλλον, ακόμη και κάτω από συνθήκες διαφορετικές εκείνων που υπάρχουν τη στιγμή που γίνεται η ανάλυση. Σελίδα 40 από 150

Πτυχιακή Εργασία της Μιχαηλίδου Ευαγγελία - Τη δυνατότητα να εκμεταλλευθεί τυχόν παρουσιαζόμενες ευκαιρίες με τη χρησιμοποίηση κεφαλαίων από ίδιες ή από έκδοση νέων τίτλων ή ομολογιών ακόμα και με την άντληση κεφαλαίων από την προσφυγή στον τραπεζικό δανεισμό. - Τη δυνατότητα πληρωμής των ληξιπρόθεσμων τόκων και των υποχρεώσεων, καθώς και την καταβολή μερισμάτων χωρίς διακοπή. Για τον προσδιορισμό της αποδοτικότητας μιας επιχειρήσεως ερευνάται ιδιαίτερα το ύψος και η σταθερότητα των καθαρών κερδών της, καθώς και η τάση βελτιώσεως αυτών στο μέλλον. Ο τύπος και η διάταξη των στοιχείων του ισολογισμού και της καταστάσεων αποτελεσμάτων χρήσεως έχουν μεγάλη σημασία, προκειμένου να προσδιοριστεί η οικονομική θέση και η αποδοτικότητα μιας επιχείρησης. 5.4 Διαδικασίες Αναλύσεως Η χρηματοοικονομική ανάλυση των λογιστικών καταστάσεων έχει ως αντικείμενο τη μελέτη των σχέσεων ων οικονομικών στοιχείων που αναφέρονται σε αυτές σε δεδομένη χρονική στιγμή, καθώς και των τάσεων αυτών διαχρονικά[10]. Η ανάλυση αυτή περιλαμβάνει τρεις διαδικασίες. Η πρώτη αναφέρεται στην επιλογή και στον υπολογισμό ορισμένων στοιχείων μεταξύ των αναφερόμενων στις λογιστικές καταστάσεις στοιχείων, ανάλογα με την επιδικόμενη απόφαση. Η δεύτερη συνιστάται στην κατάταξη των δεδομένων, κατά τέτοιο τρόπο ώστε να είναι δυνατός ο υπολογισμός των μεταξύ των σημαντικών σχέσεων και η τρίτη περιλαμβάνει την αξιολόγηση,μελέτη και ερμηνεία των παραπάνω σχέσεων. Οι παραπάνω διαδικασίες αναλύσεως κατατάσσονται σε δύο κατηγορίες: - Στις συγκρίσεις και μετρήσεις με βάση τα οικονομικά στοιχεία των λογιστικών καταστάσεων δύο ή περισσότερων χρήσεων. - Στις συγκρίσεις και μετρήσεις με βάση τα οικονομικά στοιχεία των λογιστικών καταστάσεων μιας χρήσεως. Σελίδα 41 από 150

ΘΕΩΡΙΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗΣ ΑΝΑΛΥΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ Η πρώτη κατηγορία περιλαμβάνει συγκριτικές καταστάσεις, αριθμοδείκτες, την τάση των οικονομικών στοιχείων και των αριθμοδεικτών διαχρονικά ως και αναλύσεις των διαφόρων μεταβολών της οικονομικής καταστάσεως μιας επιχείρησης. Η δεύτερη κατηγορία περιλαμβάνει τον προσδιορισμό των σχέσεων των στοιχείων ενός ισολογισμού και της καταστάσεως αποτελεσμάτων χρήσεως. Για την χρηματοοικονομική ανάλυση λογιστικών καταστάσεων συνήθως απαιτείται η διενέργεια και των δύο κατηγοριών αναλύσεως που προαναφέρθηκαν. Γενικά, όλες οι αναλύσεις περιλαμβάνουν συγκρίσεις μεταξύ του τι πραγματικά συμβαίνει με του τι θα έπρεπε να συμβαίνει, λαμβάνοντας ως μέτρο σύγκρισης κάποιο αντιπροσωπευτικό ή πρότυπο μέγεθος. Πρότυπο μέγεθος είναι αυτό που θα έπρεπε να υπάρχει κάτω από τις επικρατούσες τη στιγμή της αναλύσεως συνθήκες. Πέραν αυτού, προκειμένου να αξιολογηθούν τα αποτελέσματα της αναλύσεως πρέπει να γίνονται συγκρίσεις και με άλλες επιχειρήσεις του ίδιου κλάδου ή με τους μέσους όρους του κλάδου όπου ανήκει η συγκεκριμένη επιχείρηση. 5.5 Ανάλυση Λογιστικών Καταστάσεων Με Αριθμοδείκτες Η χρήση των αριθμοδεικτών αποτελεί μια από τις πλέον διαδεδομένες και δυναμικές μεθόδους χρηματοοικονομικής αναλύσεως, οι οποίοι βοηθούν στην ερμηνεία των οικονομικών στοιχείων των επιχειρήσεων. Αριθμοδείκτης είναι η απλή σχέση ένος κονδυλίου του ισολογισμού ή της καταστάσεως αποτελεσμάτων χρήσεως προς ένα άλλο και εκφράζεται με απλή μαθηματική μορφή. Ο λόγος που οδήγησε στην καθιέρωση χρησιμοποιήσεως των αριθμοδεικτών προέρχεται από την ανάγκη να γίνεται αμέσως αντιληπτή η πραγματική αξία και η σπουδαιότητα των απολύτων μεγεθών. Για να έχει ένας αριθμοδείκτης κάποια αξία, θα πρέπει να εκφράζει σχέσεις που παρουσιάζουν οικονομικό ενδιαφέρον και μας οδηγούν σε συγκεκριμένα συμπεράσματα. Στο σημείο αυτό, θα πρέπει να αναφερθεί ότι ο υπολογισμός και η παρουσίαση των διαφόρων αριθμοδεικτών αποτελεί μια μέθοδο αναλύσεως, η οποία, πολλές φορές Σελίδα 42 από 150