1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL"

Transcript

1 1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL Τύποι στην MySQL Κείμενο Αριθμοί Ημερομηνίες και ώρες Επιλογή του τύπου Στήλες ονομάτων τύπος κειμένου Στήλες ποσών ή ποσοτήτων Αριθμητικός τύπος Στήλες ημερομηνιών τύπος ημερομηνίας (ή και ώρας). ΤΥΠΟΣ ΚΕΙΜΕΝΟΥ Συνήθως χρησιμοποιούμε τον τύπο CHAR ή VARCHAR. CHAR (μήκος) Είναι σταθερού μήκους με μέγεθος αυτό που έχει η παρένθεση. Εάν η λέξη είναι μικρότερη το υπόλοιπο γεμίζει με κενά διαστήματα. Καταλαμβάνει περισσότερο χώρο στην μνήμη. Έχει καλύτερες αποδόσεις. 1

2 Εάν έχουμε δηλώσει CHAR (2) και γράψουμε μία λέξη 5 χαρακτήρων οι τελευταίοι 3 χαρακτήρες της λέξης θα κοπούν. VARCHAR(μήκος) Είναι μεταβλητού μήκους, δηλαδή κάθε φορά δεσμεύει χώρο για τους χαρακτήρες που περιέχει η λέξη. Καταλαμβάνει μικρότερο χώρο στη μνήμη. Δεν έχει τόσο καλές αποδόσεις σε μεγάλες ΒΔ. Χρησιμοποιούμε πάντα VARCHAR εκτός εάν πρέπει να έχουμε στήλη σταθερού μήκους (π.χ στήλη που περιέχει αριθμούς τηλεφώνου). ΑΡΙΘΜΗΤΙΚΟΣ ΤΥΠΟΣ Τύπος ακεραίου INT (μήκος) Έχει συγκεκριμένο μήκος. Καταλαμβάνει 4bytes στη μνήμη άρα 4X8=32bits άρα μπορεί να αποθηκεύσει αριθμούς εύρους 2 32 δηλαδή τους αριθμούς από έως ή εάν δηλωθεί ως UNSIGNED ΙΝΤ 0 έως μη προσημασμένους. 2

3 Τύπος πραγματικών αριθμών με δεκαδικό μέρος: FLOAT(μήκος, δεκαδικά) μικρός πραγματικός αριθμός κινητής υποδιαστολής. DOUBLE(μήκος, δεκαδικά) μεγάλος πραγματικός αριθμός κινητής. υποδιαστολής DECIMAL(μήκος, δεκαδικά) μεγάλος πραγματικός αριθμός σταθερής υποδιαστολής. ΠΡΟΣΔΙΟΡΙΣΜΟΙ ΣΤΗΛΩΝ Προσδιορισμός AUTO_INCREMENT Χρησιμοποιείται σε μία αριθμητική στήλη ορίζοντας σε νέα εγγραφή, την αμέσως επόμενη παραδεκτή τιμή. Π.χ. σε μία στήλη με τον αριθμό μίας επίσκεψης εάν 1 είναι η πρώτη εγγραφή τότε η επόμενη θα είναι η 2, η επόμενη η 3 κ.ο.κ Προσδιορισμός UNSIGNED Χρησιμοποιείται σε αριθμητικούς τύπους και σημαίνει ότι η στήλη θα δέχεται μόνο μη προσημασμένους αριθμούς (δηλαδή μόνο θετικούς). Προσδιορισμός ZEROFILL Γεμίζει τον υπόλοιπο χώρο σε μία αριθμητική στήλη με μηδενικά και χρησιμοποιείται σε στήλες για παράδειγμα που περιέχουν ΑΦΜ. Η στήλη ZEROFILL είναι υποχρεωτικά και UNSIGNED. 3

4 Προσδιορισμός NULL και NOT NULL NULL σημαίνει ότι σε κάποιο κελί μιας στήλης δεν υπάρχει ακόμα τιμή. Δεν είναι ούτε 0 ούτε κενή. NOT NULL σημαίνει ότι τα πεδία της στήλης πρέπει να έχουν τιμή ή αλλιώς δεν πρέπει να είναι NULL. Αυτό ισχύει οπωσδήποτε στις στήλες που είναι δηλωμένες ως κλειδιά σε έναν πίνακα. Παράδειγμα: δήλωσης στήλης: INT(5) ZEROFILL AUTO_INCREMENT ΕΥΡΕΤΗΡΙΑ Ευρετήρια είναι ένας μηχανισμός της MySQL για να βελτιώνεται η συνολική απόδοση της ΒΔ. Εφαρμόζονται επάνω σε στήλες πίνακα. Χρησιμοποιώντας ευρετήρια λέμε στην ΒΔ όταν εκτελείται ένα ερώτημα ποια θα είναι η σειρά προτεραιότητας ελέγχου στις στήλες ενός πίνακα. Ευρετήρια είναι τα PRIMARY KEY (είναι ένα ευρετήριο UNIQUE), INDEX (απλή προτεραιότητα στη στήλη), UNIQUE (απαιτεί κάθε γραμμή να έχει μία μοναδική τιμή). ΜΗΧΑΝΕΣ ΑΠΟΘΗΚΕΥΣΗΣ Μηχανές αποθήκευσης είναι ο τύπος των πινάκων μιας ΒΔ. MyISAM Χειρίζεται καλά ερωτήματα επιλογής SELECT και εισαγωγής INSERT. 4

5 Έχει μεγάλη ταχύτητα. Δεν μπορεί να διαχειριστεί συναλλαγές. InnoDB (είναι αυτή που χρησιμοποιούμε στη MySQL) Χειρίζεται καλά ερωτήματα ενημέρωσης UPDATE Είναι πιο αργή. Διαχειρίζεται συναλλαγές MEMORY Είναι πολύ γρήγορη γιατί η αποθήκευση γίνεται στην μνήμη του συστήματος. Υποστηρίζει στήλες σταθερού μήκους. Δεν υποστηρίζει AUTO_INCREMENT. Σε περίπτωση κατάρρευσης του συστήματος χάνονται όλα τα δεδομένα. ΟΛΟΚΛΗΡΩΣΗ ΤΗΣ ΒΔ Αυτά που πρέπει να προσέξουμε κατά την κατασκευή μιας Βάσης Δεδομένων είναι τα ακόλουθα. Το όνομα της βάσης πρέπει να είναι: Περιγραφικό Ευκολομνημόνευτο Μοναδικό (κάθε ΒΔ διαφορετικό). 5

6 Το όνομα του κάθε πίνακα πρέπει να είναι: Περιγραφικό Ευκολομνημόνευτο Μοναδικό (κάθε πίνακας στην ΒΔ διαφορετικό όνομα. Πίνακες σε διαφορετικές βάσεις μπορεί να έχουν το ίδιο όνομα). Το όνομα της κάθε στήλης πίνακα πρέπει να είναι: Περιγραφικό Ευκολομνημόνευτο Μοναδικό (διαφορετικό μέσα στον ίδιο πίνακα). Κάνουμε διάταξη των στηλών μέσα σε κάθε πίνακα με δικά μας κριτήρια φροντίζοντας η στήλη κλειδί να μπαίνει πάντα πρώτη. 6

7 2. ΔΟΥΛΕΥΟΝΤΑΣ ΜΕ ΤΗΝ MySQL ΚΑΝΟΝΕΣ ΓΙΑ ΤΗΝ ΣΩΣΤΗ ΣΧΕΔΙΑΣΗ ΤΩΝ ΠΙΝΑΚΩΝ Για την σωστή σχεδίαση των πινάκων στην ΒΔ ακολουθούμε κάποιους απλούς κανόνες που αναλύονται πιο κάτω. Χρησιμοποιούμε αλφαριθμητικούς χαρακτήρες. Δεν χρησιμοποιούμε κενά. Περιορίζουμε τα ονόματα σε λέξεις με λιγότερους από 64 χαρακτήρες. Τα ονόματα στηλών πρέπει να είναι περιγραφικά. μοναδικά για κάθε πίνακα, εκτός από τα κλειδιά. Τα ονόματα των πινάκων καλό να είναι να γράφονται στον πληθυντικό Τα ονόματα στηλών καλό να είναι να γράφονται στον ενικό. Δεν χρησιμοποιούμε τις δεσμευμένες λέξεις της MySQL. Διαχωρίζουμε τις λέξεις με το χαρακτήρα υπογράμμισης ( _ ). Χρησιμοποιούμε μόνο πεζά γράμματα. Για να υποδείξουμε ότι μία στήλη είναι κλειδί γράφουμε στο όνομά της την λέξη κωδ, ή code ή id. Tο πρωτεύον κλειδί μπαίνει πρώτο στον πίνακα, και μετά τα ξένα κλειδιά. 7

