×
Κατασκευή Ιστοσελίδων WordPress Joomla wordpress vs html/css
×
Κατασκευή Eshop Woocommerce Opencart Magento Shopify
×
Προώθηση Ιστοσελίδων Digital Marketing Μαθήματα Facebook Σεμινάρια Linkedin Μαθήματα Instagram Σεμινάρια Twitter Μαθήματα Pinterest
×
Κατασκευή web εφαρμογών Σεμινάρια JAVA Μαθήματα PHP Σεμινάρια MySQL Προγραμματισμός Παιχνιδιών
×
Μαθήματα Excel Σεμινάρια VBA Σεμινάρια Photoshop Μαθήματα PowerPoint Σεμινάρια Word Μαθήματα Προγραμματισμού Πληροφορική στο δημοτικό

balatsoukas logo balatsoukas.com

Μαθήματα mysql

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

Εκπαιδευτής Ενηλίκων Νικόλαος Μπαλατσούκας Τηλ. (+30) 6977676785

Όταν υπάρχει ανάγκη δημιουργίας βάσης δεδομένων στο διαδίκτυο τότε η mysql αποτελεί την πιο δημοφιλή επιλογή. Η βάση δεδομένων mysql αποτελεί δωρεάν λογισμικό το οποίο χρησιμοποιείται πολύ συχνά στις web εφαρμογές. Για την ακρίβεια η σχεδίαση μιας web εφαρμογής ξεκινά με τη σχεδίαση της βάσης δεδομένων. Επίσης τα δημοφιλή προγράμματα κατασκευής ιστοσελίδων όπως είναι το wordpress, το joomla, το opencart και πολλά άλλα χρησιμοποιούν mysql για την αποθήκευση των δεδομένων. Γενικότερα θα λέγαμε ότι mysql αποτελεί ένα πολύ σημαντικό κομμάτι για τη διαδικασία κατασκευής ιστοσελίδων. Για αυτό πρέπει να αφιερώνουμε αρκετό χρόνο στα μαθήματα κατασκευής Ιστοσελίδων.

Mysql και PHP

Όταν έχουμε να κάνουμε με δημιουργία διαδικτυακής εφαρμογής τότε η βάση δεδομένων php συνδυάζεται συνήθως με τη γλώσσα προγραμματισμού PHP. Χρησιμοποιούμε τη γλώσσα php για να επεξεργαστούμε τα δεδομένα που βρίσκονται στη βάση δεδομένων Mysql. Αυτό ακριβώς συμβαίνει στο opencart, στο wordpress και στο joomla. Αυτό μπορούμε να κάνουμε και εμείς οι ίδιοι όταν φτιάξουμε τη δική μας web εφαρμογή. Η γνώση της γλώσσας php επιτρέπει στον προγραμματιστή να δημιουργήσει τη δική του εφαρμογή η οποία να επεξεργάζεται τα δεδομένα της βάσης δεδομένων που θα σχεδιάσει ο ίδιος. Καλό θα είναι ο εκπαιδευόμενος να συνδυάσει τα μαθήματα mysql με τα μαθήματα php.

Java και MySQL

Η σύνδεση στη βάση δεδομένων mysql με τη γλώσσα προγραμματισμού php αποτελεί το πρότυπο της αγοράς για διαδικτυακές εφαρμογές. Μια άλλη πολύ συνηθισμένη περίπτωση είναι όταν έχουμε εφαρμογές σε σταθερό υπολογιστή ή εφαρμογές που θα εκτελεστούν μέσα από κινητά τηλέφωνα smartphones. Τότε το πρότυπο της αγοράς είναι η σύνδεση στη mysql μέσω της γλώσσας προγραμματισμού java. Πρόκειται για έναν πολύ δημοφιλή συνδυασμό ο οποίος χρησιμοποιείται από πάρα πολλές εταιρείες στην ελληνική αγορά. Επίσης πρόκειται για ένα αντικείμενο το οποίο διδάσκεται σε αρκετές πανεπιστημιακές σχολές και μάλιστα αποτελεί αντικείμενο πολλών διπλωματικών εργασιών. Η σύνδεση γίνεται χρησιμοποιώντας το JAVA JDBC το οποίο μας επιτρέπει πρόσβαση σε δεδομένα κάθε τύπου σχεσιακής βάσης δεδομένων. Για να μπορέσει ο εκπαιδευόμενος να αποκτήσει ευχέρεια στην ανάπτυξη εφαρμογών βάσης δεδομένων με java Θα πρέπει πρώτα να αποκτήσει ευκαιρία με τις βασικές εντολές της γλώσσας προγραμματισμού java. Αυτό μπορεί να το πετύχει πολύ εύκολα παρακολουθώντας ένα βασικό σεμινάριο java. Εάν έχει ήδη προγραμματιστικές γνώσεις η εμπειρία σε κάποια άλλη γλώσσα προγραμματισμού τότε ενδεχομένως να διαρκούν 2-3 ιδιαίτερα μαθήματα java.

Σεμινάρια mysql

Σε ένα σεμινάριο mysql με ένα οργανωμένο και δομημένο τρόπο μαθαίνουμε να σχεδιάζουμε μια βάση δεδομένων. Το ζητούμενο κατά τη δημιουργία βάσης δεδομένων είναι να ικανοποιήσει τις ανάγκες του πελάτη με τον καλύτερο τρόπο. Στα μαθήματα mysql μέσα από απλά παραδείγματα ο εκπαιδευόμενος μαθαίνει να σχεδιάζει και να υλοποιεί τους πίνακες, τα πεδία αλλά και τη συσχέτιση μεταξύ των πινάκων σε μια βάση δεδομένων Mysql. Χρησιμοποιούμε παραδείγματα μέσα από πραγματικές ανάγκες που προκύπτουν πολύ συχνά κατά τη δημιουργία διαδικτυακών εφαρμογών. Κατά την εκπαίδευση ενηλίκων είναι πολύ σημαντικό να χρησιμοποιούνται παραδείγματα βγαλμένα από την εμπειρία σε πραγματικές διαδικτυακές εφαρμογές. Με αυτό τον τρόπο το όφελος είναι διπλό. Από τη μια το ενδιαφέρον του εκπαιδευόμενου παραμένει αμείωτο μέχρι το τέλος του σεμιναρίου Mysql. Και από την άλλη στο τέλος του μαθήματος mysql ο εκπαιδευόμενος έχει ήδη μια μικρή πρακτική εμπειρία.

