ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΕΚΠΑΙ ΕΥΣΗΣ ΚΑΙ ΑΡΧΙΚΗΣ ΕΠΑΓΓΕΛΜΑΤΙΚΗΣ ΚΑΤΑΡΤΙΣΗΣ (ΕΠΕΑΕΚ ΙΙ)

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

Download "ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΕΚΠΑΙ ΕΥΣΗΣ ΚΑΙ ΑΡΧΙΚΗΣ ΕΠΑΓΓΕΛΜΑΤΙΚΗΣ ΚΑΤΑΡΤΙΣΗΣ (ΕΠΕΑΕΚ ΙΙ)"

Transcript

1 ΑΛΕΞΑΝ ΡΕΙΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΘΕΣΣΑΛΟΝΙΚΗΣ ΕΡΓΟ: «ΕΝΙΣΧΥΣΗ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΕΤΡΟ 2.2 «ΑΝΑΜΟΡΦΩΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ ΣΠΟΥ ΩΝ ΙΕΥΡΥΝΣΗ» ΕΝΕΡΓΕΙΑ «ΟΛΟΚΛΗΡΩΣΗ ΤΗΣ ΙΕΥΡΥΝΣΗΣ ΚΑΙ ΑΝΑΜΟΡΦΩΣΗΣ ΤΩΝ ΠΡΟΓΡΑΜΜΑΤΩΝ ΣΠΟΥ ΩΝ ΤΗΣ ΤΡΙΤΟΒΑΘΜΙΑΣ ΕΚΠΑΙ ΕΥΣΗΣ» ΚΑΤΗΓΟΡΙΑ ΠΡΑΞΕΩΝ γ «ΕΝΙΣΧΥΣΗ ΤΩΝ ΤΠΕ ΣΤΗΝ ΤΡΙΤΟΒΑΘΜΙΑ ΕΚΠΑΙ ΕΥΣΗ» ΠΑΚΕΤΟ ΕΡΓΑΣΙΑΣ 07 «Βελτίωση Περιεχοµένου Σπουδών του ΠΠΣ» ΑΥΓΟΥΣΤΟΣ 2006, ΘΕΣΣΑΛΟΝΙΚΗ

2 ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΕΚΠΑΙ ΕΥΣΗΣ ΚΑΙ ΑΡΧΙΚΗΣ ΕΠΑΓΓΕΛΜΑΤΙΚΗΣ ΚΑΤΑΡΤΙΣΗΣ (ΕΠΕΑΕΚ ΙΙ) ΜΕΤΡΟ ΕΝΕΡΓΕΙΑ ΚΑΤΗΓΟΡΙΑ ΠΡΑΞΕΩΝ γ ΦΟΡΕΑΣ ΥΛΟΠΟΙΗΣΗΣ ΤΟΥ ΕΡΓΟΥ ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΙΤΛΟΣ ΕΡΓΟΥ ΕΝΙΣΧΥΣΗ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΟ ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΑΚΕΤΟ ΕΡΓΑΣΙΑΣ Π.Ε. 07 Α. ΣΤΟΙΧΕΙΑ ΤΟΥ ΥΠΕΥΘΥΝΟΥ ΕΡΓΟΥ Α.1 ΟΝΟΜΑΤΕΠΩΝΥΜΟ ΗΜΗΤΡΙΟΣ ΚΛΕΦΤΟΥΡΗΣ Α.2 ΘΕΣΗ ΣΤΟΝ ΦΟΡΕΑ ΚΑΘΗΓΗΤΗΣ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΙΕΥΘΥΝΤΗΣ ΣΧΟΛΗΣ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Α.3 ΤΑΧΥ ΡΟΜΙΚΗ ΙΕΥΘΥΝΣΗ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ, ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ, ΘΕΣΣΑΛΟΝΙΚΗ Α.4 ΤΗΛΕΦΩΝΟ Α.5 FAX Α.6 ΗΛΕΚΤΡΟΝΙΚΟ ΤΑΧΥ ΡΟΜΕΙΟ Β. ΣΤΟΙΧΕΙΑ ΤΟΥ ΥΠΕΥΘΥΝΟΥ ΤΟΥ Π.Ε. Β.1 ΟΝΟΜΑΤΕΠΩΝΥΜΟ ΜΙΧΑΗΛ ΒΑΣΙΛΑΚΟΠΟΥΛΟΣ Β.2 ΕΠΑΓΓΕΛΜΑ ΑΝΑΠΛΗΡΩΤΗΣ ΚΑΘΗΓΗΤΗΣ ΤΜΗΜΑΤΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Β.3 ΤΑΧΥ ΡΟΜΙΚΗ ΙΕΥΘΥΝΣΗ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ, ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ, ΘΕΣΣΑΛΟΝΙΚΗ Β.4 ΤΗΛΕΦΩΝΟ Β.5 FAX Β.6 ΗΛΕΚΤΡΟΝΙΚΟ ΤΑΧΥ ΡΟΜΕΙΟ Γ. ΟΜΑ Α ΕΡΓΑΣΙΑΣ ΤΟΥ Π.Ε. Γ.1 ΟΝΟΜΑΤΕΠΩΝΥΜΑ κ. Βίτσας, κ. Κώστογλου, κα. Ζιώγου, κα. Μουρατίδου, κα. Αδαµίδου, κ. Παρασκευαΐδης, κ.λούρδας, κ. Χατζηµίσιος, κ. Κατωπόδης, κ. Στυλιάδης, κ. Χειµωνίδης, κ. Καµαργιάννης, κ. Αµανατιάδης, κ. Γουλιάνας, κ. Κεραµόπουλος, κ. Ψαρράς, κ. Κατσαβούνης, κ. Γιακουστίδης, κ. Βαλκάνος, κα. Κωνσταντινίδου, κ. Κοµµάτας, κ. Καράµπας, κ. Ηλιούδης, κ. αµιανίδης, κ. Χατζηπαπάς. Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

3 . ΠΕΡΙΓΡΑΦΗ ΤΩΝ ΡΑΣΤΗΡΙΟΤΗΤΩΝ ΠΟΥ ΕΚΤΕΛΕΣΤΗΚΑΝ ΣΤΟ ΠΛΑΙΣΙΟ ΤΟΥ ΠΑΚΕΤΟΥ ΕΡΓΑΣΙΑΣ, ΣΥΜΦΩΝΑ ΜΕ ΤΟΝ ΧΡΟΝΙΚΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΤΟΥ ΤΕΧΝΙΚΟΥ ΕΛΤΙΟΥ ΕΡΓΟΥ, ΑΛΛΑ ΚΑΙ ΕΠΙΠΛΕΟΝ ΕΡΓΑΣΙΕΣ. 1) ηµιουργία Γραφείου εκπαιδευτικής βοήθειας 2) ηµιουργία 12 εργαστηριών από απόσταση: a. Προγραµµατισµός Ι b. Προγραµµατισµός ΙΙ c. Λειτουργικά Συστήµατα. ΙΙ d. Βάσεις Ι e. Μεθοδολογίες Προγραµµατισµού Ι f. οµές εδοµένων Ι g. Αριθ. Ανάλυση & Προγ. Επιστ. Εφαρµ.Ι h. Στατιστική i. Βάσεις ΙΙ j. Μεθοδολογίες Προγραµµατισµού ΙΙ k. ίκτυα l. Ηλεκτρονικό Εµπόριο 3) ηµιουργία µαθήµατος από απόσταση για την ανάπτυξη Επιχειρηµατικότητας 4) ηµιουργία ιστοτόπου για τη γλωσσοµάθεια Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

4 Περιεχόµενα 1. Εισαγωγή 5 2. Ύλη και Στόχοι Μαθήµατος 6 3. Εκπαιδευτικό Υλικό Εναλλακτικός τρόπος εκτέλεσης SQL εντολών στην DB2 (από τη γραµµή εντολών του command window) Εναλλακτικός τρόπος εκτέλεσης SQL εντολών στην PostgreSQL Ρυθµίσεις για αποµακρισµένη πρόσβαση σε διακοµιστή της DB Βασική χρήση τουocelot Χρήσιµοι σύνδεσµοι Εργαστηριακές Ασκήσεις η Εργαστηριακή Άσκηση η Εργαστηριακή Άσκηση η Εργαστηριακή Άσκηση η Εργαστηριακή Aσκηση η Εργαστηριακή Άσκηση η Εργαστηριακή Άσκηση η Εργαστηριακή Άσκηση η Εργαστηριακή Aσκηση η Εργαστηριακή Aσκηση η Εργαστηριακή Άσκηση η Εργαστηριακή Άσκηση 39 Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

5 1. Εισαγωγή Το εργαστήριο από απόσταση «Βάσεις εδοµένων ΙΙ» άρχισε τη λειτουργία του από το χειµερινό εξάµηνο µε υπεύθυνη την πληροφορικό Μαρία Μουρατίδου. Το εκπαιδευτικό υλικό και οι εργαστηριακές ασκήσεις διαµορφώθηκαν από τον καθηγητή του µαθήµατος κ. Μιχαήλ Βασιλακόπουλο. Το χειµερινό εξάµηνο συµµετείχε ένας φοιτητής, ο οποίος έστελνε πάντα εµπρόθεσµα τις λύσεις των ασκήσεων και αρίστευσε πετυχαίνοντας µέσο όρο βαθµολογίας ασκήσεων 9,9. Το εαρινό εξάµηνο εγγράφηκαν 7 φοιτητές από τους οποίους συµµετείχαν ενεργά στέλνοντας ασκήσεις οι 5. Το 80% των φοιτητών που συµµετείχαν ενεργά στέλνοντας ασκήσεις πέτυχε µέσο όρο βαθµολογίας ασκήσεων πάνω από 7. Το χειµερινό εξάµηνο συµµετείχε µία φοιτήτρια, η οποία πέτυχε µέσο όρο βαθµολογίας πάνω από 6. Στην ενότητα 2 παρουσιάζεται το εκπαιδευτικό υλικό που βλέπουν οι φοιτητές και στην ενότητα 3 οι εργαστηριακές ασκήσεις που πρέπει να επιλύσουν οι φοιτητές του εργαστηρίου απόσταση για την επιτυχή παρακολούθησή του. Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

6 2. Ύλη και Στόχοι Μαθήµατος Στόχο του µαθήµατος αποτελεί η δηµιουργία του κατάλληλου υπόβαθρου γνώσεων ώστε ο µελλοντικός επαγγελµατίας Πληροφορικός να προσαρµόζεται εύκολα στις εξελίξεις οι οποίες συµβαίνουν µε γοργούς ρυθµούς στο χώρο των Βάσεων εδοµένων. Με την ολοκλήρωση του µαθήµατος, ο φοιτητής αναµένεται ότι θα: έχει εξοικειωθεί, σε ένα µεγάλο βαθµό, µε τον προγραµµατισµό σε κώδικα SQL, έχει αποκτήσει βασικές γνώσεις σε σχέση µε τη διεκπεραίωση της επεξεργασίας στο χαµηλό (εσωτερικό) επίπεδο και σε σχέση µε τη λειτουργικότητα του βελτιστοποιητή ενός σχεσιακού Σ Β. Αυτού του τύπου οι γνώσεις συνεισφέρουν τα µέγιστα στη µεγιστοποίηση των επιδόσεων ενός σύγχρονου Σ Β, έχει εµπεδώσει τα προτερήµατα της κανονικοποίησης και θα µπορεί να εντοπίζει το στάδιο πέρα από το οποίο αυτή λειτουργεί εις βάρος των επιδόσεων του πληροφοριακού συστήµατος, έχει αποκτήσει τις βασικές γνώσεις σε σχέση µε τη λειτουργικότητα µιας εφαρµογής βάσεων δεδοµένων σε πολυχρηστικό περιβάλλον και σε περιβάλλον δικτύου. Στα βασικά σηµεία του µαθήµατος περιλαµβάνονται: Προχωρηµένη SQL: Εµφωλευµένα και Αλληλοσυνδεδεµένα (υπο)αιτήµατα, διάφοροι τύποι Σύζευξης, Αναδροµικότητα, ορισµός Συναρτήσεων και ιαδικασιών από το Χρήστη, Ενσωµάτωση κώδικα SQL σε Προγραµµατιστικά Περιβάλλοντα Τρίτης Γενιάς, Ασυµβατότητα Τύπων εδοµένων κατά την Ενσωµάτωση, NULL και Ατελής Πληροφορία, η Αρχιτεκτονική της Ανοικτής Πρόσβασης: ODBC και JDBC. Αλγόριθµοι Υπολογισµού των Αιτηµάτων: Συγχώνευση και Ταξινόµηση, Ελαχιστοποίηση του Κόστους I/O, ιαδροµές Πρόσβασης, Υπολογισµός των ιεργασιών της Επιλογής, της Προβολής και της Σύζευξης.Βελτιστοποίηση των Αιτηµάτων: Σχέδιο Υπολογισµού, Μετακίνηση των Επιλογών, Χρήση Ευρετηρίων, Ισοδυναµίες στη Σχεσιακή Άλγεβρα. Προχωρηµένη Κανονικοποίηση: Κανονική µορφή Boyce-Codd, συναρτησιακές πολυεξαρτήσεις, τέταρτη κανονική µορφή, εξαρτήσεις σύζευξης και πέµπτη κανονική µορφή. Σχεδιασµός του Φυσικού Σχήµατος και Ρυθµίσεις: Υπολογισµός Φόρτου Εργασίας, Κανόνες Επιλογής Ευρετηρίων, Συγκρότηση και Ευρετηριοποίηση, Βασικές Ρυθµίσεις, Αποκανονικοποίηση, Αιτήµατα και Όψεις, Συστήµατα Μέτρησης των Επιδόσεων του Σ Β. ιαχείριση των Συναλλαγών: Ιδιότητες ACID, Χρονοπρογράµµατα, Προβλήµατα κατά την Επικάλυψη των Επιµέρους στην Ταυτόχρονη Επεξεργασία, Κλείδωµα, Έλεγχος του Ταυτόχρονου, Επαναφορά από Βλάβη, ο Αλγόριθµος ARIES. Προτεινόµενα βιβλία για το µάθηµα είναι τα ακόλουθα: Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

