5.1.1

5.1.1 Εγκατάσταση και Παραμετροποίηση του ΣΔΒΔ
**Στόχοι / Προσδοκώμενα Αποτελέσματα** Ο μαθητής/τρια πρέπει να είναι ικανός/ή:
 * να γνωρίζει τις εργασίες εγκατάστασης ενός ΣΔΒΔ
 * να διακρίνει τις διαφορετικές μεθόδους εγκατάστασης ενός ΣΔΒΔ (χειροκίνητη και αυτόματη, πρόγραμμα εγκατάστασης και αποθετήριο λογισμικού)
 * να απαριθμεί τις βασικές παραμέτρους εγκατάστασης ενός ΣΔΒΔ
 * να διακρίνει τους διαφορετικούς τρόπους παραμετροποίησης ενός ΣΔΒΔ (κατά την εγκατάσταση, μετά την εγκατάσταση)

Πριν χρησιμοποιηθεί μια ΒΔ πρέπει να εγκατασταθεί το αντίστοιχο ΣΔΒΔ. Η εργασία αυτή αποτελεί ένα από τα βασικά καθήκοντα του Διαχειριστή ΒΔ. Η εγκατάσταση συνήθως πραγματοποιείται σε ισχυρούς υπολογιστές που αναλαμβάνουν το ρόλο του **εξυπηρετητή ΒΔ (database server)**. Το ΣΔΒΔ μπορεί να είναι το μοναδικό λογισμικό (μαζί με το λειτουργικό σύστημα) που θα εγκατασταθεί ή να συνυπάρχει με άλλες εφαρμογές. Η εγκατάσταση του ΣΔΒΔ μπορεί να γίνει και σε λιγότερο ισχυρούς υπολογιστές για τη δημιουργία περιβάλλοντος ανάπτυξης και ελέγχου από τους προγραμματιστές ΒΔ.

Τα αναγκαία αρχεία για την εγκατάσταση του ΣΔΒΔ προσφέρονται από τον κατασκευαστή του ΣΔΒΔ. Στο παρελθόν, τα αρχεία ήταν διαθέσιμα σε οπτικούς δίσκους (CD ή DVD), ενώ σήμερα, χάρη στις υψηλές ταχύτητες σύνδεσης στο Διαδίκτυο, είναι διαθέσιμα για μεταφόρτωση (download) από την ιστοσελίδα του κατασκευαστή. Για κάθε λειτουργικό σύστημα (Windows, UNIX, Linux, Mac OS) υπάρχει διαφορετική έκδοση των αρχείων εγκατάστασης.

Οι **εργασίες που πραγματοποιούνται κατά την εγκατάσταση του ΣΔΒΔ** είναι οι ακόλουθες:
 * δημιουργία φακέλων εγκατάστασης,
 * αποσυμπίεση των αρχείων εγκατάστασης,
 * αντιγραφή των αποσυμπιεσμένων αρχείων στους φακέλους που δημιουργήθηκαν και σε φακέλους του λειτουργικού συστήματος,
 * ρύθμιση του λειτουργικού συστήματος και των προγραμμάτων που αποτελούν το ΣΔΒΔ.

Η διαδικασία εγκατάστασης μπορεί να είναι **χειροκίνητη (manual) ή αυτόματη (automatic)**. Στη χειροκίνητη εγκατάσταση ο Διαχειριστής ΒΔ εργάζεται σε περιβάλλον γραμμής εντολών (command line) και ακολουθώντας τις οδηγίες του κατασκευαστή του ΣΔΒΔ πραγματοποιεί όλες τις απαραίτητες εργασίες. Η μέθοδος αυτή δεν είναι ιδιαίτερα δημοφιλής εξαιτίας της πολυπλοκότητας της. Στην αυτόματη εγκατάσταση οι απαραίτητες εργασίες γίνονται με ελάχιστη παρέμβαση του Διαχειριστή ΒΔ. Για την αυτόματη εγκατάσταση σε περιβάλλον MS Windows και Mac OS είναι διαθέσιμα **προγράμματα εγκατάστασης (installers)** που όταν εκτελεστούν ξεκινάει ένας **οδηγός εγκατάστασης (installation wizard)** σε περιβάλλον γραμμής εντολών (command line) ή σε γραφικό περιβάλλον (GUI – graphical user interface). Ο οδηγός εγκατάστασης αρχικά δίνει τη δυνατότητα στον Διαχειριστή ΒΔ να επιλέξει τις βασικές παραμέτρους εγκατάστασης και στη συνέχεια πραγματοποιούνται αυτόματα οι απαραίτητες εργασίες. Σε περιβάλλον UNIX και Linux η αυτόματη εγκατάσταση πραγματοποιείται μέσω ειδικών δικτυακών τόπων που ονομάζονται **αποθετήρια λογισμικού (software repositories)**. Ο Διαχειριστής ΒΔ συνδέεται στο αποθετήριο λογισμικού και επιλέγει τα **πακέτα λογισμικού (software packages)** του ΣΔΒΔ για μεταφόρτωση. Με την ολοκλήρωση της μεταφόρτωσης ξεκινάνε αυτόματα οι αναγκαίες εργασίες εγκατάστασης.