Στον ακόλουθο σύνδεσμο θα βρείτε playlist που περιλαμβάνει αποκλειστικά βίντεο εκπαίδευσης με τεχνικές διαχείρισης βάσεων δεδομένων.

PLAYLIST YOUTUBE: Εκπαιδευτικά video που αφορούν βάσεις δεδομένων

Δημιουργία πινάκων στη βάση δεδομένων:

Το πρώτο βήμα για τη δημιουργία βάσης δεδομένων είναι να κάνετε εξάσκηση στη δημιουργία πινάκων:

  1. Να δημιουργηθεί πίνακας "Ομάδες" με τρια πεδία: id, ομάδα, χρώμα
  2. Να δημιουργηθεί πίνακας "Τροφές" με τρια πεδία: id, τροφή, θερμίδες (ανά κιλό)
  3. Να δημιουργηθεί πίνακας "Αθλήματα" με τρια πεδία: id, άθλημα, θερμίδες (ανά ώρα)
  4. Να δημιουργηθεί πίνακας "Χώρες" με τρια πεδία: id, χώρα, πρωτεύουσα
  5. Να δημιουργηθεί πίνακας "Νομοί" με τρια πεδία: id, νομός, πρωτεύουσα
  6. Να δημιουργηθεί πίνακας "Αυτοκίνητα" με τρια πεδία: id, μάρκα, χώρα
  7. Να δημιουργηθεί πίνακας "Αυτοκίνητα1" με τρια πεδία: id, μάρκα, μοντέλο

Στη συνέχεια να καταχωρήσετε περίπου 20 εγγραφές σε κάθε πίνακα.

Και μετά να εκτελέσετε εντολές SELECT σε κάθε πίνακα (π.χ. να βρείτε τροφές με λίγες θερμίδες, αθλήματα στ αοποία καταναλώνονται πολλές θερμίδες, πόλεις που αρχίζουν από "A", χώρες που αρχίζουν από "B", κλπ)

Δημιουργία βάσης δεδομένων MySQL

Για τις ανάγκες του παραδείγματος δημιουργήσαμε πίνακα στη βάση δεδομένων MySQL:

δημιουργία βάσης δεδομένων MYSQL

Στη συνέχεια κάναμε εισαγωγή εγγραφών στον πίνακα της MySQL:

εισαγωγή εγγραφών στη βάση δεδομένων MYSQL

Εδώ βρίσκεται ο κώδικας με τις εντολές SQL για τη δημιουργία της βάσης δεδομένων:

customers.sql

Ασκήσεις MySQL

Ακολουθούν ασκήσεις mysql. Στον ακόλουθο σύνδεσμο μπορείτε να κάνετε άμεση εφαρμογή των εντολών mysql. Η σελίδα δημιουργήθηκε με τη γλώσσα php:

http://22282212531.thesite.link/a1/4.php
  1. Να εμφανίσετε όλες τις εγγραφές του πίνακα Customers
    ΑΠΑΝΤΗΣΗ:
    select CustomersName as field1, CustomersLastName as field2, YearBirth as field3, City as field4 from customers

  2. Να εμφανίσετε τα ονόματα όλων των εγγραφών του πίνακα Customers
    ΑΠΑΝΤΗΣΗ:
    select CustomersName as field1 from customers

  3. Να εμφανίσετε τα ονόματα όλων των εγγραφών του πίνακα Customers με έτος γέννησης 1980
    ΑΠΑΝΤΗΣΗ:
    select CustomersName as field1 from customers Where YearBirth = 2000

  4. Να εμφανίσετε τα ονόματα όλων των εγγραφών του πίνακα Customers με επώνυμο "Νικολάου"
    ΑΠΑΝΤΗΣΗ:
    select CustomersName as field1 from customers where CustomersLastName = 'Νικολάου'

  5. Να εμφανίσετε όνομα και πόλη όλων των εγγραφών του πίνακα Customers με επώνυμο "Νικολάου"
    ΑΠΑΝΤΗΣΗ:
    select CustomersName as field1, City as field4 from customers where CustomersLastName = 'Νικολάου'

  6. Να εμφανίσετε όνομα και επώνυμο όλων των εγγραφών του πίνακα Customers με πόλη "Βόλος"
    ΑΠΑΝΤΗΣΗ:
    select CustomersName as field1, CustomersLastName as field2 from customers where city like "Βόλος"

  7. Να εμφανίσετε όνομα και επώνυμο όλων των εγγραφών του πίνακα Customers με έτος γέννησης μεγαλύτερο από 1970
    ΑΠΑΝΤΗΣΗ:
    select CustomersName as field1, CustomersLastName as field2 from customers Where YearBirth > 1970

  8. Να εμφανίσετε πόλη και επώνυμο όλων των εγγραφών του πίνακα Customers με έτος γέννησης μικρότερο από 1980
    ΑΠΑΝΤΗΣΗ:
    select CustomersLastName as field2, City as field4 from customers Where YearBirth < 1980

  9. Να εμφανίσετε πόλη και επώνυμο όλων των εγγραφών του πίνακα Customers με έτος γέννησης μικρότερο ή ίσο από 1980
    ΑΠΑΝΤΗΣΗ:
    select CustomersLastName as field2, City as field4 from customers Where YearBirth <= 1980

  10. Να εμφανίσετε πόλη και επώνυμο όλων των εγγραφών του πίνακα Customers με έτος γέννησης διαφορετικό από 1980
    ΑΠΑΝΤΗΣΗ:
    select CustomersLastName as field2, City as field4 from customers Where YearBirth <> 1980

  11. Να εμφανίσετε μοναδικές τιμές ονομάτων όλων των εγγραφών του πίνακα Customers
    ΑΠΑΝΤΗΣΗ:
    select DISTINCT CustomersName as field1 from customers

  12. Να εμφανίσετε μοναδικές τιμές των πόλεων όλων των εγγραφών του πίνακα Customers
    ΑΠΑΝΤΗΣΗ:
    select DISTINCT city as field1 from customers

  13. Να εμφανίσετε μοναδικές τιμές πόλεων στις οποίες μένουν άνθρωποι (εγγραφές) με έτος γέννησης μεγαλύτερο από το 1980
    ΑΠΑΝΤΗΣΗ:
    select DISTINCT city as field1 from customers Where YearBirth > 1980

  14. Να εμφανίσετε μοναδικές τιμές επωνύμων όλων των εγγραφών του πίνακα Customers με όνομα "Μαρία"
    ΑΠΑΝΤΗΣΗ:
    select DISTINCT CustomersLastName as field1 from customers where CustomersName = 'Μαρία'

  15. Να εμφανίσετε όλα τα ονόματα που αρχίζουν από A
    ΑΠΑΝΤΗΣΗ:
    SELECT CustomersLastName as field1 FROM customers Where CustomersLastName LIKE 'Α%'

  16. Να εμφανίσετε όλα τα επώνυμα που αρχίζουν από Γεω
    ΑΠΑΝΤΗΣΗ:
    SELECT CustomersLastName as field1 FROM customers Where CustomersLastName LIKE 'Γεω%'

  17. Να εμφανίσετε όλα τα ονόματα που τελειώνουν σε ος
    ΑΠΑΝΤΗΣΗ:
    SELECT CustomersLastName as field1 FROM customers Where CustomersLastName LIKE '%ος'

  18. Να εμφανίσετε όλα τα έτη γέννησης που περιέχουν το 97 σε οποιοδήποτε σημείο
    ΑΠΑΝΤΗΣΗ:
    SELECT YearBirth as field1 FROM customers Where YearBirth LIKE '%97%'

  19. Να εμφανίσετε όλα τα πεδία των εγγαρφών που γιορτάζουν στις 21 Μαϊου (Κώστας, Ελένη)
    ΑΠΑΝΤΗΣΗ:
    select CustomersName as field1, CustomersLastName as field2, YearBirth as field3, City as field4 from customers where CustomersName = 'Κώστας' OR CustomersName = 'Ελένη'

  20. Να γράψετε ΣΕ ΜΙΑ ΣΤΗΛΗ το όνομα και το επώνυμο (εντολή CONCAT)
    ΑΠΑΝΤΗΣΗ:
    SELECT CONCAT(CustomersName, " ", CustomersLastName) AS field2 from customers

  21. Να βρείτε το πλήθος των εγγραφών του πίνακα customers (δηλαδή πόσα ονόματα περιέχει ο πίνακας customers)
    ΑΠΑΝΤΗΣΗ:
    SELECT COUNT(*) AS field2 FROM customers;

  22. Να βρείτε το πλήθος των εγγραφών του πίνακα customers με όνομα 'Σταυρούλα'
    ΑΠΑΝΤΗΣΗ:
    SELECT COUNT(*) AS field2 FROM customers where CustomersName = 'Σταυρούλα'

  23. Να βρείτε το πλήθος των εγγραφών του πίνακα customers με έτος γέννησης μεγαλύτερο του 2000
    ΑΠΑΝΤΗΣΗ:
    SELECT COUNT(*) AS field2 FROM customers Where YearBirth > 2000

  24. Να βρείτε το πλήθος των εγγραφών του πίνακα customers με έτος γέννησης μικρότερο του 1980
    ΑΠΑΝΤΗΣΗ:
    SELECT COUNT(*) AS field2 FROM customers Where YearBirth < 1980

  25. Να βρείτε το πλήθος των εγγραφών του πίνακα customers
    ΑΠΑΝΤΗΣΗ:
    SELECT COUNT(CustomersName) AS field2 FROM customers

  26. Να βρείτε το πλήθος των μοναδικών ονομάτων του πίνακα customers
    ΑΠΑΝΤΗΣΗ:
    SELECT COUNT(DISTINCT CustomersName) AS field2 FROM customers

  27. Να βρείτε το πλήθος των ονομάτων του πίνακα customers με διαμονή στην Αθήνα
    ΑΠΑΝΤΗΣΗ:
    SELECT COUNT(CustomersName) AS field2 FROM customers where city like "Αθήνα"

  28. Να βρείτε το πλήθος των μοναδικών ονομάτων του πίνακα customers με διαμονή στην Αθήνα
    ΑΠΑΝΤΗΣΗ:
    SELECT COUNT(DISTINCT CustomersName) AS field2 FROM customers where city like "Αθήνα"

  29. Να εμφανίσετε τα ονόματα του πίνακα customers με διαμονή στην Αθήνα
    ΑΠΑΝΤΗΣΗ:
    SELECT CustomersName AS field2 FROM customers where city like "Αθήνα"

  30. Να εμφανίσετε τα μοναδικά ονόματα του πίνακα customers με διαμονή στην Αθήνα
    ΑΠΑΝΤΗΣΗ:
    SELECT DISTINCT CustomersName AS field2 FROM customers where city like "Αθήνα"

  31. Να βρείτε το μεγαλύτερο έτος γέννησης του πίνακα customers
    ΑΠΑΝΤΗΣΗ:
    SELECT MAX(YearBirth) AS field2 FROM customers

  32. Να βρείτε το μεγαλύτερο έτος γέννησης του πίνακα customers όσων μένουν στα Τρίκαλα
    ΑΠΑΝΤΗΣΗ:
    SELECT MAX(YearBirth) AS field2 FROM customers where city like "Τρίκαλα"

  33. Να εμφανίσετε τα έτη γέννησης του πίνακα customers όσων μένουν στα Τρίκαλα
    ΑΠΑΝΤΗΣΗ:
    SELECT YearBirth AS field2 FROM customers where city like "Τρίκαλα"

  34. Να βρείτε το μικρότερο έτος γέννησης του πίνακα customers
    ΑΠΑΝΤΗΣΗ:
    SELECT MIN(YearBirth) AS field2 FROM customers

  35. Να βρείτε το μικρότερο έτος γέννησης του πίνακα customers όσων μένουν στο Βόλο
    ΑΠΑΝΤΗΣΗ:
    SELECT MIN(YearBirth) AS field2 FROM customers where city like "Βόλος"

  36. Να εμφανίσετε τα έτη γέννησης του πίνακα customers όσων μένουν στο Βόλο
    ΑΠΑΝΤΗΣΗ:
    SELECT YearBirth AS field2 FROM customers where city like "Βόλος"

  37. Να βρείτε το μέσο όρο για το έτος γέννησης του πίνακα customers
    ΑΠΑΝΤΗΣΗ:
    SELECT AVG(YearBirth) AS field2 FROM customers

  38. Να βρείτε το μέσο όρο για το έτος γέννησης του πίνακα customers όσων μένουν στην Άρτα
    ΑΠΑΝΤΗΣΗ:
    SELECT AVG(YearBirth) AS field2 FROM customers where city like "Άρτα"

  39. Να εμφανίσετε τα έτη γέννησης του πίνακα customers όσων μένουν στην Άρτα
    ΑΠΑΝΤΗΣΗ:
    SELECT YearBirth AS field2 FROM customers where city like "Άρτα"

  40. Να βρείτε το μέσο όρο του έτους γέννησης ανά πόλη για τον πίνακα customers
    ΑΠΑΝΤΗΣΗ:
    SELECT city as field1, AVG(YearBirth) AS field2 FROM customers group by city

  41. Να βρείτε τη μεγαλύτερη τιμή του έτους γέννησης ανά πόλη για τον πίνακα customers
    ΑΠΑΝΤΗΣΗ:
    SELECT city as field1, MAX(YearBirth) AS field2 FROM customers group by city

  42. Να βρείτε την ελάχιστη τιμή του έτους γέννησης ανά πόλη για τον πίνακα customers
    ΑΠΑΝΤΗΣΗ:
    SELECT city as field1, MIN(YearBirth) AS field2 FROM customers group by city

  43. Να βρείτε το πλήθος των ανθρώπων που μένουν σε κάθε πόλη
    ΑΠΑΝΤΗΣΗ:
    SELECT city as field1, COUNT(*) AS field2 FROM customers group by city

  44. Να βρείτε το πλήθος των ανθρώπων ανά όνομα
    ΑΠΑΝΤΗΣΗ:
    SELECT CustomersName as field1, COUNT(*) AS field2 FROM customers group by CustomersName

  45. Να βρείτε το πλήθος των ανθρώπων ανά επώνυμο
    ΑΠΑΝΤΗΣΗ:
    SELECT CustomersLastName as field1, COUNT(*) AS field2 FROM customers group by CustomersLastName

  46. Να εμφανίσετε όλες τις εγγραφές του πίνακα Customers ταξινομημένες ως προς όνομα
    ΑΠΑΝΤΗΣΗ:
    select CustomersName as field1, CustomersLastName as field2, YearBirth as field3, City as field4 from customers ORDER BY CustomersName

  47. Να εμφανίσετε όλες τις εγγραφές του πίνακα Customers ταξινομημένες ως προς όνομα με αντίστροφη αλφαβητική σειρά (από το Ω ως το Α)
    ΑΠΑΝΤΗΣΗ:
    select CustomersName as field1, CustomersLastName as field2, YearBirth as field3, City as field4 from customers ORDER BY CustomersName desc

  48. Να εμφανίσετε όλες τις εγγραφές του πίνακα Customers ταξινομημένες ως προς επώνυμο
    ΑΠΑΝΤΗΣΗ:
    select CustomersName as field1, CustomersLastName as field2, YearBirth as field3, City as field4 from customers ORDER BY CustomersLastName

  49. Να εμφανίσετε όλες τις εγγραφές του πίνακα Customers ταξινομημένες ως προς επώνυμο με αντίστροφη αλφαβητική σειρά (από το Ω ως το Α)
    ΑΠΑΝΤΗΣΗ:
    select CustomersName as field1, CustomersLastName as field2, YearBirth as field3, City as field4 from customers ORDER BY CustomersLastName desc

  50. Να εμφανίσετε όλες τις εγγραφές του πίνακα Customers ταξινομημένες σε αύξουσα σειρά προς έτος γέννησης
    ΑΠΑΝΤΗΣΗ:
    select CustomersName as field1, CustomersLastName as field2, YearBirth as field3, City as field4 from customers ORDER BY YearBirth

  51. Να εμφανίσετε όλες τις εγγραφές του πίνακα Customers ταξινομημένες σε φθίνουσα σειρά προς έτος γέννησης
    ΑΠΑΝΤΗΣΗ:
    select CustomersName as field1, CustomersLastName as field2, YearBirth as field3, City as field4 from customers ORDER BY YearBirth desc

  52. Να εμφανίσετε όλες τις εγγραφές του πίνακα Customers ταξινομημένες ως προς πόλη
    ΑΠΑΝΤΗΣΗ:
    select CustomersName as field1, CustomersLastName as field2, YearBirth as field3, City as field4 from customers ORDER BY City

  53. Να εμφανίσετε όλες τις εγγραφές του πίνακα Customers ταξινομημένες ως προς πόλη με αντίστροφη αλφαβητική σειρά (από το Ω ως το Α)
    ΑΠΑΝΤΗΣΗ:
    select CustomersName as field1, CustomersLastName as field2, YearBirth as field3, City as field4 from customers ORDER BY City desc

  54. Να βρείτε το μέσο όρο του έτους γέννησης ανά πόλη για τον πίνακα customers και να τα παρουσιάσετε με αντίστροφη αλφαβητική σειρά ως προς την πόλη (από το Ω ως το Α)
    ΑΠΑΝΤΗΣΗ:
    SELECT city as field1, AVG(YearBirth) AS field2 FROM customers group by city ORDER BY city desc

  55. Να βρείτε τη μεγαλύτερη τιμή του έτους γέννησης ανά πόλη για τον πίνακα customers και να τα παρουσιάσετε με αντίστροφη αλφαβητική σειρά ως προς την πόλη (από το Ω ως το Α)
    ΑΠΑΝΤΗΣΗ:
    SELECT city as field1, MAX(YearBirth) AS field2 FROM customers group by city ORDER BY city desc

  56. Να βρείτε την ελάχιστη τιμή του έτους γέννησης ανά πόλη για τον πίνακα customers και να τα παρουσιάζετε με αύξουσα σειρά ως προς το έτος
    ΑΠΑΝΤΗΣΗ:
    SELECT city as field1, MIN(YearBirth) AS field2 FROM customers group by city ORDER BY field2

  57. Να βρείτε το πλήθος των ανθρώπων που μένουν σε κάθε πόλη και να τα παρουσιάσετε με αύξουσα σειρά ως προς το πλήθος
    ΑΠΑΝΤΗΣΗ:
    SELECT city as field1, COUNT(*) AS field2 FROM customers group by city ORDER BY field2

  58. Να βρείτε το πλήθος των ανθρώπων που μένουν σε κάθε πόλη και να τα παρουσιάσετε με φθίνουσα σειρά ως προς το πλήθος
    ΑΠΑΝΤΗΣΗ:
    SELECT city as field1, COUNT(*) AS field2 FROM customers group by city ORDER BY field2 desc

  59. Να βρείτε το πλήθος των ανθρώπων ανά όνομα και να τα παρουσιάσετε με αύξουσα σειρά ως προς το πλήθος
    ΑΠΑΝΤΗΣΗ:
    SELECT CustomersName as field1, COUNT(*) AS field2 FROM customers group by CustomersName ORDER BY field2

  60. Να βρείτε το πλήθος των ανθρώπων ανά επώνυμο και να τα παρουσιάσετε με φθίνουσα σειρά ως προς το πλήθος
    ΑΠΑΝΤΗΣΗ:
    SELECT CustomersLastName as field1, COUNT(*) AS field2 FROM customers group by CustomersLastName ORDER BY field2 desc

  61. Να βρείτε το μέσο όρο ηλικίας ανά όνομα
    ΑΠΑΝΤΗΣΗ:
    SELECT CustomersName as field1, AVG(YearBirth) AS field2 FROM customers group by CustomersName

  62. Να βρείτε το μέσο όρο ηλικίας ανά όνομα και να παρουσιάσετε αποτέλεσμα μόνο για τα ονόματα που έχουν μέσο όρο ηλικίας μεγαλύτερο του 1990
    ΑΠΑΝΤΗΣΗ:
    SELECT CustomersName as field1, AVG(YearBirth) AS field2 FROM customers group by CustomersName HAVING AVG(YearBirth) > 1990

  63. Να βρείτε τη μέγιστη ηλικία ανθρώπων ανά πόλη
    ΑΠΑΝΤΗΣΗ:
    SELECT City as field1, MAX(YearBirth) AS field2 FROM customers group by City

  64. Να βρείτε τη μέγιστη ηλικία ανθρώπων ανά πόλη και να παρουσιάσετε αποτέλεσμα μόνο για τα πόλεις που έχουν μέγιστη ηλικία μικρότερη του 1995
    ΑΠΑΝΤΗΣΗ:
    SELECT City as field1, MAX(YearBirth) AS field2 FROM customers group by City HAVING MAX(YearBirth) < 1995

  65. Να βρείτε τη μέγιστη ηλικία ανθρώπων ανά πόλη και να παρουσιάσετε αποτέλεσμα μόνο για τα πόλεις που έχουν μέγιστη ηλικία μικρότερη του 1995 ταξινομημένα σε φθίνουσα σειρά ως προς έτος
    ΑΠΑΝΤΗΣΗ:
    SELECT City as field1, MAX(YearBirth) AS field2 FROM customers group by City HAVING MAX(YearBirth) < 1995 ORDER BY field2 desc

  66. Προσθήκη της στήλης id και ταυτόχρονη δήλωσή της ως PRIMARY KEY
    ALTER TABLE customers100 ADD COLUMN id INT NOT NULL AUTO_INCREMENT PRIMARY KEY;


  67. Εισαγωγή δεδομένων: Χρήση της εντολής INSERT.
    INSERT INTO customers (CustomersName, CustomersLastName, YearBirth, City)
    VALUES ('Γιάννης', 'Παναγιώτου', 1990, 'Θεσσαλονίκη');


  68. Ενημέρωση δεδομένων: Πώς μπορούμε να τροποποιήσουμε εγγραφές.
    UPDATE customers SET City = 'Αθήνα' WHERE CustomersLastName = 'Παπαδόπουλος';


  69. Διαγραφή δεδομένων: Πώς να διαγράφουμε εγγραφές.
    DELETE FROM customers WHERE CustomersLastName = 'Νικολάου';


  70. Περιορισμός αριθμού αποτελεσμάτων: Χρήση του LIMIT για εμφάνιση συγκεκριμένου αριθμού εγγραφών.
    SELECT * FROM customers LIMIT 10;


  71. Τελεστές σύγκρισης: Χρήση επιπλέον τελεστών σύγκρισης (BETWEEN, IN, NOT IN).
    SELECT * FROM customers WHERE YearBirth BETWEEN 1980 AND 1990;


  72. Χρήση του IS NULL ή IS NOT NULL: Για την αναζήτηση κενών τιμών σε κάποια στήλη.
    SELECT * FROM customers WHERE City IS NULL;


  73. Χρήση του CASE: Για πιο σύνθετες λογικές επιλογές σε εντολές.
    SELECT CustomersName,
    CASE
    WHEN YearBirth > 2000 THEN 'Νεότερος από 20'
    ELSE 'Παλαιότερος από 20'
    END AS AgeCategory
    FROM customers;


  74. Παρουσίαση αριθμού χωρίς δεκαδικά ψηφία
    SELECT ROUND(AVG(YearBirth), 0) AS field2 FROM customers;
    ή εναλλακτικά:
    SELECT CAST(AVG(YearBirth) AS INT) AS field2 FROM customers;


  75. Παρουσίαση αριθμού με δυο δεκαδικά ψηφία SELECT ROUND(AVG(YearBirth), 2) AS field2 FROM customers;

  76. Παρουσίαση αριθμού με δυο δεκαδικά ψηφία στρογγυλεμένα προς τα πάνω
    SELECT CEILING(AVG(YearBirth) * 100) / 100 AS field2 FROM customers;


  77. Παρουσίαση αριθμού με δυο δεκαδικά ψηφία στρογγυλεμένα προς τα κάτω
    SELECT FLOOR(AVG(YearBirth) * 100) / 100 AS field2 FROM customers;


  78. Παρουσίαση ημερομηνίας σε μορφή dd/mm/yy:
    SELECT DATE_FORMAT(DateBirth, '%d/%m/%y') AS field2 FROM customers;


  79. Παρουσίαση ημερομηνίας σε μορφή mm/dd/yy:
    SELECT DATE_FORMAT(DateBirth, '%m/%d/%y') AS field2 FROM customers;


  80. Παρουσίαση ημερομηνίας σε μορφή d/m/yyyy:
    SELECT DATE_FORMAT(DateBirth, '%e/%c/%Y') AS field2 FROM customers;


  81. Παρουσίαση ημερομηνίας ως ημερομηνία Ελληνικού τύπου (π.χ. dd/mm/yyyy):
    SELECT DATE_FORMAT(DateBirth, '%d/%m/%Y') AS field2 FROM customers;


  82. Παρουσίαση ημερομηνίας ως ημερομηνία Αγγλικού τύπου (π.χ. dd/mm/yyyy): Στο Ηνωμένο Βασίλειο χρησιμοποιείται η μορφή dd/mm/yyyy, που είναι η ίδια με την Ελληνική.
    Αντίθετα στις Ηνωμένες Πολιτεέις Αμερικής μπαίνει πρώτα ο μήνας και μετά η ημέρα.
    SELECT DATE_FORMAT(DateBirth, '%d/%m/%Y') AS field2 FROM customers;


  83. Παρουσίαση του αποτελέσματος ως ημερομηνία Γερμανικού τύπου (π.χ. dd.mm.yyyy):
    Στη Γερμανία, οι ημερομηνίες παρουσιάζονται συνήθως σε μορφή dd.mm.yyyy:
    SELECT DATE_FORMAT(DateBirth, '%d.%m.%Y') AS field2 FROM customers;


  84. UPPER(): Μετατρέπει το κείμενο σε κεφαλαία γράμματα.
    SELECT UPPER(column_name) FROM table_name;


  85. LOWER(): Μετατρέπει το κείμενο σε μικρά γράμματα.
    SELECT LOWER(column_name) FROM table_name;


  86. CONCAT(): Συγχωνεύει πολλαπλές στήλες ή τιμές σε μία.
    SELECT CONCAT(first_name, ' ', last_name) FROM customers;


  87. SUBSTRING(): Επιστρέφει ένα τμήμα του κειμένου.
    SELECT SUBSTRING(column_name, 1, 5) FROM table_name;


  88. TRIM(): Αφαιρεί τα κενά διαστήματα από την αρχή και το τέλος του κειμένου.
    SELECT TRIM(column_name) FROM table_name;


  89. LENGTH(): Επιστρέφει το μήκος του κειμένου σε χαρακτήρες.
    SELECT LENGTH(column_name) FROM table_name;


  90. ROUND(): Στρογγυλοποιεί έναν αριθμό σε συγκεκριμένα δεκαδικά ψηφία.
    SELECT ROUND(price, 2) FROM products;


  91. FORMAT(): Μορφοποιεί έναν αριθμό με κόμμα και δεκαδικά ψηφία.
    SELECT FORMAT(price, 2) FROM products;


  92. CEIL(): Στρογγυλοποιεί προς τα πάνω στον πλησιέστερο ακέραιο.
    SELECT CEIL(value) FROM table_name;


  93. FLOOR(): Στρογγυλοποιεί προς τα κάτω στον πλησιέστερο ακέραιο.
    SELECT FLOOR(value) FROM table_name;


  94. ABS(): Επιστρέφει την απόλυτη τιμή ενός αριθμού.
    SELECT ABS(column_name) FROM table_name;


  95. CAST(): Μετατρέπει έναν τύπο δεδομένων σε άλλον.
    SELECT CAST(column_name AS DECIMAL(10,2)) FROM table_name;


  96. CONVERT(): Μετατρέπει έναν τύπο δεδομένων σε άλλον.
    SELECT CONVERT(column_name, DECIMAL(10,2)) FROM table_name;


  97. TIME_FORMAT(): Μορφοποιεί την ώρα.
    SELECT TIME_FORMAT(time_column, '%H:%i') FROM table_name;


  98. DATEDIFF(): Υπολογίζει τη διαφορά μεταξύ δύο ημερομηνιών.
    SELECT DATEDIFF(NOW(), DateBirth) FROM customers;


  99. TIMESTAMPDIFF(): Υπολογίζει τη διαφορά μεταξύ δύο στιγμιοτύπων (timestamp).
    SELECT TIMESTAMPDIFF(YEAR, DateBirth, NOW()) FROM customers;