7 Συγγραφέας: P. Aτzeni, S. Ceri, S. Paraboschi & R. Torlone Τίτλος: Database Systems: Concepts, Languages & Architectures Εκδότης: McGraw-Hill Χρονολογία έκδοσης: 1999 Συγγραφέας: A. Silberschatz, H.F. Korth & S. Sudarshan Τίτλος: Database Systems Concepts with Oracle CD (4 th edition) Εκδότης: McGraw-Hill Χρονολογία έκδοσης: 2001 Συγγραφέας: R. Ramakrishnan & J. Gehrke Τίτλος: Συστήµατα ιαχείρισης Βάσεων εδοµένων (2 η έκδοση), τόµοι Α και Β Τόπος έκδοσης: Θεσσαλονίκη Εκδότης: Εκδόσεις Τζιόλα Χρονολογία έκδοσης: 2002 Συγγραφέας: P. Aτzeni, S. Ceri, S. Paraboschi & R. Torlone Τίτλος: Database Systems: Concepts, Languages & Architectures Εκδότης: McGraw-Hill Χρονολογία έκδοσης: 1999 Συγγραφέας: A. Silberschatz, H.F. Korth & S. Sudarshan Τίτλος: Database Systems Concepts with Oracle CD (4 th edition) Εκδότης: McGraw-Hill Χρονολογία έκδοσης: 2001 Συγγραφέας: R. Ramakrishnan & J. Gehrke Τίτλος: Συστήµατα ιαχείρισης Βάσεων εδοµένων (2 η έκδοση), τόµοι Α και Β Τόπος έκδοσης: Θεσσαλονίκη Εκδότης: Εκδόσεις Τζιόλα Χρονολογία έκδοσης: 2002 Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

8 3. Εκπαιδευτικό Υλικό 3.1. Εναλλακτικός τρόπος εκτέλεσης SQL εντολών στην DB2 (από τη γραµµή εντολών του command window) Ένας άλλος τρόπος για να εκτελέσουµε SQL εντολές στην DB2 χωρίς να χρησιµοποιήσουµε το Command Center είναι να κάνουµε χρήση του εργαλείου γραµµής εντολών db2 από το command window των command line tools, εφόσον έχουµε εγκαταστήσει την DB2 στον δικό µας Η/Υ στα windows ίνουµε την εντολή db2 και το prompt γίνεται db2 =>. Από εδώ µπορούµε να εκτελέσουµε όλες τις εντολές που εκτελούµε και στο Command Center. Γράφοντας? και enter εµφανίζονται όλες οι διαθέσιµες εντολές ενώ αν γράψουµε? και µια εντολή εµφανίζεται το πώς συντάσσεται η εντολή. Για να συνδεθούµε µε µία Βάση εδοµένων, δίνουµε την ίδια εντολή που δίνουµε και στο Command Center. Connect to <όνοµα Βάσης εδοµένων> user <όνοµα χρήστη> using <κωδικός χρήστη> Π.χ. Connect to DB_LAB user db01 using 12Χ45 Σηµείωση: από το εργαλείο γραµµής εντολών db2, µπορείτε επίσης να δώσετε και εντολές catalog ή uncatalog, για να ρυθµίσετε την πρόσβασή σας σε συγκεκριµένο DB2 server, ή βάση (δείτε το έγγραφο: "Ρυθµίσεις για αποµακρισµένη πρόσβαση σε διακοµιστή της DB2"). Αφού συνδεθούµε µε τη Βάση εδοµένων µπορούµε να εκτελέσουµε οποιαδήποτε εντολή θέλουµε. Στο τέλος της εντολής δεν χρειάζεται το ;. Αν θέλουµε να γράψουµε µια εντολή σε περισσότερες από µία γραµµές, πριν πατήσουµε enter, για να αλλάξει η γραµµή θα πρέπει να πατήσουµε το σύµβολο \. Έτσι, το enter δε θα σηµαίνει εκτέλεσή της εντολής, αλλά απλά να συνεχιστεί η εντολή στην επόµενη γραµµή. Όταν η εντολή τελειώσει και θέλουµε να εκτελεστεί απλά πατάµε enter, χωρίς να βάλουµε το σύµβολο \ και η εντολή εκτελείται. Μπορούµε να δούµε όλους τους πίνακες που έχουµε φτιάξει µε την εντολή: list tables Για να δούµε τα πεδία και τους τύπους των πεδίων ενός πίνακα χρησιµοποιούµε την παρακάτω εντολή. Select name, coltype from sysibm.syscolumns Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

9 where tbname= <όνοµα πίνακα> and tbcreator= <όνοµα χρήστη> Π.χ., για το χρήστη db01 και τον πίνακα sailors η εντολή είναι η εξής: Select name, coltype from sysibm.syscolumns where tbname= SAILORS and tbcreator= DB01 Για να αποσυνδεθούµε από τη Βάση εδοµένων χρησιµοποιούµε την εντολή. Disconnect <όνοµα Βάσης εδοµένων> Π.χ., Disconnect DB_LAB Για να βγούµε από το εργαλείο γραµµής εντολών db2 χρησιµοποιούµε την εντολή quit Εναλλακτικός τρόπος εκτέλεσης SQL εντολών στην PostgreSQL Ένας άλλος τρόπος για να εκτελέσουµε SQL εντολές στην PostgreSQL χωρίς να χρησιµοποιήσουµε το εργαλείο pgadminiii είναι να συνδεθούµε στο aetos.it.teithe.gr ως τερµατικό µέσω κάποιου Secure Shell και από εκεί να εκτελέσουµε οποιαδήποτε SQL εντολή θέλουµε µε το εργαλείο psql. Αφού συνδεθούµε στο λογαριασµό που έχουµε στο aetos.it.teithe.gr δίνουµε την παρακάτω εντολή για να συνδεθούµε µε την Βάση εδοµένων που επιθυµούµε: π.χ. psql <όνοµα της Β..> <όνοµα χρήστη στην postgresql> psql dblab1 db17 στην συνέχεια µας ζητά το Password που έχουµε στην postgresql. Καθώς το γράφουµε δεν εµφανίζεται στην οθόνη µας. Πατάµε enter. Εφόσον το username και το password µας είναι έγκυρα συνδεόµαστε. Στην οθόνη µας εµφανίζονται τα παρακάτω στοιχεία: Welcome to psql 7.4.1, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help on internal slash commands \g or terminate with semicolon to execute query \q to quit Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

10 dblab1=> Το prompt πλέον δεν είναι $ του unix, αλλά το όνοµα της Βάσης εδοµένων στην οποία συνδεθήκαµε, ακολουθούµενο από το σύµβολο =>. Στη συγκεκριµένη περίπτωση είναι το dblab1=>. Από εδώ µπορούµε να εκτελέσουµε οποιαδήποτε SQL εντολή θέλουµε, όπως και µε το pgadminiii. Για να εκτελεστεί η SQL εντολή που θα δώσουµε, θα πρέπει πριν να πατήσουµε enter, να τερµατίσουµε την εντολή ;. Αυτό σηµαίνει πως µία SQL εντολή δεν χρειάζεται να γραφτεί ολόκληρη σε µία γραµµή, αλλά µπορούµε (πριν πληκτρολογήσουµε το ;) πατώντας enter να συνεχίσουµε στην επόµενη γραµµή. Μετά το πάτηµα του enter, το prompt θα αλλάξει σε dblab1->. Με αυτό τον τρόπο, συνεχίζουµε την πληκτρολόγηση σε όσες διαφορετικές γραµµές θέλουµε. Η εντολή θα εκτελεστεί και το prompt θα επανέλθει σε dblab1=> µόνο όταν πληκτρολογήσουµε το ; και πατήσουµε enter. π.χ. dblab1=> select * from dblab1-> students; Για να δούµε τους πίνακες ενός χρήστη χρησιµοποιούµε την παρακάτω εντολή: select tablename from pg_tables where tableowner='<όνοµα χρήστη>'; ή την εντολή select table_name from information_schema.tables where table_schema='<όνοµα σχήµατος>'; Για να δούµε τα πεδία ενός πίνακα καθώς και τον τύπο τους αρκεί να δώσουµε την παρακάτω εντολή: select column_name, data_type from information_schema.columns where table_schema='<όνοµα σχήµατος>' and table_name='<όνοµα πίνακα>'; Για να βγούµε από το psql χρησιµοποιούµε την εντολή \q ενώ για βοήθεια την εντολή \h Ρυθµίσεις για αποµακρισµένη πρόσβαση σε διακοµιστή της DB2 Μέσω του command center της DB2 µπορείτε να: Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

11 αποκτήστε πρόσβαση σε διακοµιστή της DB2 µε την εντολή catalog tcpip node τοπικό_όνοµα_διακοµιστή remote URL_διακοµιστή server port π.χ. catalog tcpip node iro remote iro.it.teithe.gr server καταργείστε την πρόσβαση σε διακοµιστή της DB2 µε την εντολή uncatalog node τοπικό_όνοµα_διακοµιστή αποκτήστε πρόσβαση σε βάση διακοµιστή της DB2 µε την εντολή catalog database όνοµα_βάσης_στο_διακοµιστή as τοπικό_όνοµα_βάσης at node τοπικό_όνοµα_διακοµιστή π.χ. catalog database DB_LAB as DB_IRO at node iro καταργείστε την πρόσβαση σε βάση διακοµιστή της DB2 µε την εντολή uncatalog database τοπικό_όνοµα_βάσης Ίσως χρειαστεί να επιλέξετε view->refresh για να εµφαρµοστούν οι νέες ρυθµίσεις στο Control Center Βασική χρήση τουocelot Εξοικείωση µε ένα "Front End" Βάσης εδοµένων Προτείνεται να κρατήσετε δύο παράθυρα ανοιχτά κατά τη διάρκεια χρήσης αυτού του εγχειριδίου, ένα να δείχνει το κείµενο που διαβάζετε τώρα, και το άλλο για το πρόγραµµα που θα ξεκινήσετε και θα τρέξετε. >> Run: c:\ocelot\demo32.exe To DEMO32.EXE δεν είναι το DBMS το ίδιο, το πραγµατικό DBMS είναι µια βιβλιοθήκη που φορτώνεται δυναµικά και ονοµάζεται OCELOT32.DLL. Η δουλειά τουdemo32.exe είναι να δέχεται την είσοδό σας και να εµφανίζει τα αποτελέσµατα. Έτσι το DEMO32.EXE είναι ένα "front end" και το OCELOT32.DLL είναι ένα "back end". Το DEMO32.EXE συµορφώνεται µε τις οδηγίες των Windows και µε το πως γενικά πρέπει να είναι τα front ends. Το DEMO32 θα πιάσει όλη την οθόνη. Η εικόνα που ακολουθεί δείχνει πως θα µοιάζει. Κοιτάξτε το µια στιγµή. Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

