Η Γλώσσα SQL. What is the average salary in the Toy department? Anonymous SQL user

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Η Γλώσσα SQL. What is the average salary in the Toy department? Anonymous SQL user"

Transcript

1 Η γλώσσα SQL Η Γλώσσα SQL What men or gods are these? What maidens loth? What mad pursuit? What struggle to escape? What pipes and timbrels? What wild ectasy? John Keats, Ode on a Grecian Urn What is the average salary in the Toy department? Anonymous SQL user Βάσεις εδοµένων Ευαγγελία Πιτουρά 1 Βάσεις εδοµένων Ευαγγελία Πιτουρά 2 Η γλώσσα SQL Η γλώσσα SQL Η standard γλώσσα για σχεσιακές βάσεις δεδοµένων. αρχικά Sequel στην IBM ως µέρος του System R, τώρα SQL (Stuctured Query Language) SQL--89, SQL--92, SQL-99 Τυπικές (Formal) Γλώσσες σχεσιακή άλγεβρα σχεσιακός λογισµός (πλειάδων και πεδίου) Εµπορικές Γλώσσες Προγραµµατισµού SQL QBE Βάσεις εδοµένων Ευαγγελία Πιτουρά 3 Βάσεις εδοµένων Ευαγγελία Πιτουρά 4 Η γλώσσα SQL Η γλώσσα SQL H SQL έχει διάφορα τµήµατα: Γλώσσα Ορισµού εδοµένων (ΓΟ ) Γλώσσα Χειρισµού εδοµένων (ΓΧ ) Ενσωµατωµένη Γλώσσα Χειρισµού εδοµένων Ορισµό Όψεων Εξουσιοδότηση (authentication) Ακεραιότητα Έλεγχο Συναλλαγών SQL αποτελείται από: DDL (Data Definition Language) - ορισµός, δηµιουργία, τροποποίηση και διαγραφή σχήµατος. DML (Data Manipulation Language) - ορισµός, δηµιουργία, τροποποίηση, διαγραφή και επιλογή δεδοµένων (γλώσσα ερωτήσεων). Προδιαγραφές ασφάλειας - χρήστες και δικαιώµατα. Βάσεις εδοµένων Ευαγγελία Πιτουρά 5 Βάσεις εδοµένων Ευαγγελία Πιτουρά 6

2 Βασική οµή Η Γλώσσα Βάσεων εδοµένων SQL (Μέρος 1: Βασική οµή, Πράξεις Συνόλου) Βασική οµή Μια χαρακτηριστική ερώτηση σε SQL έχει την εξής µορφή: ονόµατα γνωρισµάτων select Α 1, Α 2,.., Α n ονόµατα σχέσεων from R 1, R 2, R m where P συνθήκη Ισοδύναµο του: π A 1, A2,.., An (σ P (R 1 x R 2 x R m )) Βάσεις εδοµένων Ευαγγελία Πιτουρά 7 Βάσεις εδοµένων Ευαγγελία Πιτουρά 8 Βασική οµή Βασική οµή select Α1, Α2,.., Αn from R 1, R 2, R m where P π A1, A 2,.., A n (σ P (R 1 x R 2 x R m )) select Α 1, Α 2,.., Α n from R1, R2, Rm where P π A1, A 2,.., A n (σ P (R 1 x R 2 x R m )) select αντιστοιχεί στην πράξη της προβολής της σχεσιακής άλγεβρας. Ποια γνωρίσµατα θέλουµε να υπάρχουν στο αποτέλεσµα της ερώτησης. from αντιστοιχεί στην πράξη του καρτεσιανού γινοµένου της σχεσιακής άλγεβρας. Ποιες σχέσεις θα χρησιµοποιηθούν για τον υπολογισµό του αποτελέσµατος. Βάσεις εδοµένων Ευαγγελία Πιτουρά 9 Βάσεις εδοµένων Ευαγγελία Πιτουρά 10 Βασική οµή Βασική οµή select Α 1, Α 2,.., Α n from R1, R2, Rm where P π A1, A 2,.., A n (σ P (R 1 x R 2 x R m )) Όταν δεν υπάρχει το where, το P θεωρείται ότι ισχύει. where αντιστοιχεί στη συνθήκη της πράξης της επιλογής στη σχεσιακή άλγεβρα. Το κατηγόρηµα P έχει γνωρίσµατα των σχέσεων που εµφανίζονται στο from. ΠΡΟΣΟΧΗ: ε γίνεται απαλοιφή των διπλών εµφανίσεων. Βάσεις εδοµένων Ευαγγελία Πιτουρά 11 Βάσεις εδοµένων Ευαγγελία Πιτουρά 12

3 Βασική οµή Βασική οµή Ηθοποιός Ταινία Τίτλος Έτος ιάρκεια Είδος Παίζει Όνοµα Τίτλος Έτος Παράδειγµα: Ονόµατα ηθοποιών που παίζουν στην ταινία Gone by the Wind select Όνοµα from Παίζει where Τίτλος = ''Gone by the Wind'' Όνοµα ιεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Βάσεις εδοµένων Ευαγγελία Πιτουρά 13 Βάσεις εδοµένων Ευαγγελία Πιτουρά 14 Select Select Select Παράδειγµα: Ονόµατα όλων των ηθοποιών που έχουν παίξει σε ταινίες (ή σε ασπρόµαυρες ταινίες) select Όνοµα from Παίζει Η SQL επιτρέπει πολλαπλές εµφανίσεις της ίδιας πλειάδας σε µια σχέση. Μια σχέση στην SQL είναι ένα πολυσύνολο (multiset) ή θύλακας (bag). Απαλοιφή διπλών εµφανίσεων select distinct Όνοµα from Παίζει Βάσεις εδοµένων Ευαγγελία Πιτουρά 15 Βάσεις εδοµένων Ευαγγελία Πιτουρά 16 Select Select Επιλογή όλων των γνωρισµάτων select * from Παίζει Αριθµητικές πράξεις (+, -, *, /) ανάµεσα σε σταθερές ή γνωρίσµατα πλειάδων select Τίτλος, Έτος, ιάρκεια / 60, Είδος Επιστρέφει µια σχέση ίδια µε τη σχέση Ταινία µόνο που το γνώρισµα διάρκεια µας δίνει τις ώρες (έχει διαιρεθεί µε το 60) Βάσεις εδοµένων Ευαγγελία Πιτουρά 17 Βάσεις εδοµένων Ευαγγελία Πιτουρά 18