8 ΚΑΝΟΝΕΣ ΓΙΑ ΤΗΝ ΣΩΣΤΗ ΕΙΣΑΓΩΓΗ ΕΝΤΟΛΩΝ Η ΤΙΜΩΝ Για την σωστότερη εκτέλεση εντολών, πρέπει να χρησιμοποιούμε τους πιο κάτω κανόνες. Οι αριθμητικές τιμές δεν έχουν κόμματα και δεν μπαίνουν μέσα σε εισαγωγικά. Οι αλφαριθμητικές τιμές μπαίνουν πάντα σε εισαγωγικά (char, varchar και text). Οι ημερομηνίες και ώρες μπαίνουν πάντα σε εισαγωγικά. Στις συναρτήσεις δεν βάζουμε εισαγωγικά. Στο τέλος κάθε εντολής η ερωτήματος πάντα βάζουμε ελληνικό ερωτηματικό (τερματικό εντολής). Οι τιμές που εισάγονται σε ερωτήματα ή εντολές μπαίνουν μέσα σε παρένθεση και χωρίζονται μεταξύ τους με κόμμα. Δεν βάζουμε κόμμα ανάμεσα σε εντολές, ονόματα πινάκων, συναρτήσεις. Η τιμή NULL δεν μπαίνει σε εισαγωγικά. Για να δούμε τι εντολές ή ερωτήματα έχουμε πληκτρολογήσει χρησιμοποιούμε το πλήκτρο F1 και τα βέλη πάνω και κάτω. 8

9 ΕΝΤΟΛΕΣ ΤΗΣ MySQL Κάποιες από εντολές που χρησιμοποιούμε στη MySQL φαίνονται πιο κάτω. create δημιουργεί πίνακες η βάσεις δεδομένων. delete διαγράφει τιμές από πίνακες. drop διαγράφει ολόκληρο τον πίνακα ή την ΒΔ. update ενημερώνει τον πίνακα. insert εισάγει τιμές στον πίνακα. alter αλλάζει την δομής του πίνακα. show εμφανίζει στοιχεία της δομής του πίνακα ή της ΒΔ. select βασική εντολή για την επιλογή δεδομένων από τον πίνακα. 9

10 3. ΕΙΣΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ Για την εισαγωγή δεδομένων (εγγραφών) στους πίνακες χρησιμοποιούμε την εντολή INSERT με τους όρους INTO και VALUES. ΟΛΟΚΛΗΡΩΜΕΝΗ ΕΙΣΑΓΩΓΗ ΤΙΜΩΝ Πληκτρολογούμε κατά σειρά τις στήλες και αντίστοιχα τις τιμές. INSERT INTO όνομα_πίνακα (στήλη1, στήλη2, στήλη3,...) VALUES (01, MARIOS, TSOUKALAS,...); ΣΤΟΧΕΥΜΕΝΗ ΕΙΣΑΓΩΓΗ Πληκτρολογούμε συγκεκριμένες στήλες και αντίστοιχα τις τιμές. INSERT INTO όνομα_πίνακα (στήλη2, στήλη5) VALUES ( DHMHTRHS, ); Σημ. στις στήλες που δεν έχει δοθεί τιμή είναι σαν να υπάρχει η τιμή NULL. ΧΩΡΙΣ ΟΝΟΜΑΤΑ ΣΤΗΛΩΝ Εάν είμαστε σίγουροι ότι δεν θα κάνουμε λάθος στην πληκτρολόγηση στην σειρά των στηλών γράφουμε μόνο τις τιμές. INSERT INTO όνομα_πίνακα VALUES (01, MARIOS, TSOUKALAS, NULL,...); 10

11 ΕΙΣΑΓΩΓΗ ΠΟΛΛΩΝ ΕΓΓΡΑΦΩΝ ΤΑΥΤΟΧΡΟΝΑ Μπορούμε να κάνουμε εισαγωγή πάνω από μια πλειάδες (εγγραφές) αρκεί η κάθε πλειάδα να ξεχωρίζει από την προηγούμενη με κόμμα. Εννοείται ότι στο τέλος βάζουμε ερωτηματικό INSERT INTO όνομα_πίνακα (στήλη1, στήλη2, στήλη3,...) VALUES (01, MARIOS, TSOUKALAS,...), (NULL, DHMHTRHS, PANOU,...), (NULL, NIKOS, SARRHS,...); Σημ. Η λέξη NULL μπαίνει στις στήλες με προσδιορισμό AUTO INCREMENT (συνήθως στα κλειδιά). Έτσι σε κάθε νέα εγγραφή, όπου υπάρχει το NULL η MySQL θα βάζει την επόμενη παραδεκτή τιμή γι αυτή την στήλη. 11

12 4. ΕΝΗΜΕΡΩΣΗ ΔΕΔΟΜΕΝΩΝ Μπορούμε να αλλάξουμε τιμές σε στήλες πίνακα που έχουν καταχωρηθεί λανθασμένα ή να βάλουμε τιμή σε κάποιο πεδίο που είναι NULL ή ακόμα να αλλάξουμε κάποιες τιμές πεδίων. Αυτό γίνεται με την εντολή UPDATE και τον όρο SET. ΕΝΗΜΕΡΩΣΗ ΜΙΑΣ ΣΤΗΛΗΣ UPDATE όνομα_πίνακα SET στήλη1= τιμή1 ; ΕΝΗΜΕΡΩΣΗ ΠΕΡΙΣΣΟΤΕΡΩΝ ΣΤΗΛΩΝ UPDATE όνομα_πίνακα SET στήλη1= τιμή1, στήλη2= τιμή2 ; Σημ. στις δύο προηγούμενες ενημερώσεις οι νέες τιμές περνάνε σε όλες τις εγγραφές της κάθε στήλης. ΕΝΗΜΕΡΩΣΗ ΣΥΓΚΕΚΡΙΜΕΝΗΣ ΕΓΓΡΑΦΗΣ (ΚΕΛΙΟΥ) Για να αλλάξουμε τιμή συγκεκριμένου κελιού του πίνακα χρησιμοποιούμε την συνθήκη WHERE. UPDATE όνομα_πίνακα SET στήλη1= τιμή1 WHERE στήλη2= τιμή2 ; 12

13 Παράδειγμα (Εύρεση NULL τιμών): Βρες τους πελάτες στους οποίους δεν έχει καταχωρηθεί ακόμη τηλέφωνο, δηλαδή όπου η στήλη pel_phone έχει τιμές NULL και μετά βάλε τον αριθμό τηλεφώνου στον πελάτη με κωδικό 2. SELECT pel_id, pel_name FROM pelates WHERE pel_phone IS NULL; Σημ. Τα ερωτήματα επιλογής θα τα μελετήσουμε στο επόμενο κεφάλαιο. Ενημέρωση πίνακα: UPDATE pelates SET pel_phone =' ' WHERE pel_id = 2; ΟΜΑΔΟΠΟΙΗΜΕΝΗ ΕΜΦΑΝΙΣΗ ΕΓΓΡΑΦΩΝ Για ομαδοποιημένη εμφάνιση των στοιχείων του πελάτη (κάθετα) χρησιμοποιούμε τον τελεστή \G (δεν βάζουμε ελληνικό ερωτηματικό στο τέλος του ερωτήματος). Άρα για να δούμε τα στοιχεία του πελάτη με κωδικό 2 συντάσσουμε το παρακάτω ερώτημα: SELECT * FROM pelates WHERE pel_id =2 \G 13

14 ΕΝΗΜΕΡΩΣΗ ΜΕ ΠΕΡΙΟΡΙΣΜΟ Για να είμαστε σίγουροι ότι δεν θα ενημερώσουμε και κάποια άλλη τιμή κατά λάθος, χρησιμοποιούμε τον περιοριστικό όρο LIMIT. Έτσι το ερώτημα ενημέρωσης του τηλεφώνου του πελάτη με κωδικό 2 γίνεται: UPDATE pelates SET pel_phone =' ' WHERE pel_id = 2 LIMIT 1; Σημ. LIMIT 1 σημαίνει ότι θα γίνει αναγκαστικά μόνο μια αλλαγή. ΔΙΑΓΡΑΦΗ ΕΓΓΡΑΦΩΝ Κάποιες φορές θέλουμε να διαγράψουμε κάποιες εγγραφές από έναν πίνακα, αυτό γίνεται με την εντολή DELETE. Πρέπει να χρησιμοποιούμε πάντα την συνθήκη WHERE γιατί υπάρχει κίνδυνος να διαγράψουμε όλες τις εγγραφές του πίνακα. Διαγραφή συγκεκριμένης εγγραφής: DELETE FROM όνομα_πίνακα WHERE στήλη1= τιμή1 ; Διαγραφή όλων των εγγραφών του πίνακα: DELETE FROM όνομα_πίνακα; Σημ. όταν λέμε διαγραφή εγγραφής, εννοούμε όλη την πλειάδα (γραμμή) του πίνακα. 14

15 ΔΙΑΓΡΑΦΗ ΟΛΟΥ ΤΟΥ ΠΙΝΑΚΑ Μπορούμε να διαγράψουμε ολόκληρο τον πίνακα με την εντολή DROP: DROP όνομα_πίνακα; Σημ. Αυτή η εντολή διαγράφει όλο τον πίνακα δηλαδή και εγγραφές αλλά και δομή. Με λίγα λόγια τον εξαφανίζει από την ΒΔ. Μπορούμε όμως να διαγράψουμε τις εγγραφές και την δομή και να ξαναφτιάξουμε την δομή ενός πίνακα με την εντολή TRUNCATE. TRUNCATE όνομα_πίνακα; Σημ. σε κάθε περίπτωση πριν προχωρήσουμε σε οποιαδήποτε διαγραφή πρέπει να είμαστε σίγουροι ότι έχουμε πάρει αντίγραφα ασφαλείας (backup) την ΒΔ 15