12 Το "Menu" έχει επιλογές για αποθήκευση αυτών που γράφετε, για αλλαγή της γραµµατοσειράς, και για βοήθεια σε πολλά θέµατα. Το πλαίσιο "SQL Command:" είναι ο χώρος που θα γράψετε τις δηλώσεις SQL. Υπόδειξη: µπορείτε να κάνετε cut την δήλωση SQL από το παράθυρο που διαβάζετε τώρα, και να κάνετε paste στην είσοδο της φόρµας για το demo32.exe, αλλά µόνο µια δήλωση τη φορά. Στο "κάτω µέρος της οθόνης" θα δείτε τα αποτελέσµατα. Όταν ανακτάτε δεδοµένα, θα δείτε γραµµές και στήλες σ αυτή την περιοχή. Εισαγωγή ηλώσεων SQL Τώρα είναι ώρα να γράψετε µια SQL δήλωση. Μια SQL δήλωση µοιάζει σαν µια προστακτική αγγλική πρόταση. Τα µέρη της δήλωσης είναι: SQL KEYWORDS. Μια λέξη που σηµαίνει κάτι στην SQL. Στο εγχειρίδιο πάντα θα γράφουµε τα keywords µε κεφαλαία, πχ: CONNECT. LITERALS. Ένα string µε µια τιµή. Ένα αριθµητικό literal είναι απλά ένας αριθµός, πχ: 123. Ένα string χαρακτήρων είναι µηδέν ή περισσότεροι χαρακτήρες που περικλείονται σε µονά εισαγωγικά, πχ: 'OCELOT'. NAMES. Μια λέξη που αναφέρεται σε ένα αντικείµενο SQL. Θα γράφουµε τα ονόµατα των πινάκων µε το πρώτο γράµµα κεφαλαίο, πχ: Employees. Θα γράφουµε τα ονόµατα των στηλών entirely µε µικρά, πχ: employee_id. Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

13 PUNCTUATION(σηµείο στίξης). Τα κενά θα πρέπει να χωρίζουν λέξεις και literals. Σε µερικές δηλώσεις θα δείτε άλλα σηµεία στίξης όπως κόµµατα και παρενθέσεις. Είναι υποχρεωτικά. Πάντα θα χρησιµοποιώ ένα ερωτηµατικό για να δηλώσω το τέλος µιας δήλωσης. Είναι ώρα για την πρώτη σας άσκηση. Όλες οι ασκήσεις θα έχουν εκφώνηση του τύπου: ">> Γράψτε µια δήλωση SQL:" και πρέπει να γράψετε τη δήλωση που ακολουθεί, µέχρι το ερωτηµατικό, ακριβώς όπως φαίνεται. >> Γράψτε µια δήλωση SQL: CONNECT TO 'OCELOT'; Σιγουρευτείτε ότι η είσοδός σας πάει στο πλαίσιο "SQL Command:". Όταν γράψετε την εντολή SQL, πατήστε Enter ή το κουµπί εκτέλεσης ή Ctrl- E. Θα δείτε τη λέξη OK να εµφανίζεται στο diagnostic box. Το πρόγραµµα επίσης αφαιρεί τις λέξεις "CONNECT TO 'ocelot';" από το SQL Command: και τις βάζει στο πλαίσιο History. Το πλαίσιο SQL command θα καθαριστεί. Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

14 Όλα αυτά συµβαίνουν όταν µια δήλωση SQL είναι επιτυχής, έτσι αυτό σηµαίνει ότι έχετε συνδεθεί επιτυχώς στη βάση δεδοµένων. εν θα χρειαστείτε τα ειδικά χαρακτηριστικά του demo32.exe, έτσι αυτή η ενότητα έφτασε στο τέλος. Στην επόµενη ενότητα, µπορείτε να αρχίσετε να εξοικειώνεστε µε την ίδια την SQL. ηµιουργία και χειρισµός ενός µικρού πίνακα Θα δηµιουργήσετε έναν πίνακα µε δύο στήλες, θα προσθέσετε δύο γραµµές, θα ανακτήσετε αυτά που εισάγατε, θα τα ενηµερώσετε και θα τον διαγράψετε. Αυτό είναι απαραίτητο. Πρέπει να έχετε κάποια εξοικείωση µε το πως γίνεται ο χειρισµός των Βάσεων εδοµένων, πριν δουλέψετε µε queries. ηµιουργία πίνακα µε δύο στήλες >> Γράψτε µια δήλωση SQL: CREATE TABLE Books (title CHAR(10), quantity INTEGER); Μόλις δηµιουργήσατε έναν πίνακα που ονοµάζετε Books, και έχει δύο στήλες. Η πρώτη στήλη ονοµάζεται title και µπορεί να περιέχει 10 χαρακτήρες (αυτό σηµαίνει το 'CHAR(10)'). Η δεύτερη στήλη ονοµάζεται quantity και µπορεί να περιέχει αριθµούς που δεν έχουν δεκαδικό µέρος (αυτό σηµαίνει 'INTEGER'). εν υπάρχουν δύο γραµµές στον πίνακα ακόµα. Εισαγωγή δύο γραµµών >> Γράψτε µια δήλωση SQL: INSERT INTO Books VALUES ('SQL-92',5); >> Γράψτε µια δήλωση SQL: INSERT INTO Books VALUES ('SQL-99',1); Μόλις βάλατε δύο γραµµές στον πίνακα Books. Χρησιµοποιήσατε χαρακτήρες για την πρώτη στήλη γιατί το title έχει τύπο δεδοµένων = CHAR(10). Χρησιµοποιήσατε αριθµόl για τη δεύτερη στήλη γιατί το quantity έχει τύπο δεδοµένων = INTEGER. Επιλογή και προβολή >> Γράψτε µια δήλωση SQL: SELECT title, quantity FROM Books; Η περιοχή αποτελεσµάτων του παραθύρου demo32 γεµίζει µε µια απεικόνιση του πίνακα. Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

15 Το αποτέλεσµα µιας SELECT καλείται "result set". Αυτό το result set έχει δύο γραµµές, σε δύο στήλες που ονοµάζονται title και quantity. Έτσι παίρνετε αυτά που βάλατε. >> Πατήστε το κουµπί Close κάτω δεξιά. (Το κουµπί Close θα εµφανίζεται όποτε υπάρχει ένα σύνολο αποτελεσµάτων στην οθόνη. Θα πρέπει να το πατήσετε πριν συνεχίσετε. Αυτή η οδηγία δεν θα επαναλαµβάνεται κάθε φορά που βλέπετε " Γράψτε µια δήλωση SQL ".) Επιλογή συγκεκριµένων γραµµών >> Γράψτε µια δήλωση SQL: SELECT title, quantity FROM Books WHERE quantity > 3; TITLE QUANTITY SQL-92 5 Παρατηρήστε τι προκάλεσαν οι λέξεις "WHERE quantity > 3". Η γραµµή στην εµφάνιση αποτελεσµάτων είναι η αυτή όπου η συνθήκη ισότητας (τιµή στη στήλη quantity µεγαλύτερη από 3) είναι TRUE. Το σύµβολο > σηµαίνει µεγαλύτερο από. Άλλα σύµβολα είναι: = ίσον, >= µεγαλύτερο από ή ίσο, < µικρότερο από, <= µικρότερο από ή ίσο, και <> διάφορο. Σηµειώστε ότι το: <> είναι ο τρόπος για να πείτε όχι ίσο. Αν χρησιµοποιούσατε το!= όπως στη C, θα πρέπει να το συνηθίσετε. COMMIT >> Βάλτε το αυτί σας δίπλα στο σκληρό δίσκο του υπολογιστή σας. >> Γράψτε µια δήλωση SQL: COMMIT; Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

16 Ακούτε τον ήχο? Όταν κάνετε COMMIT, γράφετε στο δίσκο. Πριν κάνετε COMMIT, όλες οι αλλαγές που κάνατε στη βάση (τα CREATE και INSERT) είναι δοκιµαστικές. Υπάρχει η δυνατότητα να γίνονται αυτόµατα commits για κάθε αλλαγή δεδοµένων, αλλά η επιλογή αυτή είναι συνήθως OFF στα DBMS. UPDATE >> Γράψτε µια δήλωση SQL: UPDATE Books SET quantity = 1 WHERE title = 'SQL-92'; Έτσι αλλάζετε µια γραµµή που υπάρχει ήδη. ιαλέγετε µια γραµµή, αλλά η επιλογή δεν θα επιστρέψει σε σας. Η δήλωση UPDATE παίρνε το σύνολο αποτελεσµάτων και αλλάζει τις τιµές. Στο πλαίσιο diagnostic θα εµφανιστεί "OK, 1 γραµµή ενηµερώθηκε". Τώρα ας ξανακάνουµε SELECT: >> Γράψτε µια δήλωση SQL: SELECT title, quantity FROM Books WHERE quantity > 0; TITLE QUANTITY SQL-92 1 SQL-99 1 Θα δείτε ότι δεν υπάρχουν τιµές 5 στον πίνακα τώρα, αλλά µόνο 1. ROLLBACK >> Γράψτε µια δήλωση SQL: ROLLBACK; Το ROLLBACK είναι το αντίθετο του COMMIT. Αντί να κάνετε µόνιµες τις προσωρινές αλλαγές, τις ακυρώνετε. >> Γράψτε µια δήλωση SQL: SELECT title, quantity FROM Books; TITLE QUANTITY SQL-92 5 SQL-99 1 είτε τη διαφορά: ο πίνακας είναι πίσω εκεί που ήταν πριν το UPDATE. Αλλά οι γραµµές είναι ακόµα εκεί. Το ROLLBACK µπορεί να επηρεάσει µόνο τις αλλαγές που έγιναν µέχρι το τελευταίο COMMIT. ιαγραφή Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

17 Τώρα θα καταστρέψετε τις γραµµές του πίνακα καθώς και τον ίδιο. Με αυτό το καθάρισµα θα µπορείτε να τρέξετε ξανά τις ασκήσεις. >> Γράψτε µια δήλωση SQL: DELETE FROM Books; Η δήλωση DELETE σβήνει όλες τις γραµµές του πίνακα. Θα µπορούσατε να κάνετε επιλογή µε ένα WHERE, αλλά θέλετε να φύγουν όλες. >> Γράψτε µια δήλωση SQL: DROP TABLE Books CASCADE; Το DELETE απλά σβήνει γραµµές. Το DROP TABLE... CASCADE διαγράφει τον ίδιο τον πίνακα. Είναι δηλαδή το αντίθετο του CREATE. >> Γράψτε µια δήλωση SQL: COMMIT; για να ολοκληρώσετε τις διαγραφές όπως και τις δηµιουργίες. Τώρα ο πίνακας που δηµιουργήσατε χάθηκε οριστικά Χρήσιµοι σύνδεσµοι Πέρα από τα έγγραφα που παρουσιάστηκαν παραπάνω για την περαιτέρω βοήθεια των φοιτητών κατά την επίλυση των εργαστηριακών ασκήσεων παρέχονται σε αυτούς χρήσιµοι σύνδεσµοι. Οι σύνδεσµοι αυτοί είναι: On-line βοήθεια για την DB2 version 7: (περιλαµβάνονται τα εγχειρίδια SQL getting started και SQL reference) On-line βοήθεια για την PostgreSQL 7.4: On-line βοήθεια για το Ocelot: Ένα εγχειρίδιο αναφοράς της γλώσσας C: Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

18 4. Εργαστηριακές Ασκήσεις η Εργαστηριακή Άσκηση Σκοπός: η σύνδεση µε την ύλη των Β Ι µε την επανάληψη βασικών εντολών SQL, η εξοικείωση µε τη χρήση της SQL Μέθοδος / Εργαλεία: α) Χρήση της PostgreSQL Οδηγίες: 1. Συνδεθείτε στην PostgreSQL (υπόδειξη: είτε µέσω του pgadminiii έχοντας ακολουθήσει τις οδηγίες εγκατάστασης του απαραίτητου λογισµικού που θα βρείτε στο αρχείο README.txt του CD PostgreSQL for windows είτε στο aetos.it.teithe.gr ως τερµατικό µέσω κάποιου Secure Shell σύµφωνα µε τις οδηγίες Εναλλακτικός τρόπος εκτέλεσης SQL εντολών στην PostgreSQL ). 2. Αν έχετε συνδεθεί µέσω του pgadminiii µεταβείτε στο συντάκτη εντολών SQL κάνοντας κλικ στο εργαλείο που επιγράφεται SQL και σβήστε τις εντολές SQL που υπάρχουν εκεί και δείχνουν πώς δηµιουργήθηκε το σχήµα όπου εργάζεστε. Αν έχετε συνδεθεί στο aetos.it.teithe.gr ως τερµατικό συνεχίστε µε την οδηγία ώστε εντολή SQL για τη δηµιουργία πίνακα φοιτητών, όπως CREATE TABLE Students (sid CHAR(20), name CHAR(30), login CHAR(20), age INTEGER, gpa REAL); και εκτελέστε την. Πώς µπορείτε να διαπιστώσετε ότι ο πίνακας δηµιουργήθηκε; Υπόδειξη: µην ξεχνάτε να αποθηκεύετε τα ερωτήµατά σας σε ένα αρχείο κειµένου. 4. Εισάγετε δεδοµένα στον πίνακά σας δίνοντας και εκτελώντας εντολές SQL όπως INSERT INTO Students (sid, name, login, age, gpa) VALUES (53688, 'Smith', 'smith', 18, 6.7); 5. Ελέγξτε αν καταχωρήθηκαν τα δεδοµένα σας µε εντολές SQL όπως SELECT * FROM Students; 6. ιαγράψτε εγγραφές από τον πίνακά σας µε εντολές SQL όπως DELETE From Students WHERE name = 'Smith'; 7. Μεταβάλετε το περιεχόµενο εγγραφών του πίνακά σας µε εντολές SQL όπως UPDATE Students SET age = age + 1, gpa = gpa + 1 WHERE sid = 53688; Πώς µπορείτε να διαπιστώσετε ότι πραγµατοποιήθηκαν οι µεταβολές; 8. Με εντολές SQL δηµιουργήστε τον πίνακα Movies (ταινίες) µε πεδία για τον τίτλο, το σκηνοθέτη, το έτος γυρίσµατος και την εταιρία παραγωγής της Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

