Οδηγίες Βασικής Χρήσης του MySQL Workbench

Σχετικά έγγραφα
Οδηγίες Βασικής Χρήσης του MySQL Workbench

Ηλεκτρονικι Επιχειρθςιακι Δράςθ Εργαςτιριο 1

Joomla! - User Guide

Διαδικαςία Διαχείριςθσ Στθλϊν Βιβλίου Εςόδων - Εξόδων. (v.1.0.7)

Διαχείριςθ του φακζλου "public_html" ςτο ΠΣΔ

Ιδιότθτεσ πεδίων Γενικζσ.

SingularLogic Application. Παραμετροποίηση Galaxy Application Server

1 Εγκατϊςταςη λογαριαςμού

Κάνουμε κλικ ςτθν επιλογι του οριηόντιου μενοφ «Get Skype»για να κατεβάςουμε ςτον υπολογιςτι μασ το πρόγραμμα του Skype.

ΗΛΕΚΣΡΟΝΙΚΗ ΤΠΗΡΕΙΑ ΑΠΟΚΣΗΗ ΑΚΑΔΗΜΑΪΚΗ ΣΑΤΣΟΣΗΣΑ

Πωσ δθμιουργώ φακζλουσ;

Πρόςβαςη και δήλωςη μαθημάτων ςτον Εφδοξο

Αυτόματη δημιουργία στηλών Αντιστοίχηση νέων λογαριασμών ΦΠΑ

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

Modellus 4.01 Συ ντομοσ Οδηγο σ

Κατά τθν ενεργοποίθςθ τθσ ιδιότθτασ αυτισ ενδζχεται να εμφανιςτεί ζνα μινυμα ςαν αυτό τθσ παρακάτω εικόνασ. Απλά επιβεβαιϊςτε πατϊντασ ΟΚ.

ΡΥΘΜΙΕΙ για περιοριςμένο χρήςτη (limited user)

Οδθγίεσ εγκατάςταςθσ και ρυκμίςεισ του ηυγοφ DIGI SM100

Megatron ERP Βάςη δεδομζνων Π/Φ - κατηγοριοποίηςη Databox

Virtualization. Στο ςυγκεκριμζνο οδηγό, θα παρουςιαςτεί η ικανότητα δοκιμήσ τησ διανομήσ Ubuntu 9.04, χωρίσ την ανάγκη του format.

1. Εγκατάςταςη κειμενογράφου JCE

assessment.gr USER S MANUAL (users)

Βάςεισ Δεδομζνων Ι. Ενότητα 4: Μετατροπή ςχήματοσ Ο/Σ ςε ςχεςιακό. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 6: Το γραφικό περιβάλλον Επικοινωνίασ (Γ.Π.Ε)

Οδηγίεσ για τη ςφνδεςη του υπολογιςτή ςασ ςτουσ προβολείσ των αιθουςών Ι 1, Ι 2, Ι 3 και του 10 ου ορόφου

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα

MySchool Πρακτικζσ οδθγίεσ χριςθσ

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

Οδηγίες Πρόζβαζης ζηο EndNote Web. Πρόζβαζη ζηο EndNote Web

ΟΔΗΓΙΕ ΔΗΜΙΟΤΡΓΙΑ ΚΑΙ ΡΤΘΜΙΗ ΔΩΡΕΑΝ ΗΛΕΚΣΡΟΝΙΚΟΤ ΣΑΧΤΔΡΟΜΕΙΟΤ ΣΟ GOOGLE (G-MAIL)

SingularLogic Galaxy. Οδηγίες εγκαηάζηαζης Galaxy

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο τησ Αριθμογραμμήσ

Εγχειρίδιο Χρήςησ Support

Εγχειρίδιο Χριςθσ τθσ διαδικτυακισ εφαρμογισ «Υποβολι και παρακολοφκθςθ τθσ ζγκριςθσ Εκπαιδευτικών Πακζτων»

Λειτουργικά υςτιματα Windows XP

1. Κατέβαςμα του VirtueMart

Διαδικασία Δημιοσργίας Ειδικών Λογαριασμών. (v.1.0.7)

Οδηγίεσ για την πρόςβαςη των δικαιοφχων ςτο ΟΠΣΑΑ

GNSS Solutions guide. 1. Create new Project

Πωσ δημιουργώ μάθημα ςτο e-class του ΠΣΔ [επίπεδο 1]

Ηλεκτρονικι Υπθρεςία Ολοκλθρωμζνθσ Διαχείριςθσ Συγγραμμάτων και Λοιπϊν Βοθκθμάτων

Εφδοξοσ+ Συνδεκείτε ςτθν Εφαρμογι Φοιτθτϊν και μεταβείτε ςτθ ςελίδα «Ανταλλαγι Βιβλίων (Εφδοξοσ+)».

Σφςτημα Κεντρικήσ Υποςτήριξησ τησ Πρακτικήσ Άςκηςησ Φοιτητών ΑΕΙ

ΔΙΑΔΙΚΑΙΑ ΚΑΙ ΡΤΘΜΙΕΙ ΓΙΑ ΤΝΔΕΗ ΣΟ INTRANET ΣΟΤ ΕΚΕΣΑ-ΙΣΧΗΔ

Σύ ντομος Οδηγο ς χρη σης wikidot για τα projects

DIOSCOURIDES VERSION

Βαςεις δεδομενων 1. Δρ. Αλζξανδροσ Βακαλουδθσ

ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ MICRO WORLDS PRO

Ανάπτυξη Εφαρμογών με Σχεςιακέσ Βάςεισ Δεδομένων

Βάςεισ Δεδομζνων Ι. Ενότητα 12: Κανονικοποίηςη. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικών Πλθροφορικισ ΤΕ

Seventron Limited. Οδηγίες χρήσης EnglishOnlineTests.com

Διαχείριςη Αριθμοδεικτών (v.1.0.7)

Οδηγίες αναβάθμισης χαρτών

Epsilon Cloud Services

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 2 ο Εργαςτιριο Διαχείριςθ Διεργαςιϊν

Διαδικαςία Προγράμματοσ Ωρομζτρθςθσ. (v.1.0.7)

Ειδικά Θζματα Βάςεων Δεδομζνων

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι

Εγχειρίδιο Χριςθσ: Εφαρμογι Αιτιςεων για τα Εκπαιδευτικά Προγράμματα του Προςωπικοφ των Επιχειριςεων Τροφίμων

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