4 Where Where Where Παράδειγµα: Τον τίτλο όλων των ταινιών που γυρίστηκαν µετά το 1995 και είναι ασπρόµαυρες select Τίτλος where Έτος > 1995 and Είδος = ''Ασπρόµαυρη'' συνθήκη του where Λογικοί τελεστές: and, or, not Τελεστές σύγκρισης: <, <=, >, >=, =, <>, between, not between ανάµεσα σε αριθµητικές εκφράσεις,συµβολοσειρές (strings), και ειδικούς τύπους. Βάσεις εδοµένων Ευαγγελία Πιτουρά 19 Βάσεις εδοµένων Ευαγγελία Πιτουρά 20 Where Βασική οµή Παράδειγµα χρήσης του between : select Τίτλος where Έτος between 1990 and 1995 αντί του select Τίτλος where Έτος >= 1990 and Έτος <= 1995 Όταν το ίδιο γνώρισµα εµφανίζεται στο σχήµα περισσότερων από µια σχέσεων, τότε διάκριση βάση του συµβολισµού: <όνοµα-σχέσης>.<όνοµα-γνωρίσµατος> Παράδειγµα φυσικής συνένωσης: Τους ηθοποιούς που παίζουν σε ασπρόµαυρες ταινίες select distinct Όνοµα from Παίζει, Ταινία where Παίζει.Τίτλος = Ταινία.Τίτλος and Παίζει.Έτος = Ταινία.Έτος and Είδος = Ασπρόµαυρη Βάσεις εδοµένων Ευαγγελία Πιτουρά 21 Βάσεις εδοµένων Ευαγγελία Πιτουρά 22 Βασική οµή Η γλώσσα SQL Ταινία (Τίτλος, Έτος, ιάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, ιεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παραδείγµατα Έγχρωµες ταινίες µε διάρκεια µέχρι 80 λεπτά Οι ηθοποιοί που γεννήθηκαν µετά το 1935 και έπαιξαν σε ασπρόµαυρες ταινίες πριν το 1945 Περισσότερα για τη γλώσσα ερωτήσεων - Πράξεις µε Συµβολοσειρές - ιάταξη Πλειάδων - Αλλαγή Ονόµατος - Μεταβλητές Πλειάδων - Πράξεις Συνόλων - Η τιµή null Βάσεις εδοµένων Ευαγγελία Πιτουρά 23 Βάσεις εδοµένων Ευαγγελία Πιτουρά 24

5 Πράξεις µε Συµβολοσειρές Πράξεις µε Συµβολοσειρές Πράξεις µε Συµβολοσειρές Ηπιο συνηθισµένη πράξη είναι ταίριασµα προτύπων: % ταιριάζει οποιαδήποτε συµβολοσειρά _ ταιριάζει οποιοδήποτε χαρακτήρα Γίνεται διάκριση ανάµεσα σε κεφαλαία και µικρά Παράδειγµα: Οι τίτλοι όλων των ταινιών που περιέχουν τη λέξη Θάλασσα select distinct Τίτλος where Τίτλος like %Θάλασσα% Σύγκριση χρησιµοποιώντας το like, not like Πολλές ακόµα πράξεις διαθέσιµες. Βάσεις εδοµένων Ευαγγελία Πιτουρά 25 Βάσεις εδοµένων Ευαγγελία Πιτουρά 26 ιάταξη των Πλειάδων ιάταξη των Πλειάδων ιάταξη των Πλειάδων Χρήση του order by ώστε οι πλειάδες στο αποτέλεσµα να είναι ταξινοµηµένες µε βάση τo αντίστοιχο γνώρισµα select distinct Ταινία, Έτος from Παίζει where Όνοµα = Robert De Niro order by Έτος Default: αύξουσα διάταξη, αλλά και άµεσα χρησιµοποιώντας το asc (αύξουσα) ή το desc (φθήνουσα). Επίσης, ταξινόµηση µε βάση πολλά γνωρίσµατα. Παράδειγµα: select * order by Έτος desc, Τίτλος asc Ηταξινόµηση είναι δαπανηρή λειτουργία. Βάσεις εδοµένων Ευαγγελία Πιτουρά 27 Βάσεις εδοµένων Ευαγγελία Πιτουρά 28 Αλλαγή Ονόµατος Αλλαγή Ονόµατος Αλλαγή Ονόµατος Τα ονόµατα των γνωρισµάτων στο αποτέλεσµα είναι αυτά των σχέσεων στην ερώτηση. υνατότητα αλλαγής του ονόµατος τόσο µιας σχέσης όσο και ενός γνωρίσµατος: Για παράδειγµα: select Τίτλος, Έτος, ιάρκεια / 60 as Ώρες- ιάρκεια, Είδος <παλιό-όνοµα> as <νέο-όνοµα> To as µπορεί να εµφανίζεται στο select ή στο from Βάσεις εδοµένων Ευαγγελία Πιτουρά 29 Βάσεις εδοµένων Ευαγγελία Πιτουρά 30

6 Αλλαγή Ονόµατος Μεταβλητές Πλειάδων Χρήσιµο όταν (α) όταν έχουµε αριθµητικές εκφράσεις στο select και δεν έχουν όνοµα, (β) όταν θέλουµε να αλλάξουµε το όνοµα του γνωρίσµατος στο αποτέλεσµα. Μεταβλητές Πλειάδων Μια µεταβλητή πλειάδας µπορεί να οριστεί στο from χρησιµοποιώντας το as: select distinct Όνοµα from Παίζει as Π, Ταινία as Τ where Π.Τίτλος = Τ.Τίτλος and Π.Έτος = Τ.Έτος and Είδος = Ασπρόµαυρη (γ) δυο σχέσεις του from έχουν γνωρίσµατα µε το ίδιο όνοµα, Βάσεις εδοµένων Ευαγγελία Πιτουρά 31 Βάσεις εδοµένων Ευαγγελία Πιτουρά 32 Μεταβλητές Πλειάδων Πράξεις Συνόλων Οι µεταβλητές πλειάδων είναι ιδιαίτερα χρήσιµες όταν θέλουµε να συγκρίνουµε δυο πλειάδες της ίδιας σχέσης. Παράδειγµα: Τα ονόµατα όλων των ταινιών που έχουν διάρκεια µεγαλύτερη τουλάχιστον από µία ταινία που γυρίστηκε το 1995 select distinct Τ.Τίτλος as S, Ταινία as T where T. ιάρκεια > S. ιάρκεια and S.Έτος = 1995 Πράξεις Συνόλων Πράξεις: union intersection except εφαρµόζονται σε συµβατές σχέσεις. Βάσεις εδοµένων Ευαγγελία Πιτουρά 33 Βάσεις εδοµένων Ευαγγελία Πιτουρά 34 Πράξεις Συνόλων Πράξεις Συνόλων Γενική Σύνταξη: ( select from where ) union/intersection/except ( select from where) Λογαριασµός Όνοµα-Υποκαταστήµατος Αριθµός-Λογαριασµού Υποκατάστηµα Όνοµα-Υποκαταστήµατος Πόλη Σύνολο άνειο Όνοµα-Υποκαταστήµατος Αριθµός- ανείου Ποσό ανειζόµενος Όνοµα-Πελάτη Αριθµός- ανείου Ποσό Πελάτης Καταθέτης Όνοµα-Πελάτη Οδός Πόλη Όνοµα-Πελάτη Αριθµός-Λογαριασµού Βάσεις εδοµένων Ευαγγελία Πιτουρά 35 Βάσεις εδοµένων Ευαγγελία Πιτουρά 36

7 Πράξεις Συνόλων Πράξεις Συνόλων Παράδειγµα union: Τα ονόµατα όλων των πελατών που έχουν καταθέσεις ή/και έχουν πάρει δάνειο ( select Όνοµα-Πελάτη from Καταθέτης ) union ( select Όνοµα-Πελάτη from ανειζόµενος ) Απαλοιφή διπλών εµφανίσεων, εκτός αν χρησιµοποιηθεί το union all Μέγιστος αριθµός πολλαπλών εµφανίσεων; Βάσεις εδοµένων Ευαγγελία Πιτουρά 37 Βάσεις εδοµένων Ευαγγελία Πιτουρά 38 Πράξεις Συνόλων Πράξεις Συνόλων Παράδειγµα intersect: Τα ονόµατα όλων των πελατών που έχουν καταθέσεις και έχουν πάρει δάνειο ( select Όνοµα-Πελάτη from Καταθέτης ) intersect ( select Όνοµα-Πελάτη from ανειζόµενος ) Αντίστοιχα υπάρχει το intersect all Μέγιστος αριθµός πολλαπλών εµφανίσεων; Βάσεις εδοµένων Ευαγγελία Πιτουρά 39 Παράδειγµα except: Τα ονόµατα όλων των πελατών που έχουν καταθέσεις και δεν έχουν πάρει δάνειο ( select Όνοµα-Πελάτη from Καταθέτης ) except ( select Όνοµα-Πελάτη from ανειζόµενος ) Αντίστοιχα υπάρχει το except all Μέγιστος αριθµός πολλαπλών εµφανίσεων; Βάσεις εδοµένων Ευαγγελία Πιτουρά 40 Η τιµή null Η τιµή null Η τιµή null Χρήση της λέξης κλειδί is null (is not null) σε µια συνθήκη για να ελέξουµε αν µια τιµή είναι null. select Αριθµός- ανείου from άνειο where Ποσό is null Εµφάνιση null Σε αριθµητικές πράξεις: το αποτέλεσµα είναι null όταν οποιαδήποτε τιµή είναι null Σε συγκρίσεις: σύγκριση µε null συνήθως δίνει αποτέλεσµα false Σε συναθροιστικές συναρτήσεις: αγνοείται πλην από το count(*) Παράδειγµα: select sum(ποσό) from άνειο Βάσεις εδοµένων Ευαγγελία Πιτουρά 41 Βάσεις εδοµένων Ευαγγελία Πιτουρά 42

8 Βασική οµή (επανάληψη) Βασική οµή (επανάληψη) Select Μια χαρακτηριστική ερώτηση σε SQL έχει την εξής µορφή: ονόµατα γνωρισµάτων select Α 1, Α 2,.., Α n ονόµατα σχέσεων from R1, R2, Rm where P συνθήκη Ισοδύναµο του: π A1, A 2,.., A n (σ P (R 1 x R 2 x R m )) ιαγραφή διπλότιµων: select distinct select * (όλα τα γνωρίσµατα) Συνθήκη του where Λογικοί τελεστές: and, or, not Τελεστές σύγκρισης: <, <=, >, >=, =, <>, between, not between ανάµεσα σε αριθµητικές εκφράσεις,συµβολοσειρές (strings), και ειδικούς τύπους. Βάσεις εδοµένων Ευαγγελία Πιτουρά 43 Βάσεις εδοµένων Ευαγγελία Πιτουρά 44 Βασική οµή (επανάληψη) Όταν το ίδιο γνώρισµα εµφανίζεται στο σχήµα περισσότερων από µια σχέσεων, τότε διάκριση βάση του συµβολισµού: <όνοµα-σχέσης>.<όνοµα-γνωρίσµατος> υνατότητα αλλαγής του ονόµατος τόσο µιας σχέσης όσο και ενός γνωρίσµατος: <παλιό-όνοµα> as <νέο-όνοµα> To as µπορεί να εµφανίζεται στο select ή στο from Οι µεταβλητές πλειάδων είναι ιδιαίτερα χρήσιµες όταν θέλουµε να συγκρίνουµε δυο πλειάδες τις ίδιας σχέσης. Συµβολοσειρές, ιάταξη (επανάληψη) Πράξεις µε Συµβολοσειρές Ηπιο συνηθισµένη πράξη είναι ταίριασµα προτύπων: % ταιριάζει οποιαδήποτε συµβολοσειρά _ ταιριάζει οποιοδήποτε χαρακτήρα Σύγκριση χρησιµοποιώντας το like, not like ιάταξη των Πλειάδων Χρήση του order by ώστε οι πλειάδες στο αποτέλεσµα να είναι ταξινοµηµένες µε βάση τo αντίστοιχο γνώρισµα Default: αύξουσα διάταξη, αλλά και άµεσα χρησιµοποιώντας το asc (αύξουσα) ή το desc (φθήνουσα). Βάσεις εδοµένων Ευαγγελία Πιτουρά 45 Βάσεις εδοµένων Ευαγγελία Πιτουρά 46 Βασική οµή (επανάληψη) Πράξεις συνόλων (επανάληψη) Πράξεις Συνόλων select Α 1, Α 2,.., Α n from R 1, R 2, R m where P order by Πράξεις: union intersection except εφαρµόζονται σε συµβατές σχέσεις. Σύνταξη (select-from-where) union (select-from-where) Απαλοιφή διπλών εµφανίσεων, εκτός αν χρησιµοποιηθεί το union all Βάσεις εδοµένων Ευαγγελία Πιτουρά 47 Βάσεις εδοµένων Ευαγγελία Πιτουρά 48

9 Ητιµή null (επανάληψη) Η τιµή null Χρήση της λέξης κλειδί is null (is not null) σε µια συνθήκη για να ελέγξουµε αν µια τιµή είναι null. Φωλιασµένες Υποερωτήσεις Η SQL επιτρέπει το φώλιασµα υπο-ερωτήσεων. Μια υπο-ερώτηση είναι µια έκφραση select-fromwhere που χρησιµοποιείται µέσα σε µια άλλη ερώτηση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 49 Βάσεις εδοµένων Ευαγγελία Πιτουρά 50 Η Γλώσσα SQL (Μέρος 2:, Γλώσσα Ορισµού) Γενική δοµή: select... from... where Υπο-ερώτηση <τελεστής> (select... from... where... ); Υπολογισµός της υπο-ερώτησης για κάθε γραµµή (πλειάδα) της εξωτερικής ερώτησης Βάσεις εδοµένων Ευαγγελία Πιτουρά 51 Βάσεις εδοµένων Ευαγγελία Πιτουρά 52 Η γλώσσα SQL Λογαριασµός Υποκατάστηµα Όνοµα-Υποκαταστήµατος Αριθµός-Λογαριασµού Ποσό Όνοµα-Υποκαταστήµατος Πόλη Σύνολο άνειο Όνοµα-Υποκαταστήµατος Αριθµός- ανείου Ποσό ανειζόµενος Όνοµα-Πελάτη Αριθµός- ανείου Πελάτης Όνοµα-Πελάτη Οδός Πόλη Καταθέτης Όνοµα-Πελάτη Αριθµός-Λογαριασµού Ο τελεστής in (not in) ελέγχει αν µια πλειάδα ανήκει (δεν ανήκει) σε ένα σύνολο από πλειάδες που έχουν προκύψει από µια έκφραση select-from-where. Παράδειγµα: Τα ονόµατα όλων των πελατών που έχουν πάρει δάνειο και έχουν καταθέσεις select distinct Όνοµα-Πελάτη from ανειζόµενος where Όνοµα-Πελάτη in ( select Όνοµα-Πελάτη from Καταθέτης) Βάσεις εδοµένων Ευαγγελία Πιτουρά 53 Βάσεις εδοµένων Ευαγγελία Πιτουρά 54

10 Παραπάνω από δύο γνωρίσµατα Παράδειγµα: Τα ονόµατα όλων των πελατών που έχουν πάρει δάνειο και έχουν καταθέσεις στο υποκατάστηµα Ψηλά-Αλώνια select distinct Όνοµα-Πελάτη from ανειζόµενος, άνειο where ανειζόµενος.αριθµός- ανείου = άνειο.αριθµός. ανείου and Όνοµα-Υποκαταστήµατος = Ψηλά-Αλώνια and ( Όνοµα-Υποκαταστήµατος, Όνοµα-Πελάτη) in (select Όνοµα-Υποκαταστήµατος, Όνοµα-Πελάτη from Καταθέτης, Λογαριασµός where Καταθέτης.Αριθµός-Λογαριασµού = Λογαριασµός.Αριθµός-Λογαριασµού) Ταινία (Τίτλος, Έτος, ιάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, ιεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα: Τα ονόµατα όλων των ηθοποιών που έπαιξαν σε ασπρόµαυρη ταινία select distinct Ηθοποιός.Όνοµα from Παίζει where (Παίζει.Τίτλος, Παίζει Έτος) in (select Ταινία.Τίτλος, Ταινία.Έτος where Είδος = «Ασπρόµαυρη») Βάσεις εδοµένων Ευαγγελία Πιτουρά 55 Βάσεις εδοµένων Ευαγγελία Πιτουρά 56 Μπορεί να χρησιµοποιηθεί και µε enumerated σύνολα Παράδειγµα: Τα ονόµατα όλων των πελατών που έχουν πάρει δάνειο και δε λέγονται Παπαδόπουλος ή Πέτρου. select distinct Όνοµα-Πελάτη from ανειζόµενος where Όνοµα-Πελάτη not in ( Παπαδόπουλος, Πέτρου ) Σύγκριση Συνόλων 1. Ο τελεστής some (any) έχει τη σηµασία του τουλάχιστον ένα από ένα σύνολο Παράδειγµα: Τα ονόµατα όλων των υποκαταστηµάτων που έχουν καταθέσεις µεγαλύτερες από τις καταθέσεις ενός τουλάχιστον υποκαταστήµατος των Ιωαννίνων. select distinct Όνοµα-Υποκαταστήµατος from Υποκατάστηµα where Ποσό > some (select Ποσό from Υποκατάστηµα where Πόλη = Ιωάννινα ) Βάσεις εδοµένων Ευαγγελία Πιτουρά 57 Βάσεις εδοµένων Ευαγγελία Πιτουρά 58 επίσης: < some, <= some, >= some, = some (ισοδ. του in) < > some (όχι ισοδ. του not in) 2. Ο τελεστής all έχει τη σηµασία από όλα τα στοιχεία ενός συνόλου Παράδειγµα: Τα ονόµατα όλων των υποκαταστηµάτων που έχουν καταθέσεις µεγαλύτερες από τις καταθέσεις όλων των υποκαταστηµάτων των Ιωαννίνων. select distinct Όνοµα-Υποκαταστήµατος from Υποκατάστηµα where Ποσό > all (select Ποσό from Υποκατάστηµα where Πόλη = Ιωάννινα ) Βάσεις εδοµένων Ευαγγελία Πιτουρά 59 Βάσεις εδοµένων Ευαγγελία Πιτουρά 60

11 Ταινία (Τίτλος, Έτος, ιάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, ιεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα: ; select distinct Όνοµα from Ηθοποιός where Έτος-Γέννησης <= all (select Έτος-Γέννησης from Παίζει, Ηθοποιός where Παίζει.Όνοµα = Ηθοποιός.Όνοµα and Τίτλος = «Μανταλένα» επίσης: < all, <= all, >= all, = all, < > all (ισοδ. του not in) Βάσεις εδοµένων Ευαγγελία Πιτουρά 61 Βάσεις εδοµένων Ευαγγελία Πιτουρά Έλεγχος για άδεια σχέση Παράδειγµα: Το υποκατάστηµα µε το µεγαλύτερο µέσο ποσό καταθέσεων. select distinct Όνοµα-Υποκαταστήµατος from Λογαριασµός group by Όνοµα-Υποκαταστήµατος having avg (Ποσό) > = all (select avg(ποσό) from Λογαριασµός group by Όνοµα-Υποκαταστήµατος) Ο τελεστής exists: επιστρέφει true ανν η υποερώτηση δεν είναι κενή Παράδειγµα: Οι πελάτες που έχουν καταθέσεις και έχουν πάρει δάνειο. select Όνοµα-Πελάτη from ανειζόµενος where exists (select * from Καταθέτης where Καταθέτης.Όνοµα-Πελάτη = ανειζόµενος.όνοµα- Πελάτη) Βάσεις εδοµένων Ευαγγελία Πιτουρά 63 Βάσεις εδοµένων Ευαγγελία Πιτουρά 64 Ο τελεστής not exists µπορεί να χρησιµοποιηθεί για έλεγχο αν η σχέση A περιέχει τη σχέση B not exists (Β except Α) True if and only if A B Ποια πράξη της σχεσιακής άλγεβρας; Ταινία (Τίτλος, Έτος, ιάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, ιεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα: Οι ηθοποιοί που έχουν παίξει σε όλες τις ταινίες της Βουγιουκλάκη B: όλες οι ταινίες της Βουγιουκλάκη Α: όλες οι ταινίες του συγκεκριµένου ηθοποιού select distinct S.Όνοµα from Παίζει as S where not exists ((select Τίτλος, Έτος from Παίζει where Όνοµα = Βουγιουκλάκη ) except (select Τίτλος, Έτος from Παίζει as R where R.Όνοµα = S.Όνοµα)) not exists (Β except Α) uπολογισµός για κάθε S Βάσεις εδοµένων Ευαγγελία Πιτουρά 65 Βάσεις εδοµένων Ευαγγελία Πιτουρά 66

12 Παράδειγµα: Οι πελάτες που έχουν καταθέσεις σε όλα τα υποκαταστήµατα της Πάτρα. B: όλα τα υποκαταστήµατα της Πάτρας Α: όλα τα υποκαταστήµατα στα οποία έχει κατάθεση ο συγκεκριµένος πελάτης select distinct S.Όνοµα-Πελάτη not exists (Β except Α) from Καταθέτης as S where not exists ((select Όνοµα-Υποκαταστήµατος from Υποκατάστηµα where Πόλη = Πάτρα ) except (select R. Όνοµα-Υποκαταστήµατος from Καταθέτης as T, Λογαριασµός as R where T.Όνοµα-Πελάτη = S. Όνοµα-Πελάτη and T.Αριθµός-Λογαριασµού = R. Αριθµός-Λογαριασµού )) 4. Έλεγχος για ιπλές Εµφανίσεις Ο τελεστής unique: επιστρέφει true ανν η υποερώτηση δεν έχει πολλαπλές όµοιες πλειάδες not unique Βάσεις εδοµένων Ευαγγελία Πιτουρά 67 Βάσεις εδοµένων Ευαγγελία Πιτουρά 68 Ταινία (Τίτλος, Έτος, ιάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, ιεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα: Οι ηθοποιοί που έχουν παίξει το πολύ σε µια ταινία select Όνοµα from Παίζει ας T where unique (select Τ.Όνοµα from Παίζει ας R where T.Όνοµα = R.Όνοµα) select Όνοµα from Παίζει group by Όνοµα having count(*) < = 1 (θα το δούµε στη συνέχεια) Παράδειγµα: Οι πελάτες που έχουν ακριβώς µια κατάθεση στο υποκατάστηµα Ψηλά Αλώνια select T.Όνοµα-Πελάτη from Καταθέτης as Τ where unique (select R.Όνοµα-Πελάτη from Λογαριασµός, Καταθέτης as R where T.Όνοµα-Πελάτη = R.Όνοµα-Πελάτη and R. Αριθµός-Λογαριασµού = Λογαριασµός. Αριθµός- Λογαριασµού and Λογαριασµός.Όνοµα-Υποκαταστήµατος = Ψηλά Αλώνια ) Βάσεις εδοµένων Ευαγγελία Πιτουρά 69 Βάσεις εδοµένων Ευαγγελία Πιτουρά 70 Παράδειγµα: Οι πελάτες που έχουν τουλάχιστον δύο καταθέσεις στο υποκατάστηµα Ψηλά Αλώνια select T.Όνοµα-Πελάτη from Καταθέτης as Τ where not unique (select R.Όνοµα-Πελάτη from Λογαριασµός, Καταθέτης as R where T.Όνοµα-Πελάτη = R.Όνοµα-Πελάτη and R. Αριθµός-Λογαριασµού = Λογαριασµός. Αριθµός- Λογαριασµού and Λογαριασµός.Όνοµα-Υποκαταστήµατος = Ψηλά Αλώνια ) in/not in (συµµετοχή σε σύνολο) (>, =, κλπ) some/any/all (σύγκριση συνόλων) exists/not exists (έλεγχος για κενά σύνολα) unique/not unique (έλεγχος για διπλότιµα) Βάσεις εδοµένων Ευαγγελία Πιτουρά 71 Βάσεις εδοµένων Ευαγγελία Πιτουρά 72

13 Η γλώσσα SQL Γλώσσα Ορισµού εδοµένων H SQL έχει διάφορα τµήµατα: Γλώσσα Ορισµού εδοµένων (ΓΟ ) Γλώσσα Χειρισµού εδοµένων (ΓΧ ) Ενσωµατωµένη Γλώσσα Χειρισµού εδοµένων Ορισµό Όψεων Εξουσιοδότηση (authentication) Ακεραιότητα Έλεγχο Συναλλαγών Γλώσσα Ορισµού εδοµένων (ΓΟ ) Σχετικά µε το λογικό σχήµα, η ΓΟ SQL υποστηρίζει τους ορισµούς: του σχήµατος κάθε σχέσης του πεδίου τιµών κάθε γνωρίσµατος των περιορισµών ακεραιότητας Βάσεις εδοµένων Ευαγγελία Πιτουρά 73 Βάσεις εδοµένων Ευαγγελία Πιτουρά 74 create table R(A 1 D 1, A 2 D 2,..., A n D n ), <περιορισµός-ακεραιότητας 1 >,, <περιορισµός-ακεραιότητας k > Γλώσσα Ορισµού εδοµένων όπου R είναι το όνοµα της σχέσης, A i τα ονόµατα των γνωρισµάτων, και D i οι τύποι των αντίστοιχων πεδίων τιµών. Τύποι Πεδίου Ορισµού Πεδία Τιµών Για τον ορισµό του πεδίου ορισµού, οι διαθέσιµοι built-in τύποι περιλαµβάνουν: char(n) (σταθερού µήκους) varchar(n) int smallint numeric(p, d) (d από τα p ψηφία είναι στα δεξιά της υποδιαστολής) real, double precision float(n) date (ηµεροµηνία) time (ώρα) Βάσεις εδοµένων Ευαγγελία Πιτουρά 75 Βάσεις εδοµένων Ευαγγελία Πιτουρά 76 Πεδία Τιµών Ο ορισµός πεδίου µπορεί να περιέχει τον προσδιορισµό not null Επίσης, επιτρέπεται δηµιουργία πεδίου: create domain <name> as <type-description> create domain Όνοµα-Προσώπου char(20) Ορισµός Σχήµατος create table R(A 1 D 1, A 2 D 2,..., A n D n ), <περιορισµός-ακεραιότητας 1 >,, <περιορισµός-ακεραιότητας k > Ορισµός Σχήµατος όπου R είναι το όνοµα της σχέσης, A i τα ονόµατα των γνωρισµάτων, και D i οι τύποι των αντίστοιχων πεδίων τιµών. Βάσεις εδοµένων Ευαγγελία Πιτουρά 77 Βάσεις εδοµένων Ευαγγελία Πιτουρά 78

14 Ορισµός Σχήµατος Ορισµός Σχήµατος Επιτρεπτοί περιορισµοί ακεραιότητας είναι της µορφής: primary key A j1, A j2,..., A jn, (δεν επιτρέπονται επαναλαµβανόµενες τιµές και NULL τιµές) unique A j1, A j2,..., A jn, (δεν επιτρέπονται επαναλαµβανόµενες τιµέs; NULL τιµές επιτρέπονται) check P Παραδείγµατα (1) create table Πελάτης (Όνοµα-Πελάτη char(20) not null, Οδός char(30), Πόλη char(30), primary key (Όνοµα-Πελάτη)) foreign key (A i ) references A j Βάσεις εδοµένων Ευαγγελία Πιτουρά 79 Βάσεις εδοµένων Ευαγγελία Πιτουρά 80 Ορισµός Σχήµατος Ορισµός Σχήµατος (2) create table Λογαριασµός (Αριθµός-Λογαριασµού char(10) not null, Όνοµα-Υποκαταστήµατος char(15), Ποσό int, primary key (Αριθµός-Λογαριασµού) check (Ποσό >= 0) Επίσης, πιο περίπλοκες συνθήκες, π.χ., για ξένα κλειδιά: check (Όνοµα-Υποκαταστήµατος in select Όνοµα-Υποκαταστήµατος from Υποκατάστηµα) Βάσεις εδοµένων Ευαγγελία Πιτουρά 81 Βάσεις εδοµένων Ευαγγελία Πιτουρά 82 Περιορισµοί Ακεραιότητας Περιορισµοί Ακεραιότητας Περιορισµοί Αναφοράς Σύνταξη: foreign key (A i ) references A j Όταν µια πράξη παραβιάζει έναν περιορισµό αναφοράς απορρίπτεται εκτός αν έχει οριστεί: Παράδειγµα create table.. foreign key (Όνοµα-Υποκαταστήµατος) references Υποκατάστηµα on delete cascade on update cascade on delete cascade on update cascade Βάσεις εδοµένων Ευαγγελία Πιτουρά 83 Βάσεις εδοµένων Ευαγγελία Πιτουρά 84

15 Περιορισµοί Ακεραιότητας Περιορισµοί Ακεραιότητας Πεδίου ορισµού Περιορισµοί Ακεραιότητας Χρησιµοποιώντας την εντολή check: Παραδείγµατα (1) Ελάχιστος ωροµίσθιο create domain Ωροµίσθιο numeric(5, 2) constraint Έλεγχος-Ωροµισθίου check(ποσό >= 4.00) (2) Να µην περιέχει την τιµή null create domain Πεδίο-Αριθµός-Λογαριασµού char(10) constraint Έλεγχος-Αριθµός-Λογαριασµού check(value not null) (3) Να παίρνει συγκεκριµένες τιµές create domain Τύπος-Λογαριασµού char(10) constraint Έλεγχος-Τύπος-Λογαριασµού check value in ( Όψεως, Ταµιευτηρίου ) Βάσεις εδοµένων Ευαγγελία Πιτουρά 85 Βάσεις εδοµένων Ευαγγελία Πιτουρά 86 ιαγραφή Σχήµατος Τροποποίηση Σχήµατος ιαγραφή Σχήµατος Μια καινούργια σχέση είναι αρχικά άδεια. Για να σβηστεί ένα σχήµα: drop table R ιαφορά από delete from R Τροποποίηση Σχήµατος ALTER TABLE όνοµα πίνακα ADD - προσθέτει καινούργια στήλη DROP - διαγράφει µια στήλη MODIFY - τροποποιεί µια στήλη Βάσεις εδοµένων Ευαγγελία Πιτουρά 87 Βάσεις εδοµένων Ευαγγελία Πιτουρά 88 Τροποποίηση Σχήµατος Τροποποίηση Σχήµατος Προσθήκη νέου γνωρίσµατος: alter table R add A D προσθήκη σε µια σχέση R που ήδη υπάρχει του γνωρίσµατος A µε πεδίο τιµών D, η τιµή των πλειάδων της R στο καινούργιο γνώρισµα είναι null. ιαγραφή γνωρίσµατος: alter table R modify (όνοµα_στήλης new_datatype) modify µπορεί να τροποποιήσει µόνο τον τύπο δεδοµένων, όχι το όνοµα της στήλης alter table R drop A Βάσεις εδοµένων Ευαγγελία Πιτουρά 89 Βάσεις εδοµένων Ευαγγελία Πιτουρά 90

16 Η γλώσσα SQL Η Γλώσσα SQL (Μέρος 3:Γλώσσα Τροποποίησης, Συναθροιστικές Συναρτήσεις, Συνενώσεις, Όψεις Ενσωµατωµένη SQL) H SQL έχει διάφορα τµήµατα: Γλώσσα Ορισµού εδοµένων (ΓΟ ) Γλώσσα Χειρισµού εδοµένων (ΓΧ ) Ενσωµατωµένη Γλώσσα Χειρισµού εδοµένων Ορισµό Όψεων Εξουσιοδότηση (authentication) Ακεραιότητα Έλεγχο Συναλλαγών Βάσεις εδοµένων Ευαγγελία Πιτουρά 91 Βάσεις εδοµένων Ευαγγελία Πιτουρά 92 Γλώσσα Ορισµού εδοµένων Η γλώσσα SQL Γλώσσα Ορισµού εδοµένων (ΓΟ ) Σχετικά µε το λογικό σχήµα, η ΓΟ SQL υποστηρίζει τους ορισµούς: Τροποποίηση Βάσης εδοµένων Γλώσσα Χειρισµού εδοµένων (ΓX ) του σχήµατος κάθε σχέσης του πεδίου τιµών κάθε γνωρίσµατος των περιορισµών ακεραιότητας Βάσεις εδοµένων Ευαγγελία Πιτουρά 93 Βάσεις εδοµένων Ευαγγελία Πιτουρά 94 Τροποποιήσεις 1. ιαγραφή 2. Εισαγωγή 3. Ενηµέρωση Τροποποιήσεις Εισαγωγή Για να εισάγουµε δεδοµένα σε µια σχέση είτε (α) προσδιορίζουµε την πλειάδα, είτε insert into R(A 1,, A n ) values (v 1,, v n ) (β) γράφουµε µια ερώτηση που το αποτέλεσµα της εισάγεται στη σχέση. Εισαγωγή insert into R(A 1,, A n ) select-from-where Βάσεις εδοµένων Ευαγγελία Πιτουρά 95 Βάσεις εδοµένων Ευαγγελία Πιτουρά 96

17 Εισαγωγή Εισαγωγή Παράδειγµα για το (α) insert into Λογαριασµός values ( Ψηλά-Αλώνια, A--9732, 1200) Όταν µε οποιαδήποτε σειρά, π.χ.,: insert into Λογαριασµός (Αριθµός-Λογαριασµού, Όνοµα- Υποκαταστήµατος, Ποσό) values ( A--9732, Ψηλά-Αλώνια, 1200) Παράδειγµα για το (β): Για κάθε πελάτη που έχει πάρει δάνειο από το υποκατάστηµα Ψηλά Αλώνια προστίθεται ως δώρο ένας λογαριασµός των $200 insert into Λογαριασµός select Όνοµα-Υποκαταστήµατος, Αριθµός- ανείου, 200 from άνειο where Όνοµα-Υποκαταστήµατος = Ψηλά Αλώνια Βάσεις εδοµένων Ευαγγελία Πιτουρά 97 Βάσεις εδοµένων Ευαγγελία Πιτουρά 98 Εισαγωγή Εισαγωγή Πρέπει πρώτα να υπολογιστεί το select πλήρως και µετά να γίνει η εισαγωγή. Τι αποτέλεσµα έχει η παρακάτω εντολή αν αυτό δε συµβαίνει; insert into Λογαριασµός select * from Λογαριασµός Επίσης, εισαγωγή null τιµών: insert into Λογαριασµός values (null, A--9732, 1200) Βάσεις εδοµένων Ευαγγελία Πιτουρά 99 Βάσεις εδοµένων Ευαγγελία Πιτουρά 100 ιαγραφή ιαγραφή ιαγραφή Μπορούµε να σβήσουµε µόνο ολόκληρες πλειάδες και όχι συγκεκριµένα γνωρίσµατα. delete from R where P Σβήνει όλες τις πλειάδες της R για τις οποίες ισχύει το P. Παραδείγµατα (1) Όλους τους λογαριασµούς του Παπαδόπουλου delete from Καταθέτης where Όνοµα-Πελάτη = Παπαδόπουλος Όταν λείπει το where σβήνονται όλες οι πλειάδες µιας σχέσης. Βάσεις εδοµένων Ευαγγελία Πιτουρά 101 Βάσεις εδοµένων Ευαγγελία Πιτουρά 102

18 ιαγραφή ιαγραφή (2) Όλους τους λογαριασµούς στα υποκαταστήµατα της Πάτρας delete from Λογαριασµός where Όνοµα-Υποκαταστήµατος in (select Όνοµα-Υποκαταστήµατος from Υποκατάστηµα where Πόλη = Πάτρα ) Παρατήρηση: δεν υπάρχει τρόπος να διαγράψουµε τη µία από δυο ίδιες πλειάδες Αν και µπορούµε να σβήσουµε πλειάδες µόνο από µία σχέση τη φορά µπορούµε να αναφερθούµε σε περισσότερες από µια σχέσεις στην υποερώτηση του where (3) Όλους τους λογαριασµούς µιας τράπεζας µε ποσό µικρότερο από το µέσο ποσό στην τράπεζα. delete from Λογαριασµός where Ποσό > (select avg(ποσό) from Λογαριασµός) Πρώτα γίνεται ο έλεγχος σε όλες τις πλειάδες και µετά αυτές που ικανοποιούν τη συνθήκη διαγράφονται. Βάσεις εδοµένων Ευαγγελία Πιτουρά 103 Βάσεις εδοµένων Ευαγγελία Πιτουρά 104 ιαγραφή ιαγραφή Παράδειγµα: µια τράπεζα θέλει να κλείσει όλα τα υποκαταστήµατά της που βρίσκονται στην Καστοριά delete from Υποκατάστηµα where Όνοµα-Υποκαταστήµατος in (select Όνοµα-Υποκαταστήµατος from Υποκατάστηµα where Πόλη = Kαστοριά ) Πρέπει να διαγράψουµε και όλους τους λογαριασµούς: delete from Λογαριασµός where Όνοµα-Υποκαταστήµατος in (select Όνοµα-Υποκαταστήµατος from Υποκατάστηµα where Πόλη = Kαστοριά ) ΠΡΟΣΟΧΗ: όταν θέλουµε να διαγράψουµε κάποια δεδοµένα, πρέπει να διαγράψουµε όλα τα δεδοµένα που συσχετίζονται µε αυτά. Επίσης πρέπει να προσέξουµε την σειρά µε την οποία θα γίνουν οι διαγραφές. Βάσεις εδοµένων Ευαγγελία Πιτουρά 105 Βάσεις εδοµένων Ευαγγελία Πιτουρά 106 ιαγραφή Ενηµερώσεις υποκατάστηµα λογαριασµός Πόλη Όνοµα_Υποκ. Όνοµα_Υποκ. Όνοµα-Πελάτη Υπόλοιπο Καστοριά K1 K1 ΚΩΤΣΗΣ Καστοριά K3 K2 ΑΠΟΣΤΟΛΙ ΗΣ Θεσσαλονίκη Θ1 Θ1 ΣΤΕΦΑΝΟΥ Θεσσαλονίκη Θ2 Θ2 ΠΑΠΑΝΙΚΟΛΑΟΥ Αθήνα A1 K3 ΧΑΤΖΟΠΟΥΛΟΣ αν διαγράψουµε από τον πίνακα υποκατάστηµα όλα τα υποκαταστήµατα της Καστοριάς, θα έχουµε πρόβληµα ορθότητας στον πίνακα λογαριασµός. πρώτα πρέπει να διαγράψουµε τους λογαριασµούς και µετά τα υποκαταστήµατα. Βάσεις εδοµένων Ευαγγελία Πιτουρά 107 Ενηµερώσεις Παράδειγµα: Αύξηση όλων των καταθέσεων που είναι µεγαλύτερες των $100 κατά 5% λόγω τοκισµού update Λογαριασµός set Ποσό = Ποσό * 1.05 where Ποσό > 100 Βάσεις εδοµένων Ευαγγελία Πιτουρά 108

19 Ενηµερώσεις Ενηµερώσεις Παράδειγµα: στους πελάτες που έχουν υπόλοιπο < η τράπεζα δίνει 5% και στους πελάτες που έχουν υπόλοιπο > δίνει 9%: update Λογαριασµός set Ποσό = Ποσό * 1.05 where Ποσό < update Λογαριασµός set Ποσό = Ποσό * 1.09 where Ποσό > Παράδειγµα: Αύξηση όλων των υπολοίπων που είναι µεγαλύτερα από τον µέσο όρο κατά 5% update Λογαριασµός set Υπόλοιπο = Υπόλοιπο * 1.05 where Υπόλοιπο > select avg(υπόλοιπο) from Λογαριασµός Ποιο update πρέπει να τρέξουµε πρώτα; Βάσεις εδοµένων Ευαγγελία Πιτουρά 109 Βάσεις εδοµένων Ευαγγελία Πιτουρά 110 Συναθροιστικές Συναρτήσεις Συναθροιστικές Συναρτήσεις Συναθροιστικές Συναρτήσεις Η SQL έχει 5 built-in συναθροιστικές συναρτήσεις: Μέσος όρος: avg(a) (µόνο σε αριθµούς) A γνώρισµα Ελάχιστο: min(a) Μέγιστο: max(a) Άθροισµα: sum(a) (µόνο σε αριθµούς) Πλήθος: count(a) Λογαριασµός Όνοµα-Υποκαταστήµατος Αριθµός-Λογαριασµού Υποκατάστηµα Όνοµα-Υποκαταστήµατος Πόλη Σύνολο άνειο Όνοµα-Υποκαταστήµατος Αριθµός- ανείου Ποσό ανειζόµενος Όνοµα-Πελάτη Αριθµός- ανείου Πελάτης Όνοµα-Πελάτη Οδός Πόλη Ποσό Καταθέτης Όνοµα-Πελάτη Αριθµός-Λογαριασµού Βάσεις εδοµένων Ευαγγελία Πιτουρά 111 Βάσεις εδοµένων Ευαγγελία Πιτουρά 112 Συναθροιστικές Συναρτήσεις Συναθροιστικές Συναρτήσεις Παράδειγµα: Μέσο ποσό όλων των λογαριασµών στο υποκατάστηµα Καλούτσανη select avg(ποσό) from Λογαριασµός where Όνοµα-Υποκαταστήµατος = Καλούτσανη Το αποτέλεσµα είναι µια σχέση µε ένα γνώρισµα και µια γραµµή, µπορούµε να δώσουµε όνοµα στο γνώρισµα χρησιµοποιώντας το as Παράδειγµα: Μέγιστο ποσό όλων των λογαριασµών στο υποκατάστηµα Καλούτσανη και τον αριθµό του λογαριασµού!! select Αριθµός-Λογαριασµού, max(ποσό) from Λογαριασµός where Όνοµα-Υποκαταστήµατος = Καλούτσανη Αν το select συναθροιστική, τότε µόνο συναθροιστικές, εκτός αν υπάρχει group by Βάσεις εδοµένων Ευαγγελία Πιτουρά 113 Βάσεις εδοµένων Ευαγγελία Πιτουρά 114

20 Συναθροιστικές Συναρτήσεις Συναθροιστικές Συναρτήσεις Μπορούµε να εφαρµόσουµε τις συναρτήσεις όχι µόνο σε ένα σύνολο από πλειάδες, αλλά σε οµάδες από σύνολα πλειάδων. Οι οµάδες προσδιορίζονται χρησιµοποιώντας το group by Παράδειγµα: Μέσο ποσό των λογαριασµών σε κάθε υποκατάστηµα select Όνοµα-Υποκαταστήµατος, avg(ποσό) from Λογαριασµός group by Όνοµα-Υποκαταστήµατος Αν θέλουµε να απαλείψουµε διπλές εµφανίσεις χρησιµοποιούµε τη λέξη-κλειδί distinct στην αντίστοιχη έκφραση. Παράδειγµα: Αριθµός καταθετών σε κάθε υποκατάστηµα select Όνοµα-Υποκαταστήµατος, count(distinct Όνοµα-Πελάτη) from Καταθέτης, Λογαριασµός where group by Όνοµα-Υποκαταστήµατος Βάσεις εδοµένων Ευαγγελία Πιτουρά 115 Βάσεις εδοµένων Ευαγγελία Πιτουρά 116 Συναθροιστικές Συναρτήσεις Συναθροιστικές Συναρτήσεις Ηοµαδοποίηση µπορεί να γίνει ως προς περισσότερα του ενός πεδία. Μέσος όρος καταθέσεων ανά πελάτη και ανά υποκατάστηµα SELECT Όνοµα-Υποκαταστήµατος, Όνοµα-Πελάτη, avg(balance) FROM account GROUP BY Όνοµα-Υποκαταστήµατος, Όνοµα-Πελάτη Οµαδοποίηση γίνεται πρώτα ως προς το branch_name. Στην συνέχεια δηµιουργούνται υποoµάδες ως προς το customer_name Μπορούµε να εφαρµόσουµε µια συνθήκη σε µια συγκεκριµένη οµάδα από πλειάδες χρησιµοποιώντας το having Παράδειγµα: Ονόµατα υποκαταστηµάτων µε µέσο ποσό καταθέσεων µεγαλύτερο των $1200 select Όνοµα-Υποκαταστήµατος, avg(ποσό) from Λογαριασµός group by Όνοµα-Υποκαταστήµατος having avg(ποσό) > 1200 Ησυνθήκη του having εφαρµόζεται αφού σχηµατιστούν οι οµάδες και υπολογιστούν οι συναθροιστικές συναρτήσεις. Βάσεις εδοµένων Ευαγγελία Πιτουρά 117 Βάσεις εδοµένων Ευαγγελία Πιτουρά 118 Συναθροιστικές Συναρτήσεις Συναθροιστικές Συναρτήσεις Όταν εµφανίζονται και το where και το having: η συνθήκη του where εφαρµόζεται πρώτα, οι πλειάδες που ικανοποιούν αυτή τη συνθήκη τοποθετούνται σε οµάδες µε βάση το group by και µετά αν υπάρχει συνθήκη στο having εφαρµόζεται στις οµάδες. Παράδειγµα: Μέσο ποσό για κάθε πελάτη που ζει στα Ιωάννινα και έχει τουλάχιστον τρεις λογαριασµούς 3 select Καταθέτης.Όνοµα-Πελάτη, avg(ποσό) from Καταθέτης, Λογαριασµός, Πελάτης where Καταθέτης.Αριθµός-Λογαριασµού = Λογαριασµός.Αριθµός- 1 Λογαριασµού and Καταθέτης.Όνοµα-Πελάτη = Πελάτης.Όνοµα- Πελάτη and Πόλη = Ιωάννινα 2 group by Καταθέτης.Όνοµα-Πελάτη 4 having count (distinct Καταθέτης.Αριθµός-Λογαριασµού) >= 3 Βάσεις εδοµένων Ευαγγελία Πιτουρά 119 Βάσεις εδοµένων Ευαγγελία Πιτουρά 120

21 Για να µετρήσουµε πόσες πλειάδες έχει µια σχέση: select count (*) from Πελάτης Συναθροιστικές Συναρτήσεις ε µπορούµε να χρησιµοποιήσουµε το distinct µε το count (*). Βάσεις εδοµένων Ευαγγελία Πιτουρά 121 Περίληψη Μέσος όρος: avg (µόνο σε αριθµούς) Ελάχιστο: min Μέγιστο: max Άθροισµα: sum (µόνο σε αριθµούς) Πλήθος: count Συναθροιστικές Συναρτήσεις Αν θέλουµε να απαλείψουµε διπλές εµφανίσεις χρησιµοποιούµε τη λέξηκλειδί distinct στην αντίστοιχη έκφραση. Μπορούµε να εφαρµόσουµε τις συναρτήσεις όχι µόνο σε ένα σύνολο από πλειάδες, αλλά σε οµάδες από σύνολα πλειάδων. Οι οµάδες προσδιορίζονται χρησιµοποιώντας το group by Μπορούµε να εφαρµόσουµε µια συνθήκη σε µια συγκεκριµένη οµάδα από πλειάδες χρησιµοποιώντας το having. Η συνθήκη του having εφαρµόζεται αφού σχηµατιστούν οι οµάδες και υπολογιστούν οι συναθροιστικές συναρτήσεις Βάσεις εδοµένων Ευαγγελία Πιτουρά 122 Βασική οµή (επανάληψη) Πράξεις συνόλων (επανάληψη) Πράξεις Συνόλων Πράξεις: select Α 1, Α 2,.., Α n from R 1, R 2, R m where P group by having order by union intersection except εφαρµόζονται σε συµβατές σχέσεις. Σύνταξη (select-from-where) union (select-from-where) Απαλοιφή διπλών εµφανίσεων, εκτός αν χρησιµοποιηθεί το union all Βάσεις εδοµένων Ευαγγελία Πιτουρά 123 Βάσεις εδοµένων Ευαγγελία Πιτουρά 124 (επανάληψη) Η SQL επιτρέπει το φώλιασµα υπο-ερωτήσεων. Μια υπο-ερώτηση είναι µια έκφραση select-from-where που χρησιµοποιείται µέσα σε µια άλλη ερώτηση. Γενική δοµή: select... from... where <x> (select... from... where... ); <x> µπορεί να είναι T {=, <, <=, >, >=, <>} any(some), all T in exists, unique Υπολογισµός της υπο-ερώτησης για κάθε γραµµή (πλειάδα) της εξωτερικής ερώτησης Βάσεις εδοµένων Ευαγγελία Πιτουρά 125 Ταινία (Τίτλος, Έτος, ιάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, ιεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα: select Τίτλος select Τίτλος where ιάρκεια >any (select ιάρκεια where ιάρκεια >all (select ιάρκεια where Είδος = έγχρωµη) where Είδος = έγχρωµη) select Τίτλος where ιάρκεια in (select ιάρκεια where Είδος = έγχρωµη) Μία συνθήκη του where Βάσεις εδοµένων Ευαγγελία Πιτουρά 126

22 Η γλώσσα SQL Ταινία (Τίτλος, Έτος, ιάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, ιεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα: select Τίτλος where exists (select ιάρκεια where Είδος = έγχρωµη) select Τίτλος where unique (select ιάρκεια where Είδος = έγχρωµη) Περισσότερα για τη γλώσσα ερωτήσεων - Συνενώσεις Συνόλων Ορισµός Όψεων Μία συνθήκη του where Βάσεις εδοµένων Ευαγγελία Πιτουρά 127 Βάσεις εδοµένων Ευαγγελία Πιτουρά 128 Συνενώσεις Συνόλων Συνενώσεις Συνόλων Συνενώσεις Συνόλων Η SQL--92 υποστηρίζει διάφορους τύπους συνενώσεων που συνήθως χρησιµοποιούνται στο for, αλλά µπορούν να χρησιµοποιηθούν οπουδήποτε µπορεί να χρησιµοποιηθεί µια σχέση. Γενική σύνταξη: <όνοµα-σχέσης1> <τύπος-συνένωσης> <όνοµα-σχέσης2> <συνθήκησυνένωσης> Τύποι Συνένωσης: inner join: εσωτερική (θήτα) συνένωση left outer join: αριστερή εξωτερική συνένωση right outer join full outer join ή <όνοµα-σχέσης1> natural <τύπος-συνένωσης> <όνοµα-σχέσης2> Βάσεις εδοµένων Ευαγγελία Πιτουρά 129 Βάσεις εδοµένων Ευαγγελία Πιτουρά 130 Συνενώσεις Συνόλων Συνενώσεις Συνόλων Συνθήκες Συνένωσης: on P using (A 1, A 2,..., A n ): γνωρίσµατα που πρέπει να ταιριάζουν στη συνένωση είναι τα A i. Τα A i πρέπει να είναι γνωρίσµατα κοινά και στις δυο σχέσεις και εµφανίζονται στο αποτέλεσµα µόνο µια φορά. Για την εσωτερική συνένωση η συνθήκη δεν είναι υποχρεωτική, όταν λείπει ισοδυναµεί µε καρτεσιανό γινόµενο. select Α 1, Α 2,.. Α n from R 1 outer join R 2 on R 1.A i =R 2.A j Οι λέξεις κλειδιά inner και outer είναι προαιρετικές. natural: φυσική συνένωση, τα γνωρίσµατα εµφανίζονται στο αποτέλεσµα µε την εξής διάταξη: πρώτα αυτά µε τα οποία έγινε η συνένωση (δηλ., αυτά που είναι κοινά και στις δύο σχέσεις), µετά τα υπόλοιπα της πρώτης σχέσης, και τέλος τα υπόλοιπα της δεύτερης σχέσης. Παράδειγµα: Τα ονόµατα των πελατών που είτε έχουν καταθέσεις είτε έχουν πάρει δάνεια (αλλά όχι και τα δυο) select Όνοµα-Πελάτη from Καταθέτης natural full outer join ανειζόµενος where Αριθµός-Λογαριασµού is null or Αριθµός- ανείου is null Βάσεις εδοµένων Ευαγγελία Πιτουρά 131 Βάσεις εδοµένων Ευαγγελία Πιτουρά 132

23 Παραγόµενες Σχέσεις Παραγόµενες Σχέσεις Παραγόµενες Σχέσεις Η SQL-92 δίνει τη δυνατότητα µια υπο-ερώτηση να χρησιµοποιηθεί στο from Τότε πρέπει να της δοθεί ένα όνοµα και τα γνωρίσµατα της να µετονοµαστούν Αυτό γίνεται χρησιµοποιώντας το as Η SQL-92 δίνει τη δυνατότητα χρησιµοποιώντας το as να δοθεί ένα προσωρινό όνοµα σε µία προσωρινή σχέση που προκύπτει από µια υποερώτηση. Παράδειγµα: Το µέσο υπόλοιπο για όλα τα υποκαταστήµατα για τα οποία το µέσο ποσό είναι µεγαλύτερο των $1200 select Όνοµα-Υποκαταστήµατος, Μέσο-υπόλοιπο from (select Όνοµα-Υποκαταστήµατος, avg(ποσό) from Καταθέτης group by Όνοµα-Υποκαταστήµατος as Αποτέλεσµα(Όνοµα-Υποκαταστήµατος, Μέσο-υπόλοιπο) where Μέσο-Yπόλοιπο > 1200 Βάσεις εδοµένων Ευαγγελία Πιτουρά 133 Βάσεις εδοµένων Ευαγγελία Πιτουρά 134 Ορισµός Όψεων Μπορούµε να ορίσουµε µια όψη χρησιµοποιώντας την εντολή: Ορισµός Όψεων create view <όνοµα--όψης> as <select-from-where ερώτηση> Επίσης, µπορούν να προσδιοριστούν τα ονόµατα των γνωρισµάτων άµεσα create view <όνοµα--όψης> (<λίστα ονοµάτων-γνωρισµάτων>) as <select-from-where ερώτηση> view definition Ορισµός Όψεων Παράδειγµα: Μια όψη που περιλαµβάνει τα ονόµατα όλων των υποκαταστηµάτων και το άθροισµα του ποσού των δανείων που έχουν γίνει από αυτά create view Υποκατάστηµα-Σύνολο- ανείων (Σύνολο- ανείων, Όνοµα- Υποκαταστήµατος) as select Όνοµα-Υποκαταστήµατος, sum(ποσό) from άνειο group by Όνοµα-Υποκαταστήµατος Βάσεις εδοµένων Ευαγγελία Πιτουρά 135 Βάσεις εδοµένων Ευαγγελία Πιτουρά 136 Ορισµός Όψεων Ενσωµατωµένη SQL Ενσωµατωµένη SQL Τα ονόµατα όψεων µπορεί να χρησιµοποιηθούν οπουδήποτε µπορεί να χρησιµοποιηθεί το όνοµα µιας σχέσης Υπολογίζεται εκ νέου κάθε φορά Ο ορισµός της όψης παραµένει στην βάση δεδοµένων, εκτός αν σβηστεί: drop view <όνοµα-όψης> Προσπέλαση µιας Β µέσω µια γλώσσας προγραµµατισµού γενικού σκοπού απαιτείται τουλάχιστον γιατί: υπάρχουν ερωτήσεις που δε µπορούν να διατυπωθούν σε SQL, γιατί η SQL δεν έχει όλες τις δυνατότητες µιας γλώσσας προγραµµατισµού γενικού σκοπού µη-δηλωτικές εντολές (π.χ., εκτύπωση, επικοινωνία µε το χρήστη) δε µπορούν να γίνουν µέσω της SQL Ενσωµάτωση της SQL σε µια γλώσσα που καλείται φιλόξενη (host) Βάσεις εδοµένων Ευαγγελία Πιτουρά 137 Βάσεις εδοµένων Ευαγγελία Πιτουρά 138

24 Ενσωµατωµένη SQL Ενσωµατωµένη SQL Σε αυτήν την περίπτωση, η επεξεργασία των ερωτήσεων γίνεται από τη Β, και το αποτέλεσµα γίνεται διαθέσιµο στο πρόγραµµα µια πλειάδα τη φορά Ένας ειδικός προ-επεξεργαστής (preprocessor) αντικαθιστά τον ενσωµατωµένο κώδικα της SQL µε δηλώσεις και κλήσεις συναρτήσεων στη host γλώσσα και µεταφράζεται το πρόγραµµα Σύνταξη της µορφής: EXEC SQL < embedded SQL statement > END-EXEC Ηακριβής σύνταξη εξαρτάται από τη host γλώσσα Βάσεις εδοµένων Ευαγγελία Πιτουρά 139 Χρησιµοποιούµε την εντολή: SQL INCLUDE, για να δηλώσουµε στον προ-επεξεργαστή που πρέπει να εισάγει τις δηλώσεις των µεταβλητών της SQL Μεταβλητές της γλώσσας µπορεί να χρησιµοποιηθούν στην εντολή της SQL αν το σύµβολο : προηγείται του ονόµατός τους Για να γράψουµε µια ερώτηση σε SQL: EXEC SQL declare c cursor for select Όνοµα-Πελάτη, Πόλη from Κατάθεση, Πελάτης where Κατάθεση.Όνοµα-Πελάτη = Πελάτης.Όνοµα-Πελάτη and Κατάθεση.Ποσό > :amount END-EXEC Βάσεις εδοµένων Ευαγγελία Πιτουρά 140 Ενσωµατωµένη SQL Ενσωµατωµένη SQL Η παραπάνω εντολή δεν προκαλεί την εκτέλεση της ερώτησης, για να εκτελεστεί: EXEC SQL open c END-EXEC Το αποτέλεσµα σώζεται σε µια προσωρινή σχέση, αν υπάρχει λάθος το διαγνωστικό µήνυµα σώζεται σε µια ειδική µεταβλητή (SQLCA) Οι πλειάδες του αποτελέσµατος γίνονται διαθέσιµες στο πρόγραµµα µέσω µιας σειράς από fetch εντολές, χρειάζεται µια µεταβλητή της host γλώσσας για κάθε γνώρισµα Για να σβήσουµε τη προσωρινή σχέση: EXEC SQL close c END-EXEC Επίσης: EXEC SQL <update, insert ή delete έκφραση> END-EXEC EXEQ SQL fetch c into :cn, :cc END-EXEC Βάσεις εδοµένων Ευαγγελία Πιτουρά 141 Βάσεις εδοµένων Ευαγγελία Πιτουρά 142 Ενσωµατωµένη SQL Η γλώσσα SQL υναµική SQL Τα προγράµµατα µπορούν να δηµιουργούν ερωτήσεις σε SQL ως συµβολοσειρές δυναµικά κατά την εκτέλεση και είτε να τα εκτελούν αµέσως είτε να τα προετοιµάζουν (τα µεταφράζουν) για να χρησιµοποιηθούν αργότερα Παράδειγµα: char * sqlprog = update Λογαριασµός set Ποσό = Ποσό * 1.05 where Αριθµός-Λογαριασµού =? EXEC SQL prepare dynprog from :sqlprog; char account[10] = A-101 ; EXEC SQL execute dynprog using :account; Άλλα Χαρακτηριστικά Γλώσσες 4ης Γενιάς Έννοια του session µεταξύ ενός client και του server του ΣΒ ηµιουργία σχήµατος: create schema και Σβήσιµο σχήµατος : drop schema Βάσεις εδοµένων Ευαγγελία Πιτουρά 143 Βάσεις εδοµένων Ευαγγελία Πιτουρά 144

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

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

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

SQL. Πριν μια σύντομη επανάληψη της σχεσιακής άλγεβρας. H SQL έχει διάφορα τμήματα: Γλώσσα Ορισμού εδομένων (ΓΟ ) Γλώσσα Χειρισμού εδομένων (ΓΧ )

SQL. Πριν μια σύντομη επανάληψη της σχεσιακής άλγεβρας. H SQL έχει διάφορα τμήματα: Γλώσσα Ορισμού εδομένων (ΓΟ ) Γλώσσα Χειρισμού εδομένων (ΓΧ ) Εισαγωγή Πως θα υλοποιήσουμε (προγραμματίσουμε) την εφαρμογή μας χρησιμοποιώντας ένα σχεσιακό Σ Β : SQL Γλώσσα Ορισμού (του σχήματος) Γλώσσα Χειρισμού εδομένων Γλώσσα Τροποποίησης (εισαγωγή, διαγραφή πλειάδων)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Ενότητα 7.2: Structured Query Language - 2 ο Μέρος. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

Βάσεις Δεδομένων. Ενότητα 7.2: Structured Query Language - 2 ο Μέρος. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Βάσεις Δεδομένων Ενότητα 7.2: Structured Query Language - 2 ο Μέρος Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων Άδειες Χρήσης

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

Κεφάλαιο 5. Ορισµός Βάσεων εδοµένων µε SQL DDL - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. Σχεσιακές Γλώσσες Εµφύτευση / DDL Σελίδα 2.

Κεφάλαιο 5. Ορισµός Βάσεων εδοµένων µε SQL DDL - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. Σχεσιακές Γλώσσες Εµφύτευση / DDL Σελίδα 2. Κεφάλαιο 5 Ορισµός Βάσεων εδοµένων µε SQL DDL - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. Σχεσιακές Γλώσσες Εµφύτευση / DDL Σελίδα 2.84 SQL Data Definition H Γλώσσα Ορισµού (DDL) της SQL χρησιµοποιείται

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

Αποθηκευμένες Διαδικασίες 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) Τμήματα κώδικα τα

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2013 - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Αρχιτεκτονική

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

SQL Data Definition. REFERENCES (foreign key), CHECKκαι PRIMARY KEY (key)

SQL Data Definition. REFERENCES (foreign key), CHECKκαι PRIMARY KEY (key) Κεφάλαια 4, 4, 5, 5, 6 - Ορισµός Βάσεων εδοµένων µε SQL DDL -ΠεριορισµοίΑκεραιότηταςστην SQL -Περιβάλλοντα Χρήσης της SQL (API) - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση /

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

Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI

Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Σχεσιακή Άλγεβρα Τελεστές Συνένωσης

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

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

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

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

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Βάσεις δεδομένων (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Ευρετήρια Σκανδάλες PL/SQL Δείκτες/Δρομείς 2 Αποθήκευση δεδομένων Πρωτεύουσα αποθήκευση Κύρια μνήμη (main memory) ή κρυφή μνήμη

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

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

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

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

S Q Q L L -- SQL (Structured Query Language) select insert update delete 2.47

S Q Q L L -- SQL (Structured Query Language) select insert update delete 2.47 Κεφάλαιο 4 Η Γλώσσα SQL και Σχεσιακός Λογισµός Ι.Β. Σχεσιακός Λογισµός και η Γλώσσα SQL Σελίδα 2.46 SQL -ΕΙΣΑΓΩΓΗ SQL (Structured Query Language) είναι η τυποποιηµένη standard γλώσσα στις Σχεσιακές Βάσεις.

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

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

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

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

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

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

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

Το Σχεσιακό μοντέλο και η γλώσσα SQL

Το Σχεσιακό μοντέλο και η γλώσσα SQL Το Σχεσιακό μοντέλο και η γλώσσα SQL Μανόλης Γεργατσούλης (manolis@ionio.gr) Αναπληρωτής Καθηγητής Ομάδα Βάσεων Δεδομένων και Πληροφοριακών Συστημάτων, Τμήμα Αρχειονομίας Βιβλιοθηκονομίας, Ιόνιο Πανεπιστήμιο

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

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

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

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

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

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

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

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

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

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

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Η ΓΛΩΣΣΑ PASCAL ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας Σύνθετοι Τ.Δ. Αλφαριθμητικός 1. Ακέραιος (integer) Εύρος: -32768 έως 32767 Δήλωση

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

Ανάκτηση Δεδομένων (Information Retrieval)

Ανάκτηση Δεδομένων (Information Retrieval) Ανάκτηση Δεδομένων (Information Retrieval) Παύλος Εφραιμίδης Βάσεις Δεδομένων Ανάκτηση Δεδομένων 1 Information Retrieval (1) Βάσεις Δεδομένων: Περιέχουν δομημένη πληροφορία: Πίνακες Ανάκτηση Πληροφορίας

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

Βάσεις, Αποθήκες και Εξόρυξη Δεδομένων με τον SQL Server

Βάσεις, Αποθήκες και Εξόρυξη Δεδομένων με τον SQL Server ΠΑΝΑΓΙΩΤΗΣ ΣΥΜΕΩΝΙΔΗΣ Διδάκτωρ Τμήματος Πληροφορικής Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Βάσεις, Αποθήκες και Εξόρυξη Δεδομένων με τον SQL Server Εργαστηριακός Οδηγός ΕΛΛΗΝΙΚΑ ΑΚΑΔΗΜΑΪΚΑ ΗΛΕΚΤΡΟΝΙΚΑ

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

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

Σύβακας Σταύρος ΠΕ19,MSc. IT ΣΥΒΑΚΑΣ ΣΤΑΥΡΟΣ ΕΡΩΤΗΜΑΤΑ

Σύβακας Σταύρος ΠΕ19,MSc. IT ΣΥΒΑΚΑΣ ΣΤΑΥΡΟΣ ΕΡΩΤΗΜΑΤΑ Σύβακας Σταύρος ΠΕ19,MSc. IT Εισαγωγή Τα ερωτήματα (queries) είναι μία από τις πιο σημαντικές δυνατότητες που προφέρει ένα Σ%Β% αφού επιτρέπουν: Ανάκτηση και ανάλυση των δεδομένων στην επιθυμητή μορφή

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

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP Εισαγωγή... 1 Σε Ποιους Απευθύνεται το Βιβλίο... 1 Η Οργάνωση του Βιβλίου... 2 Ο Πηγαίος Κώδικας του Βιβλίου... 3 Συμβάσεις που Χρησιμοποιούνται σε Αυτό το Βιβλίο... 3 Μέρος Ι: Εγκατάσταση και ιαμόρφωση

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

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

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

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

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

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

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

Εργαστήριο Σημασιολογικού Ιστού

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 8: Εισαγωγή στη SPARQL Βασική Χρήση Μ.Στεφανιδάκης 3-5-2015. Η γλώσσα ερωτημάτων SPARQL Ερωτήσεις (και ενημερώσεις) σε σετ δεδομένων RDF Και σε δεδομένα άλλης μορφής

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

Το Σχεσιακό Μοντέλο-Σχεσιακή Άλγεβρα, Σχεσιακός Λογισμός. 06/06/2009 Μ.Χατζόπουλος 1

Το Σχεσιακό Μοντέλο-Σχεσιακή Άλγεβρα, Σχεσιακός Λογισμός. 06/06/2009 Μ.Χατζόπουλος 1 Το Σχεσιακό Μοντέλο-Σχεσιακή Άλγεβρα, Σχεσιακός Λογισμός 06/06/2009 Μ.Χατζόπουλος 1 Αρχιτεκτονική Τριών Σχημάτων ΕΞΩΤΕΡΙΚΟ ΕΠΙΠΕΔΟ Τελικοί Χρήστες Εξωτερική Όψη 1 Εξωτερική Όψη n ΕΝΝΟΙΟΛΟΓΙΚΟ ΕΠΙΠΕΔΟ ΕΝΝΟΙΟΛΟΓΙΚΟ

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

Εισαγωγή στη Σχεσιακή Άλγεβρα

Εισαγωγή στη Σχεσιακή Άλγεβρα Εισαγωγή στη Σχεσιακή Άλγεβρα Η Σχεσιακή Άλγεβρα παρέχει τους τελεστές (operators): Μοναδιαίοι Σχεσιακοί Τελεστές (Unary Relational Ops) Επιλογή (Select, (sigma)) Προβολή (Project, (pi)) Μετονομασία (Rename,

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

ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία:

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

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

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

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

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ Διάλεξη 2 Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 2 Internal

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

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

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

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

Μεταφραστής (Compiler)

Μεταφραστής (Compiler) Windows Καθαρισµος οθονης cls Unix clear Τελεστες ανακατευθυνσης > > >> >> < < Εντολες σε αρχεια * * (wild card) del Α rm Α ιαγραφη type Α cat Α Εµφανιση copy Α Β cp Α Β Αντιγραφη ren Α Β mv Α Β Αλλαγη

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

SPSS Statistical Package for the Social Sciences

SPSS Statistical Package for the Social Sciences SPSS Statistical Package for the Social Sciences Ξεκινώντας την εφαρμογή Εισαγωγή εδομένων Ορισμός Μεταβλητών Εισαγωγή περίπτωσης και μεταβλητής ιαγραφή περιπτώσεων ή και μεταβλητών ΣΤΑΤΙΣΤΙΚΗ Αθανάσιος

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

3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση-

3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση- Μάθηµα 3 Προχωρηµένες ιδιότητες πεδίων Μάσκες εισαγωγής Οι ιδιότητες Μορφή και Μάσκα εισαγωγής περιγράφονται µαζί γιατί έχουν κοινά χαρακτηριστικά που αφορούν την εµφάνιση. Με την ιδιότητα Μορφή καθορίζουµε

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

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ Email: liliadis@fmenr.duth.gr 1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ Τα προγράµµατα αποτελούνται από εντολές οι οποίες γράφονται σε έναν απλό επεξεργαστή που προσφέρει και το Περιβάλλον της Visual C++. Οι εντολές

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

Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες)

Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες) Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 13-1 Περιεχόμενο

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε

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

ECDL Module 5 Χρήση Βάσεων εδοµένων Εξεταστέα Ύλη, έκδοση 5.0 (Syllabus Version 5.0)

ECDL Module 5 Χρήση Βάσεων εδοµένων Εξεταστέα Ύλη, έκδοση 5.0 (Syllabus Version 5.0) ECDL Module 5 Χρήση Βάσεων εδοµένων Εξεταστέα Ύλη, έκδοση 5.0 (Syllabus Version 5.0) (Module 5 Using Databases) Συνολική ιάρκεια: Προτεινόµενο * Χρονοδιάγραµµα Εκπαίδευσης 10-16 (δέκα έως δεκαέξι) ώρες

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις.

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις. 1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 5η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα

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

Η δήλωση πού δηµιουργεί αποθήκευση τών δεδοµένων ονοµαζεται ορισµός τής µεταβλητής.

Η δήλωση πού δηµιουργεί αποθήκευση τών δεδοµένων ονοµαζεται ορισµός τής µεταβλητής. Από το βιβλίο C: Βήµα-Πρός-Βήµα, Κεφάλαιο 3ο Συγγραφείς: Οµάδα Waite, Mitchell Waite και Stephen Prata Εκδότης: Μ. Γκιούρδας Ανατύπωση σε ηλεκτρονική µορφή: Αλέξανδρος Στεφανίδης 3.4 Τύποι εδοµένων τής

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

Εξεταστέα Ύλη (Syllabus) Έκδοση 5.0

Εξεταστέα Ύλη (Syllabus) Έκδοση 5.0 Εξεταστέα Ύλη (Syllabus) Έκδοση 5.0 Πνευματικά Δικαιώματα 2007 Ίδρυμα ECDL (ECDL Foundation www.ecdl.org) Όλα τα δικαιώματα είναι κατοχυρωμένα. Κανένα μέρος αυτού του εγγράφου δεν μπορεί να αναπαραχθεί

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

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

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

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

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

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

Το πλήθος των δεικτών και οι µεγαλύτερες τιµές που µπορούν να πάρουν ορίζεται µε µία δηλωτική εντολή που λέγεται Dimension.

Το πλήθος των δεικτών και οι µεγαλύτερες τιµές που µπορούν να πάρουν ορίζεται µε µία δηλωτική εντολή που λέγεται Dimension. Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 6ο: Πίνακες Στο κεφάλαιο αυτό θα ασχοληθούµε µε µια από πιο ενδιαφέρουσες δοµές δεδοµένων, τους πίνακες. Οι πίνακες είναι σύνθετες

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

FROM TESTOTA.REGISTRY

FROM TESTOTA.REGISTRY ΟΤΑ Επιχειρησιακή Νοηµοσύνη Ενότητα: Βc1.1.3 Επιχειρησιακή Νοηµοσύνη και Τεχνολογίες της Πληροφορικής και των Επικοινωνιών (BI & IT) Πρακτική Άσκηση (επίπεδο 1): Στόχος της άσκησης είναι η εµβάθυνση στην

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

public void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);

public void printstatement() { System.out.println(Employee:  + name +  with salary:  + salary); Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας

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

Διάλεξη 6: Δείκτες και Πίνακες

Διάλεξη 6: Δείκτες και Πίνακες Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 6: Δείκτες και Πίνακες (Κεφάλαιο 12, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 6-1 Περιεχόμενο

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

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑΔΑ A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑΔΑ Β ) ΠΑΡΑΣΚΕΥΗ 5 ΙΟΥΝΙΟΥ 2015 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ:

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

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015 ΛΥΚΕΙΟ ΑΡΧ. ΜΑΚΑΡΙΟΥ Γ - ΔΑΣΟΥΠΟΛΗ ΣΧΟΛΙΚΟ ΕΤΟΣ 2014-2015 ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015 ΜΑΘΗΜΑ: ΠΛΗΡΟΦΟΡΙΚΗ ΗΜΕΡΟΜΗΝΙΑ: 10 /6 / 2015 ΒΑΘΜΟΣ:... ΤΑΞΗ: Β ΧΡΟΝΟΣ: 2 ώρες ΥΠ. ΚΑΘΗΓΗΤΗ:...

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

AM5 Βάσεις Δεδομένων Προχωρημένο Επίπεδο Εξεταστέα Ύλη (Syllabus) Εκδοση 1.0

AM5 Βάσεις Δεδομένων Προχωρημένο Επίπεδο Εξεταστέα Ύλη (Syllabus) Εκδοση 1.0 AM5 Βάσεις Δεδομένων Προχωρημένο Επίπεδο Εξεταστέα Ύλη (Syllabus) Εκδοση 1.0 ΑΠΟΚΗΡΥΞΗ Παρ όλα τα μέτρα που έχουν ληφθεί από το Ίδρυμα ECDL για την προετοιμασία αυτής της έκδοσης, καμία εγγύηση δεν παρέχεται

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

1. ΑΝΟΙΞΤΕ ΤΟΝ ΠΙΝΑΚΑ CUSTOMER ΚΑΙ ΣΤΟ ΜΕΝΟΥ ΕΠΙΛΕΞΤΕ

1. ΑΝΟΙΞΤΕ ΤΟΝ ΠΙΝΑΚΑ CUSTOMER ΚΑΙ ΣΤΟ ΜΕΝΟΥ ΕΠΙΛΕΞΤΕ ΜΑΘΗΜΑ 6 ο ΤΑΞΙΝΟΜΗΣΗ / ΦΙΛΤΡΑΡΙΣΜΑ ΠΛΗΡΟΦΟΡΙΩΝ Α. ΤΑΞΙΝΟΜΗΣΗ ΠΛΗΡΟΦΟΡΙΩΝ 1. ΑΝΟΙΞΤΕ ΤΗ ΒΑΣΗ Ε ΟΜΕΝΩΝ ΠΟΥ ΕΧΕΤΕ ΦΤΙΑΞΕΙ ΣΤΟ ΠΡΟΗΓΟΥΜΕΝΟ ΜΑΘΗΜΑ (ΑΠΟ ΕΧΘΕΙΤΕ ΑΝ ΧΡΕΙΑΖΕΤΑΙ ΤΗΝ ΠΡΟΕΙ ΟΠΟΙΗΣΗ ΑΣΦΑΛΕΙΑΣ) 2.

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

Visual Basic Βασικές Έννοιες

Visual Basic Βασικές Έννοιες Visual Basi Βασικές Έννοιες «Είδα στον ύπνο µου ότι η ζωή είναι χαρά. Ξύπνησα και είδα ότι είναι χρέος. Αγωνίστηκα και είδα ότι τo χρέος είναι χαρά.» Ραµπριτανάθ Ταγκόρ Κουλλάς Χρίστος www.oullas.om oullas

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

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Σκοπός - Περιεχόµενο µαθήµατος Η µελέτη του θεωρητικού υποβάθρου και των εργαλείων που απαιτούνται για τα συστήµατα βάσεων δεδοµένων

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Σκοπός - Περιεχόµενο µαθήµατος Η µελέτη του θεωρητικού υποβάθρου και των εργαλείων που απαιτούνται για τα συστήµατα βάσεων δεδοµένων ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Ι 1 ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Ι Σκοπός - Περιεχόµενο µαθήµατος Η µελέτη του θεωρητικού υποβάθρου και των εργαλείων που απαιτούνται για τα συστήµατα βάσεων δεδοµένων Εισαγωγή- ιστορία-παραδείγµατα,

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

Εξεταστέα Ύλη (Syllabus) Έκδοση 5.0

Εξεταστέα Ύλη (Syllabus) Έκδοση 5.0 Εξεταστέα Ύλη (Syllabus) Έκδοση 5.0 Πνευματικά Δικαιώματα 2007 Ίδρυμα ECDL (ECDL Foundation www.ecdl.org) Όλα τα δικαιώματα είναι κατοχυρωμένα. Κανένα μέρος αυτού του εγγράφου δεν μπορεί να αναπαραχθεί

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

Η Υπηρεσία του Ηλεκτρονικού Ταχυδροµείου (E-mail)

Η Υπηρεσία του Ηλεκτρονικού Ταχυδροµείου (E-mail) Η Υπηρεσία του Ηλεκτρονικού Ταχυδροµείου (E-mail) Η υπηρεσία του ηλεκτρονικού ταχυδροµείου (E-mail), είναι µια από τις περισσότερο δηµοφιλείς υπηρεσίες του ιαδικτύου (Internet). Μαζί µε την υπηρεσία του

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Εργασία στην Oracle ΔΙΑΧΕΙΡΙΣΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ΚΡΑΤΗΣΕΩΝ ΘΕΣΕΩΝ ΜΙΑΣ ΑΕΡΟΠΟΡΙΚΗΣ ΕΤΑΙΡΙΑΣ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ

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

Κεφάλαιο 11 Ερωτήµατα

Κεφάλαιο 11 Ερωτήµατα Κεφάλαιο 11 Ερωτήµατα Στο κεφάλαιο αυτό περιγράφεται ο τρόπος δηµιουργίας και διαχείρισης ερωτηµάτων µέσα από το περιβάλλον της Microsoft Access. Όπως έχει ήδη αναφερθεί σε προηγούµενο κεφάλαιο, ένας από

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

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

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

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

Κεφάλαιο 3 Σχεσιακό Μοντέλο

Κεφάλαιο 3 Σχεσιακό Μοντέλο Κεφάλαιο 3 Σχεσιακό Μοντέλο Στο κεφάλαιο αυτό παρουσιάζεται το σχεσιακό µοντέλο βάσεων δεδοµένων, και αναλύονται τα δοµικά του χαρακτηριστικά, οι βασικές του ιδιότητες, και ο τρόπος µε τον οποίο µπορεί

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

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός)

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός) ΗΥ460 Τελική Εξέηαζη 29 Ιανουαπίου 2013 Σελίδα 1 από 8 Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Δημήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Επαναληπτική

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

Εισαγωγή στις Βάσεις εδοµένων και την Access

Εισαγωγή στις Βάσεις εδοµένων και την Access Μάθηµα 1 Εισαγωγή στις Βάσεις εδοµένων και την Access Τι είναι οι βάσεις δεδοµένων Μία βάση δεδοµένων (Β..) είναι µία οργανωµένη συλλογή πληροφοριών, οι οποίες είναι αποθηκευµένες σε κάποιο αποθηκευτικό

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

Singular Report Generator. Σχ 1 ηµιουργία Καταστάσεων SRG

Singular Report Generator. Σχ 1 ηµιουργία Καταστάσεων SRG Μια από τις πιο σηµαντικές ανάγκες που αντιµετωπίζει µια επιχείρηση κατά την εγκατάσταση ενός λογισµικού «πακέτου» (Οικονοµικής & Εµπορικής ιαχείρισης), είναι ο τρόπος µε τον οποίο πρέπει να ανταποκριθεί

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

Αναλυτικός Πίνακας Περιεχομένων

Αναλυτικός Πίνακας Περιεχομένων Αναλυτικός Πίνακας Περιεχομένων 9 Αναλυτικός Πίνακας Περιεχομένων ΣΥΝΟΠΤΙΚΑ ΠΕΡΙΕΧΟΜΕΝΑ...7 ΑΝΑΛΥΤΙΚΟΣ ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ...9 ΠΡΟΛΟΓΟΣ...15 1. ΕΙΣΑΓΩΓΗ ΣΤO EXCEL ΤΗΣ MICROSOFT...19 1.1. ΕΙΣΑΓΩΓΗ...20

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

ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ

ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ ΗΥ240 - Παναγιώτα Φατούρου Σύνολα (Sets) Τα µέλη ενός συνόλου προέρχονται από κάποιο χώρο U αντικειµένων/στοιχείων (π.χ., σύνολα αριθµών, λέξεων, ζευγών αποτελούµενων από έναν

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

Υπολογιστικά Συστήματα

Υπολογιστικά Συστήματα Υπολογιστικά Συστήματα Ενότητα 6: Ασκήσεις στη Visual Basic for Applications (VBA) Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

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

Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών:

Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών: Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών: (Μον.2) Η ηλικία είναι μεταξύ των 15 και 18 συμπεριλαμβανομένων (β) Αν Χ= 4, Υ=2, Κ=2 να βρείτε το αποτέλεσμα

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

ΥΠΗΡΕΣΙΑ WEBMAIL ΚΥΠΕΣ

ΥΠΗΡΕΣΙΑ WEBMAIL ΚΥΠΕΣ ΥΠΗΡΕΣΙΑ WEBMAIL ΚΥΠΕΣ Η υπηρεσία διαχείρισης αλληλογραφίας µέσω web (webmail) δίνει την δυνατότητα στους χρήστες να διαχειριστούν την αλληλογραφία τους απ οποιοδήποτε σηµείο βρίσκονται εφόσον υπάρχει

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

E-MAIL ΜΕ ΤΟ ΠΡΟΓΡΑΜΜΑ OUTLOOK EXPRESS ΡΥΘΜΙΣΗ ΤΟΥ E-MAIL ΛΟΓΑΡΙΣΑΜΟΥ

E-MAIL ΜΕ ΤΟ ΠΡΟΓΡΑΜΜΑ OUTLOOK EXPRESS ΡΥΘΜΙΣΗ ΤΟΥ E-MAIL ΛΟΓΑΡΙΣΑΜΟΥ E-MAIL ΜΕ ΤΟ ΠΡΟΓΡΑΜΜΑ OUTLOOK EXPRESS Στην παράγραφο αυτή, θα περιγράψουµε τη χρήση του προγράµµατος Outlook Express, που ενσωµατώνεται στις περισσότερες εκδόσεις των MS Windows. Για να εκτελέσουµε την

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

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ενότητα 14 Δυναμική διαχείριση μνήμης Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Στατική δέσμευση μνήμης Με τη δήλωση απλών μεταβλητών

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Εκφράσεις και Λίγες Εντολές Οι εκφράσεις της C Τελεστές Απλές και σύνθετες εντολές Εντολές ελέγχου (επιλογής) Εισαγωγή σε

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

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.

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

Εφαρµογή: Σύστηµα ιαχείρισης ιαδικτυακού Περίπτερου / Ιστοσελίδας στον διαδικτυακό τόπο kalliergea.gr

Εφαρµογή: Σύστηµα ιαχείρισης ιαδικτυακού Περίπτερου / Ιστοσελίδας στον διαδικτυακό τόπο kalliergea.gr ..χτίζουµε την ιστοσελίδα σας στο Internet www.kalliergea.gr Λάουρα Π. Καζακράντε «Καλλιεργαία» Πληροφορική - Internet - ιαφήµιση - Μεταφράσεις Τηλ.: 211 0104925, 695 6118589 Email: info@kalliergea.gr

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

Κεφάλαιο 7 Εισαγωγή στη Microsoft Access

Κεφάλαιο 7 Εισαγωγή στη Microsoft Access Κεφάλαιο 7 Εισαγωγή στη Microsoft Access Το κεφάλαιο αυτό περιλαµβάνει µια συνοπτική εισαγωγή στην Microsoft Access 2000, που είναι και το σχεσιακό σύστηµα διαχείρισης βάσεων δεδοµένων µε το οποίο θα ασχοληθούµε.

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

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Τελική Εξέταση (3 ώρες) Ηµεροµηνία: 7

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

ΜΜΚ 105: Πειραματική και Στατιστική Ανάλυση Δημιουργία Πινάκων και Γραφικών Παραστάσεων στην Excel 18/09/14

ΜΜΚ 105: Πειραματική και Στατιστική Ανάλυση Δημιουργία Πινάκων και Γραφικών Παραστάσεων στην Excel 18/09/14 ΜΜΚ 105: Πειραματική και Στατιστική Ανάλυση Δημιουργία Πινάκων και Γραφικών Παραστάσεων στην Excel 18/09/14 1. Δημιουργία Πίνακα 1.1 Εισαγωγή μετρήσεων και υπολογισμός πράξεων Έστω ότι χρειάζεται να υπολογιστεί

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

4. Διαχείριση ανθρώπινου δυναμικού και κόστους του έργου

4. Διαχείριση ανθρώπινου δυναμικού και κόστους του έργου 4. Διαχείριση ανθρώπινου δυναμικού και κόστους του έργου Το πρώτο πράγμα που πρέπει να κάνει ο διαχειριστής του έργου, όταν διαχειρίζεται τα χαρακτηριστικά του κόστους του έργου, είναι να εισάγει τις πληροφορίες

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

Εφαρµογές διαδικτύου µε PHP

Εφαρµογές διαδικτύου µε PHP Εφαρµογές διαδικτύου µε PHP Σταύρος Πολυβίου Αρχιτεκτονική τριών επιπέδων (three-tier architecture) SQL HTTP request Αποτελέσµατα (πίνακες) PHP HTML Σύστηµα διαχείρισης δεδοµένων (Database Management System)

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

Εισαγωγή. Τι είναι µια βάση δεδοµένων;

Εισαγωγή. Τι είναι µια βάση δεδοµένων; Ζήτω οι Βάσεις εδοµένων!! Εισαγωγή Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα Μοντελοποίηση Αποθήκευση Επεξεργασία (εύρεση πληροφορίας σχετικής µε µια συγκεκριµένη ερώτηση) Σωστή Λειτουργία

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

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων.

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων. ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Χειµερινό Εξάµηνο 2002 Αποθήκευση Εγγραφών - Ευρετήρια ρ Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Επίπεδα Αφαίρεσης Σ Β Επίπεδο Όψεων Όψη Όψη

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Ανάπτυξη βάσεως δεδομένων για τηλεϊατρικές υπηρεσίες. των σπουδαστών : ΑΓΓΕΛΙΓΗΣ ΝΙΚΟΛΑΟΣ ΓΑΛΑΝΟΣ ΝΙΚΟΛΑΟΣ - ΜΑΡΙΝΟΣ

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Ανάπτυξη βάσεως δεδομένων για τηλεϊατρικές υπηρεσίες. των σπουδαστών : ΑΓΓΕΛΙΓΗΣ ΝΙΚΟΛΑΟΣ ΓΑΛΑΝΟΣ ΝΙΚΟΛΑΟΣ - ΜΑΡΙΝΟΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ με θέμα : Ανάπτυξη βάσεως δεδομένων για τηλεϊατρικές υπηρεσίες των σπουδαστών : ΑΓΓΕΛΙΓΗΣ ΝΙΚΟΛΑΟΣ ΓΑΛΑΝΟΣ ΝΙΚΟΛΑΟΣ - ΜΑΡΙΝΟΣ ΚΑΒΑΛΑ ΝΟΕΜΒΡΙΟΣ 2007 ΠΕΡΙΕΧΟΜΕΝΑ ΠΡΑΚΤΙΚΟ ΜΕΡΟΣ ΠΡΟΛΟΓΟΣ

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

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας δίπλα στο γράμμα που αντιστοιχεί σε κάθε πρόταση τη

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

Packet Tracer. ηµιουργία τοπολογίας Βήµα 1: Εκτελούµε το Packet Tracer

Packet Tracer. ηµιουργία τοπολογίας Βήµα 1: Εκτελούµε το Packet Tracer Packet Tracer Το Packet Tracer είναι ένα πρόγραµµα που προσοµοιώνει τη λειτουργία ενός δικτύου και των πρωτοκόλλων µε τα οποία λειτουργεί. Αναπτύχθηκε από τον Dennis Frezzo και την οµάδα του στη Cisco

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

SusX - SusCity. Εγχειρίδιο σχεδιασµού παιχνιδιών

SusX - SusCity. Εγχειρίδιο σχεδιασµού παιχνιδιών SusX - SusCity Εγχειρίδιο σχεδιασµού παιχνιδιών Εργαστήριο Εκπαιδευτικής Τεχνολογίας 2011 Περιεχόµενα Εισαγωγή...3 Λίγα λόγια για το SusCity...3 Σκοπός του εγχειριδίου...3 Η διττή αξιοποίηση του SusCity...3

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

Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών

Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών TINΑ ΒΡΕΝΤΖΟΥ www.ma8eno.gr www.ma8eno.gr Σελίδα 1 Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών Στους πραγματικούς αριθμούς ορίστηκαν οι

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