19 ταινίας, εισάγετε 5 εγγραφές σε αυτόν, σβήστε τις εγγραφές όπου ο τίτλος της ταινίας είναι 'Phycho' και αυξήστε το έτος της ταινίας κατά 1 για τις ταινίες µε σκηνοθέτη τον 'Smith'. Πώς µπορείτε να βρείτε βοήθεια για τη σύνταξη των εντολών SQL; 9. Παραδώστε αρχείο κειµένου που περιλαµβάνει τις εντολές SQL του βήµατος 8 (δείτε τις οδηγίες του εργαστηρίου για την παράδοση των ασκήσεων) η Εργαστηριακή Άσκηση Σκοπός: η εξοικείωση µε τη δηµιουργία πινάκων και την εισαγωγή δεδοµένων και η εξάσκηση µε τη βασική σύνταξη της εντολής Select Μέθοδος / Εργαλεία: α) Χρήση της PostgreSQL Οδηγίες: 1. Συνδεθείτε στην PostgreSQL (δείτε τις οδηγίες του 1 ου εργαστηρίου) και υλοποιήστε το ακόλoυθο σχήµα Β, φροντίζοντας για την εξασφάλιση των περιορισµών κλειδιών και την ακεραιότητα αναφορών (referential integrity) των δεδοµένων. Επίσης, εξασφαλίστε ότι το χρώµα µιας βάρκας θα είναι κάποιο από τα red, green, blue, yellow (µεταβείτε στη βοήθεια SQL του pgadminiii, ή αναζητήστε βοήθεια στο SQL getting started εγχειρίδιο της DB2 για την επιβολή περιορισµού check). Υπόδειξη: Φυλάξτε τις εντολές που χρησιµοποιήσατε σε ένα αρχείο (θα σας χρειαστεί στη συνέχεια του εργαστηρίου και σε επόµενα εργαστήρια). Κάνετε το ίδιο και για τα επόµενα βήµατα του εργαστηρίου, αλλά και τα βήµατα των επόµενων εργαστηρίων. Καλό είναι να κρατάτε τα αρχεία που δηµιουργείτε στο λογαριασµό σας στο aetos (µε χρήση του FTP), ώστε να τα έχετε διαθέσιµα οποτεδήποτε και ανεξάρτητα από το εάν εργάζεστε στα windows ή στο linux. Sailors (sid: integer, sname: string, rating: integer, age: real) Boats (bid: integer, bname: string, color: string) Reserves (sid; integer, bid: integer, day: date) 2. Εισάγετε (µε τις κατάλληλες εντολές SQL) τα ακόλουθα δεδοµένα στους πίνακές σας Sailors Sid sname rating age 22 Dustin Brutus Lubber Andy Rusty Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

20 64 Horatio Zorba Horatio Art Bob Reserves Sid bid day /10/ /10/ /8/ /7/ /10/ /6/ /12/ /5/ /8/ /8/98 Boats Bid bname color 101 Interlake blue 102 Interlake red 103 Clipper green 104 Marine red 3. Φτιάξτε και εκτελέστε εντολές SQL που βρίσκουν Α. τα ονόµατα και τις ηλικίες όλων των ναυτικών Β. όλα τα στοιχεία των ναυτικών µε κλιµάκιο (rating) µεγαλύτερο του 7 Γ. τα ονόµατα των ναυτικών που έχουν κάνει κράτηση στη βάρκα µε κωδικό 103. τους κωδικούς των ναυτικών που έχουν κάνει κράτηση σε κόκκινη βάρκα Ε. τα ονόµατα των ναυτικών που έχουν κάνει κράτηση σε κόκκινη βάρκα ΣΤ. Οι ηλικίες των ναυτικών των οποίων τα ονόµατα αρχίζουν και τελειώνουν µε το γράµµα Β και έχουν µήκος τουλάχιστον 3 χαρακτήρων 4. Παραδώστε αρχείο κειµένου που περιλαµβάνει τις απαντήσεις σας στα βήµατα 1-3 (δείτε τις οδηγίες του εργαστηρίου για την παράδοση των ασκήσεων) η Εργαστηριακή Άσκηση Σκοπός: η εξοικείωση µε ένα ακόµη DBMS και η εξάσκηση µε µη απλοϊκά Queries Μέθοδος / Εργαλεία: Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

21 α) χρήση της IBM DB2 β) Χρήση της PostgreSQL Οδηγίες: 1. Ξεκινήστε το Command Center της IBM, συνδεθείτε σε µία Βάση έδοµένων µε την εντολή CONNECT TO 'όνοµα Β..' USER 'όνοµα χρήστη' USING 'κωδικός' 2. Εκτελέστε τις εντολές του προηγούµενου εργαστηρίου (κρατήσατε το αρχείο µε τις απαντήσεις;). Οι πίνακες που φτιάξατε θα διατηρηθούν όταν θα κλείσετε το σύστηµά σας; 3. Φτιάξτε και εκτελέστε εντολές SQL που βρίσκουν Α. τα ονόµατα των ναυτικών που έχουν κάνει κράτηση και σε κόκκινη και σε πράσινη βάρκα (µε 2 διαφορετικούς τρόπους). Β. τα ονόµατα των ναυτικών που έχουν κάνει κράτηση σε κόκκινη, αλλά όχι σε πράσινη βάρκα Γ. τους κωδικούς όλων των ναυτικών είτε µε κλιµάκιο (rating) ίσο µε 10, είτε µε κράτηση σε πράσινη βάρκα.. τα ονόµατα των ναυτικών που δεν έχουν κάνει κράτηση σε πράσινη βάρκα (µε εµφωλευµένο query). E. τα ονόµατα των ναυτικών που δεν έχουν κάνει κράτηση σε πράσινη βάρκα (µε εµφωλευµένο query και exists). ΣΤ. τα ονόµατα των ναυτικών µε κλιµάκιο µεγαλύτερο από κάθε ναυτικό µε όνοµα Horatio. Z. τα ονόµατα των ναυτικών που έχουν κάνει κρατήσεις σε όλες τις βάρκες 4. οκιµάστε τις εντολές του βήµατος 4 και στην PostgreSQL. 5. Παραδώστε αρχείο κειµένου που περιλαµβάνει τις απαντήσεις σας στο βήµα 4 (δείτε τις οδηγίες του εργαστηρίου για την παράδοση των ασκήσεων) η Εργαστηριακή Aσκηση Σκοπός: η εξάσκηση µε προχωρηµένα Queries Μέθοδος / Εργαλεία: α) Xρήση της PostgreSQL β) Χρήση της IBM DB2 γ) Τελεστές συνάθροισης, οµαδοποίησης και συνόλων ΕΙΣΑΓΩΓΗ Σύνταξη: select function1(field1)... Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

22 from "table1" [, "table2" [, "table3"...]] where "conditions" group by "field1" [,"field2" [,"field3"...]] having "conditions with functions" select field1 from table1 where "conditions1" UNION INTERSECT EXCEPT select field1 from table2 where "conditions2" Συχνές συναρτήσεις συνάθροισης: count, sum, avg, max, min Παραδείγµατα: SELECT rating,avg(age) FROM Sailors GROUP BY rating HAVING count(*)>1 SELECT name,dday, count(bid) FROM Sailors, Reserves WHERE Sailors.Sid=Reserves.Sid GROUP BY name,dday HAVING count(bid)>4 SELECT S.sname FROM Sailors S, Reserves R, Boats B WHERE S.sid=R.sid and R.bid=B.bid and B.color='red' UNION SELECT S2.sname FROM Sailors S2, Reserves R2, Boats B2 WHERE S2.sid=R2.sid and R2.bid=B2.bid and B2.color='green' Οδηγίες: 1. Συνδεθείτε στην PostgreSQL και φροντίστε να έχουν δηµιουργηθεί οι πίνακες του 2 ου εργαστηρίου και να έχουν εισαχθεί δεδοµένα σε αυτούς 2. Φτιάξτε και εκτελέστε εντολές SQL ώστε να βρείτε Α. το µέσο όρο ηλικίας όλων των ναυτικών Β. το µέσο όρο ηλικίας όλων των ναυτικών ανά κλιµάκιο (rating) Γ. το µέσο όρο κλιµακίου, για τους ναυτικούς που έχουν ηλικία µικρότερη του 45. το πλήθος των κρατήσεων ανά µέρα (εµφανίστε µέρα, πλήθος) Ε. τις µέρες που έχουν πάνω από µία κράτηση Στ. τα κλιµάκια στα οποία κατατάσσονται περισσότεροι από ένας ναυτικοί Ζ. για κάθε κλιµάκιο, τη µέγιστη ηλικία ναυτικού (εµφανίστε rating, max age) Η. για κάθε κλιµάκιο, τo ναυτικό µε τη µεγαλύτερη ηλικία (εµφανίστε rating, age, name) Θ. το κλιµάκιο µε το µεγαλύτερο µέσο όρο ηλικίας Ι. τις κρατήσεις και ποιοι τις έκαναν της ηµέρας (ή των ηµερών) µε το µέγιστο πλήθος κρατήσεων Κ. τα ονόµατα των ναυτικών που έχουν κάνει κράτηση την 10/10/98 ή έχουν κάνει κράτηση σε µπλέ βάρκα (UNION) Λ. τα ονόµατα των ναυτικών που, όποτε έχουν κάνει κράτηση, η κράτηση έχει γίνει σε πράσινη βάρκα (EXCEPT) Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

23 Μ. τα ονόµατα των ναυτικών που έχουν κάνει (κάποια στιγµή) κράτηση σε κόκκινη και (κάποια άλλη στιγµή) σε µπλε βάρκα (INTERSECT) 3. Επαναλάβετε τα βήµατα 1 και 2 κάνοντας χρήση της DB2 4. Παραδώστε αρχείο κειµένου που περιλαµβάνει τις απαντήσεις σας στο βήµα 2 (δείτε τις οδηγίες του εργαστηρίου για την παράδοση των ασκήσεων) η Εργαστηριακή Άσκηση Σκοπός: η εξοικείωση µε περιορισµούς ακεραιότητας και εξωτερικές συζεύξεις Μέθοδος / Εργαλεία: α) Xρήση της PostgreSQL β) Χρήση της IBM DB2 γ) triggers, constrains, outer joins Οδηγίες 1. Επεκτείνετε τη βάση σας στην DB2 µε τις παρακάτω εντολές που περιέχουν triggers και constrains και εξηγείστε τι σηµαίνει το κάθε trigger και constrain (On line εγχειρίδιο της DB2 για τα triggers) alter table boats add constraint c_color check (color in ('red','blue','green','yellow')); create table reservation (sid integer not null constraint f_key1 references sailors(sid) on delete cascade, bid integer not null constraint f_key2 references boats(bid) on delete restrict constraint c_bid check (bid not in (999)), r_date date not null constraint c_date check (r_date > '02/04/1998'), r_updated timestamp, constraint p_key primary key(sid,bid,r_date)); create trigger reservation1 after insert on reservation referencing new as N for each row mode db2sql update reservation set r_updated = current timestamp where sid = N.sid and bid = N.bid; create trigger reservation2 Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