Κατά την εγκατάσταση του ΣΔΒΔ, χειροκίνητη ή αυτόματα, πραγματοποιείται η **αρχική παραμετροποίηση του ΣΔΒΔ, δηλαδή η ρύθμιση διαφόρων παραμέτρων που σχετίζονται με τη λειτουργία του ΣΔΒΔ**. Η παραμετροποίηση συνήθως αφορά στα ακόλουθα: Το ΣΔΒΔ **MySQL** υποστηρίζει 9 μηχανές ΒΔ από τις οποίες οι πιο διαδεδομένες είναι η **MyISAM** και **InnoDB**.
 * **Φάκελοι εγκατάστασης:** Καθορισμός φακέλων για τα αρχεία εφαρμογών (προγράμματα που αποτελούν το ΣΔΒΔ) και τα αρχεία δεδομένων (περιεχόμενα της ΒΔ). Είναι συνηθισμένη πρακτική ο φάκελος για τα αρχεία δεδομένων να βρίσκεται σε διαφορετικό διαμέρισμα (partition) του δίσκου ή σε διαφορετικό δίσκο από το λειτουργικό σύστημα και το ΣΔΒΔ. Με αυτό τον τρόπο αν γίνει επανεγκατάσταση του λειτουργικού συστήματος ή του ΣΔΒΔ τα περιεχόμενα της ΒΔ δεν θα επηρεαστούν. Επίσης αν τα αρχεία δεδομένων βρίσκονται σε άλλο δίσκο βελτιώνεται η ταχύτητα της ΒΔ.
 * **Τύπος ΒΔ:** Ανάλογα με τον σκοπό και την προβλεπόμενη χρήση της ΒΔ μπορεί να οριστεί ο ανάλογος τύπος ΒΔ που θα δημιουργείται από την εντολή **CREATE DATABASE** (αναλύεται σε επόμενη ενότητα). Η επιλογή τύπου ΒΔ καθορίζει συγκεκριμένες παραμέτρους της εγκατάστασης, όπως την κύρια μνήμη που θα δεσμεύει το ΣΔΒΔ, το μέγιστο μέγεθος που μπορεί να έχει η ΒΔ, τον τρόπο αποθήκευσης και οργάνωσης των αρχείων δεδομένων με τα περιεχόμενα της ΒΔ. Σε ορισμένα ΣΔΒΔ η επιλογή τύπου ΒΔ οδηγεί σε επιλογή κατάλληλης **μηχανής ΒΔ (database engine)**. Η μηχανή ΒΔ είναι το τμήμα του ΣΔΒΔ υπεύθυνο για την πρόσβαση στα δεδομένα της ΒΔ, δηλαδή υλοποιεί τις λειτουργίες της δημιουργίας, ανάγνωσης, ενημέρωσης και διαγραφής.
 * **ΣΔΒΔ ως υπηρεσία:** Υπάρχει δυνατότητα να δημιουργηθεί υπηρεσία (service) του λειτουργικού συστήματος ώστε το ΣΔΒΔ να ξεκινάει αυτόματα κατά την εκκίνηση του υπολογιστή που είναι εγκατεστημένο. Εάν το ΣΔΒΔ χρησιμοποιείται σε παραγωγικό περιβάλλον τότε η αυτόματα εκκίνηση είναι επιβεβλημένη. Αντίθετα, εάν το ΣΔΒΔ χρησιμοποιείται για ανάπτυξη και έλεγχο εφαρμογών ΒΔ μπορεί να μην είναι επιθυμητή η αυτόματη εκκίνηση.
 * **Λογαριασμός Διαχειριστή ΒΔ:** Κάθε ΣΔΒΔ πρέπει να έχει τουλάχιστον έναν χρήστη με δικαιώματα Διαχειριστή ΒΔ ο οποίος να έχει απεριόριστο έλεγχο στο ΣΔΒΔ και τις ΒΔ. Ο χρήστης αυτός δημιουργείται αυτόματα κατά την εγκατάσταση του ΣΔΒΔ. Κάθε ΣΔΒΔ δημιουργεί λογαριασμό Διαχειριστή ΒΔ με συγκεκριμένο όνομα χρήστη (user name) και κωδικό τα οποία είναι γνωστά σε όλους καθώς αναφέρονται στις οδηγίες του κατασκευαστή. Γι’ αυτό συστήνεται να ορίζεται για τον λογαριασμό του Διαχειριστή ΒΔ διαφορετικό όνομα και κωδικός από αυτά που προτείνονται κατά την εγκατάσταση.
 * **Σύνολο χαρακτήρων (character set):** Εάν στη ΒΔ θέλουμε να αποθηκευτούν δεδομένα που δεν χρησιμοποιούν το λατινικό αλφάβητο (π.χ. Ελληνικά), πρέπει να δηλωθεί κατά την εγκατάσταση του ΣΔΒΔ το κατάλληλο σύνολο χαρακτήρων. Αυτό είναι απαραίτητο προκειμένου το ΣΔΒΔ να μπορεί να χειριστεί σωστά τα δεδομένα, δηλαδή να μπορεί να τα εμφανίσει, να τα ταξινομήσει και να πραγματοποιεί αναζητήσεις.
 * **Επικοινωνία:** Οι χρήστες και οι εφαρμογές που χρησιμοποιούν μια ΒΔ μπορεί να μην βρίσκονται στον ίδιο υπολογιστή με το ΣΔΒΔ. Σε αυτή την περίπτωση η επικοινωνία με τη ΒΔ είναι απομακρυσμένη και υλοποιείται μέσω του πρωτοκόλλου δικτύου TCP/IP. Κατά την εγκατάσταση του ΣΔΒΔ μπορούν να ρυθμιστούν οι λεπτομέρειες της απομακρυσμένης επικοινωνίας (π.χ. θύρα TCP/IP που θα χρησιμοποιείται) ή να απενεργοποιηθεί η δυνατότητα απομακρυσμένης επικοινωνίας αν δεν προβλέπονται απομακρυσμένοι χρήστες της ΒΔ.
 * **Αρχεία καταγραφής (log files):** Υπάρχει δυνατότητα το ΣΔΒΔ να καταγράφει στοιχεία για τη χρήση και λειτουργία της ΒΔ. Τα περιεχόμενα των αρχείων καταγραφής χρησιμοποιούνται από το Διαχειριστή ΒΔ για την παρακολούθηση της λειτουργίας της ΒΔ, τη βελτίωση της απόδοσής της και την επίλυση προβλημάτων.
 * **Βοηθητικά εργαλεία:** Εκτός από το ΣΔΒΔ μπορούν να εγκατασταθούν πρόσθετα προγράμματα για τη διαχείριση της ΒΔ ή την ανάπτυξη εφαρμογών ΒΔ.
 * **Αντίγραφα ασφαλείας (backup) και αναπαραγωγή (replication):** Κατά την εγκατάσταση του ΣΔΒΔ μπορεί να οριστεί χρονοδιάγραμμα αυτόματης λήψης αντιγράφων ασφαλείας της ΒΔ. Επίσης υπάρχει δυνατότητα να οριστεί σχέδιο αναπαραγωγής της ΒΔ, για την αυτόματη δημιουργία αντιγράφων της ΒΔ σε άλλους υπολογιστές. Τα αντίγραφα είναι συγχρονισμένα, δηλαδή οι αλλαγές στα περιεχόμενα της ΒΔ μεταφέρονται αυτόματα στα αντίγραφα (ρεπλίκες) της ΒΔ που βρίσκονται στους άλλους υπολογιστές.