Εδώ βρίσκονται οι εντολές mysql που θα χρησιμοποιήσουμε στο δεύτερο μάθημα


Απλή εντολή SQL:

απλή εντολή SQL

Πλήρης εντολή SQL:

πλήρης εντολή SQL

Εντολή SQL ομαδοποίησης:

εντολή SQL ομαδοποίησης

Εάν θέλετε να κάνετε εξάσκηση στο δικό σας υπολογιστή τότε θα πρέπει να εγκαταστήσετε το xampp. Στον ακόλουθο σύνδεσμο δείχνουμε βήμα προς βημα τη διαδικασία για την εγκατάσταση του xampp

Τα πρώτα βήματα στο phpMyAdmin

Αρχική οθόνη του phpMyAdmin

Εδώ βλέπουμε την αρχική οθόνη του php my admin στην οποία μπορούμε να δημιουργήσουμε πίνακα στη βάση δεδομένων:

Στα αριστερά (1) βλέπουμε τη βάση δεδομένων και από κάτω τους πίνακες που έχει η βάση δεδομένων.

Πάνω-πάνω βλέπουμε πάλι τη βάση δεδομένων (2).

Υπάρχει ένα μενού (3) στο οποίο από την επιλογή ‘δομή’ (4) μπορούμε να δημιουργήσουμε νέο πίνακα στη βάση δεδομένων.