24 after update of sid,bid,r_date on reservation referencing new as N for each row mode db2sql update reservation set r_updated = current timestamp where sid = N.sid and bid = N.bid 2. "Φορτώστε" τον πίνακα reservation µε τα δεδοµένα του πίνακα reserves (συνδυάστε την insert µε τη select, για να γίνει αυτό εύκολα - εγχειρίδιο SQL Getting Started της DB2 ή εγχειρίδιο εντολών SQL της PostgreSQL). 3. Αλλάξτε τον πίνακα sailors, και προσθέστε: o το πεδίο age_updated timestamp o constraint ωστε το rating να ειναι µεταξύ 1 και 10. o constraint ωστε η ηλικία να είναι µεγαλύτερη ίση του 18. o triggers κατα την εισαγωγή ή ενηµέρωση της ηλικίας που να ενηµερώνει το πεδίο age_updated µε το "current timestamp" 4. Επαναλάβετε τα βήµατα 1-3 κάνοντας χρήση της PostgreSQL. Η τροποποίηση του πίνακα boats και η δηµιουργία του πίνακα reservation πραγµατοποιείται ακριβώς µε τις ίδιες εντολές όπως και στην DB2. Ο ορισµός των triggers στην PostgreSQL είναι διαφορετικός από αυτόν της DB2. Ενώ στην DB2 δηµιουργώντας το trigger ορίζουµε και την ενέργεια που θα γίνει, στην PostgreSQL η ενέργεια ορίζεται σε µία συνάρτηση η οποία θα καλείται από το trigger. Στο παρακάτω παράδειγµα, δηµιουργούµε την function reserv_trig(). Η συνάρτηση είναι γραµµένη σε γλώσσα PL/pgSQL. Στην νέα εγγραφή που προκύπτει από εντολές INSERT ή UPDATE αναφερόµαστε µε τη µεταβλητή new. Τι αποτέλεσµα έχει η εκτέλεση της συνάρτησης reserv_trig(); CREATE FUNCTION reserv_trig() RETURNS trigger AS ' begin new.r_updated:=''now''; return new; end; ' LANGUAGE 'plpgsql' Ο ορισµός triggers αντίστοιχων µε αυτά του βήµατος 1 γίνεται µε τις παρακάτω εντολές. Στην πρώτη γραµµή ορίζουµε το όνοµα του trigger, στη δεύτερη πότε θα εκτελεστεί και σε ποιόν πίνακα (π.χ. πριν την εισαγωγή εγγραφής στον πίνακα reservation) και στην τρίτη αν η εκτέλεση της διαδικασίας (στην συγκεκριµένη περίπτωση της reserve_trig) θα γίνει για κάθε εγγραφή (for each row) ή για κάθε SQL εντολή (for each statement). CREATE TRIGGER reserv_trig_insert Before insert on reservation For each row execute procedure reserv_trig(); CREATE TRIGGER reserv_trig_update Before update on reservation For each row execute procedure reserv_trig(); Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

25 είτε την παρακάτω συνάρτηση reserv_trig2(); CREATE OR REPLACE FUNCTION reserv_trig2() RETURNS trigger AS ' declare curtime timestamp; begin curtime := \'now\'; UPDATE reservation SET r_updated = curtime WHERE ((reservation.sid = new.sid) and (reservation.bid = new.bid) and (reservation.r_date = new.r_date)); return new; end; ' LANGUAGE 'plpgsql' και το trigger reserv_trig2 το οποίο την καλεί. CREATE TRIGGER reserv_trig2 after insert on reservation For each row execute procedure reserv_trig2(); Ποιο είναι το αποτέλεσµα της εκτέλεσης της συνάρτησης reserv_trig2() και σε τι διαφέρει η reserv_trig2() από την reserv_trig(); 5. Υλοποιείστε και στην PostgreSQL και στην DB2 το παρακάτω query: SELECT S.sname FROM Sailors S, Reserves R, Boats B WHERE S.sid=R.sid and R.bid=B.bid and B.color='red' χρησιµοποιώντας OUTER JOIN (δείτε το εγχειρίδιο SQL Getting Started της DB2 ή το εγχειρίδιο queries της PostgeSQL) 6. Βρείτε τα ονόµατα των ναυτικών και τα στοιχεία των κρατήσεων που έχει ο καθένας (αν έχει κάνει καµία) χρησιµοποιώντας OUTER JOIN. 7. Παραδώστε αρχείο κειµένου που περιλαµβάνει τις απαντήσεις σας στα βήµατα 1-6 (δείτε τις οδηγίες του εργαστηρίου για την παράδοση των ασκήσεων) η Εργαστηριακή Άσκηση Σκοπός: η εξοικείωση µε την ενσωµατωµένη SQL σε κώδικα C Μέθοδος / Εργαλεία: α) Xρήση της PostgreSQL β) Χρήση της IBM DB2 γ) C compiler και εντολές ενσωµάτωσης SQL Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

26 Ενσωµάτωση SQL σε C µε την DB2 Εισαγωγή Για την προµεταγλώττιση και τη µεταγλώττιση ενός αρχείου <filename>.sqc µε ενσωµατωµένη SQL σε κώδικα C, ανοίγουµε ένα παράθυρο Command Window της DB2 (Έναρξη -> προγράµµατα -> IBM DB2 -> Command Line Tools -> Command Window) και µεταβαίνουµε στον κατάλογο που περιέχει το αρχείο και έπειτα δίνουµε την εντολή: bldsql <filename> <όνοµα βάσης> <userid> <password> Κάθε φορά που εκτελείται το παραπάνω script παράγονται έξι νέα αρχεία: <filename>.bnd, <filename>.c, <filename>.ilk, <filename>.obj, <filename>.pdb και <filename>. Από αυτά, µόνο το <filename> είναι εκτελέσιµο. Αξίζει να εξετασθούν τα περιεχόµενά του <filename>.c: οι εντολές SQL έχουν αντικατασταθεί από κώδικα C τον οποίο εισήγαγε ο προµεταγλωττιστής. Για την εκτέλεση του προγράµµατος που έχει παραχθεί δίνουµε:./filename <όνοµα Β..> <userid> <password> Στη περίπτωση όπου ο κωδικός πρόσβασής σας (password) έχει ειδικούς χαρακτήρες (π.χ. ^,!, κ.λ.π.) οι οποίοι δηµιουργούν προβλήµατα στην κλήση του script bldsql ή στην εκτέλεση του προγράµµατος, χρειάζεται κατά την κλήση του bldsql ο κωδικός πρόσβασης να γραφεί µέσα σε µονά quotes ( ), ενώ στην εντολή εκτέλεσης του προγράµµατος να γραφεί µέσα σε διπλά quotes ( ). Ενσωµάτωση SQL σε C µε την PostgreSQL από τη γραµµή εντολών του aetos Για την προµεταγλώττιση και τη µεταγλώττιση ενός αρχείου <filename>.pgc µε ενσωµατωµένη SQL σε κώδικα C από τη γραµµή εντολών του aetos, εκτελούµε τις παρακάτω εντολές: ecpg <filename>.pgc gcc I/usr/local/addons/postgre/include c <filename>.c gcc o <filename> <filename>.o L/usr/local/addons/postgre/lib lecpg./<filename> <όνοµα Β..> <username> <password> Η πρώτη εντολή (προµεταγλώττιση) δηµιουργεί το αρχείο <filename>.c, η δεύτερη το αρχείο <filename>.o ενώ η τρίτη το εκτελέσιµο µε όνοµα <filename>. Με την τελευταία εντολή εκτελούµε το πρόγραµµα µε παραµέτρους το όνοµα της Βάσης εδοµένων στην οποία θέλουµε να συνδεθούµε, το username και το password που έχουµε στην postgresql. Αν δεν δώσουµε το όνοµα της Βάσης εδοµένων, το username και το password θα τερµατιστεί το πρόγραµµα πριν εκτελέσει τις εντολές στη Βάση εδοµένων. Οδηγίες 1. Αποθηκεύστε τα αρχεία 1.sqc, 2.sqc, 3.sqc, 4.sqc, 5.sqc και 6.sqc σε έναν κατάλογο (π.χ. στον c:\test). 2. Μελετήστε το περιεχόµενο καθενός από τα 6 αρχεία και σηµειώστε ποια είναι η λειτουργικότητά του (µε άλλα λόγια, τι κάνει). Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

27 3. Μελετήστε τις εντολές που περιέχονται στο script bldsql και σηµειώστε τι κάνει η κάθε µία. Μεταγλωττίστε καθένα από τα 6 αρχεία. 4. Μελετήστε για καθένα από τα αρχεία αυτά το.c που προέκυψε από την προµεταγλώττισή του και προσπαθήστε να βρείτε την αντιστοιχία των κλήσεων C µε τις ενσωµατωµένες εντολές SQL. 5. Εκτελέστε καθένα από τα αρχεία αυτά. Εξετάστε µε το Control Center και το Command Center τα αποτελέσµατα που έχουν προκύψει στη βάση σας. 6. Με κάποιο ftp client «ανεβάστε» στον λογαριασµό µας στο aetos.it.teithe.gr τα αρχεία 1.pgc, 2.pgc, 3.pgc, 4.pgc, 5.pgc και 6.pgc. 7. Συνδεθείτε στο aetos.it.teithe.gr ως τερµατικό µέσω κάποιου Secure Shell και µεταγλωττίστε καθένα από τα 6 αρχεία. 8. Μελετήστε για καθένα από τα αρχεία αυτά το.c που προέκυψε από την προµεταγλώττισή του και προσπαθήστε να βρείτε την αντιστοιχία των κλήσεων C µε τις ενσωµατωµένες εντολές SQL. 9. Μελετήστε και σηµειώστε τις διαφορές που υπάρχουν ανάµεσα στα αρχεία.sqc και τα αντίστοιχα.pgc 10. Εκτελέστε καθένα από τα αρχεία αυτά. Εξετάστε µε το pgadmin ή από τη γραµµή εντολών του aetos τα αποτελέσµατα που έχουν προκύψει στη βάση σας. 11. ηµιουργήστε και δοκιµάστε αρχείο test.sqc (για την DB2) και αρχείο test.pgc (για την PostgreSQL) το οποίο κατά την εκτέλεσή του ζητά µια τιµή για το όνοµα του Προµηθευτή (supplier) και επιστρέφει το πλήθος των εγγραφών του πίνακα Supplier µε αυτό το όνοµα προµηθευτή 12. Παραδώστε αρχείο κειµένου που περιλαµβάνει τις απαντήσεις σας στα βήµατα 2, 9 και τα αρχεία test.sqc και test.pgc του βήµατος 11 (δείτε τις οδηγίες του εργαστηρίου για την παράδοση των ασκήσεων) η Εργαστηριακή Άσκηση Σκοπός: η δηµιουργική χρήση της ενσωµατωµένης SQL σε κώδικα C Μέθοδος / Εργαλεία: α) Xρήση της PostgreSQL β) Χρήση της IBM DB2 γ) C compiler και εντολές ενσωµάτωσης SQL Οδηγίες 1. Συνδεθείτε µε την DB2 (αν αποφασίσετε να δουλέψετε µε την DB2), ή µε την PostgreSQL 2. ηµιουργήστε, µε προγράµµατα ενσωµατωµένης SQL µια βάση για Ιατρούς, Ασθενείς και Ραντεβού µε τους πίνακες: DΟCTOR (d_id, d_name, d_tel, d_fax) PATIENT (p_id, p_name, address) APPOINTMENT(d_id, p_id, a_date, a_time) φροντίζοντας για τον κατάλληλο ορισµό τύπων πεδίων, κλειδιών και ξένων κλειδιών. Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

28 3. Φτιάξτε προγράµµατα ενσωµατωµένης SQL για την Α. Εισαγωγή δεδοµένων στους τρεις παραπάνω πίνακες Β. Αναζήτηση Ιατρού µε βάση το όνοµα, αναζήτηση Ασθενή µε βάση το όνοµα, αναζήτηση Ραντεβού µε βάση το όνοµα του Ιατρού και / ή το όνοµα του Ασθενούς και /ή την Ηµεροµηνία Γ. ιαγραφή Ιατρού µε βάση το όνοµα (και διαγραφή και όλων των ραντεβού που τον αφορούν), διαγραφή ασθενούς µε βάση το όνοµα (και διαγραφή και όλων των ραντεβού που τον αφορούν) 4. Παραδώστε αρχείο κειµένου που περιλαµβάνει τις απαντήσεις σας στα βήµατα 2 και 3 (δείτε τις οδηγίες του εργαστηρίου για την παράδοση των ασκήσεων) η Εργαστηριακή Aσκηση Σκοπός: η κατασκευή ολοκληρωµένου προγράµµατος ενσωµατωµένης SQL σε κώδικα C Μέθοδος / Εργαλεία: α) Xρήση της PostgreSQL β) Χρήση της IBM DB2 γ) C compiler και εντολές ενσωµάτωσης SQL Οδηγίες 1. Συνδεθείτε µε την DB2 (αν αποφασίσετε να δουλέψετε µε την DB2), ή µε την PostgreSQL (αν αποφασίσετε να δουλέψετε µε την PostgreSQL) 2. Ενοποιήστε τα προγράµµατα ενσωµατωµένης SQL του βήµατος 3 του προηγούµενου εργαστηρίου σε ένα ενιαίο πρόγραµµα µε µενού επιλογών για την κάθε µία λειτουργία που περιλαµβάνει. 3. Αλλάξτε τον πίνακα appointment, και προσθέστε: το πεδίο app_updated timestamp triggers κατα την εισαγωγή ή ενηµέρωση ενός ραντεβού που να ενηµερώνουν το πεδίο app_updated µε το "current timestamp" 4. Προσθέστε τη δυνατότητα εµφάνισης των Ραντεβού ενός Ιατρού µε βάση το όνοµα. 5. Προσθέστε τη δυνατότητα συγκεντρωτικής εµφάνιση του πλήθους των Ραντεβού ενός Ιατρού ανά Ηµέρα (ο χρήστης θα δίνει το όνοµα του Ιατρού και θα εµφανίζεται για το συγκεκριµένο Ιατρό πίνακας όπου η πρώτη στήλη θα είναι η ηµέρα και η δεύτερη το πλήθος των Ραντεβού της ηµέρας αυτής). 6. Φροντίστε ώστε το πρόγραµµά σας να κάνει χρήση λογικών δροµέων, prepared statements και αναζήτησης ονοµάτων ακόµη και αν πληκτρολογηθεί µέρος του ονόµατος. 7. Παραδώστε αρχείο κειµένου που περιλαµβάνει το συνολικό πρόγραµµα (δείτε τις οδηγίες του εργαστηρίου για την παράδοση των ασκήσεων). Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