16 ΠΑΡΑΔΕΙΓΜΑΤΑ ΕΝΤΟΛΩΝ ΤΗΣ ΓΛΩΣΣΑΣ ΟΡΙΣΜΟΥ ΤΗΣ MySQL CREATE DATABASE db_name; CREATE TABLE tbl_name; USE db_name; SHOW DATABASES; SHOW CREATE DATABASE db_name; SHOW TABLES; SHOW COLUMNS FROM tbl_name; DESCRIBE tbl_name; SHOW CREATE TABLE tbl_name; DROP DATABASE db_name; DROP TABLE tbl_name; ALTER TABLE tbl_name CHANGE COLUMN clmn_name clmn_name_new ΟΡΟΣ; ALTER TABLE tbl_name ADD COLUMN clmn_name_1 ΟΡΟΣ AFTER clmn_name; ALTER TABLE tbl_name δημιουργία βάσης (db_name = όνομα βάσης). δημιουργία πίνακα (tbl_name = όνομα πίνακα). χρήση της βάσης. εμφάνιση όλων των βάσεων. βλέπω τον τρόπο δημιουργίας της βάσης. εμφάνιση πινάκων. εμφάνιση των στηλών του πίνακα. ίδιο όπως πιο πάνω. εμφανίζει την δομή του πίνακα. διαγραφή βάσης και όλων των πινάκων της. διαγραφή πίνακα και όλων των στηλών του. τροποποίηση πίνακα: αλλαγή της στήλης clmn_name σε στήλη clmn_name_new με άλλους όρους. τροποποίηση πίνακα: προσθήκη στήλης clmn_name_1 με όρους μετά από την στήλη clmn_name. τροποποίηση πίνακα: αλλαγή ονόματος του 16

17 RENAME AS tbl_name_new; ALTER TABLE tbl_name ENGINE=MyISAM; ALTER TABLE tbl_name DROP COLUMN clmn_name_1; ALTER TABLE tbl_name ADD INDEX(column_name); ALTER TABLE tbl_name DROP INDEX index_name_1; ALTER TABLE tbl_name MODIFY COLUMN clmn_name_1 ΟΡΟΣ; ALTER TABLE tbl_name ADD CONSTRAINT fk_fkeyname FOREIGN KEY (fk_name) REFERENCES tbl_name_1 (table pk) ON UPDATE CASCADE; πίνακα. τροποποίηση πίνακα: αλλαγή της μηχανής αποθήκευσης. τροποποίηση πίνακα: διαγραφή στήλης clmn_name_1. τροποποίηση πίνακα: προσθήκη ευρετηρίου (όνομα_στήλης). τροποποίηση πίνακα: διαγραφή υπάρχοντος ευρετηρίου. τροποποίηση πίνακα: αλλαγή της ίδιας της στήλης clmn_name_1. τροποποίηση πίνακα: προσθήκη του κλειδιού του πίνακα tbl_name_1 ως ξένο κλειδί στον πίνακα tbl_name, με την προϋπόθεση ότι όποια αλλαγή υπάρξει θα γίνει και στους δύο πίνακες. 17

18 5. ΕΠΙΛΟΓΗ ΔΕΔΟΜΕΝΩΝ Από εδώ και πέρα για να θέτουμε ερωτήματα στην ΒΔ, που κατασκευάσαμε με στα προηγούμενα κεφάλαια με την γλώσσα ορισμού της MySQL, θα χρησιμοποιούμε την γλώσσα χειρισμού της MySQL. Τα ερωτήματα επιλογής ξεκινούν με την εντολή SELECT. Έτσι για να επιλέξουμε στοιχεία από έναν πίνακα γράφουμε: SELECT στήλες FROM όνομα_πίνακα; ΕΠΙΛΟΓΗ ΣΥΓΚΕΚΡΙΜΕΝΩΝ ΣΤΗΛΩΝ ΤΟΥ ΠΙΝΑΚΑ Παράδειγμα: Επιλογή του κωδικού, του ονόματος και της περιγραφής όλων των ειδών της αποθήκης. SELECT prod_id, prod_name, prod_descr FROM products; ΕΠΙΛΟΓΗ ΟΛΩΝ ΤΩΝ ΕΓΓΡΑΦΩΝ ΤΟΥ ΠΙΝΑΚΑ Για να δούμε όλα τα προϊόντα της αποθήκης γράφουμε: SELECT * FROM products; 18

19 ΕΠΙΛΟΓΗ ΜΕ ΤΗΝ ΧΡΗΣΗ ΣΥΝΘΗΚΩΝ Εάν θέλουμε να επιστρέφονται συγκεκριμένες τιμές από την ΒΔ και να κάνουμε πιο αποδοτικά τα ερωτήματα χρησιμοποιούμε συνθήκες μαζί με τον όρο WHERE. Οι συνθήκες είναι ένα σύνολο από στήλες, τιμές και τελεστές που μπαίνουν μετά τους πίνακες στα ερωτήματα επιλογής. Η σύνταξη είναι η εξής: SELECT όνομα_στήλης FROM όνομα_πίνακα WHERE συνθήκη; Πιο κάτω φαίνονται οι συνηθέστεροι τελεστές στην MySQL ΤΕΛΕΣΤΗΣ ΣΗΜΑΣΙΑ ΤΕΛΕΣΤΗΣ ΣΗΜΑΣΙΑ = Ίσο με IN Τιμή που βρίσκεται σε έναν κατάλογο < Μικρότερο από BETWEEN Μέσα σε ένα εύρος > Μεγαλύτερο από NOT BETWEEN Έξω από ένα εύρος <= Μικρότερο από ή ίσο με OR (also II) Όπου επαληθεύεται μία από τις δύο συνθήκες >= Μεγαλύτερο από ή ίσο με AND (also &&) Όπου επαληθεύονται και οι δύο συνθήκες!= (also <>) Διάφορο του NOT (also!) Όπου η συνθήκη δεν επαληθεύεται IS NOT NULL Έχει τιμή IS NULL Δεν έχει τιμή 19

20 Παράδειγμα: Να βρεθούν οι παραγγελίες του πελάτη 24: SELECT * FROM paragelies WHERE pel_id=24; Σημ. Μπορούμε επίσης να εκτελούμε κι απλές μαθηματικές πράξεις μέσα στην συνθήκη χρησιμοποιώντας τους αριθμητικούς τελεστές (+, -, *, /). ΕΥΡΕΣΗ ΕΓΓΡΑΦΩΝ ΜΕ ΤΟΝ ΤΕΛΕΣΤΗ ΙΣΟΤΗΤΑΣ Για να βρούμε μέσα σε ένα πεδίο κειμένου ή ημερομηνίας κάποια εγγραφή, χρησιμοποιούμε στην συνθήκη τον τελεστή ισότητας =. SELECT * FROM όνομα_πίνακα WHERE όνομα_στήλης = λέξη ; ΣΥΝΘΗΚΕΣ LIKE - NOT LIKE Για να βρούμε μέσα σε ένα πεδίο κειμένου κάποια εγγραφή την οποία δεν μπορούμε να την βρούμε με την χρήση τελεστή σύγκρισης, χρησιμοποιούμε τον τελεστή LIKE με χαρακτήρα μπαλαντέρ. SELECT * FROM όνομα_πίνακα WHERE όνομα_στήλης LIKE λέξη* ; Χαρακτήρες μπαλαντέρ: Το * (ή το %) υποκαθιστά πολλούς χαρακτήρες σε ένα κείμενο, Το? (ή το _) υποκαθιστά έναν χαρακτήρα. 20

21 Παράδειγμα1: Να βρεθούν οι πελάτες που το επώνυμό τους αρχίζει από Παπα SELECT * FROM pelates WHERE pel_surname LIKE Παπα* ; Παράδειγμα2: Να βρεθούν τα είδη που η περιγραφή τους τελειώνει σε nitor SELECT * FROM products WHERE prod_descr LIKE %nitor ; 21

22 6. ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ Η συνθήκη WHERE βάζει περιορισμούς στις εγγραφές που επιστρέφονται. Ο όρος ORDER BY ταξινομεί τις εγγραφές που επιστρέφονται. Παράδειγμα: SELECT * FROM table_name ORDER BY column_name; By default η σειρά ταξινόμησης είναι αύξουσα. (ASC) Η βάση ταξινομεί ως προς το κλειδί. Σημ. Εάν θέλουμε η σειρά να είναι φθίνουσα τότε μετά το όνομα στήλης χρησιμοποιούμε τον όρο DESC. Παράδειγμα: SELECT * FROM table_name ORDER BY column_name DESC; 22