Για να δημιουργήσουμε πίνακα θα πρέπει να δώσουμε το όνομα (5) του πίνακα και το πλήθος (6) των στηλών του πίνακα.

Αρχική οθόνη του phpMyAdmin

Δημιουργία πίνακα της mysql με το phpMyAdmin

Στη συνέχεια δημιουργούμε τον πίνακα:

Φτιάχνουμε δύο πεδία στον πίνακα: id (1), name (2).

Το πρώτο είναι αριθμητικό πεδίο (3) ενώ το δεύτερο είναι πεδίο κειμένου (4).

Το αριθμητικό πεδίο είναι το κλειδί του πίνακα (5).

Όσον αφορά το πεδίο κειμένου είναι σημαντικό να επιλέξουμε την κατάλληλη κωδικοποίηση (6) ώστε να μην έχει πρόβλημα με την παρουσίαση των ελληνικών χαρακτήρων.

Δημιουργία πίνακα της mysql με το phpMyAdmin

Διαχείριση πίνακα της mysql με το phpMyAdmin

Εδώ βλέπουμε τον πίνακα από δημιουργήθηκε(1):

Στη συνέχεια μπορούμε να κάνουμε προσθήκη νέας εγγραφής (2), αναζήτηση στις αποθηκευμένες εγγραφές (3) και παρουσίαση όλων των εγγραφών (4).