Εικόνα 5.1 Γραφικός οδηγός εγκατάστασης ΣΔΒΔ MySQL: άδεια χρήσης (πάνω αριστερά), τύπος εγκατάστασης (πάνω δεξιά), ρυθμίσεις δικτύου (κάτω αριστερά), ορισμός χρήστη (κάτω δεξιά) [Πηγή: MySQL Installer GUI @http://dev.mysql.com/doc/refman/5.6/en/mysql-installer-gui.html]
 * [[image:MySQL_installer_GUI_1_small.png]] || [[image:MySQL_installer_GUI_2_small.png]] ||
 * [[image:MySQL_installer_GUI_3_small.png]] || [[image:MySQL_installer_GUI_4_small.png]] ||

Επιπλέον παραμετροποίηση μπορεί να γίνει και μετά την εγκατάσταση του ΣΔΒΔ χρησιμοποιώντας εργαλεία που προσφέρει το ΣΔΒΔ ή εκτελώντας ξανά τον οδηγό εγκατάστασης και επιλέγοντας τροποποίηση της εγκατάστασης. Επίσης μπορεί να γίνει απευθείας αλλαγή στα περιεχόμενα των **αρχείων ρυθμίσεων (configuration files)** του ΣΔΒΔ που δημιουργήθηκαν κατά την εγκατάσταση. Η τελευταία επιλογή απαιτεί ιδιαίτερη προσοχή και αυξημένες γνώσεις καθώς υπάρχει κίνδυνος καταστροφής της ΒΔ από λανθασμένες ενέργειες.

**ΧΡΗΣΙΜΕΣ ΔΙΕΥΘΥΝΣΕΙΣ ΔΙΑΔΙΚΤΥΟΥ**
 * Αρχεία εγκατάστασης ΣΔΒΔ**
 * MySQL: @https://dev.mysql.com/downloads/mysql/
 * MS SQL Server Express: @http://www.microsoft.com/en-us/server-cloud/products/sql-server-editions/sql-server-express.aspx
 * Oracle Database Express: @http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html
 * IBM DB2 Express: @http://www-01.ibm.com/software/data/db2/express-c/download.html
 * Οδηγίες εγκατάστασης ΣΔΒΔ**
 * MySQL: @http://dev.mysql.com/doc/refman/5.6/en/installing.html
 * MS SQL Server Express: @https://msdn.microsoft.com/en-us/sqlserver2014express.aspx
 * Oracle Database Express: Windows installation @http://docs.oracle.com/cd/E17781_01/install.112/e18803/toc.htm, Linux installation @http://docs.oracle.com/cd/E17781_01/install.112/e18802/toc.htm
 * IBM DB2: @http://www-01.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.qb.server.doc/doc/c0008711.html?lang=en

**Ερωτήσεις / Δραστηριότητες**
 * 1) Ξεκινήστε τον οδηγό εγκατάστασης του ΣΔΒΔ MySQL (αν δεν υπάρχει στον υπολογιστή σας θα πρέπει να τον μεταφορτώσετε από την ιστοσελίδα @https://dev.mysql.com/downloads/mysql/). Καταγράψτε ποιες ρυθμίσεις κάνατε μέσω του οδηγού και συγκρίνετε με όσα αναφέρονται σχετικά στο κείμενο της ενότητες.
 * 2) Μεταφερθείτε στον φάκελο εγκατάστασης του ΣΔΒΔ MySQL. Εντοπίστε το αρχείο ρυθμίσεων (**my.ini** σε περιβάλλον **Windows** και **my.cnf** σε περιβάλλον Linux) και δείτε τα περιεχόμενά του με έναν απλό επεξεργαστή κειμένου (π.χ. Notepad σε Windows, GEdit σε Linux). Προσπαθήστε να εντοπίσετε τις γραμμές του αρχείου που αντιστοιχούν στις ρυθμίσεις που κάνατε κατά την εκτέλεση του οδηγού εγκατάστασης.
 * 3) Επισκεφθείτε την ιστοσελίδα @https://dev.mysql.com/doc/refman/5.6/en/storage-engines.html με την επίσημη τεκμηρίωση του ΣΔΒΔ MySQL σχετικά με τις διαθέσιμες **μηχανές ΒΔ**. Μελετήστε τον πίνακα στο κάτω μέρος της σελίδας και συγκρίνεται τις μηχανές ΒΔ ως προς το μέγεθος της ΒΔ (storage limits), την υποστήριξη συναλλαγών (transactions), υποστήριξη γεωγραφικών δεδομένων (geospatial support), δυνατότητα συμπίεσης και κρυπτογράφησης δεδομένων (compressed και encrypted data), υποστήριξη ξένων κλειδιών (foreign key).