23 Σειρά εμφάνισης αποτελεσμάτων ΣΕΙΡΑ ΑΡΙΘΜΟΙ ΚΕΙΜΕΝΟ ΗΜΕΡΟΜΗΝΙΕΣ NULL Αύξουσα ASC Από το μικρότερο στο μεγαλύτερο Από το Α στο Ζ Από την παλαιότερη στην Εμφανίζονται πρώτες Φθίνουσ α DESC Από το μεγαλύτερο στο μικρότερο πιο πρόσφατη Από το Ζ στο Α Από την πιο πρόσφατη στην παλαιότερη Εμφανίζονται τελευταίες Σημ. Όταν έχουμε σύνθετα ερωτήματα με συνθήκες where, ενώσεις ή και άλλους όρους η ταξινόμηση χρησιμοποιείται στο τέλος του ερωτήματος. Περιορίζουμε τα πλήθος των επιστρεφόμενων αποτελεσμάτων με τον όρο LIMIT. Ο όρος LIMIT δηλώνει πόσες εγγραφές θα επιστραφούν. Χρησιμοποιείται με δύο τρόπους. 1 ος τρόπος SELECT στήλες FROM πίνακας LIMIT πλήθος_εγγραφών; 2 ος τρόπος SELECT στήλες FROM πίνακας LIMIT σημείο_εκκίνησης, πλήθος_εγγραφών; 23

24 Παράδειγμα 1: SELECT * FROM πίνακας LIMIT 5; Επιστρέφει τις 5 πρώτες πλειάδες του πίνακα. Παράδειγμα 2: SELECT * FROM πίνακας LIMIT 5, 12; Επιστρέφει 12 πλειάδες του πίνακα ξεκινώντας από την 6. Εν κατακλείδι: Ο όρος WHERE ORDER BY LIMIT Δηλώνει: ποιες εγγραφές θα επιστραφούν πως θα επιστραφούν πόσες εγγραφές θα επιστραφούν 24

25 7. ΣΥΖΕΥΞΗ (ΕΝΩΣΗ) ΠΙΝΑΚΩΝ Οι συζεύξεις πινάκων χρησιμοποιούνται για να εξαχθούν από τη ΒΔ πληροφορίες που βρίσκονται σε περισσότερους από έναν πίνακες. Υπάρχουν οι εσωτερικές και οι εξωτερικές συζεύξεις πινάκων. ΕΣΩΤΕΡΙΚΗ ΣΥΖΕΥΞΗ Έστω μια σχέση r με σχήμα {Χ,Υ} και μίας σχέση s με σχήμα {Y,Z}. Φυσική σύζευξη (ή εσωτερική σύζευξη) είναι μια σχέση με σχήμα {Χ,Υ,Ζ} και κορμό το σύνολο των συνδυασμών των πλειάδων των R και S για τις οποίες οι τιμές στο κοινό γνώρισμα Υ ταυτίζονται. Δηλαδή μια πλειάδα της r θα συνδυαστεί με μια πλειάδα της s αν και μόνο αν οι τιμές στο κοινό γνώρισμα Υ ταυτίζονται μεταξύ τους. Το ερώτημα εσωτερικής σύζευξης είναι το παρακάτω: SELECT * FROM table1 INNER JOIN table2 ON table1.column1 = table2.column1; Εικ.1 Διάγραμμα Venn εσωτερικής σύζευξης πινάκων. Σημ. Στην επιλογή πληροφοριών με σύζευξη πινάκων πρέπει στην σύνταξη να χρησιμοποιούμε τελείες αν υπάρχουν στήλες στους πίνακες με το ίδιο όνομα. 25

26 Στο σενάριο που δουλεύουμε το ερώτημα: SELECT * FROM paragelies INNER JOIN pelates ON paragelies.pel_id =pelates.pel_id ; θα επιστρέψει τις πλειάδες από τους δύο πίνακες όπου οι τιμές στις στήλες pelates.pel_id, paragelies.pel_id είναι κοινές. Με άλλα λόγια θα αντικαταστήσει το κλειδί pel_id στον πίνακα paragelies με όλες τις πληροφορίες από τον πίνακα πελάτες που αντιστοιχούν στο κλειδί. ΕΞΩΤΕΡΙΚΗ ΣΥΖΕΥΞΗ Οι εξωτερικές συζεύξεις επιστρέφουν εγγραφές που δεν ικανοποιούν κάποια συνθήκη. Η εξωτερική σύζευξη δίνει ως αποτέλεσμα ότι και η εσωτερική, αλλά και επιπλέον δίνει πλειάδες από την μία ή την άλλη σχέση που δεν έχουν ταιριαστές τιμές. Αν υπάρχουν τέτοιες πλειάδες θα εμφανιστούν στο αποτέλεσμα της εξωτερικής σύζευξης. Υπάρχουν δύο τέτοιες συζεύξεις, η αριστερή και η δεξιά. Αριστερή εξωτερική σύζευξη: SELECT * FROM pelates LEFT JOIN paragelies ON paragelies.pel_id =pelates.pel_id ; 26

27 Εικ.2 Διάγραμμα Venn αριστερής εξωτερικής σύζευξης πινάκων. Δεξιά εξωτερική σύζευξη: SELECT * FROM paragelies RIGHT JOIN pelates ON paragelies.pel_id =pelates.pel_id ; Αυτά τα ερωτήματα επιστρέφουν τις ίδιες εγγραφές, επιστρέφουν δηλαδή όλους τους πελάτες που έχουν παραγγελίες αλλά και αυτούς που δεν εμφανίζονται στον πίνακα παραγγελίες. Όταν δύο πίνακες έχουν το ίδιο όνομα κοινής στήλης μπορούμε πιο απλά να χρησιμοποιήσουμε τον όρο USING(όνομα κοινής στήλης). Δηλ: SELECT * FROM paragelies RIGHT JOIN pelates USING(pel_id); Στα ερωτήματα μπορούμε να επιστρέψουμε συγκεκριμένες τιμές από γνωρίσματα των δύο πινάκων δηλαδή: SELECT paragelies.par_id, paragelies.par_date, pelates.pel_name, pelates.pel_phone FROM paragelies RIGHT JOIN pelates ON paragelies.pel_id =pelates.pel_id ; 27

28 Ή να επιστρέψουμε όλες τις πλειάδες του ενός πίνακα χρησιμοποιώντας το όνομα του πίνακα και τον αστερίσκο * και τιμές συγκεκριμένων γνωρισμάτων από τον άλλο δηλαδή: SELECT paragelies.par_id, paragelies.par_date, pelates.* FROM paragelies RIGHT JOIN pelates ON paragelies.pel_id =pelates.pel_id ; 28

29 8. ΣΥΝΟΨΗ & ΣΥΝΑΡΤΗΣΕΙΣ ΤΗΣ MySQL Η σύνοψη (ή αλλιώς ομαδοποίηση) ομαδοποιεί πλειάδες μιας σχέσης με βάση κοινές τιμές σε ένα ή περισσότερα γνωρίσματα. Από την ομαδοποίηση προκύπτουν υποσύνολα πλειάδων υπό την μορφή δυναμικού πίνακα. Σε κάθε ένα από τα υποσύνολα των πλειάδων που προκύπτουν μπορεί να εφαρμοστεί μια συνάρτηση συνάθροισης (aggregating function), όπως η καταμέτρηση του πλήθους ή ο υπολογισμός του μέσου όρου ή η επιστροφή της μικρότερης τιμής κλπ. ΣΥΝΑΡΤΗΣΕΙΣ ΟΜΑΔΟΠΟΙΗΣΗΣ MIN(στήλη) επιστρέφει την μικρότερη τιμή από μια στήλη. MAX(στήλη) επιστρέφει την μεγαλύτερη τιμή από μια στήλη. COUNT(στήλη) υπολογίζει τον αριθμό των γραμμών. SUM(στήλη) επιστρέφει το άθροισμα όλων των τιμών μιας στήλης. AVG(στήλη) επιστρέφει το μέσο όρο των τιμών μιας στήλης. ΑΛΛΕΣ ΣΥΝΑΡΤΗΣΕΙΣ Εκτός από τις συναρτήσεις συνάθροισης χρησιμοποιούμε συναρτήσεις μορφοποίησης κειμένου, αριθμητικές συναρτήσεις, συναρτήσεις μορφοποίησης ημερομηνίας και ώρας. 29

30 ΣΥΝΑΡΤΗΣΕΙΣ ΚΕΙΜΕΝΟΥ. Για να χρησιμοποιήσουμε μια συνάρτηση πρέπει να καθορίσουμε σε ποιες στήλες θα την εφαρμόσουμε. SELECT FUNCTION(στήλη) FROM πίνακας; Για να καθορίσουμε πολλές στήλες γράφουμε: SELECT στήλη1, FUNCTION(στήλη2), στήλη3 FROM πίνακας; Μερικές συναρτήσεις κειμένου: SUBSTRING(στήλη ή string, αρχή, μήκος) επιστρέφει ένα τμήμα ενός αλφαριθμητικού ή μιας στήλης, με χαρακτήρα αρχής και το πλήθος των επιστρεφομένων χαρακτήρων. LENGTH(στήλη ή string) επιστρέφει το μήκος του αλφαριθμητικού που είναι αποθηκευμένο στην στήλη. UPPER(στήλη ή string) μετατρέπει τους χαρακτήρες του αλφαριθμητικού σε κεφαλαία. LOWER(στήλη ή string) μετατρέπει τους χαρακτήρες του αλφαριθμητικού σε πεζά. 30