Επίσης μπορούμε να κάνουμε εισαγωγή (5) ολόκληρης βάσης δεδομένων μέσω αρχείου sql.

Διαχείριση πίνακα της mysql με το phpMyAdmin

Ασκήσεις mysql βάσεις δεδομένων στη δημιουργία σχέσεων 1:Ν

1η άσκηση βάσεις δεδομένων στη δημιουργία σχέσεων 1:Ν

Δημιουργία Βάσης Δεδομένων για Σχολή Οδηγών:

2η άσκηση βάσεις δεδομένων στη δημιουργία σχέσεων 1:Ν

Δημιουργία Βάσης Δεδομένων για Εστιατόριο:

3η άσκηση βάσεις δεδομένων στη δημιουργία σχέσεων 1:Ν

Δημιουργία Βάσης Δεδομένων για Κλινική Ζώων:

4η άσκηση βάσεις δεδομένων στη δημιουργία σχέσεων 1:Ν

Δημιουργία Βάσης Δεδομένων για Πανεπιστήμιο:

5η άσκηση βάσεις δεδομένων στη δημιουργία σχέσεων 1:Ν

Δημιουργία Βάσης Δεδομένων για Ποδόσφαιρο:

6η άσκηση βάσεις δεδομένων στη δημιουργία σχέσεων 1:Ν