29 η Εργαστηριακή Aσκηση Σκοπός: η εισαγωγή στον προγραµµατισµό στην πλευρά του διακοµιστή (server programming) Μέθοδος / Εργαλεία: α) Xρήση της PostgreSQL PostgreSQL Query Language (SQL) Functions Συναρτήσεις SQL στην PostgreSQL Σηµείωση: υνατότητες ορισµού συναρτήσεων SQL υπάρχουν και στην DB2 (UDFs User Defined Functions). Γενικά Οι SQL functions εκτελούν µία λίστα από SQL εντολές. Στην απλή περίπτωση επιστρέφουν την πρώτη γραµµή (εγγραφή) του αποτελέσµατος της τελευταίας εντολής. Αν η τελευταία εντολή δεν επιστρέφει καθόλου εγγραφές επιστρέφεται η τιµή null. Εναλλακτικά, µια SQL function µπορεί να οριστεί ώστε να επιστρέφει ένα σύνολο γραµµών. Σε αυτή την περίπτωση, επιστρέφονται όλες οι γραµµές του αποτελέσµατος της τελευταίας εντολής. Το σώµα µιας SQL function πρέπει να είναι µια λίστα µιας ή περισσότερων εντολών SQL, χωρισµένων µε semicolon (;). Σηµειώστε ότι επειδή η σύνταξη της CREATE FUNCTION απαιτεί το σώµα της function να περικλείεται µέσα σε µονά εισαγωγικά ('), όταν χρειαστεί η χρήση µονών εισαγωγικών στο σώµα της function, τότε αντί για µονό εισαγωγικό γράφουµε δύο µονά εισαγωγικά ('') ή backslash και µονό εισαγωγικό (\'). Για να αναφερθούµε στις παραµέτρους της function χρησιµοποιούµε την σύνταξη $n. Για να αναφερθούµε δηλαδή στην πρώτη παράµετρο γράφουµε $1, στην δεύτερη $2 κ.τ.λ. Αν η παράµετρος είναι σύνθετου τύπου, για να αναφερθούµε στο πεδίο π.χ. name της πρώτης παραµέτρου γράφουµε $1.name. SQL Functions επί βασικών τύπων Μια απλή SQL function φαίνεται στο παρακάτω παράδειγµα. Η function δεν δέχεται παραµέτρους και επιστρέφει ένα βασικό τύπο integer. CREATE FUNCTION one() RETURNS integer AS ' SELECT 1 AS result; ' LANGUAGE SQL; Για να καλέσουµε την function one χρησιµοποιούµε την παρακάτω εντολή. SELECT one(); Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

30 Το αποτέλεσµα της παραπάνω function είναι: one ΠΡΟΣΟΧΗ: Στη function ονοµάσαµε την επιστρεφόµενη στήλη σαν result αλλά επειδή το όνοµα result δεν µπορεί να φανεί έξω από την function η στήλη παίρνει αυτόµατα το όνοµα της function που είναι one. H παρακάτω function δέχεται δύο παραµέτρους integer και επιστρέφει το άθροισµά τους. CREATE FUNCTION add_em(integer, integer) RETURNS integer AS ' SELECT $1 + $2; ' LANGUAGE SQL; Καλούµε την συνάρτηση ορίζοντας το όνοµα της στήλης µε την οποία θα επιστραφεί το αποτέλεσµα. SELECT add_em(1, 2) AS answer; Το αποτέλεσµα είναι: answer Μια πιο χρήσιµη function για τη χρέωση ενός λογαριασµού τραπέζης που επιστρέφει το νέο υπόλοιπο του λογαριασµού θα ήταν: CREATE FUNCTION tf1 (integer, numeric) RETURNS numeric AS ' UPDATE bank SET balance = balance - $2 WHERE accountno = $1; SELECT balance FROM bank WHERE accountno = $1; ' LANGUAGE SQL; Ένας χρήστης θα µπορούσε εκτελέσει τη function για να χρεώσει το λογαριασµό 17 µε ως εξής: SELECT tf1(17, 100.0); Ένα σύνολο SQL εντολών µπορεί να οµαδοποιηθεί σε µία function. Εκτός από SELECT εντολές µπορούν να συµπεριληφθούν και οι INSERT, UPDATE και DELETE. Η τελευταία εντολή, όµως, θα πρέπει να είναι µία SELECT της οποίας το αποτέλεσµά της θα είναι και η επιστρεφόµενη τιµή της function. Αν πάλι, δε θέλουµε να µας επιστραφεί καµία τιµή τότε θα βάλουµε σαν επιστρεφόµενο τύπο της function το void. Σε αυτή την περίπτωση η τελευταία εντολή δε θα πρέπει να είναι SELECT. Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

31 Στο παρακάτω παράδειγµα η function clean_emp διαγράφει τις εγγραφές του πίνακα emp στις οποίες το πεδίο salary έχει αρνητική ή µηδενική τιµή. Η function δε χρειάζεται να επιστρέψει καµία τιµή και για αυτό ο επιστρεφόµενος τύπος της είναι void. CREATE FUNCTION clean_emp() RETURNS void AS ' DELETE FROM emp WHERE salary <= 0; ' LANGUAGE SQL; Αφού καλέσουµε την function (SELECT clean_emp();) το αποτέλεσµα που θα πάρουµε θα είναι θα είναι ο αριθµός των εγγραφών που έχουν διαγραφεί. clean_emp (1 row) SQL Functions επί σύνθετων τύπων Όταν ορίζουµε functions µε παραµέτρους σύνθετων τύπων, πρέπει να προσδιορίσουµε όχι µόνο ποια παράµετρο θέλουµε (όπως κάναµε µε τα $1 και $2) αλλά και τα πεδία αυτής της παραµέτρου. Στο ακόλουθο παράδειγµα ο emp είναι ένας πίνακας υπαλλήλων. Ως εκ τούτου, είναι και το όνοµα του σύνθετου τύπου κάθε γραµµής του πίνακα. Η function double_salary υπολογίζει το διπλάσιο του µισθού κάποιου υπαλλήλου: CREATE TABLE emp ( name text primary key, salary integer, age integer ); CREATE FUNCTION double_salary(emp) RETURNS integer AS ' SELECT $1.salary * 2 AS salary; ' LANGUAGE SQL; SELECT name, double_salary(emp) AS dream FROM emp WHERE emp.name = 'Sam'; name dream Sam 2400 Εναλλακτικά, η κλήση θα µπορούσε να είναι: SELECT name, double_salary(emp.*) AS dream FROM emp WHERE emp.name = 'Sam'; Είναι δυνατό να χτίσουµε µια function που επιστρέφει σύνθετο τύπο. Στο παράδειγµα που ακολουθεί, η function επιστρέφει µια µοναδική γραµµή τύπου emp: CREATE FUNCTION new_emp() RETURNS emp AS ' Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

32 SELECT text ''None'' AS name1, 1000 AS salary1, 25 AS age1; ' LANGUAGE SQL; Φυσικά, αντί σταθερών τιµών θα µπορούσαµε να επιστέφουµε τα αποτελέσµατα οποιωνδήποτε υπολογισµών. ΠΡΟΣΟΧΗ: Τα ονόµατα των στηλών που δώσαµε δεν είναι ορατά έξω από τη function. Όταν την καλέσουµε θα χρησιµοποιηθούν τα ονόµατα που έχουν χρησιµοποιηθεί στον ορισµό του emp. Για να µας επιστραφεί το πεδίο name καλούµε την function µε έναν από τους δύο τρόπους που φαίνεται παρακάτω: SELECT (new_emp()).name; ή SELECT name(new_emp()); Οι παρενθέσεις είναι απαραίτητες για να µην υπάρξει σύγχυση στον συντακτικό αναλυτή. Το αποτέλεσµα είναι: name None Η new_emp µπορεί να χρησιµοποιηθεί και ως παράµετρος σε άλλη function που δέχεται παράµετρο τύπου emp. Π.χ. CREATE FUNCTION getname(emp) RETURNS text AS ' SELECT $1.name; ' LANGUAGE SQL; SELECT getname(new_emp()); getname None (1 row) Οι SQL Functions ως πηγές πινάκων Όλες οι SQL functions µπορούν να χρησιµοποιηθούν στο τµήµα FROM ενός query. Αυτό είναι ιδιαίτερα χρήσιµο για functions που επιστρέφουν σύνθετους τύπους. Εάν η function έχει οριστεί να επιστρέφει ένα βασικό τύπο, τότε η χρήση της στη θέση πίνακα παράγει ένα µονόστηλο πίνακα. Εάν η function έχει οριστεί να επιστρέφει ένα σύνθετο τύπο, τότε η χρήση της στη θέση πίνακα παράγει µια στήλη για κάθε χαρακτηριστικό του σύνθετου τύπου. Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

33 Π.χ. ηµιουργούµε τον πίνακα foo και εισάγουµε τρεις εγγραφές: CREATE TABLE foo (fooid int, foosubid int, fooname text); INSERT INTO foo VALUES (1, 1, 'Joe'); INSERT INTO foo VALUES (1, 2, 'Ed'); INSERT INTO foo VALUES (2, 1, 'Mary'); ηµιουργούµε την συνάρτηση: CREATE FUNCTION getfoo(int) RETURNS foo AS ' SELECT * FROM foo WHERE fooid = $1; ' LANGUAGE SQL; και την καλούµε µε παράµετρο την τιµή 1: SELECT *, upper(fooname) FROM getfoo(1) AS t1; Όπως βλέπουµε µπορούµε να δουλέψουµε µε τις στήλες του αποτελέσµατος µιας function όπως και αυτές ενός πίνακα. Το αποτέλεσµα είναι το εξής: fooid foosubid fooname upper Joe JOE (2 rows) SQL Functions που επιστρέφουν σύνολα Όταν µια SQL function έχει δηλωθεί να επιστρέφει SETOF κάποιου τύπου, η τελική εντολή SELECT της function εκτελείται µέχρι τέλους, και κάθε γραµµή που παράγει επιστρέφεται ως ένα στοιχείο του συνόλου αποτελεσµάτων. Αυτό το χαρακτηριστικό χρησιµοποιείται κανονικά όταν η function καλείται στο τµήµα FROM. Π.χ. αν ο πίνακας foo έχει τα ίδια περιεχόµενα και είχαµε: CREATE FUNCTION getfoo(int) RETURNS SETOF foo AS ' SELECT * FROM foo WHERE fooid = $1; ' LANGUAGE SQL; SELECT * FROM getfoo(1) AS t1; Τότε θα παίρναµε: fooid foosubid fooname Joe 1 2 Ed (2 rows) Στην παρούσα φάση, οι functions που επιστρέφουν σύνολα µπορούν να κληθούν και στη λίστα select ενός query. Αυτή η δυνατότητα έχει δεχθεί αρνητική κριτική και θα αποσυρθεί στο µέλλον. Ενίσχυση Σπουδών Πληροφορικής Πακέτο Εργασίας 07

Postgress ΣΤΟΧΟΣ ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ. ΠΕΡΙΒΑΛΛΟΝ ΓΙΑ ΕΞΑΣΚΗΣΗ pgadmin ΥΠΟΒΑΘΡΟ. Συναρτήσεις στην PostgreSQL. 1. Γενικά

Postgress ΣΤΟΧΟΣ ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ. ΠΕΡΙΒΑΛΛΟΝ ΓΙΑ ΕΞΑΣΚΗΣΗ pgadmin ΥΠΟΒΑΘΡΟ. Συναρτήσεις στην PostgreSQL. 1. Γενικά ΣΤΟΧΟΣ Postgress Το 9ο εργαστήριο εισάγει τον/ην φοιτητή/τρια στη χρήση και προγραµµατισµό συναρτήσεων στην PostgreSQL. ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ Η σχετική ύλη του βιβλίου του µαθήµατος (διαφάνειες και

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

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

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

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

ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΕΚΠΑΙ ΕΥΣΗΣ ΚΑΙ ΑΡΧΙΚΗΣ ΕΠΑΓΓΕΛΜΑΤΙΚΗΣ ΚΑΤΑΡΤΙΣΗΣ (ΕΠΕΑΕΚ ΙΙ)

ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΕΚΠΑΙ ΕΥΣΗΣ ΚΑΙ ΑΡΧΙΚΗΣ ΕΠΑΓΓΕΛΜΑΤΙΚΗΣ ΚΑΤΑΡΤΙΣΗΣ (ΕΠΕΑΕΚ ΙΙ) ΑΛΕΞΑΝ ΡΕΙΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΘΕΣΣΑΛΟΝΙΚΗΣ ΕΡΓΟ: «ΕΝΙΣΧΥΣΗ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΕΤΡΟ 2.2 «ΑΝΑΜΟΡΦΩΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ ΣΠΟΥ ΩΝ ΙΕΥΡΥΝΣΗ» ΕΝΕΡΓΕΙΑ 2.2.2 «ΟΛΟΚΛΗΡΩΣΗ ΤΗΣ ΙΕΥΡΥΝΣΗΣ

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

Query-by-Example (QBE)

Query-by-Example (QBE) Φροντιστήριο 8 o Χειµερινό Εξάµηνο 2009-10 Τµήµα Μηχανικών Η/Υ και Πληροφορικής Πολυτεχνική Σχολή, Πανεπιστήµιο Πατρών Πέµπτη, 3 εκεµβρίου 2009 Τι είναι η QBE; Γλώσσα επερωτήσεων σε σχεσιακές ϐάσεις δεδοµένων

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

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke SQL: Αιτήματα Κεφάλαιο 5 Database Management Systems, R. Ramakrishnan and J. Gehrke Στιγμιότυπα Στιγμιότυπα των σχέσεων Sailors Reserves και Boats. Αν στο κλειδί της σχέσης Reserved δε συμμετείχε το γνώρισμα

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Triggers, Stored procedures Γιώργος Μαρκοµανώλης Περιεχόµενα Triggers-Ενηµέρωση δεδοµένων άλλων πινάκων... 1 Ασφάλεια...

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

( Boats)) ( Tempsids, bid. sname. Boats. Boats. Boats. (Reserves)/ > Reserves. Interlake' Sailors) ...

( Boats)) ( Tempsids, bid. sname. Boats. Boats. Boats. (Reserves)/ > Reserves. Interlake' Sailors) ... sname rating age Dustin 7 45.0 29 Brutus 1 33.0 Lubber 8 55.5 32 Andy 8 25.5 58 Rusty 10 35.0 64 Horatio 7 35.0 71 Zorba 10 16.0 74 Horatio 9 35.0 85 Art 3 25.5 95 Bob 3 63.5 day 101 10/10/98 102 10/10/98

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

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

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

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

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Μία διαδικασία την οποία δηλώνει ο Διαχειριστής της Βάσης Δεδομένων και η οποία ενεργοποιείται αυτόματα από το ΣΔΒΔ κάθε φορά που συμβαίνουν μεταβολές ορισμένου τύπου στα δεδομένα

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

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

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

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

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

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

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

ΑΠΟΘΗΚΕΥΜΕΝΕΣ ΔΙΑΔΙΚΑΣΙΕΣ

ΑΠΟΘΗΚΕΥΜΕΝΕΣ ΔΙΑΔΙΚΑΣΙΕΣ ΑΠΟΘΗΚΕΥΜΕΝΕΣΔΙΑΔΙΚΑΣΙΕΣ ΓΕΝΙΚΑ Οι αποθηκευμένες διαδικασίες είναι τμήματα προγράμματος Βάσης Δεδομένων (διαδικασίες\procedures ή συναρτήσεις\functions) που αποθηκεύονται μόνιμα και εκτελούνταιστονδιακομιστήτηςβάσηςδεδομένων.

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

ΕΝΑΥΣΜΑΤΑ ΣΤΗΝ POSTGRES

ΕΝΑΥΣΜΑΤΑ ΣΤΗΝ POSTGRES ΕΝΑΥΣΜΑΤΑΣΤΗΝPOSTGRES ΓΕΝΙΚΑ Μία διαδικασία την οποία δηλώνει ο Διαχειριστής της Βάσης Δεδομένων και η οποία ενεργοποιείται αυτόματα από το ΣΔΒΔ κάθε φορά που συμβαίνουν μεταβολές ορισμένου τύπουσταδεδομέναονομάζεταιέναυσμα(trigger).

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Stored procedures, Exceptions, ιακιώµατα Γιώργος Μαρκοµανώλης Περιεχόµενα Stored Procedures... 1 Exceptions... 1 Εντολή

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

(Μέρος 3:Γλώσσα Ορισµού, Γλώσσα Τροποποίησης, Ενσωµατωµένη SQL) Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2

(Μέρος 3:Γλώσσα Ορισµού, Γλώσσα Τροποποίησης, Ενσωµατωµένη SQL) Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2 Η Γλώσσα SQL (Μέρος 3:Γλώσσα Ορισµού, Γλώσσα Τροποποίησης, Ενσωµατωµένη SQL) Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Η γλώσσα SQL H SQL έχει διάφορα τµήµατα: Γλώσσα Ορισµού εδοµένων (ΓΟ ) Γλώσσα

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Views, Triggers Γιώργος Μαρκοµανώλης Περιεχόµενα Όψη... 1 ηµιουργία όψης... 2 Επιλογή CHECK... 3 Όψεις µόνο για εµφάνιση

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ Web Services

ΚΕΦΑΛΑΙΟ Web Services ΚΕΦΑΛΑΙΟ Web Services Προϋποθέσεις εγκατάστασης Web Services για το Κεφάλαιο 4.50 1. Κεφάλαιο έκδοση 4.51e build 458 ή νεότερο 2. Internet Information Server (IIS) version 6 ή νεότερος 3. Σε κάποιον υπολογιστή

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

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

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

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

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

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

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

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

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

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

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures):

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures): 9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers Σκοπός της παρούσας εργαστηριακής άσκησης, είναι η εξοικείωση του σπουδαστή με τη δημιουργία αποθηκευμένων διαδικασιών (Stored Procedures) και σκανδάλης

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

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αυγερινός Αραμπατζής avi@ee.duth.gr www.aviarampatzis.com Βάσεις Δεδομένων Stored Procedures 1 Stored Routines (1/2) Τμήματα κώδικα τα

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

ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΕΚΠΑΙ ΕΥΣΗΣ ΚΑΙ ΑΡΧΙΚΗΣ ΕΠΑΓΓΕΛΜΑΤΙΚΗΣ ΚΑΤΑΡΤΙΣΗΣ (ΕΠΕΑΕΚ ΙΙ)

ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΕΚΠΑΙ ΕΥΣΗΣ ΚΑΙ ΑΡΧΙΚΗΣ ΕΠΑΓΓΕΛΜΑΤΙΚΗΣ ΚΑΤΑΡΤΙΣΗΣ (ΕΠΕΑΕΚ ΙΙ) ΑΛΕΞΑΝ ΡΕΙΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΘΕΣΣΑΛΟΝΙΚΗΣ ΕΡΓΟ: «ΕΝΙΣΧΥΣΗ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΕΤΡΟ 2.2 «ΑΝΑΜΟΡΦΩΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ ΣΠΟΥ ΩΝ ΙΕΥΡΥΝΣΗ» ΕΝΕΡΓΕΙΑ 2.2.2 «ΟΛΟΚΛΗΡΩΣΗ ΤΗΣ ΙΕΥΡΥΝΣΗΣ

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

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΕΠΙΚΟΙΝΩΝΙΑΣ & ΣΠΟΥΔΩΝ ΔΙΑΔΙΚΤΥΟΥ ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Ακαδημαϊκό Έτος 2011 2012, Εαρινό Εξάμηνο Καθ.: Νίκος Τσαπατσούλης ΥΠΟΔΕΙΓΜΑ

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

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

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

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

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

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

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

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Παραδοτέα 1. Το αρχείο.mdb της βάσης δεδομένων σας σε ACCESS 2. Ένα CD που θα αναγράφει το ονοματεπώνυμο του σπουδαστή και το ΑΕΜ και θα περιέχει το αρχείο.mdb της βάσης δεδομένων καθώς και το εγχειρίδιο

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

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

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

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

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

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

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