31 ΣΥΝΕΝΩΣΗ ΚΑΙ ΨΕΥΔΩΝΥΜΑ Συνένωση τιμών κάνουμε με την συνάρτηση CONCAT() η οποία συνοδεύεται με το ψευδώνυμο (alias). Η CONCAT() συνενώνει τιμές στηλών άρα εφαρμόζεται σε πάνω από δύο στήλες με κόμματα ανάμεσα τους. Την συνάρτηση ακολουθεί ο όρος AS και το ψευδώνυμο. SELECT CONCAT(στήλη1,, στήλη2) AS ψευδώνυμο FROM πίνακας; Εναλλακτικά μπορούμε να δώσουμε ψευδώνυμο και στον πίνακα. SELECT CONCAT(στήλη1,, στήλη2) AS ψευδώνυμο FROM πίνακας AS ψευδώνυμο_πίνακα; ΑΡΙΘΜΗΤΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ FORMAT(αριθμός ή στήλη, x) επιστρέφει το ποσό ή το περιεχόμενο μιας στήλης αριθμών μορφοποιημένο με x δεκαδικές θέσεις και κόμματα ανά 3 ψηφία. ROUND(αριθμός ή στήλη,x) επιστρέφει το ποσό ή το περιεχόμενο μιας στήλης αριθμών στρογγυλοποιημένο σε x δεκαδικές θέσεις. MOD(x, y) επιστρέφει το υπόλοιπο της διαίρεσης του x με το y. Το x και το y μπορεί να είναι στήλες ή αριθμοί ή και τα δύο. POW(x, y) επιστρέφει την τιμή του x υψωμένη στην δύναμη του y. 31

32 ΣΥΝΑΡΤΗΣΕΙΣ ΗΜΕΡΟΜΗΝΙΑΣ ΚΑΙ ΩΡΑΣ. MONTH(στήλη) επιστρέφει μόνο τον αριθμό του μήνα. DATE(στήλη) επιστρέφει μόνο τον αριθμό της ημερομηνίας. DATE_ADD(στήλη, INTERVAL x type) προσθέτει στις ημερομηνίες της στήλης ένα διάστημα x μονάδες τύπου ημέρας ή μήνα ή έτους. DATE_SUB(στήλη, INTERVAL x type) αφαιρεί στις ημερομηνίες της στήλης ένα διάστημα x μονάδες τύπου ημέρας ή μήνα ή έτους. CURDATE() επιστρέφει την τρέχουσα ημερομηνία. CUETIME() επιστρέφει την τρέχουσα ώρα. Παράδειγμα 1 Πρόσθεσε στην ημερομηνία 2 ώρες. DATE_ADD(date, INTERVAL 2 HOUR) Παράδειγμα 2 Αφαίρεσε από την ημερομηνία 3 μέρες. DATE_SUB(date, INTERVAL 3 DAY) 32

33 ΜΟΡΦΟΠΟΙΗΣΗ ΗΜΕΡΟΜΗΝΙΑΣ ΚΑΙ ΩΡΑΣ DATE_FORMAT Μορφοποίηση ημερομηνίας και ώρας. DATE_FORMAT(στήλη, μορφοποίηση ) TIME_FORMAT Μορφοποίηση μόνο της ώρας γίνεται με την συνάρτηση TIME_FORMAT(στήλη, μορφοποίηση ) Μορφοποίηση με την χρήση του συμβόλου % και συγκεκριμένους τελεστές που φαίνονται πιο κάτω. Τελεστής Είδος μορφοποίησης %e ημέρα του μήνα 1-31 %a σύντμηση ονόματος ημέρας Κυρ-Σαβ %b σύντμηση ονόματος μήνα Ιαν-Δεκ %W όνομα ημέρας %d ημέρα του μήνα διψήφια %D ημέρα με επίθεμα 1 st 31 st %m αριθμός μήνα διψήφιος %M όνομα μήνα Ιανουάριος-Δεκέμβριος %Y έτος τετραψήφιο %y έτος διψήφιο 33

34 Άλλες χρήσιμες συναρτήσεις. DISTINCT(στήλη) χρησιμοποιείται με τον όρο GROUP BY για να επιστρέψει ο αριθμός των μοναδικών εγγραφών ανά κατηγορία. SELECT DATABASE() μας επιστρέφει το όνομα της βάσης που χρησιμοποιείται εκείνη την στιγμή. SELECT USER() επιστρέφει το όνομα του χρήστη. 34

35 9. ΠΡΟΒΟΛΕΣ (views) Μια προβολή είναι απλώς ένας ειδικός τύπος πίνακα, που συνήθως βασίζεται στη δομή και τα δεδομένα των τυπικών πινάκων. Για παράδειγμα, στη βάση δεδομένων timologisi, συχνά πρέπει να βλέπουμε το συνολικό ποσό με το οποίο έχει τιμολογηθεί κάθε πελάτης. Έχουμε τη δυνατότητα να δημιουργήσουμε μια προβολή που να απεικονίζει μόνο αυτές τις πληροφορίες. Αυτό μας κάνει να σκεφτείτε ότι η προβολή είναι μια στατική εμφάνιση μερικών δεδομένων, ένα στιγμιότυπο που λαμβάνεται κατά το χρόνο δημιουργίας της προβολής. Αυτό όμως δεν ισχύει. Αν ορίσουμε μια προβολή που βασίζεται στην επιλογή δεδομένων από άλλους πίνακες, όταν ενημερωθούν αυτοί οι πίνακες θα ενημερωθούν και τα δεδομένα της προβολής. ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΒΟΛΗΣ Για να δημιουργήσουμε μια προβολή χρησιμοποιούμε τη εντολή CREATE VIEW. Η σύνταξη είναι η εξής: CREATE VIEW όνομα_προβολής AS ερώτημα_επιλογής; Η νέα προβολή δημιουργείται με ονόματα στηλών τα οποία αντιστοιχίζονται με αυτά που ανακτώνται από την εντολή SELECT. 35

36 Παράδειγμα: CREATE VIEW stoixeia_pelath AS SELECT first name, last_name, phone FROM pelates; Η προβολή stoixeia_pelath θα περιέχει τρεις στήλες, με ονόματα first_name, last_name, και phone του πίνακα pelates. Για να δούμε πως δημιουργήθηκε μια προβολή εφαρμόζουμε την εντολή: SHOW CREATE VIEW όνομα_προβολής; ΤΡΟΠΟΠΟΙΗΣΗ Η ΔΙΑΓΡΑΦΗ ΠΡΟΒΟΛΗΣ Όταν δημιουργήσουμε μια προβολή, υπάρχουν δύο τρόποι τροποποίησης του ορισμού της. Η πρώτη μέθοδος είναι ή χρήση της σύνταξης CREATE VIEW, με τον προστιθέμενο όρο OR REPLACE: CREATE OR REPLACE VIEW όνομα_προβολής AS ερώτημα_select; Για να εκτελέσουμε αυτή την εντολή πρέπει να έχουμε προνόμια διαγραφής προβολών DROP VIEW (επειδή διαγράφεται η προβολή και μετά δημιουργείται μια νέα με το ίδιο όνομα). 36

37 Η δεύτερη μέθοδος είναι η χρήση μιας εντολής ΑLTER VIEW. Αυτή μοιάζει αρκετά με την εντολή CREATE VIEW: ALTER VIEW όνομα_προβολής AS ερώτημα_select; Αν δεν χρειαζόμαστε πλέον μια προβολή, μπορούμε να τη διαγράψουμε χρησιμοποιώντας την εντολή DROP VIEW όνομα,προβολής; Για να πάρουμε πρόσθετα μέτρα ασφαλείας, έχουμε τη δυνατότητα προσθήκης του όρου IF EXISTS: DROP VIEW IF EXISTS όνομα_προβολής; Σημ. Επειδή τα δεδομένα στις περισσότερες προβολές βασίζονται σε δεδομένα που αποθηκεύονται σε πραγματικούς πίνακες, όταν χρειάζεται θα πρέπει να αλλάζουμε τα δεδομένα στους υποκείμενους πίνακες και όχι στην προβολή. 37

38 ΒΙΒΛΙΟΓΡΑΦΙΑ Εισαγωγή στη MySQL δεύτερη Αμερικάνικη έκδοση Larry Ullman - Εκδόσεις Κλειδάριθμος Θεμελιώδεις Αρχές Συστημάτων Βάσεων Δεδομένων Τόμος 1&2 - Elmasri Ramez - Navathe Shamkant B. - Δίαυλος ΑΕ Εκδόσεις Βιβλίων Βάσεις Δεδομένων και SQL μια πρακτική προσέγγιση - Α. Σταυρακούδης - Εκδόσεις Κλειδάριθμος Μαθήματα Βάσεων Δεδομένων - Βασίλειος Βερύκιος - Εκδόσεις Τζιόλα & Υιοί Α.Ε

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

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ Η συνθήκη WHERE βάζει περιορισμούς στις εγγραφές που επιστρέφονται. Ο όρος ORDER BY ταξινομεί τις εγγραφές που επιστρέφονται. Παράδειγμα: SELECT * FROM table_name ORDER

Διαβάστε περισσότερα

ΔΟΜΕΣ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