Οδθγίεσ Εγκατάςταςθσ Εφαρμογισ Audit Control. (v.1.0.7)

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

Εγκατάσταση & Διαχείριση Joomla ΤΜΒΟΤΛΟ ΠΛΗΡΟΦΟΡΙΚΗ Ν. ΕΡΡΩΝ & ΚΕ.ΠΛΗ.ΝΕ.Σ. Ν. ΕΡΡΩΝ

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

Δημιουργία Εντφπων Intrastat και Ανακεφαλαιωτικοφ Πίνακα

ΧΡΗΙΜΟΠΟΙΩΝΣΑ ΣΟ VISUAL HISTORY ARCHIVE

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν

Εισαγωγικές έννοιες. Αντώνησ Κ Μαώργιώτησ

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Περιφέρειες)

Βάςεισ Δεδομζνων Ι. Ενότητα 7: Ειςαγωγή ςτην γλώςςα_sql. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικϊν Πλθροφορικισ ΣΕ

Περιοριςμοί μιασ Β.Δ. ςτθν Access(1/3)

w e b t r a i l s. g r Η ΛΕΙΣΟΤΡΓΙΚΟΣΗΣΑ ΣΟΤ ΙΣΟΣΟΠΟΤ J24CLASS.GR

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΗ. του ΙΑΣΡΟΦΑΡΜΑΚΕΤΣΙΚΟΤ ΦΑΚΕΛΟΤ ΑΘΕΝΩΝ Για τον ΟΙΚΟ ΝΑΤΣΟΤ ΕΡΓΑΣΗΡΙΑΚΟΙ ΓΙΑΣΡΟΙ. iknowhow Πληροφορική A.E

ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

Σφντομεσ Οδθγίεσ Χριςθσ

ΟΔΗΓΙΕ ΓΙΑ ΣΗΝ ΕΙΑΓΩΓΗ ΕΚΔΡΟΜΩΝ & ΝΕΩΝ - ΑΝΑΚΟΙΝΩΕΩΝ ΣΗΝ ΙΣΟΕΛΙΔΑ ΣΗ Δ.Δ.Ε. ΘΕΠΡΩΣΙΑ

Οδηγίεσ για την Τποβολή Καταςτάςεων υμφωνητικών μζςω xml αρχείου

1. Διαχείριςη ενθεμάτων

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

Οδθγόσ εγκατάςταςθσ προγραμμάτων για ανάπτυξθ εφαρμογών ςε iphone

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 3: Εργονομία

Εγκατάσταση & Διαχείριση Joomla στο Π.Σ.Δ. ΣΥΜΒΟΥΛΟ ΡΛΗΟΦΟΙΚΗΣ Ν. ΣΕΩΝ & ΚΕ.ΡΛΗ.ΝΕ.Τ. Ν. ΣΕΩΝ

Διαδικαζία Διατείριζης Εκηύπωζης Ιζοζσγίοσ Γενικού - Αναλσηικών Καθολικών. (v )

Οδηγόσ εγκατάςταςησ και ενεργοποίηςησ

ΕΓΧΕΙΡΙΔΙΟ ΕΓΚΑΣΑΣΑΗ ΠΛΑΣΦΟΡΜΑ TUBE

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΤΟΤ. Φιλιοποφλου Ειρινθ

Εγχειρίδιο: Honeybee Small

eorder Eγχειρίδιο Χρήσης

Βάρειπ Δεδξμέμωμ. Επγαστήπιο ΙΙ. Τμήμα Πλεπουοπικήρ ΑΠΘ

Α) Ενδεικτικϋσ απαντόςεισ των θεμϊτων

Γίνετε μζλοσ τθσ ομάδασ Panoramio του

Ένα πρόβλθμα γραμμικοφ προγραμματιςμοφ βρίςκεται ςτθν κανονικι μορφι όταν:

Ειδικά Θζματα Βάςεων Δεδομζνων

Αυτόνομοι Πράκτορες. Αναφορά Εργασίας Εξαμήνου. Το αστέρι του Aibo και τα κόκαλα του