Το σχεσιακό μοντέλο βάσεων δεδομένων

Το σχεσιακό μοντέλο βάσεων δεδομένων ΕΣΔ232 Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας Το σχεσιακό μοντέλο βάσεων δεδομένων Περιεχόμενα Περιεχόμενα - Βιβλιογραφία Ενότητας Εισαγωγή στο σχεσιακό μοντέλο Σχεσιακές γλώσσες ερωτημάτων Περιορισμοί

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

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

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 4 ΤΟ ΕΡΓΑΛΕΙΟ SOLVER

ΚΕΦΑΛΑΙΟ 4 ΤΟ ΕΡΓΑΛΕΙΟ SOLVER ΚΕΦΑΛΑΙΟ 4 ΤΟ ΕΡΓΑΛΕΙΟ SOLVER 4.1. ΕΙΣΑΓΩΓΗ Με την "Επίλυση", µπορείτε να βρείτε τη βέλτιστη τιµή για τον τύπο ενός κελιού το οποίο ονοµάζεται κελί προορισµού σε ένα φύλλο εργασίας. Η "Επίλυση" λειτουργεί

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 9β: SQL (Διαχείριση εγγραφών, Όψεις, Περιορισμοί, Εναύσματα) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής

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

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

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

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

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

ιαχείριση Πληροφοριών στο ιαδίκτυο

ιαχείριση Πληροφοριών στο ιαδίκτυο ιαχείριση Πληροφοριών στο ιαδίκτυο Εργαστήριο (Φυλλάδιο 3) ΤΕΙ Καβάλας - Σχολή ιοίκησης & Οικονοµίας Τµήµα ιαχείρισης Πληροφοριών ιδάσκων: Μαρδύρης Βασίλειος, ιπλ. Ηλ. Μηχανικός & Μηχ. Υπολογιστών, MSc

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

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

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

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

1. Εγκατάσταση του NetMeeting

1. Εγκατάσταση του NetMeeting Οδηγίες Εγκατάστασης και Χρήσης του Netmeeting Περιεχόµενα 1. Εγκατάσταση του Netmeeting 2. Το Interface του Netmeeting 3. Κύρια Κουµπιά Netmeeting 4. Πραγµατοποίηση Κλήσεων - Συνδέσεων 5. Το Μενού του

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

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ ΛΟΓΙΣΜΙΚΟΥ E-LEARNING - 2 -

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ ΛΟΓΙΣΜΙΚΟΥ E-LEARNING - 2 - - 2 - ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ ΛΟΓΙΣΜΙΚΟΥ E-LEARNING Περιεχόµενα Εγκατάσταση λογισµικού Οθόνη καλωσορίσµατος στην εγκατάσταση...4 Πληροφορίες ιδρύµατος και λογισµικού...5 ηµιουργία συντόµευσης στο µενού έναρξης

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

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

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

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

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Είναι τμήματα προγράμματος Βάσης Δεδομένων (διαδικασίες\procedures ή συναρτήσεις\functions) που αποθηκεύονται μόνιμα και εκτελούνται στον διακομιστή της Βάσης Δεδομένων. Δρ. Κεραμόπουλος

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

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

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

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

Παιδαγωγική προσέγγιση: Πρόταση για την διδασκαλία της έννοιας αλγόριθµός στο περιβάλλον MicroWorlds Pro

Παιδαγωγική προσέγγιση: Πρόταση για την διδασκαλία της έννοιας αλγόριθµός στο περιβάλλον MicroWorlds Pro Παιδαγωγική προσέγγιση: Πρόταση για την διδασκαλία της έννοιας αλγόριθµός στο περιβάλλον MicroWorlds Pro Το «Φύλλο Εργασίας» για τους µαθητές Το παρακάτω φύλλο εργασίας µπορεί να χρησιµοποιηθεί ως εισαγωγικό

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