Να δημιουργηθεί βάση δεδομένων για ενοικιάσεις αυτοκινήτων:

7η άσκηση βάσεις δεδομένων στη δημιουργία σχέσεων 1:Ν

Να δημιουργηθεί βάση δεδομένων για πανεπιστημιακές εργασίες:

8η άσκηση βάσεις δεδομένων στη δημιουργία σχέσεων 1:Ν

Να δημιουργηθεί βάση δεδομένων για κλινικές ιατρικής:

9η άσκηση βάσεις δεδομένων στη δημιουργία σχέσεων 1:Ν

Να δημιουργηθεί βάση δεδομένων για προμηθευτές και προϊόντα:

10η άσκηση βάσεις δεδομένων στη δημιουργία σχέσεων 1:Ν

Να δημιουργηθεί βάση δεδομένων για μαθήματα και καθηγητές:

Ασκήσεις δημιουργίας βάσης δεδομένων

Ακολουθούν απλες ασκήσεις για τη δημιουργία τυπικών βάσεων δεδομένων που χρησιμοποιούνται σε πολλές εφαρμογές:

Πρώτη άσκηση στις βάσεις δεδομένων:

Να δημιουργηθεί βάση δεδομένων για εκδοτικό οίκο:

Δεύτερη άσκηση στις βάσεις δεδομένων:

Να βελτιωθεί η βάση δεδομένων για τον εκδοτικό οίκο:

Τρίτη άσκηση στις βάσεις δεδομένων:

Να δημιουργηθεί βάση δεδομένων για πωλήσεις:

Τέταρτη άσκηση στις βάσεις δεδομένων:

Να βελτιωθεί η βάση δεδομένων για πωλήσεις:

Πέμπτη άσκηση στις βάσεις δεδομένων:

Να δημιουργηθεί βάση δεδομένων για ηλεκτρονικό κατάστημα:

Έκτη άσκηση στις βάσεις δεδομένων:

Έχουμε κομμωτήριο το οποίο προμηθεύεται βαφές, σαμπουάν και καλλυντικά.
Προμηθεύεται από τρεις εταιρείες: Korres, wella και kerastase.
Θέλουμε να δημιουργήσουμε βάση δεδομένων η οποία να επιτρέπει:

  1. Να υπάρχει αποθήκη με απόθεμα για το κάθε προϊόν.
  2. Να βλέπουμε σε ποια προϊόντα μειώθηκε πολύ το απόθεμα.
  3. Κάθε φορά που πωλείται προϊόν να καταγράφεται η πώληση και να αφαιρείται από το απόθεμα.
  4. Κάθε Χριστούγεννα να στέλνουμε προσφορές στους πελάτες μέσω sms και email.
  5. Κάθε φορά που μας επισκέπτεται ο υπάλληλος του προμηθευτή να βλέπουμε ποια προϊόντα χρειαζόμαστε (μικρό απόθεμα).
  6. Κάθε εβδομάδα να βλέπουμε ποιοί πελάτες έχουν γενέθλια ή ονομαστική εορτή και να τους στέλνουμε χρόνια πολλά.
  7. Να ξέρουμε ποιος προμηθευτής πουλάει περισσότερο.
  8. Να ξέρουμε αν οι περισσότερες πωλήσεις είναι σε βαφές, σαμπουάν ή καλλυντικά.

Ασκήσεις SQL

Στη συνέχεια ακολουθούν ασκήσεις SQL τις οποίες μπορείτε να εκτελέσετε στον υπολογιστή σας με το xampp και το phpmyadmin. Περιλαμβάνονται οι εντολές δημιουργίας των πινάκων στις βάσεις δεδομένων (create) καθώς και οι εντολές SQL για την καταχώρηση των δεδομένων (insert). Εδώ θα βείτε τις υπόλοιπες ασκήσεις για τα μαθήματα sql.

Κατασκευή web εφαρμογής

Οι web εφαρμογές ή αλλιώς διαδικτυακές εφαρμογές είναι λογισμικό διαχείρισης βάσης δεδομένων που εκτελούνται στο διαδίκτυο. Η σημαντικότερη γνώση για να δημιουργήσουμε μία web εφαρμογή είναι ικανοποιητική χρήση της γλώσσας sql. Μία διαδικτυακή εφαρμογή βάσεις δεδομένων περιλαμβάνει πολλά αρχεία προγραμματισμού τα οποία συνδέονται με τη βάση δεδομένων και παρουσιάζουν τα αποτελέσματα αναζήτησης. Επίσης περιλαμβάνει αρχεία εισαγωγής επεξεργασίας και διαγραφής δεδομένων από τη βάση. Όταν αποκτήσουμε ικανοποιητικές γνώσεις mysql τότε το επόμενο βήμα είναι να κάνουμε μία δοκιμαστική κατασκευή web εφαρμογής.

Ενδεικτικές εφαρμογές βάσης δεδομένων mysql