Διαδικασία με βήματα. 1. Αλλάηω το χρϊμα ςκθνικοφ ςε γκρι(#3333).

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι

Εφαρμογή. «Βελτιώνω την πόλη μου» Αιτήματα Ρολιτών. Εγχειρίδιο χρήςησ για τον πολίτη

ΕΝΟΤΘΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΘ. ΚΕΦΑΛΑΙΟ 6: Θ «Βοικεια» ςτον Υπολογιςτι

ΟΔΗΓΙΕΣ ΓΙΑ ΤΗΝ ΚΑΤΑΧΩΗΣΗ ΣΧΕΔΙΩΝ ΚΑΙΝΟΤΟΜΙΑΣ ΑΡΟ ΦΟΕΙΣ ΚΑΙΝΟΤΟΜΙΑΣ

Transcript:

Φώτης Κόκκορας, Καθ. Εφαρμογών TEI Θεσσαλίας Τμήμα Μηχανικών Πληροφορικής ΤΕ 411 10, Λάρισα e-mail: fkokkoras@teilar.gr Έκδοση 2.7.1 (09/11/2015) Οδηγίες Βασικής Χρήσης του MySQL Workbench Στις επόμενες σελίδες υπάρχει ένας αποσπασματικός οδηγός χρήσης του MySQL Workbench. Ο οδηγός σε καμία περίπτωση δεν είναι πλήρης. Οι φοιτητές θα πρέπει να εξοικειωθούν με την εφαρμογή μέσω των εργαστηριακών ασκήσεων και με επιπλέον προσωπική ενασχόληση. Για την ακρίβεια, το παρόν διανέμεται κύρια επειδή υπάρχουν φοιτητές που έχουν παρακολουθήσει σε παλαιότερο εξάμηνο και επιθυμούν να δουλέψουν τις εργαστηριακές ασκήσεις μόνοι τους. Η σωστή χρήση του οδηγού προϋποθέτει κατανόηση βασικών εννοιών Θεωρίας Βάσεων Δεδομένων. To MySQL Workbench (http://dev.mysql.com/downloads/tools/workbench/) είναι μια γραφικι διεπαφι για τθν εφκολθ χριςθ του MySQL Server και επιτρζπει τριϊν ειδϊν εργαςίεσ: Διαχείριςθ του MySQL Server (πχ δθμιουργία χρθςτϊν, απονομι δικαιωμάτων ςε χριςτεσ, κτλ.) χεδίαςθ ςχεςιακϊν βάςεων δεδομζνων (δθμιουργία πινάκων, ςυςχετίςεων μεταξφ τουσ, κτλ.) Δθμιουργία και εκτζλεςθ SQL ερωτθμάτων, όψεων, διαδικαςιϊν, κτλ ςε βάςεισ δεδομζνων. Από τισ τρεισ αυτζσ ομάδεσ ενεργειϊν, θ πρϊτθ και θ τρίτθ απαιτοφν να τρζχει ιδθ ο MySQL Server κακϊσ το MySQL Workbench ςτζλνει τισ εντολζσ του χριςτθ ςτον MySQL Server για να εκτελεςτοφν εκεί. Αντίκετα, οι λειτουργίεσ ςχεδίαςθσ (δεφτερθ ομάδα) δεν εμπλζκουν τον MySQL Server. Ο MySQL Server του XAMPP 1.8.3 (ή νεότερου 1 ) Εγκατάςταςη Για τισ ανάγκεσ του μακιματοσ, κεωροφμε τον MySQL Server μιασ XAMPP εγκατάςταςθσ κακϊσ ο οδθγόσ αφορά ςτα μακιματα Βάςεων Δεδομζνων και Ρρογραμματιςμοφ Εφαρμογϊν Διαδικτφου. Θ εγκατάςταςθ του XAMPP δεν ζχει κάποια ιδιαίτερθ δυςκολία. Επιλζξτε ΜΟΝΟ τα υποςυςτιματα που βλζπετε ςτθν εικόνα αριςτερά. Ο default φάκελοσ εγκατάςταςθσ του XAMPP είναι ο C:\xampp και δεν ζχετε λόγο να τον αλλάξετε. Επιπρόςκετα δεν κα χρειαςτείτε οφτε τα περί BitNami που εμφανίηει ο εγκαταςτάτθσ του XAMPP ςτθ ςυνζχεια (uncheck το "Learn more..." βλ. δεξιά εικόνα). 1 ΠΡΟΟΧΗ: Ρρόςφατεσ εκδόςεισ του XAMPP χρθςιμοποιοφν αντί του MySQL Server τθν ζκδοςθ MariaDB. Δεν είναι γνωςτό αυτι τθ ςτιγμι αν ο παρϊν οδθγόσ για το MySQL Workbench λειτουργεί εξίςου και με MariaDB. Θ ςυμβουλι προσ το παρόν είναι θ χριςθ παλαιότερθσ ζκδοςθσ XAMPP (με MySQL) ι θ εγκατάςταςθ ξεχωριςτοφ MySQL Server (όχι δθλ. διαμζςου του XAMPP). - 1/12 -

Εκκίνηςη και troubleshooting Μετά τθν εγκατάςταςθ, τρζχετε τθν εφαρμογι XAMPP Control Panel. Ο MySQL Server ξεκινά με το κουμπί Start (βλ. Εικόνα 1) και ςταματά με το ίδιο κουμπί (που ςτο μεταξφ γίνεται Stop). Αν ο MySQL Server δεν ξεκινά, τότε πικανότατα ζχετε ιδθ εγκατεςτθμζνο τον MySQL Server και το XAMPP Control Panel δεν μπορεί να εντοπίςει τον MySQL Server του XAMPP. Για να το επιβεβαιϊςετε, εκκινιςτε τθν εφαρμογι ελζγχου των services (υπθρεςίεσ) που τρζχουν ςτο παραςκινιο των Windows (Εικόνα 2). Ψάξτε για τθν υπθρεςία mysql και ςταματιςτε τθν με το Stop ϊςτε ςτθ ςτιλθ Status (βλ. Εικόνα 2) να μθν γράφει κάτι. Εικόνα 1: Το XAMPP Control Panel. Εικόνα 2: Services ςε Windows 7. Εφόςον το πρόβλθμα είναι το παραπάνω, μετά το ςταμάτθμα τθσ υπθρεςίασ MySQL, για να εκκινιςετε τον MySQL Server του XAMPP, πθγαίνετε ςτον φάκελο C:\xampp και τρζξτε το mysql_start.bat. Θα δείτε το παράκυρο που απεικονίηεται ςτθν Εικόνα 3 (μθν το κλείςετε!!!): Εικόνα 3: Εκκίνθςθ του MySQL Server του XAMPP, μζςω του mysql_start.bat. Φϊτθσ Κόκκορασ / ΤΕΙ Θεςςαλίασ 2/12

Ελαχιςτοποιείςτε το παράκυρο αυτό ςτθ ςυνζχεια κα δουλζψετε ςτο MySQL Workbench. Πταν τελειϊςετε, κα πρζπει να κλείςετε τον MySQL Server τρζχοντασ το αρχείο mysql_stop.bat. ΑΡΑ: αν δεν υπάρχει άλλθ εγκατάςταςθ MySQL Server ςτο PC ςασ, κα ανοιγοκλείνετε τον MySQL Server του XAMPP μζςω του XAMPP Control Panel. Αν όμωσ υπάρχει άλλθ εγκατάςταςθ MySQL server, κα πρζπει να ςταματάτε τθ λειτουργία του και να ανοιγοκλείνετε τον MySQL Server του XAMPP μζςω των δφο αρχείων *.bat που προαναφζρκθκαν. Στθ ςυνζχεια κα δοφμε ςυνοπτικά τισ βαςικζσ λειτουργίεσ του MySQL Workbench. Εγκατάςταςη MySQL Workbench Θα βρείτε τθν τελευταία ζκδοςθ τθσ εφαρμογισ ςτθ διεφκυνςθ: http://dev.mysql.com/downloads/workbench/ Ράρτε τθν 32 bit ζκδοςθ, ακόμθ κι αν ζχετε Windows 64 bit κακϊσ μόνο αυτι μπορεί να μιλιςει με τον 32bit MySQL server του XAMPP!. Θ εφαρμογι εξελίςςεται ςυνεχϊσ οπότε είναι καλό να ζχετε τθν τελευταία ζκδοςθ. Μπορείτε να κάνετε εγκατάςταςθ τυχόν νζασ ζκδοςθσ πάνω από τθν παλιά (ςτον ίδιο φάκελο) χωρίσ πρόβλθμα. Το Workbench ζχει κάποια προαπαιτοφμενα για να τρζξει. Αυτά περιγράφονται ςτθν παραπάνω ιςτοςελίδα (ςτο ςθμείο MySQL Workbench Prerequisites) φροντίςτε να τα εγκαταςτιςετε αν το Workbench αρνείται να εγκαταςτακεί/τρζξει. Θ εγκατάςταςθ δεν ζχει κάποια ιδιαίτερθ δυςκολία. Σύνδεςη Workbench με MySQL Server Ππωσ είπαμε, με εξαίρεςθ τθ ςχεδίαςθ βάςεων δεδομζνων, το Workbench απαιτεί να ςυνδεκεί ςε ζναν MySQL Server. Μετά τθν εκκίνθςθ του Workbench για πρϊτθ φορά, βλζπετε τθν Εικόνα 4: Εικόνα 4: Το παράκυρο του MySQL Workbench. Ρατιςτε το κουμπί δθμιουργίασ νζασ ςφνδεςθσ, δϊςτε ζνα Connection Name (π.χ. myconnection) και πατιςτε το κουμπί Test Connection. Θα πρζπει να δείτε το παράκυρο ςτθν Εικόνα 5. Ρατιςτε ΟΚ να κλείςουν τα 2 παράκυρα. Ρλζον είςτε ζτοιμοι...για όλα. Θ ςφνδεςθ που φτιάξατε κα παραμείνει ςτο χϊρο εργαςίασ του Workbench (βλ. δεξιά) και πλζον μπορείτε να χρθςιμοποιείτε αυτι κάκε φορά που κζλετε να ςυνδεκείτε ςτον MySQL Server. Φϊτθσ Κόκκορασ / ΤΕΙ Θεςςαλίασ 3/12

Εικόνα 5: Σφνδεςθ Workbench με MySQL Server μζςω του user root. ΠΡΟΟΧΗ: το Workbench ςυνδζεται ςτον server μζςω του λογαριαςμοφ root που είναι ο administrator (διαχειριςτισ) του MySQL Server. Αρχικά (για ευκολία), ο χριςτθσ root ΔΕΝ ζχει οριςμζνο password. Μπορείτε για τισ ανάγκεσ του μακιματοσ να τον αφιςετε χωρίσ password. Σε πραγματικζσ ςυνκικεσ όμωσ πρζπει να ορίςετε password διαφορετικά ο MySQL Server ςασ είναι τρομερά εκτεκειμζνοσ!!! Επίςθσ αργότερα κα μάκετε ότι ο root δεν είναι κατάλλθλοσ για τισ περιπτϊςεισ τελικισ χριςθσ (deployment). Data Μodeling (ςχεδίαςη τησ database 2 ) Θ ςχεδίαςθ τθσ βάςθσ δεδομζνων ξεκινά επιλζγοντασ το κουμπάκι με το (+) ςτθν αρχικι οκόνθ του Workbench. Στθ ςυνζχεια κάντε double click ςτο εικονίδιο Add Diagram ςτο πάνω μζροσ και κα πάρετε το αποτζλεςμα που βλζπετε ςτθν Εικόνα 6. Μπορείτε να αποκρφψετε το δεξί sidebar (1) για να ζχετε περιςςότερο χϊρο ςχεδίαςθσ. Ορίηετε πίνακεσ και ςυςχετίςεισ ξζνων κλειδιϊν (foreign keys) με τα κουμπιά (3) και (4) του toolbar, όπωσ φαίνεται ςτθν Εικόνα 6. Ρροςζξτε ιδιαίτερα το (4) είναι το τελευταίο κουμπάκι ςτο toolbar όταν δεν φαίνεται όλο το toolbar μπορεί να κάνετε λάκοσ κακϊσ κα είναι κρυμμζνο! Θ database που ζχετε αρχικά ονομάηεται mydb (βλ. (2) ςε Εικόνα 6). Αυτό αλλάηει με δεξί κλικ ςτο όνομα τθσ db ςτο Catalog Tree (βλ. Εικόνα 7), επιλογι του Edit Schema και αλλαγι του ονόματοσ ςτο πεδίο Name. Συμβουλι: Χρθςιμοποιιςτε πεηοφσ λατινικοφσ χαρακτιρεσ και κάτω παφλα αντί για κενό. 2 Δεν είναι απαραίτθτο να "τρζχει" ο MySQL Server για να λειτουργιςει το τμιμα ςχεδίαςθσ του MySQL Workbench. Φϊτθσ Κόκκορασ / ΤΕΙ Θεςςαλίασ 4/12

Εικόνα 6: Ραράκυρο ςχεδίαςθσ database (database schema design ΟΧΙ E-R διάγραμμα!) Στο πεδίο Collation ρυκμίηουμε τα character set και collation που κα ιςχφουν ςτουσ πίνακεσ τθσ database, αν δεν το ορίςουμε ρθτά ςε αυτοφσ. Character set είναι το ςφνολο χαρακτιρων που υποςτθρίηονται (π.χ. utf8 Unicode). Το Collation κακορίηει τθν ςειρά ταξινόμθςθσ των χαρακτιρων ςε ζνα character set, άρα επθρεάηει τισ ταξινομιςεισ αλφαρικμθτικϊν. Τυπικι ρφκμιςθ για υποςτιριξθ πολυγλωςςίασ είναι το utf8_general_ci (το ci είναι από το case insensitive). Ρεριςςότερα ςτα slides κεωρίασ. Εικόνα 7: Μετονομαςία database και ρφκμιςθ character set και collation. Σχεδίαςη Πινάκων Αφοφ ειςάγουμε πίνακα/table ςτο χϊρο ςχεδίαςθσ (βλ. (3) Εικόνα 6), κάνουμε διπλό κλικ πάνω του για να τον ρυκμίςουμε. Φανερϊςτε τισ κρυμμζνεσ ρυκμίςεισ (1) και ορίςτε όνομα (Table Name) και πικανϊσ Collation (αν κζλετε να αλλάξετε το default που ςασ δίνει θ database). Στο Engine (2) να ζχετε InnoDB είναι θ ςφγχρονθ database μθχανι "κάτω από το καπό τθσ MySQL" που αντικακιςτά τθν παλιά ISAM και υποςτθρίηει μεταξφ άλλων ςυναλλαγζσ (transactions) και κανόνεσ ακεραιότθτασ δεδομζνων (referential integrity constraints). Ενδείκνυται εμφατικά θ χριςθ τθσ InnoDB ςε νζεσ databases (προςοχι ςτο Google το web είναι γεμάτο με αναφορζσ ςτθν παλιά μθχανι ISAM). Φϊτθσ Κόκκορασ / ΤΕΙ Θεςςαλίασ 5/12

Εικόνα 8: Βαςικζσ ρυκμίςεισ πίνακα. Μπορείτε να ορίςετε δφο ςτιλεσ (3), όπωσ ςτο παράδειγμα ςτθν Εικόνα 8. Βάλτε τισ ρυκμίςεισ που βλζπετε κα τισ εξθγιςουμε παρακάτω. Ρροςζξτε ότι κεωρθτικά υπάρχουν πάρα πολλά πράγματα που μπορεί να ρυκμίςει κανείσ. Δείτε πόςα tabs υπάρχουν ςτο κάτω μζροσ (4) - κα τα δοφμε ςταδιακά. Για τα ονόματα ςτθλϊν (και για να κάνετε τθ ηωι ςασ εφκολθ), χρθςιμοποιείςτε λατινικοφσ χαρακτιρεσ και κάτω παφλα αντί για κενό. Αποφεφγετε τα greeklish για ονόματα πεδίων ανοίξτε ζνα λεξικό και βρείτε τθν αγγλικι λζξθ τθσ ζννοιασ που κζλετε. Μια διαδεδομζνθ τακτικι για ευανάγνωςτο όνομα πολλϊν λζξεων είναι θ χριςθ κεφαλαίου γράμματοσ εςωτερικά, π.χ. firstname, dateofbirth. Για τουσ τφπουσ δεδομζνων κα ακοφςετε αναλυτικά ςτθ κεωρία. Εδϊ βάλτε ότι βλζπετε ςτθν Εικόνα 8. INT είναι ακζραιοσ ενϊ varchar(45) αλφαρικμθτικό ωσ 45 χαρακτιρεσ. Γενικά τα γνωρίςματα (attributes ι ςτιλεσ/columns) του πίνακα τα ορίηουμε και τα ρυκμίηουμε όπωσ απαιτεί θ εφαρμογι που κζλουμε να φτιάξουμε. Θ ςειρά τουσ (αν αλλάξαμε γνϊμθ) αλλάηει με ςφρςιμο ενϊ διαγράφονται εφκολα με right click και μετά Delete Selected. Για να δοφμε τϊρα τι είναι όλα αυτά τα checkboxes που υπάρχουν ςε κάκε γνϊριςμα. PK: δθλϊνουμε ότι το γνϊριςμα ςυμμετζχει ςτον οριςμό του πρωτεφοντοσ κλειδιοφ του πίνακα (Primary Key). Το πρωτεφον κλειδί πρακτικά είναι ΕΝΑ αλλά μπορεί να αποτελείται από περιςςότερα από ζνα γνωρίςματα. Οι ςτιλεσ που ορίηουν το πρωτεφον κλειδί δεν μπορεί να μθν ζχουν τιμι (γι αυτό όταν ορίηετε το PK επιλζγεται και το NN). NN: δθλϊνουμε ότι το γνϊριςμα πρζπει να ζχει τιμι (Not Null). Τα γνωρίςματα που ςυμμετζχουν ςτο πρωτεφον κλειδί υποχρεωτικά πρζπει να ζχουν τιμι (το NN τουσ επιλζγεται αυτόματα). UQ: ηθτάμε ευρετιριο τφπου UNIQUE ςτο γνϊριςμα, δθλ. δεν μπορεί να υπάρχουν δφο εγγραφζσ με ίδια τιμι ςε αυτό το γνϊριςμα. Το NULL επιτρζπεται ςε ςτιλθ με ευρετιριο UQ. Για παράδειγμα, ςε πίνακα φοιτθτϊν με πρωτεφον κλειδί τον αρικμό μθτρϊου μποροφμε να ζχουμε ευρετιριο UQ ςτον αρικμό ταυτότθτασ (ι ςτο email) που είναι μοναδικά για κάκε φοιτθτι. Μθν ςυγχζετε το πρωτεφον κλειδί με το ευρετιριο UNIQUE. Το πρωτεφον κλειδί εξ οριςμοφ επιτρζπει μόνο μοναδικζσ (και όχι NULL) τιμζσ και δεν απαιτεί να βάλετε και τθ ρφκμιςθ UQ. Ο ρόλοσ των ευρετθρίων γενικά, είναι να επιταχφνουν τισ ερωτιςεισ SELECT (κακυςτεροφν όμωσ τισ INSERT και UPDATE!). Άρα ςκεφτείτε αν πρόκειται να κάνετε αναηθτιςεισ με αυτι τθ ςτιλθ ι αν ο πίνακασ κα μεταβάλλεται ςυνεχϊσ. Δευτερευόντωσ τα χρθςιμοποιοφμε για να εξαςφαλίςουμε μοναδικζσ τιμζσ. Εκτόσ από UNIQUE, υπάρχουν και άλλοι τφπου ευρετθρίων (δείτε ςτο tab Indexes βλ. (4) Εικόνα 8). BIN: ςε πεδία τφπου CHAR, VARCHAR και TEXT (και τισ παραλλαγζσ του) ηθτάμε τα πεηά και κεφαλαία γράμματα να κεωροφνται διαφορετικά περιςςότερα ςτθ κεωρία. UN: ηθτάμε μόνο κετικοφσ (unsigned) ακεραίουσ. Αφορά ςε πεδία τφπου INT (και τισ παραλλαγζσ του). Επθρεάηει το επιτρεπτό εφροσ τιμϊν. Ρ.χ. αντί για εφροσ από -127 ωσ 128 ζχουμε 0 ωσ 255. ZF: ρφκμιςθ μορφοποίθςθσ αρικμϊν (αγνοιςτε τθν!) AI: ηθτάμε το γνϊριςμα τφπου INT (ι παραλλαγϊν αυτοφ) να παίρνει αυτόματα τιμζσ (Auto Incremental). Ρολφ χριςιμο κακϊσ μζςω αυτισ τθσ ρφκμιςθσ ορίηουμε γνωρίςματα που προορίηονται για (τεχνθτά) πρωτεφοντα κλειδιά! Φϊτθσ Κόκκορασ / ΤΕΙ Θεςςαλίασ 6/12

Στθ ςτιλθ Default των ρυκμίςεων βάηουμε αν κζλουμε default τιμζσ για τα πεδία, δθλαδι τιμζσ που κα καταχωρθκοφν αυτόματα αν εμείσ δεν δϊςουμε τιμι. Θ default τιμι current_timestamp ςε πεδίο τφπου TIMESTAMP βάηει αυτόματα ςτο πεδίο ωσ τιμι τθν τρζχουςα θμερομθνία και ϊρα του ςυςτιματοσ (του MySQL server) τθσ ςτιγμισ που δθμιουργείται θ εγγραφι (πολφ καλό για καταγραφι του πότε ειςιχκθ κάτι ςτον πίνακα). Αν χρθςιμοποιιςετε τφπο γνωρίςματοσ TIMESTAMP και δεν βάλετε default τιμι το current_timestamp (το αφιςετε κενό) τότε θ ςτιλθ κα ενθμερϊνετε και κάκε φορά που αλλάηει κάτι ςτθν εγγραφι (πολφ καλό για να ξζρετε πότε μεταβλικθκε τελευταία φορά μια εγγραφι). Οριςμόσ "ξένου κλειδιού" Το ξζνο κλειδί (foreign key) είναι ζνα γνϊριςμα (ςτιλθ) ςε ζναν πίνακα, το οποίο είναι πρωτεφον κλειδί ςε άλλο πίνακα. Εφόςον φτιάχνουμε ςχεςιακό μοντζλο και ζχουμε χριςθ ξζνων κλειδιϊν, πρζπει να τα ορίςουμε. Δθλϊνουμε ςχζςεισ ξζνου κλειδιοφ πάνω ςε ιδθ οριςμζνα γνωρίςματα με το κουμπί (4) (βλ. Εικόνα 6). Γίνεται και με άλλα κουμπάκια ςυςχετίςεων αλλά αυτόσ ο τρόποσ ςασ καλφπτει ΡΑΝΤΑ. Οπότε ασ μάκουμε καλά αυτόν! Θ βαςικι ιδζα ςε αυτό τον τρόπο είναι ότι πρϊτα φτιάχνουμε τα γνωρίςματα και μετά ορίηουμε τθ ςυςχζτιςθ ξζνου κλειδιοφ (με τον τρόπο που περιγράφεται ςτθ ςυνζχεια). Ζςτω ότι ζχουμε τουσ δφο πίνακεσ ςτθν Εικόνα 9. Το γνϊριςμα departmentid ςτον πίνακα students είναι ξζνο κλειδί, κακϊσ ορίηει ςε ποιο Τμιμα ανικει ο φοιτθτισ (ζςτω ότι κάκε φοιτθτισ ανικει ςε ζνα και μόνο ζνα Τμιμα). Ρροςζξτε ότι του δϊςαμε ίδιο όνομα (για δικι μασ ευκολία δεν είναι υποχρεωτικό) και με εξαίρεςθ το AI, το ρυκμίςαμε παρόμοια (το ΑΙ χρειάηεται ςτο department.departmentid γιατί εκεί γεννιοφνται οι τιμζσ δεν χρειάηεται ςτο students.departmentid γιατί εκεί επαναχρθςιμοποιοφνται υπάρχουςεσ τιμζσ). Εικόνα 9: Σχζςθ ξζνου κλειδιοφ. Κάνουμε λοιπόν click ςτο κουμπί (Εικόνα 6) και μετά κατά ςειρά (Εικόνα 9): (1) ςτον πίνακα που φιλοξενεί το ξζνο κλειδί (τον students), κάνουμε κλικ ςτο γνϊριςμα (attribute) που αποτελεί το ξζνο κλειδί (δθλαδι ςτο departmentid) (2) ςτον πίνακα που ορίηει το ξζνο κλειδί (δθλ. ςτον department), κάνουμε κλικ ςτο ίδιο γνϊριςμα Εικόνα 10: Επεξεργαςία ςυςχζτιςθσ ξζνου κλειδιοφ. Για πιο ευζλικτθ απεικόνιςθ των ςυςχετίςεων μεταξφ πινάκων, από το μενοφ Model -> Relationship Notation επιλζξτε Connect to Columns. Τα 1 και που βλζπετε ςτα άκρα τθσ γραμμισ ςυςχζτιςθσ (Εικόνα 9) ορίςουν ότι θ ςχζςθ είναι ένα-προσ-πολλά (ζνασ student ανικει ςε ζνα και μόνο ζνα depart- Φϊτθσ Κόκκορασ / ΤΕΙ Θεςςαλίασ 7/12

ment και ζνα department ζχει κανζναν, ζναν ι περιςςότερουσ students). Ρροςζξτε ότι ςτο παράδειγμα το students.departmentid είναι και NN (γεμιςμζνοσ ρόμβοσ) αυτόσ είναι ο λόγοσ που παραπάνω ειπϊκθκε ότι ένασ student ανήκει ςε ένα και μόνο ένα department και όχι ένασ student ανήκει ςε κανένα ή ένα department. Αν κζλετε ςχζςθ ένα-προσ-ένα, υπάρχουν επιπλζον ρυκμίςεισ με right click πάνω ςτθ γραμμι ςυςχζτιςθσ, επιλογι του Edit Relationship..., και μετά κάτω tab, Foreign Key (Εικόνα 10). Δεν κα επεκτακοφμε προσ το παρόν περιςςότερο κα τα δοφμε ςε ςχετικό μάκθμα. Οι δθλϊςεισ ξζνου κλειδιοφ καταχωροφνται ςτον πίνακα που φιλοξενεί το ξζνο κλειδί. Για να τισ δείτε και να ορίςετε κανόνεσ ακεραιότθτασ δεδομζνων, πθγαίνετε ςτισ ρυκμίςεισ αυτοφ του πίνακα (με διπλό κλικ ςτον πίνακα) ςτθν καρτζλα Foreign Keys (βλ. Εικόνα 11). Για κάκε ξζνο κλειδί πρζπει να ορίςετε τι κα γίνεται αν θ τιμι του αλλάξει ςτον πατρικό πίνακα (On Update) ι/και όταν ςβιςει θ ςχετικι εγγραφι ςτον πατρικό πίνακα. Ρ.χ. αν αλλάξει (update) το departmentid κάποιου τμιματοσ (ςτον πίνακα departments) τι κα γίνει με τουσ φοιτθτζσ ςτον πίνακα students που ζχουν ωσ departmentid αυτι τθν τιμι; Ραρόμοια, τι κα γίνει αν διαγραφεί ζνα department του οποίου το departmentid είναι ςε χριςθ ςε κάποια εγγραφι ςτον πίνακα students; Εικόνα 11: Ξζνα κλειδιά και referential integrity constraints (On Update, On Delete). Συνικεισ επιλογζσ είναι (περιςςότερα ςτθ κεωρία και τα εργαςτιρια): Για το Update: CASCADE - Αλλάηει αυτόματα τισ τιμζσ παντοφ όταν αλλάηει το ξζνο κλειδί. RESTRICT - Δεν αφινει να αλλάξει τιμι ζνα κλειδί που είναι ςε χριςθ αλλοφ ωσ ξζνο κλειδί. Για το Delete: CASCADE - Σβινει αυτόματα ςτουσ πίνακεσ που χρθςιμοποιοφν το πεδίο ωσ ξζνο κλειδί, όλεσ τισ εγγραφζσ που χρθςιμοποιοφν το κλειδί που διαγράφθκε! RESTRICT - Δεν επιτρζπει να γίνει διαγραφι κλειδιοφ που είναι ςε χριςθ ωσ ξζνο κλειδί ςε άλλουσ πίνακεσ. Θ μθχανι ISAM δεν υποςτθρίηει περιοριςμοφσ ακεραιότθτασ δεδομζνων. Αυτό ζχει ςαν αποτζλεςμα να πρζπει να υλοποιθκοφν οι ςχετικοί ζλεγχοι προγραμματιςτικά, δθλαδι ςτθν εφαρμογι που κα χτιςτεί πάνω από τθν database. Αυτό είναι ζνα πολφ ςοβαρό μειονζκτθμα τθσ ISAM και από μόνο του αρκεί για να προτιμιςετε τθ μθχανι InnoDB (θ οποία πλζον είναι θ default ςτον MySQL server). Ειςαγωγή Δεδομένων κατά τη Σχεδίαςη Αν κζλετε να ειςάγετε (αυτόματα) δεδομζνα (εγγραφζσ) ςτουσ πίνακεσ που κα δθμιουργθκοφν, τότε πρζπει να κάνετε καταχωριςεισ ςτθν καρτζλα Inserts (Εικόνα 12) Εκεί εμφανίηεται ζνα grid με ςειρζσ (εγγραφζσ) και ςτιλεσ (γνωρίςματα) ςτο οποίο καταχωρείτε όςεσ εγγραφζσ κζλετε. Δεν πρζπει να παραβιάηετε τισ αρχζσ ςχεδίαςθσ των πινάκων ςασ. Αν ζνα γνϊριςμα είναι τφπου θμ/νία πρζπει να δϊςετε ςωςτι θμ/νία. Αν δεν το κάνετε, αργότερα κα προκφψει πρόβλθμα (μθ ξεχνάτε ότι ακόμθ ςχεδιάηουμε, δεν φτιάχτθκε ακόμθ θ database). Στα auto-incremental γνωρίςματα πρζπει επίςθσ να δϊςετε τιμι, παρόλο που ςε πραγματικζσ ςυνκικεσ λειτουργίασ μπαίνει τιμι αυτόματα. Στο τζλοσ πρζπει να πατιςετε το button με το πράςινο check για να καταγραφοφν οι καταχωριςεισ που κάνατε! Φϊτθσ Κόκκορασ / ΤΕΙ Θεςςαλίασ 8/12

Εικόνα 12: Καταχϊρθςθ δεδομζνων ςτθ φάςθ ςχεδίαςθσ. Τα δεδομζνα που καταχωρείτε με αυτό τον τρόπο, κα μετατραποφν ςε εντολζσ SQL για ειςαγωγι των δεδομζνων ςτθν database. Αυτόσ ο SQL κϊδικασ ενςωματϊνεται ςτο τζλοσ του κϊδικά δθμιουργίασ τθσ database, όταν από το ςχζδιο τθσ database το Workbench παράγει τον κϊδικα που τθ δθμιουργεί. Εκτύπωςη Σχήματοσ ΒΔ (database schema) και Παραγωγή SQL script Πταν ολοκλθρϊςουμε τθ ςχεδίαςθ μποροφμε να τακτοποιιςουμε τουσ πίνακεσ ςτο χϊρο ςχεδίαςθσ και τα δθμιουργιςουμε ζνα PDF αρχείο με το μοντζλο, κακϊσ κα χρειαςτεί πολλζσ φορζσ να το ςυμβουλευτοφμε κατά τθν χριςθ (καταςκευι SQL ερωτθμάτων, ςφνδεςθ με γλϊςςεσ προγραμματιςμοφ, κτλ). Το PDF παράγεται από το μενοφ File > Print to PDF ι File -> Export... Τζλοσ, πρζπει να εξάγουμε τον SQL κώδικα που όταν εκτελεςτεί ςτον MySQL Server κα δθμιουργιςει τθν database που ςχεδιάςαμε. Αυτό γίνεται από τθν επιλογι File > Export > Forward Engineer SQL CREATE Script όπου: Α) Ορίηετε το όνομα και τθ κζςθ του αρχείου που κα παραχκεί (βλ. Εικόνα 13). Εικόνα 13: Μετατροπι τθσ ςχεδίαςθσ ςε SQL κϊδικα. Φϊτθσ Κόκκορασ / ΤΕΙ Θεςςαλίασ 9/12

Β) Ηθτάτε ο κϊδικασ να ςβινει (DROP) άλλθ ςυνονόματθ database, εφόςον βρει τζτοια, όταν εκτελεςτεί, και γενικά να βάηει DROP δθλϊςεισ πριν από CREATE δθλϊςεισ (βλ. (2) ςτθν επόμενθ εικόνα). Αυτό δεν είναι απαραίτθτο πάντα, εξυπθρετεί όμωσ ςτθ φάςθ δοκιμϊν και διορκϊςεων τθσ database μζχρι να πάρει τθν τελικι τθσ μορφι. Οι δθλϊςεισ DROP κα διαγράψουν υπάρχουςα database ι/και πίνακεσ με ίδιο όνομα. Αν δεν το κζλετε πρζπει να λάβετε τα μζτρα ςασ. Γ) Αν ςε κάποιουσ πίνακεσ ζχουμε κάνει προ-ειςαγωγι εγγραφϊν τότε πρζπει να επιλζξετε και το "Generate INSERT Statements for Tables" Δ) Ρατιςτε Next και ςτο επόμενο παράκυρο επιλζξτε τι κζλετε να γίνει export (ςυνικωσ όλα όςα κάνατε δθλ. δεν πειράηετε κάτι). Ε) Ρατάτε Next και ιδθ κα δείτε τον SQL κϊδικα που δθμιουργικθκε. Η) Ρατάτε Finish και ο κϊδικασ αποκθκεφεται ςτο αρχείο που ορίςατε. Στο ςθμείο αυτό ζχετε τελειϊςει με ζνα κφκλο ςχεδίαςθσ (μπορεί να χρειαςτοφν κι άλλοι, διορκωτικοί). Θ ςχεδίαςθ είναι επίπονθ και χρονοβόρα διαδικαςία τυχόν ατζλειεσ κα γεννιςουν αργότερα προβλιματα. Κλείςτε όλα τα tabs ςτο πάνω μζροσ του παρακφρου του Workbench και επιςτρζψτε ςτθν καρτζλα (tab) Home. Φροντίςτε να αποκθκεφςετε τθ ςχεδίαςθ ςε αρχείο Workbench ϊςτε όταν χρειαςτεί να μπορείτε να τθν τροποποιιςετε. Δημιουργία τησ Database / Υποβολή Ερωτημάτων Για τισ επόμενεσ εργαςίεσ πρζπει να λειτουργεί ταυτόχρονα και ο MySQL Server (του XAMP ι του Θ/Υ ςασ, ανάλογα με τθν εγκατάςταςθ που ζχετε κάνει). Εικόνα 14: Το περιβάλλον δθμιουργίασ ι/και εκτζλεςθσ SQL ερωτθμάτων. Συνδεκείτε ςτον MySQL Server με τθ ςφνδεςθ που είχατε φτιάξει ςτθν αρχι. Φορτϊςτε τον κϊδικα που κάνατε export ςτα προθγοφμενα βιματα. Μόλισ φορτωκεί (Εικόνα 14) τον «τρζχετε» και όταν ολο- Φϊτθσ Κόκκορασ / ΤΕΙ Θεςςαλίασ 10/12