ΔΟΜΕΣ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΔΟΜΕΣ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΣΗΜΕΙΩΣΕΙΣ (Κατασκευή ΒΔ με τη ΓΛΩΣΣΑ MySQL) ΕΙΣΑΓΩΓΗ Βάση δεδομένων-βδ (Data Base-DB) είναι ένα πλήθος στοιχείων συναφών μεταξύ τους, τοποθετημένα και ταξινομημένα

Διαβάστε περισσότερα

ΕΝΗΜΕΡΩΣΗ ΔΕΔΟΜΕΝΩΝ. UPDATE products SET prod_fpa=19 WHERE prod_fpa=23; SELECT prod_descr,purchase,purchase_date FROM products WHERE prod_fpa=9;

ΕΝΗΜΕΡΩΣΗ ΔΕΔΟΜΕΝΩΝ. UPDATE products SET prod_fpa=19 WHERE prod_fpa=23; SELECT prod_descr,purchase,purchase_date FROM products WHERE prod_fpa=9; ΕΝΗΜΕΡΩΣΗ ΔΕΔΟΜΕΝΩΝ 4.10 Επαναφέρετε πάλι το είδος 20 (όλο το στιγμιότυπο) στον πίνακα products με τις εντολές INSERT INTO. 4.11 Διαγράψτε το είδος 12 (όλο το στιγμιότυπο) στον πίνακα products και επαναφέρετε

Διαβάστε περισσότερα

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

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML. Κεφάλαιο 5 Η γλώσσα SQL 5.1 Εισαγωγή Η γλώσσα SQL (Structured Query Language) είναι η πιο διαδεδομένη διαλογική γλώσσα ερωταπαντήσεων που χρησιμοποιείται για την επικοινωνία του χρήστη με σχεσιακές ΒΔ.

Διαβάστε περισσότερα

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

Τμήμα Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων «Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα» «Σημειώσεις για την SQL» ΕΞΑΜΗΝΟ: ΣΤ Δρ. Κωνσταντίνος Χ. Γιωτόπουλος Πάτρα, Νοέμβριος 2010 SQL Create Table Η CREATE TABLE

Διαβάστε περισσότερα

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

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο) TEC610 (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά

Διαβάστε περισσότερα

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

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1) Εργαστήριο Βάσεων Δεδομένων Εισαγωγή στη My (1) Η (Structured Query Language) είναι μια πλήρης γλώσσα Βάσεων Δεδομενων Είναι δομημένη σε βάσεις που περιέχουν πίνακες Οι πίνακες αποτελούνται από γραμμές

Διαβάστε περισσότερα

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/

Διαβάστε περισσότερα

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση Βάσεις Δεδομένων 5η εργαστηριακή άσκηση SQL Δρ. Μαρία Ευθυμιοπούλου Εντολές sql Για να γράψετε ή να επικολλήσετε εντολές sql πηγαίνετε από το μενού SQL Workshop και επιλέγετε το SQL Commands 1. Δημιουργία

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Φροντιστήριο 3 ο (26/11/2008) Εισαγωγή στην Mysql SQL Η SQL (Structured Query Language) είναι μια πλήρης γλώσσα Βάσεων Δεδομένων. Είναι δομημένη σε βάσεις που περιέχουν πίνακες.

Διαβάστε περισσότερα

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων Η γλώσσα SQL H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων H SQL έχει διάφορα τμήματα: Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) Γλώσσα Χειρισμού Δεδομένων (ΓΧΔ) Ενσωματωμένη

Διαβάστε περισσότερα

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 3ο Μάθημα: Εισαγωγή στην SQL. Δρ. Κωνσταντίνος Χ.

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 3ο Μάθημα: Εισαγωγή στην SQL. Δρ. Κωνσταντίνος Χ. Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας 3ο Μάθημα: Εισαγωγή στην SQL Δρ. Κωνσταντίνος Χ. Γιωτόπουλος SQL Background SQL Structured Query Language Standard query γλώσσα για

Διαβάστε περισσότερα

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

Σχεδιασμός Βάσεων Δεδομένων Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 4 Δρ. Βασιλική Κούφη Περιεχόμενα Υλοποίηση Βάσεως Δεδομένων Εκτέλεση ερωτημάτων SQL στην Βάση Δεδομένων BHMA 1. Σχεδιασμός

Διαβάστε περισσότερα

Οψεις (VIEWS) στην SQL Η εντολή CREATE VIEW Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 55 Περιεχόμενα 1 Εισαγωγικά για τις όψεις 2 Οψεις και συζεύξεις 3 Επιπλέον χρήση των όψεων

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΤΕΤΑΡΤΟ Insert, Update, Delete, Ένωση πινάκων Γιώργος Μαρκοµανώλης Περιεχόµενα Group By... 1 Having...1 Οrder By... 2 Εντολή Insert...

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΤΡΙΤΟ Foreign key, Index, DML Ερωτήµατα Γιώργος Μαρκοµανώλης Περιεχόµενα Foreign Key... 1 Index... 4 DML Ερωτήµατα... 6 INSERT...

Διαβάστε περισσότερα

Τμήμα Πληροφορικής ΑΠΘ 2013-2014

Τμήμα Πληροφορικής ΑΠΘ 2013-2014 Βάσεις Δεδομένων Εργαστήριο V Τμήμα Πληροφορικής ΑΠΘ 2013-2014 2 Σκοπός του 5 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: η μελέτη ερωτημάτων τροποποίησης δομής / δεδομένων η μελέτη σύνθετων ερωτημάτων

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1) Εργαστήριο Βάσεων Δεδομένων Εισαγωγή στη MySQL (1) SQL Η SQL (Structured Query Language) είναι μια πλήρης γλώσσα Βάσεων Δεδομένων. Είναι δομημένη σε βάσεις που περιέχουν πίνακες. Οι πίνακες αποτελούνται

Διαβάστε περισσότερα

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Πίνακας Πεδίο Τύπος Κύριο κλειδί Αναφορική ακεραιότητα οντοτήτων Ξένο κλειδί Αναφορική ακεραιότητα δεδομένων Δρ. Κεραμόπουλος Ευκλείδης 2 ΚΥΡΙΟ ΚΛΕΙΔΙ ΦΟΙΤΗΤΗΣ ΑΜ CHAR(5) ΟΝΟΜΑ VARCHAR(20)

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής. ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2012 SQL Structured Query Language Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις της σχεσιακής άλγεβρας ΠΡΑΞΗ ΣΚΟΠΟΣ

Διαβάστε περισσότερα

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

Σχεδίαση Βάσεων Δεδομένων Οδηγίες Μέρος 1: Απαντήστε κάθε ερώτηση. 1. Ποια είναι τα πλεονεκτήματα που παρέχει το Περιβάλλον Βάσεων Δεδομένων της Oracle για τις επιχειρήσεις; Το σύστημα διαχείρισης βάσεων δεδομένων της Oracle δίνει

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Άσκηση 2 Σκοπός της άσκησης είναι: 1. Με δεδομένο το σχεσιακό διάγραμμα, η υλοποίηση μιας βάσης σε MySQL. 2. Η εισαγωγή δεδομένων στη βάση. 3. Η υλοποίηση απλών ερωτημάτων mysql

Διαβάστε περισσότερα

Ηλεκτρονικοί Υπολογιστές II

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Όψεις (views) στην SQL Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

DELETE, UPDATE, INSERT.

DELETE, UPDATE, INSERT. Ενημέρωση βάσης δεδομένων με SQL DELETE, UPDATE, INSERT Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 88 Περιεχόμενα 1 Γενικά για την αποθήκευση δεδομένων και την ενημέρωση της

Διαβάστε περισσότερα

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

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός

Διαβάστε περισσότερα

DELETE, UPDATE, INSERT

DELETE, UPDATE, INSERT Ενημέρωση βάσης δεδομένων με SQL DELETE, UPDATE, INSERT Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 103 Περιεχόμενα 1 Γενικά για την αποθήκευση