Η βάση δεδομένων mysql είναι κατάλληλη για μία ευρεία γκάμα προγραμματιστικών εφαρμογών. Ένα τυπικό προγραμματισμού παράδειγμα που χρειάζεται βάση δεδομένων θα μπορούσε να είναι η ανάπτυξη εφαρμογής για ένα εμπορικό κατάστημα το οποίο θέλει να οργανώσει την αποθήκη του. Η πρόσβαση στη βάση δεδομένων μπορεί να γίνει με πολλές γλώσσες προγραμματισμού. Μία πολύ απλή γλώσσα την οποία μπορούμε να χρησιμοποιήσουμε για να αποκτήσουμε πρόσβαση στα δεδομένα είναι η γλώσσα προγραμματισμού vba. εκτελούμε πολύ απλά τη vba μέσα από το excel και χρησιμοποιούμε απευθείας τα δεδομένα στο φύλλο εργασίας. Το πώς μπορεί να γίνει αυτό μπορείτε να το μάθετε παρακολουθώντας ένα ένα σεμινάριο vba. Ως χαρακτηριστικό παράδειγμα που διδάσκεται σε αρκετές σχολές πληροφορικής μπορούμε να αναφέρουμε τη μηχανογράφηση ενός dvd club. Ένα δεύτερο παράδειγμα προγραμματισμού που απαιτεί βάση δεδομένων MySQL θα μπορούσε να είναι η μηχανογράφηση ενός λογιστικού γραφείου στο οποίο να έχει αποθηκευμένα τα στοιχεία των πελατών του τα οποία να χρησιμοποιεί και τις εκτυπώσεις των σχετικών λογιστικών εντύπων. Μπορούμε ακόμα να χρησιμοποιήσουμε τη mysql για να αποθηκεύσουμε τα ονόματα, τα τηλέφωνα και τις διευθύνσεις του προσωπικού μας τηλεφωνικού καταλόγου. Σε όλες αυτές τις εφαρμογές ο όγκος δεδομένων είναι μικρός όπως επίσης και η συχνότητα των συναλλαγών είναι μικρή. Για να παρακολουθήσει κάποιος ολόκληρη τη διαδικασία κατασκευής του προγράμματος πρέπει να διαθέτει προγραμματιστικές γνώσεις. Δεν γίνεται κατανοητή η ροή του προγράμματος εάν δεν έχει παρακολουθήσει κάποιος μαθήματα προγραμματισμού.

Πότε δεν ενδείκνυται η χρήση της mysql

Η mysql δεν ενδείκνυται για ιδιαίτερα απαιτητικές εφαρμογές βάσης δεδομένων. Σε περίπτωση που χρειάζεται να διαχειριστούμε πολύ μεγάλο όγκο δεδομένων η πολύ μεγάλη συχνότητα συναλλαγών τότε θα πρέπει να προχωρήσουμε σε μεγαλύτερα συστήματα διαχείρισης βάσεων δεδομένων. σε αυτή την κατηγορία των μεγαλύτερων συστημάτων διαχείρισης βάσης δεδομένων ανήκει ο SQL Server, η Oracle καθώς και η PostgreSQL. Ως φυσική συνέχεια της mysql όταν ανέβει πολύ ο όγκος των απαιτήσεων θεωρείται η PostgreSQL διότι είναι το πιο δημοφιλές Open Source Σύστημα Διαχείρισης Σχεσιακής Βάσης Δεδομένων. Ας πάρουμε για παράδειγμα τη δημιουργία eshop opencart. Όσο ο όγκος των συναλλαγών είναι σχετικά μικρός μας καλύπτει απόλυτα η mysql. Εάν όμως ανέβει σε πολύ υψηλά επίπεδα τότε πρέπει να αναπροσαρμόσουμε την κατασκευή eshop opencart σε άλλη βάση δεδομένων.

MySQL στην κατασκευή e-shop

Η MySQL χρησιμοποιείται σε όλες τις πλατφόρμες κατασκευής eshop. Οι δημοφιλέστερες πλατφόρμες κατασκευής eshop όπως είναι το Magento, το Openart και το Woocommerce χρησιμοποιούν τη mysql ως σύστημα διαχείρισης βάσης δεδομένων. Η γνώση της mysql είναι αναγκαία για τη δημιουργία eshop διότι μποεί να δώσει εύκολη και γρήγορη λύση σε προβλήματα που δεν μπορεί να λύσει εύκολα το Content Managment System. Η ικανότητα διαχείρισης της βάσης δεδομένων είναι μια ικανότητα που βοηθά πολύ στην κατασκευή e-shop.

Χρήση mysql στη δημιουργία παιχνιδιών

Η mysql είναι μία από τις βάσεις δεδομένων που χρησιμοποιούνται αρκετά συχνά στην κατασκευή παιχνιδιών. Υπάρχουν αρκετές πτυχές της διαδικασίας δημιουργίας παιχνιδιών που απαιτούν τη χρήση μιας ευέλικτης βάσης δεδομένων όπως είναι η mysql. Μπορείτε να χρησιμοποιήσετε τη mysql να αποθηκεύεται τις επιδόσεις των παικτών. Τα δεδομένα που μεταφέρονται στη βάση δεδομένων θα βρίσκονται εκεί ακόμα και αν ο παίκτης κλείσει το παιχνίδι ή αλλάξει συσκευή. Στον ακόλουθο σύνδεσμο μπορείτε να βρείτε αρκετά παραδείγματα που αφορούν τη χρήση της γλώσσας mysql στην κατασκευή παιχνιδιών.

Εφαρμογές που απαιτούν αναλυτική επεξεργασία συναλλαγών

Μία περίπτωση όπου είναι δύσκολο να χρησιμοποιηθεί η mysql είναι όταν απαιτείται αναλυτική επεξεργασία συναλλαγών. Παραδείγματα αυτής της κατηγορίας περιλαμβάνουν βάσεις δεδομένων για αεροπορικές εταιρείες η για μεγάλους οργανισμούς. Το πρόβλημα εδώ είναι η πολύ μεγάλη συχνότητα και το πολύ μεγάλο πλήθος στην εισαγωγή δεδομένων και στην ενημέρωση δεδομένων. Για παράδειγμα το πλήθος δεδομένων μπορεί να ανέρχεται σε αρκετά εκατομμύρια εγγράφων στη βάση δεδομένων ενώ το πλήθος ταυτόχρονων συναλλαγών μετριέται σε αρκετές εκατοντάδες. Προφανώς ο χρόνος απόκρισης είναι αρκετά μεγάλος και μετριέται σε κάποια λεπτά της ώρας. Κατάλληλο σύστημα για αυτές τις περιπτώσεις είναι ο SQL server.

Εφαρμογές data warehouse

Άλλη μία περίπτωση στην οποία δεν ενδείκνυται η χρήση της mysql είναι η ανάλυση μεγάλων όγκων δεδομένων στα λεγόμενα συστήματα data warehouse. Το πρόβλημα εδώ είναι ο τεράστιος όγκος δεδομένων ο οποίος συνήθως μετριέται σε πολλές εκατοντάδες εκατομμύρια εγγραφών στη βάση δεδομένων. Εδώ ο χρόνος απόκρισης είναι πάρα πολύ μεγάλος και μετριέται σε αρκετές ώρες. Δηλαδή για να δημιουργηθεί μία αναφορά απαιτούνται κάποιες ώρες. Αναφέρομαι εδώ αυτές τις περιπτώσεις ωστε να αποκτήσει μία εικόνα ο εκπαιδευόμενος σχετικά με το πότε μπορεί να χρησιμοποιήσει τη mysql και πότε όχι.

Περιεχόμενα σεμιναρίου mysql

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