κλθρωκεί θ εκτζλεςθ κάνετε refresh (με το ςχετικό button) για να δείτε τθν database που φτιάχτθκε. Αν κάτι δεν πιγε καλά, κα υπάρχουν κόκκινα εικονίδια ςτθν καρτζλα Output και θ εκτζλεςθ δεν κα ζχει ολοκλθρωκεί κακϊσ by default ςταματά ςτο πρϊτο λάκοσ που κα ςυμβεί. Με τθν database πλζον δθμιουργθμζνθ, μποροφμε να τθ δοκιμάςουμε ανοίγοντασ πίνακεσ, καταχωρϊντασ εγγραφζσ και υποβάλλοντασ ερωτιματα. Κάντε right click ςτον πίνακα students αριςτερά και επιλζξτε SELET Rows Limit 1000. Δείτε τα αποτελζςματα (Εικόνα 15). Υπόψθ ότι οι μεταβολζσ που κάνετε καταχωροφνται ςτον πίνακα μόνο όταν πατιςετε το button Apply (βλ. Εικόνα 15). Εικόνα 15: Υποβολι SQL ερωτθμάτων. Εικόνα 16: Διαχείριςθ χρθςτϊν Δθμιουργία χριςτθ. Φϊτθσ Κόκκορασ / ΤΕΙ Θεςςαλίασ 11/12