Διαβάστε περισσότερα

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

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση Βάσεις Δεδομένων 2η εργαστηριακή άσκηση Εισαγωγή στο περιβάλλον της oracle Δημιουργία πινάκων Δρ. Εύη Φαλιάγκα 1. Login Χρησιμοποιώντας έναν web explorer, μπαίνετε στο http://10.0.0.6:8080/apex και συμπληρώνετε

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3: Ενότητα 3: Σχεσιακό Μοντέλο. Από το ιδεατό στο λογικό (σχεσιακό) μοντέλο. Από το λογικό στο φυσικό (SQL) μοντέλο Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

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

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2) Εργαστήριο βάσεων δεδομένων Εισαγωγή στη MySQL (2) Παράδειγμα - ER Παράδειγμα-Σχεσιακό Παράδειγμα Δημιουργία Πινάκων CREATE TABLE student( name VARCHAR(25) DEFAULT 'unknown' NOT NULL, lastnamevarchar(25)

Διαβάστε περισσότερα

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

Βασικές Εντολές SQL. Θεωρία & Εντολές SQL. Γραμμή Εντολών MS-DOS (MySQL) Βασικές Εντολές SQL Θεωρία & Εντολές SQL Γραμμή Εντολών MS-DOS (MySQL) Ο καλός σχεδιασμός μιας Β.Δ είναι σημαντικός για την ανάπτυξη μιας εφαρμογής με υψηλή απόδοση. Γι αυτό τον λόγο μια Β.Δ θα πρέπει

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων. Triggers Εργαστήριο Βάσεων Δεδομένων Triggers CREATE TRIGGER Δήλωση δημιουργίας Trigger: CREATE [DEFINER = { user CURRENT_USER }] TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #6

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #6 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #6 Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Φεβρουάριος 2008 Περιεχόμενα JOIN συνέχεια

Διαβάστε περισσότερα

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα

Διαβάστε περισσότερα

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 2 ο Σύνολο Ασκήσεων Οι βαθμοί θα ανακοινωθούν αύριο μαζί με τους βαθμούς της προγραμματιστικής άσκησης Τα αστεράκια δείχνουν τον εκτιμώμενο βαθμό δυσκολίας (*) εύκολο (**) μέτριο (***) δύσκολο Βάσεις Δεδομένων

Διαβάστε περισσότερα

Βάσεις Δεδομένων (Databases)

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Δημιουργία Πεδίων Ορισμού Πεδίο Ορισμού είναι συστατικό του σχήματος για τον ορισμό των μακροεντολών

Διαβάστε περισσότερα

Τμήμα Πληροφορικής ΑΠΘ

Τμήμα Πληροφορικής ΑΠΘ Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ 2013-2014 2 Σκοπός του 2 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: Η μελέτη ερωτημάτων σε μία μόνο σχέση. Εξετάζουμε τους τελεστές επιλογής

Διαβάστε περισσότερα

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

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2) Εργαστήριο βάσεων δεδομένων Εισαγωγή στη MySQL (2) Παράδειγμα -ER Παράδειγμα-Σχεσιακό Παράδειγμα Δημιουργία Πινάκων CREATE TABLE student( name VARCHAR(25) DEFAULT 'unknown' NOT NULL, lastname VARCHAR(25)

Διαβάστε περισσότερα

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Απλά ερωτήματα Επιλογής Ερωτήματα με Ενώσεις πινάκων Ερωτήματα με Παραμετρικά Κριτήρια Ερωτήματα με Υπολογιζόμενα πεδία Απλά ερωτήματα Επιλογής Τα Ερωτήματα μας επιτρέπουν

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - SQL

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - SQL ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - SQL Διδάσκων του μαθήματος 2 Δρ. Λεωνίδας Φραγγίδης Επίκουρος Καθηγητής Τμήμα Διοίκησης Επιχειρήσεων ΤΕΙ ΑΜΘ Email: fragidis@teiemt.gr Ώρες Γραφείου: Τρίτη (10:00 12:00) Προτεινόμενα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούµενα µαθήµατα: Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε

Διαβάστε περισσότερα

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

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων Ενότητα 4 Επεξεργασία πινάκων 36 37 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε

Διαβάστε περισσότερα

Ηλεκτρονικοί Υπολογιστές II

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Ενημέρωση βάσης δεδομένων με τις εντολές INSERT, DELETE, UPDATE Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL Εθνικό Μετσόβιο ολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL Η γλώσσα SQL

Διαβάστε περισσότερα

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #3

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #3 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #3 Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Φεβρουάριος 2008 Περιεχόμενα ξένα κλειδιά

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Φροντιστήριο 4/2/2009 Δικαιώματα χρηστών - Προβολές (Views) ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ MYSQL queries results mysql host DB server queries results Client host Β Δ Ηχρήσητηςmysql βασίζεται

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2 Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Φεβρουάριος 2008 Περιεχόμενα SQL Language

Διαβάστε περισσότερα

databases linux - terminal (linux / windows terminal)

databases linux - terminal (linux / windows terminal) databases linux - terminal (linux / windows terminal) 1) ανοίγουμε την mysql -> $ mysql -u root -p (enter) password (enter) TIP: αν κατά την εντολή αυτή μας γράψει, ERROR 2002 (HY000): Can't connect to

Διαβάστε περισσότερα

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

PHPMyAdmin: Σύντομος οδηγός για αρχάριους 2014 PHPMyAdmin: Σύντομος οδηγός για αρχάριους Καρούσος Νικόλαος Επιστημονικός Συνεργάτης Παρασκευά Σταυρούλα Φοιτήτρια, Εργαστηριακή Βοηθός, τμήμα ΕΠΔΟ Μεσολογγίου 33 Έκδοση 1.1 Πρόλογος... - 2-1. Είσοδος

Διαβάστε περισσότερα

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY. Η γλώσσα ορισμού δεδομένων της SQL Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 Περιεχόμενα 1 Δημιουργία πινάκων με την

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές Εργαστήριο Βάσεων Δεδομένων Δικαιώματα Χρηστών Προβολές Επικοινωνία με MySQL mysql host DB server queries results Client host Β Δ Η χρήση της mysql βασίζεται στο μοντέλο client server Remote access to

Διαβάστε περισσότερα

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου]

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου] ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου] Επιμέλεια: Καρβούνης Ευάγγελος, PhD, Επιστημονικός Συνεργάτης του Τμήματος Αντωνιάδης Νικόλαος, Καθηγητής Οκτώβριος

Διαβάστε περισσότερα

#1.1 Τι είναι η Βάση Δεδομένων

#1.1 Τι είναι η Βάση Δεδομένων 1 2 #1.1 Τι είναι η Βάση Δεδομένων Βάση δεδομένων είναι ένα πλήθος στοιχείων συναφών μεταξύ τους, τοποθετημένα και ταξινομημένα με συγκεκριμένο τρόπο. Με τη χρήση μιας Βάσης Δεδομένων μπορούμε: να καταχωρούμε

Διαβάστε περισσότερα

Παράδειγμα Insert Update Delete Alter.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (2)

Παράδειγμα Insert Update Delete Alter.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (2) Εργαστήριο Βάσεων Δεδομένων Εισαγωγή στη MySQL (2) ER Σχεσιακό Create Tables 1/4 CREATE TABLE student( name VARCHAR(25) DEFAULT 'unknown' NOT NULL, lastname VARCHAR(25) DEFAULT 'unknown' NOT NULL, AM INT(5)

Διαβάστε περισσότερα

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

Οδηγίες Χρήσης της MySQL ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΣΕ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Οδηγίες Χρήσης της MySQL Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Νοέμβριος 2007 1 Περιεχόμενα Εισαγωγή...2

Διαβάστε περισσότερα

Το Μοντέλο των Οντοτήτων Συσχετίσεων Entity Relationship Model. Νικόλαος Ζ. Ζάχαρης

Το Μοντέλο των Οντοτήτων Συσχετίσεων Entity Relationship Model. Νικόλαος Ζ. Ζάχαρης Το Μοντέλο των Οντοτήτων Συσχετίσεων Entity Relationship Model Νικόλαος Ζ. Ζάχαρης Τι είναι το ERΜ Είναι ένα μοντέλο αναπαράστασης των δεδομένων και των συσχετίσεων τους, και χρησιμοποιείται κατά τη φάση

Διαβάστε περισσότερα

ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ MYSQL

ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ MYSQL Αντώνης Χρυσόπουλος Χριστίνα Αυδίκου Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ MYSQL MySQL For Pros Διαλέχτε, καλέ κυρία, Διαλέχτε 1. Ταξινόμηση 2. Περιορισμοί 3. Τελεστές LIKE, IN, BETWEEN

Διαβάστε περισσότερα

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

Οδηγίες Χρήσης της MySQL ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΣΕ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Οδηγίες Χρήσης της MySQL Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Απρίλιος 2007 1 Περιεχόμενα Εισαγωγή...2

Διαβάστε περισσότερα

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα)

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα) Η SQL ως γλώσσα ερωτημάτων Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα) Η γλώσσα SQL Η SQL αποτελείται από: DDL (Data Definition Language)

Διαβάστε περισσότερα

Ηλεκτρονικοί Υπολογιστές II

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Εντολές ορισμού δεδομένων (DDL) στην SQL Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY. Η γλώσσα ορισμού δεδομένων της SQL Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 85 Περιεχόμενα

Διαβάστε περισσότερα

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Περιορισμοί πεδίου τιμών Περιορισμοί ακεραιότητας

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Άσκηση 2 Σκοπός της άσκησης είναι: 1. Με δεδομένο το σχεσιακό διάγραμμα, η υλοποίηση μιας βάσης σε MySQL. 2. Η εισαγωγή δεδομένων στη βάση. Για το κείμενο των προδιαγραφών της

Διαβάστε περισσότερα

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

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

Γνωρίστε το Excel 2007

Γνωρίστε το Excel 2007 Εισαγωγή τύπων Γνωρίστε το Excel 2007 Πληκτρολογήστε το σύμβολο της ισότητας (=), χρησιμοποιήστε ένα μαθηματικό τελεστή (+,-,*,/) και πατήστε το πλήκτρο ENTER. Πρόσθεση, διαίρεση, πολλαπλασιασμός και αφαίρεση

Διαβάστε περισσότερα

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

Εισαγωγή στην πληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 6: Εισαγωγή στις βάσεις δεδομένων (Μέρος Β) Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης

Διαβάστε περισσότερα

Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Ενημέρωση Βάσης Δεδομένων (INSERT, UPDATE, DELETE) SQL DCL (GRANT, DENY, REVOKE)

Διαβάστε περισσότερα

Παράδειγμα Select Introduction Group By Join Aliases.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (3)

Παράδειγμα Select Introduction Group By Join Aliases.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (3) Εργαστήριο Βάσεων Δεδομένων Εισαγωγή στη MySQL (3) ER Σχεσιακό Create Tables 1/4 CREATE TABLE student( name VARCHAR(25) DEFAULT 'unknown' NOT NULL, lastname VARCHAR(25) DEFAULT 'unknown' NOT NULL, AM INT(5)

Διαβάστε περισσότερα

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου]

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου] ΤΕΙ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου] Χειμερινό Εξ. 2013-14 Επιμέλεια: Καρβούνης Ευάγγελος Οκτώβριος 2013 Περιεχόμενα 1 Σχεδιασμός Βάσης...

Διαβάστε περισσότερα

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

Διαχείριση Βάσης Δεδομένων (dbadmin) Published on PRISMA Win Help - Megasoft (http://docs.megasoft.gr) Home > Εμπορική Διαχείριση > Διαχείριση Βάσης Δεδομένων (dbadmin) Διαχείριση Βάσης Δεδομένων (dbadmin) Μέσα από τη διαχείριση βάσης δεδομένων

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Σχεσιακό Μοντέλο SQL- Μέρος Β Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos

Διαβάστε περισσότερα

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο SQL Examples Ξένου Ρουμπίνη 1 SQL-DDL Data Definition/Description Language (DDL): προσδιορίζουν τη δομή ή το σχήμα των δεδομένων.

Διαβάστε περισσότερα

Βάσεις Δεδομένων Ι - 05. SQL Μέρος 3 ο. (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

Βάσεις Δεδομένων Ι - 05. SQL Μέρος 3 ο. (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ Βάσεις Δεδομένων Ι - 05 SQL Μέρος 3 ο (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Πρόσθετες Διαφάνειες σε Προηγούμενα Θέματα...σε Διαγραφή Πλειάδων Σημασιολογία

Διαβάστε περισσότερα

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα:

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα: ΘΕΜΑΤΑ Θέμα 1 ο Σε μία βάση δεδομένων χρηματιστηριακών συναλλαγών υπάρχουν οι παρακάτω πίνακες που αποτελούνται από τα εξής πεδία : : ΚΣ, ΗΜΝΙΑ, ΩΡΑ, ΚΜ, ΤΙΜΗ ΜΕΤΟΧΗ : ΚΜ, ΟΝΟΜΑ, ΕΤΟΣ_ΙΔΡΥΣΗΣ, ΚΚ, ΚΑΤΗΓΟΡΙΑ

Διαβάστε περισσότερα

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1 Ενεργές ΒΔ Παύλος Εφραιμίδης pefraimi ee.duth.gr Βάσεις Δεδομένων Ενεργές ΒΔ 1 Active Databases Υποστηρίζουν την αυτόματη εκτέλεση ενεργειών όταν συμβούν συγκεκριμένα γεγονότα Ένας διαδεδομένος μηχανισμός

Διαβάστε περισσότερα

Βάσεις Δεδομένων Ι 6. Ιδιότητες πεδίων. Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας

Βάσεις Δεδομένων Ι 6. Ιδιότητες πεδίων. Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας Βάσεις Δεδομένων Ι 6 Ιδιότητες πεδίων Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας ΝΙΚΟΣ ΚΑΡΟΥΣΟΣ - ΔΙΟΝΥΣΗΣ ΚΑΡΟΥΣΟΣ XE 2015-2016 Εισαγωγή Οι ιδιότητες των πεδίων διαφέρουν ανάλογα με

Διαβάστε περισσότερα

Βάσεις Δεδομένων Ι - 06. Ευρετήρια/Indexes. (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών

Βάσεις Δεδομένων Ι - 06. Ευρετήρια/Indexes. (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών Βάσεις Δεδομένων Ι - 06 Ευρετήρια/Indexes (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών ΤΕΙ Λάρισας Τι είναι τα ευρετήρια; Ευρετήριο/Index:

Διαβάστε περισσότερα

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος 2012-13 Κων/νος Φλώρος Απλοί τύποι δεδομένων Οι τύποι δεδομένων προσδιορίζουν τον τρόπο παράστασης των

Διαβάστε περισσότερα

Βάσεις Δεδομένων Ι SQL Μέρος 1 ο. Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

Βάσεις Δεδομένων Ι SQL Μέρος 1 ο. Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ Βάσεις Δεδομένων Ι - 03 SQL Μέρος 1 ο Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Γιατί SQL; Η SQL είναι γλώσσα πολύ υψηλού επιπέδου Επιτρέπει να λέμε εύκολα τι θέλουμε να κάνουμε

Διαβάστε περισσότερα

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Παύλος Εφραιμίδης Βάσεις Δεδομένων Η Γλώσσα SQL - Μέρος Πρώτο 1 SQL - Structured Query Language (1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης

Διαβάστε περισσότερα

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις Σχεδιασμός Πληροφοριακών Συστημάτων Σημειώσεις Συμπλήρωμα για τις Εκδόσεις 4 (4.1) και 4.2 των Σημειώσεων Έκδοση 19/2/2011 Μάριος Μάντακας mmantak@gmail.com Διαφορά από την προηγούμενη Έκδοση: Προσθήκη

Διαβάστε περισσότερα

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access... 9 Κεφάλαιο 2: Microsoft Access 2002... 20 Κεφάλαιο 3: Το σύστημα Βοήθειας του Microsoft Office ΧΡ... 36

Διαβάστε περισσότερα

Διαχείριση Πολιτισμικών Δεδομένων

Διαχείριση Πολιτισμικών Δεδομένων Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 7 Γλώσσα Ερωτημάτων SQL Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Βασικές Έννοιες Σχεσιακή

Διαβάστε περισσότερα

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης Περιεχόμενα 1 Γενική περιγραφή του προβλήματος 2 Μοντελοποίηση Ο/Σ 3 Σχεσιακό μοντέλο, SQL 4 Ερωτήματα

Διαβάστε περισσότερα

Ανοικτά Ακαδημαϊκά Μαθήματα

Ανοικτά Ακαδημαϊκά Μαθήματα Ανοικτά Ακαδημαϊκά Μαθήματα Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αθήνας Case Study: Σύστημα Διαχείρισης Βάσης Βιβλιοθήκης (Library Information System) - Μοντελοποίηση και Κανονικοποίηση - Υλοποίηση με χρήση

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

Διαβάστε περισσότερα

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP.

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP. SQL: Ερωτήματα ομαδοποίησης και συνάθροισης GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2016 1 / 56 Περιεχόμενα 1 Εισαγωγή, γενικές

Διαβάστε περισσότερα

Υποερωτήματα στην SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr 1 / 31 Η ανάγκη για υποερώτημα Ποιος υπάλληλος παίρνει το μεγαλύτερο μισθό; Αν ξέραμε το μεγαλύτερο μισθό, πχ 2000, θα γράφαμε:

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ ΤΡΙΤΟ ΕΝΤΟΛΕΣ SQL

ΚΕΦΑΛΑΙΟ ΤΡΙΤΟ ΕΝΤΟΛΕΣ SQL ΚΕΦΑΛΑΙΟ ΤΡΙΤΟ ΕΝΤΟΛΕΣ SQL 3.1 Εντολή επιλογής δεδομένων Η εντολή επιλογής δεδομένων select έχει την γενική μορφή SELECT FROM [WHERE ] [GROUP BY ]

Διαβάστε περισσότερα

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1) Βάσεις Δεδομένων Η γλώσσα SQL Structured Query Language) Παύλος Εφραιμίδης SQL - Structured Query Language 1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης των Σχεσιακών ΒΔ Εξασφαλίζει μεταφερσιμότητα

Διαβάστε περισσότερα

SQL Data Manipulation Language

SQL Data Manipulation Language SQL Data Manipulation Language Τελεστής union συνδυάζει subselects τα οποία παράγουν συμβατές σχέσεις γενική μορφή: subselect {union [all] subselect} περιορισμός: τα subselects δεν μπορούν να περιέχουν

Διαβάστε περισσότερα

Συστήματα Διαχείρισης Βάσεων Δεδομένων

Συστήματα Διαχείρισης Βάσεων Δεδομένων ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ Συστήματα Διαχείρισης Βάσεων Δεδομένων Νικόλαος Ζ. Ζάχαρης Τι είναι μια Βάση Δεδομένων Είναι

Διαβάστε περισσότερα

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2017-2018 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ

Διαβάστε περισσότερα

Ερωτήματα SQL με σύζευξη πινάκων ΜΗ ΕΙΝΑΙ ΒΑΣΙΛΙΚΗΝ ΑΤΡΑΠΟΝ ΕΠΙ ΓΕΩΜΕΤΡΙΑΝ Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr 1 / 30 Σκοπός του μαθήματος Εκτελείτε ερωτήματα ανάσυρσης δεδομένων από

Διαβάστε περισσότερα