2.1. Οι λογαριασµοί χρηστών Σύνδεση (login) και αποσύνδεση (logout)

2.1. Οι λογαριασµοί χρηστών Σύνδεση (login) και αποσύνδεση (logout) Πανεπιστήµιο Θεσσαλίας Τµήµα Πληροφορικής µε Εφαρµογές στην Βιοϊατρική Εισαγωγή στον Προγραµµατισµό (εργαστήριο) Εισαγωγή στο λειτουργικό σύστηµα UNIX 1. Σύνδεση στο Εικονικό Ιδιωτικό Δίκτυο (VPN) 1.1.

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

Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΗΥ460) Χειμερινό εξάμηνο 2017

Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΗΥ460) Χειμερινό εξάμηνο 2017 Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΗΥ460) Χειμερινό εξάμηνο 2017 1. Εγκατάσταση της Oracle Εγκαταστήστε την Oracle Database 11g Release 2 στο pc σας. Μπορείτε να την κατεβάσετε από το παρακάτω link:

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal Δοµή προγράµµατος 1. Δοµή προγράµµατος program όνοµα_προγράµµατος(αρχείο_1, αρχείο_2,...αρχείο_ν); ΕΠΙΚΕΦΑΛΙΔΑ ΒΙΒΛΙΟΘΗΚΕΣ uses όνοµα_βιβλιοθήκης,όνοµα_βιβλιοθήκης;

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

Εργαστήριο Βάσεων Δεδομένων. 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

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

Συστήματα Αναμονής (Queuing Systems)

Συστήματα Αναμονής (Queuing Systems) ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ - ΕΜΠ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧ. ΥΠΟΛΟΓΙΣΤΩΝ Τομέας Επικοινωνιών, Ηλεκτρονικής & Συστημάτων Πληροφορικής Εργαστήριο Διαχείρισης & Βέλτιστου Σχεδιασμού Δικτύων Τηλεματικής

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΕΥΤΕΡΟ ηµιουργία Βάσης, Πίνακα, Domain Γιώργος Μαρκοµανώλης Περιεχόµενα ηµιουργία Βάσης... 1 ηµιουργία µιας shadow βάσης... 2 ιαγραφή

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

Σχεσιακή Άλγεβρα. Κεφάλαιο 4. Database Management Systems, R. Ramakrishnan and J. Gehrke

Σχεσιακή Άλγεβρα. Κεφάλαιο 4. Database Management Systems, R. Ramakrishnan and J. Gehrke Σχεσιακή Άλγεβρα Κεφάλαιο 4 Database Management Systems, R. Ramakrishnan and J. Gehrke 1 Γλώσσες Σχεσιακών Αιτηµάτων v Γλώσσες Αιτηµάτων: Ε ιτρέ ουν τη ιαχείριση και την Ανάκτηση εδοµένων α ό µια Β. v

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1 Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE Περιεχόμενο εργαστηρίου: - Το περιβάλλον ανάπτυξης προγραμμάτων IDLE - Διαδικασία ανάπτυξης προγραμμάτων Python - Απλά προγράμματα

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

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

. Εργαστήριο Βάσεων Δεδομένων. Triggers Εργαστήριο Βάσεων Δεδομένων Triggers Triggers: Βασικές Έννοιες Ένας trigger είναι ένα κομμάτι κώδικα, μια ρουτίνα Συνδέεται με ένα συγκεκριμένο πίνακα Καλείται όταν συμβεί ένα γεγονός στον πίνακα Συχνές

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

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

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

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

Πληροφοριακά Συστήµατα

Πληροφοριακά Συστήµατα Nell Dale John Lewis Chapter 12 Πληροφοριακά Συστήµατα Στόχοι Ενότητας Η κατανόηση της έννοιας «Πληροφοριακό Σύστηµα» Επεξήγηση της οργάνωσης λογιστικών φύλλων (spreadsheets) Επεξήγηση της ανάλυσης δεδοµένων

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει

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

Εγχειρίδιο Χρήσης του MoPiX (Έκδοση 47)

Εγχειρίδιο Χρήσης του MoPiX (Έκδοση 47) Εργαστήριο Εκπαιδευτικής Τεχνολογίας Πανεπιστήµιο Αθηνών Εγχειρίδιο Χρήσης του MoPiX (Έκδοση 47) Συντάκτης: Μουστάκη Φωτεινή Κεφάλαιο 1 Ι. Εισαγωγή 1. Πρόσβαση στο Internet Για να ανοίξουµε το MoPiX πηγαίνουµε

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

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

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

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

Σχήµα 6.1: Εισαγωγή της εντολής Read From Spreadsheet File στο Block Diagram.

Σχήµα 6.1: Εισαγωγή της εντολής Read From Spreadsheet File στο Block Diagram. Εισαγωγή αρχείων δεδοµένων 1. Η εισαγωγή αρχείων δεδοµένων στο LaVIEW γίνεται στο Block Diagram µε την εντολή Read From Spreadsheet File. 2. Εισάγουµε την εντολή Read From Spreadsheet File στο Block Diagram

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

Σύντοµο Εγχειρίδιο Χρήσης. του Λογισµικού Στατιστικής Επεξεργασίας. SPSS for Windows v. 8.0

Σύντοµο Εγχειρίδιο Χρήσης. του Λογισµικού Στατιστικής Επεξεργασίας. SPSS for Windows v. 8.0 Εθνικό & Καποδιστριακό Πανεπιστήµιο Αθηνών Τµήµα Μεθοδολογίας, Ιστορίας & Θεωρίας της Επιστήµης ιαπανεπιστηµιακό Πρόγραµµα Μεταπτυχιακών Σπουδών «Βασική και Εφαρµοσµένη Γνωσιακή Επιστήµη» Σύντοµο Εγχειρίδιο

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει

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

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1 Διαχείριση Πληροφοριών στο Διαδίκτυο Εργαστήριο 1 Τεχνολογικό Εκπαιδευτικό Ίδρυμα Καβάλας Σχολή Διοίκησης & Οικονομίας Τμήμα Διαχείρισης Πληροφοριών Διδάσκων Μαρδύρης Βασίλειος, Διπλ. Ηλ. Μηχανικός & Μηχ.

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model SQL Μαθ. #11 Ε-R Model for a COMPANY database The COMPANY relational database schema A relational database instance of the COMPANY schema SQL Μια γλώσσα σχεσιακής βάσης

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

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

Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στη MATLAB ΔΙΔΑΣΚΩΝ: ΓΕΩΡΓΙΟΣ ΑΚΡΙΒΗΣ ΒΟΗΘΟΙ: ΔΗΜΗΤΡΙΑΔΗΣ ΣΩΚΡΑΤΗΣ, ΣΚΟΡΔΑ ΕΛΕΝΗ E-MAIL: SDIMITRIADIS@CS.UOI.GR, ESKORDA@CS.UOI.GR Τι είναι Matlab Είναι ένα περιβάλλον

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

DELETE, UPDATE, INSERT

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

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

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

10 η Διάλεξη Python Βάσεις δεδομένων στη python 10 η Διάλεξη Python Βάσεις δεδομένων στη python ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Η standard διεπαφη της python για βάσεις δεδομένων βασίζεται στο DB-API Python Database API υποστηρίζει ένα ευρύ φάσμα βάσεων δεδομένων

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Python. 1η Ομάδα Ασκήσεων

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Python. 1η Ομάδα Ασκήσεων ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Python 1η Ομάδα Ασκήσεων Περιεχόμενο εργαστηρίου: - Το περιβάλλον ανάπτυξης προγραμμάτων IDLE - Διαδικασία ανάπτυξης προγραμμάτων Python - Εισαγωγικά προγράμματα / print / μεταβλητές / input

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

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 3

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 3 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 3 ΔΕΣΠΟΙΝΑ ΠΑΠΑΚΩΝΣΤΑΝΤΙΝΟΥ dpap@unipi.gr 2 ΤΙ ΕΙΝΑΙ Η SQL? (1/2) Η SQL (Structured Query Language) αποτελεί μια πρότυπη

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

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

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

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

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

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

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

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

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

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

DELETE, UPDATE, INSERT.

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1 Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave Περιεχόμενο εργαστηρίου: - Το περιβάλλον ανάπτυξης προγραμμάτων Octave - Διαδικασία ανάπτυξης προγραμμάτων MATLAB - Απλά

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

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++ ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξοικείωση με τη χρήση του περιβάλλοντος Dev C++ το οποίο θα χρησιμοποιηθεί για την υλοποίηση

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

Λίγα λόγια από το συγγραφέα Κεφάλαιο 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

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

Certified Data Base Designer (CDBD)

Certified Data Base Designer (CDBD) Certified Data Base Designer (CDBD) Εξεταστέα Ύλη (Syllabus) Πνευµατικά ικαιώµατα Το παρόν είναι πνευµατική ιδιοκτησία της ACTA Α.Ε. και προστατεύεται από την Ελληνική και Ευρωπαϊκή νοµοθεσία που αφορά

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

Βάσεις Δεδομένων Η γλώσσα 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 Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

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

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

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS Ακαδημαϊκό Έτος 2016-2017, Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS A. Εισαγωγή στις βάσεις δεδομένων - Γνωριμία με την ACCESS B. Δημιουργία Πινάκων 1. Εξήγηση των

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

Εξαγωγή Οικονοµικών Αναφορών (Ισολογισµός, Αποτελέσµατα Χρήσης, Λογαριασµοί Γενικής Εκµετάλλευσης) στην Εφαρµογή Ms Excel

Εξαγωγή Οικονοµικών Αναφορών (Ισολογισµός, Αποτελέσµατα Χρήσης, Λογαριασµοί Γενικής Εκµετάλλευσης) στην Εφαρµογή Ms Excel Εξαγωγή Οικονοµικών Αναφορών (Ισολογισµός, Αποτελέσµατα Χρήσης, Λογαριασµοί Γενικής Εκµετάλλευσης) στην Εφαρµογή Ms Excel Η εφαρµογή σε συνεργασία µε τη Microsoft σας προσφέρει τη δυνατότητα να διαχειρίζεστε

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

Δηµιουργώντας µία παρουσίαση µε το Prezi

Δηµιουργώντας µία παρουσίαση µε το Prezi Τάξη : Α ή B Λυκείου Ενότητα : Web 2.0 - Prezi Δηµιουργώντας µία παρουσίαση µε το Prezi Το Prezi είναι ένα site το οποίο σου δίνει την δυνατότητα να δηµιουργήσεις και να µοιραστείς µη γραµµικές παρουσιάσεις.

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

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

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

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

Διάλεξη 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)

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

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

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

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

Στην συνέχεια και στο επόµενο παράθυρο η εφαρµογή µας ζητάει να εισάγουµε το Username και το Password το οποίο σας έχει δοθεί από τον ΕΛΚΕ.

Στην συνέχεια και στο επόµενο παράθυρο η εφαρµογή µας ζητάει να εισάγουµε το Username και το Password το οποίο σας έχει δοθεί από τον ΕΛΚΕ. 1. Πρόσβαση Οδηγίες προγράµµατος διαχείρισης ανάλυσης χρόνου εργασίας (Time Sheet) Για να ξεκινήσετε την εφαρµογή, από την κεντρική σελίδα του ΕΛΚΕ (www.elke.aua.gr) και το µενού «ιαχείριση», Time Sheet

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

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL ΗΥ360 - ΑΡΧΕΙΑ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL ΛΙΛΙΤΣΗΣ ΠΡΟΔΡΟΜΟΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ SQL - STRUCTURED QUERY LANGUAGE 2 Μια γλώσσα επερωτήσεων για τη διαχείριση Σχεσιακών Βάσεων

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

Σχήµα 5.1: Εισαγωγή της δοµής formula node στο Block Diagram.

Σχήµα 5.1: Εισαγωγή της δοµής formula node στο Block Diagram. Η δοµή Formula Node 1. Η δοµή Formula Node επιτρέπει την εισαγωγή αναλυτικών σχέσεων στο Block Diagram µε πληκτρολόγηση, αποφεύγοντας έτσι την εισαγωγή των εικονίδιων συναρτήσεων απλών αλγεβρικών πράξεων

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

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

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

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

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. Εργαστήριο Επεξεργασία Εικόνας & Βίντεο 1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή Νικόλαος Γιαννακέας Άρτα 2018 1 Εισαγωγή Το Matlab

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

Εαρινό Εξάμηνο

Εαρινό Εξάμηνο ΙΙ Παράλληλες ΙΙ Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών Εαρινό Εξάμηνο 2011-2012 Table of contents ΙΙ 1 Παράλληλες Table of contents ΙΙ Παράλληλες 1 2 Table of contents

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

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

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

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