Server Administration (Χρήςτεσ & Δικαιώματα) Τελευταία ενζργεια είναι ο οριςμόσ χριςτθ (database user) με κατάλλθλα δικαιϊματα, μζςω του οποίου θ εφαρμογι μασ (όποια κι αν είναι αυτι - desktop εφαρμογι, web εφαρμογι, ακόμθ και άνκρωποσ) κα ςυνδζεται ςτθ database, κακϊσ θ λφςθ του root δεν είναι κακόλου καλι ιδζα (γιατί άραγε?). Αριςτερά ςτο Navigator, επιλζξτε το tab Management και μετά Users and Privileges. Ρατιςτε Add Account, ορίςτε Login Name user1 και Password 1234 (το δίνετε και 2 θ φορά) και μετά πατιςτε Apply. Εκτόσ απροόπτου, ο χριςτθσ κα δθμιουργθκεί (βλ. Εικόνα 16). Απομζνει να ορίςουμε δικαιϊματα! Ζχοντασ επιλεγμζνο τον user1 πθγαίνετε ςτθν καρτζλα Schema Privileges (Εικόνα 17), πατιςτε το κουμπί Add Entry (τζρμα δεξιά (2)) και ςτο παράκυρο που κα βγει επιλζξτε το schema/database ςτο οποίο κζλετε να δϊςετε δικαιϊματα. Ρατιςτε ΟΚ να φφγει το παράκυρο και ςτθ ςυνζχεια επιλζξτε ζςτω τα SELECT, INSERT, UPDATE, DELETE (4), ϊςτε ο χριςτθσ να μπορεί να κάνει αντίςτοιχα ερωτιματα. Αποκθκεφςτε με Apply (5). Εικόνα 17: Απόδοςθ δικαιωμάτων ςε database χριςτθ. Αν τϊρα ορίςετε μια νζα ςφνδεςθ με βάςθ αυτόν τον χριςτθ, ο ςυνδεόμενοσ κα μπορεί να υποβάλει μόνο ερωτιματα SELECT, INSERT, UPDATE, DELETE ςτθ ςυγκεκριμζνθ database. Αν κζλετε να ελζγχετε και από ποιο H/Y κα μπορεί να ςυνδζεται κάποιοσ ςτθν database, τότε ρυκμίςτε και το Limit Connectivity to Hosts Matching. Θ πιο χαλαρι ρφκμιςθ είναι %, δθλαδι ςφνδεςθ από οπουδιποτε. Θ πιο αυςτθρι localhost, δθλαδι μόνο από τον ςυγκεκριμζνο Θ/Υ. Ρεριςςότερα για δικαιϊματα ςτισ διαλζξεισ του μακιματοσ και ςε ςχετικό εργαςτιριο. Να αποκθκεφετε ςυχνά. Η εφαρμογι δεν είναι 100% ςτακερι και μερικζσ φορζσ καταρρζει αναπάντεχα (πλζον όχι τόςο ςυχνά όπωσ παλαιότερα γενικά είναι ΟΚ). Να τθν ανανεώνετε κακώσ βγαίνουν τακτικά νζεσ εκδόςεισ. Μετά και από τα παραπάνω είςτε ζτοιμοι να χρθςιμοποιιςετε τθν νζα ςασ βάςθ δεδομζνων για εργαςίεσ προςκικθσ/μεταβολισ/διαγραφισ και γενικότερα SQL ερωτθμάτων. Φ. Κόκκορασ Φϊτθσ Κόκκορασ / ΤΕΙ Θεςςαλίασ 12/12