Η Γλώσσα SQL. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

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

Download "Η Γλώσσα SQL. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1"

Transcript

1 Η Γλώσσα SQL Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

2 Εισαγωγή Υλοποίηση/προγραµµατισµός εφαρµογής χρησιµοποιώντας ένα σχεσιακό ΣΔΒΔ: Γλώσσα Ορισµού (του σχήµατος) Γλώσσα Χειρισµού Δεδοµένων Γλώσσα Τροποποίησης (εισαγωγή, διαγραφή πλειάδων) Γλώσσα Ερωτήσεων Βάσεις εδοµένων Ευαγγελία Πιτουρά 2

3 Εισαγωγή Τυπικές (Formal) Γλώσσες (Επε)-Ερωτήσεων Σχεσιακή άλγεβρα Σχεσιακός λογισµός (πλειάδων και πεδίου) Εµπορικές Γλώσσες Προγραµµατισµού SQL QBE Βάσεις εδοµένων Ευαγγελία Πιτουρά 3

4 Η γλώσσα SQL Η standard γλώσσα για σχεσιακές βάσεις δεδοµένων. αρχικά Sequel στην IBM ως µέρος του System R, τώρα SQL (Stuctured Query Language) SQL--89, SQL--92, SQL-99 Βάσεις εδοµένων Ευαγγελία Πιτουρά 4

5 Η γλώσσα SQL SQL αποτελείται από: DDL (Data Definition Language) Γλώσσα Ορισµού Δεδοµένων (ΓΟΔ) - ορισµός, δηµιουργία, τροποποίηση και διαγραφή σχήµατος. DML (Data Manipulation Language) Γλώσσα Χειρισµού Δεδοµένων (ΓΟΔ) - ορισµός, δηµιουργία, τροποποίηση, διαγραφή και επιλογή δεδοµένων (γλώσσα ερωτήσεων). Προδιαγραφές ασφάλειας - χρήστες και δικαιώµατα. Βάσεις εδοµένων Ευαγγελία Πιτουρά 5

6 Εισαγωγή Έχουµε ήδη δει: Ορισµό σχήµατος Βασικές εντολές χειρισµού (εισαγωγή, διαγραφή, κλπ) Θα δούµε τη γλώσσα ερωτήσεων (ερωτήσεις πάνω στο τρέχον στιγµιότυπο της βάσης δεδοµένων, ώστε να πάρουµε πληροφορία) Βάσεις εδοµένων Ευαγγελία Πιτουρά 6

7 SQL Μέρος 1 - Γλώσσα ερωτήσεων: (Βασική Δοµή, Πράξεις Συνόλου, Φωλιασµένες Υπο-ερωτήσεις, Συνάθροιση) Βάσεις εδοµένων Ευαγγελία Πιτουρά 7

8 Βασική Δοµή Μια χαρακτηριστική ερώτηση σε SQL έχει την εξής µορφή: ονόµατα γνωρισµάτων 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 )) Βάσεις εδοµένων Ευαγγελία Πιτουρά 8

9 Βασική Δοµή (select) 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 αντιστοιχεί στην πράξη της προβολής της σχεσιακής άλγεβρας Ποια γνωρίσµατα θέλουµε να υπάρχουν στο αποτέλεσµα της ερώτησης. Βάσεις εδοµένων Ευαγγελία Πιτουρά 9

10 Βασική Δοµή (from) select Α 1, Α 2,.., Α n from R1, R2, Rm where P π A1, A 2,.., A n (σ P (R 1 x R 2 x R m )) from αντιστοιχεί στην πράξη του καρτεσιανού γινοµένου της σχεσιακής άλγεβρας. Ποιες σχέσεις θα χρησιµοποιηθούν για τον υπολογισµό του αποτελέσµατος. Βάσεις εδοµένων Ευαγγελία Πιτουρά 10

11 Βασική Δοµή (where) 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 έχει γνωρίσµατα των σχέσεων που εµφανίζονται στο from. Βάσεις εδοµένων Ευαγγελία Πιτουρά 11

12 Παράδειγµα (ταινίες) Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα: Ονόµατα ηθοποιών που παίζουν στην ταινία Gone by the Wind select Όνοµα from Παίζει where Τίτλος = ''Gone by the Wind'' Βάσεις εδοµένων Ευαγγελία Πιτουρά 12

13 Select Όταν δεν υπάρχει το where, το P θεωρείται ότι ισχύει. Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα: Ονόµατα όλων των ηθοποιών που έχουν παίξει σε ταινίες select Όνοµα from Παίζει Βάσεις εδοµένων Ευαγγελία Πιτουρά 13

14 Select ΠΡΟΣΟΧΗ: Δε γίνεται απαλοιφή των διπλών εµφανίσεων. Η SQL επιτρέπει πολλαπλές εµφανίσεις της ίδιας πλειάδας σε µια σχέση. Μια σχέση στην SQL είναι ένα πολυσύνολο (multiset) ή θύλακας (bag). Απαλοιφή διπλών εµφανίσεων select distinct Όνοµα from Παίζει Βάσεις εδοµένων Ευαγγελία Πιτουρά 14

15 Select Επιλογή όλων των γνωρισµάτων select * from Παίζει Η «µικρότερη» SQL ερώτηση (µας δίνει το περιεχόµενο του αντίστοιχου πίνακα) Βάσεις εδοµένων Ευαγγελία Πιτουρά 15

16 Select Αριθµητικές πράξεις (+, -, *, /) ανάµεσα σε σταθερές ή γνωρίσµατα πλειάδων select Τίτλος, Έτος, Διάρκεια/60, Είδος from Ταινία Επιστρέφει µια σχέση ίδια µε τη σχέση Ταινία µόνο που το γνώρισµα διάρκεια µας δίνει τις ώρες (έχει διαιρεθεί µε το 60) Βάσεις εδοµένων Ευαγγελία Πιτουρά 16

17 Where Συνθήκη του where Λογικοί τελεστές: and, or, not Τελεστές σύγκρισης: <, <=, >, >=, =, <>, between, not between ανάµεσα σε αριθµητικές εκφράσεις,συµβολοσειρές (strings), και ειδικούς τύπους. Βάσεις εδοµένων Ευαγγελία Πιτουρά 17

18 Παράδειγµα (ταινίες) Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα: Τον τίτλο όλων των ταινιών που γυρίστηκαν µετά το 1995 και είναι ασπρόµαυρες select Τίτλος from Ταινία where Έτος > 1995 and Είδος = ''Ασπρόµαυρη'' Βάσεις εδοµένων Ευαγγελία Πιτουρά 18

19 Where Παράδειγµα χρήσης του between : select Τίτλος from Ταινία where Έτος between 1990 and 1995 αντί του select Τίτλος from Ταινία where Έτος >= 1990 and Έτος <= 1995 Βάσεις εδοµένων Ευαγγελία Πιτουρά 19

20 Βασική Δοµή Όταν το ίδιο γνώρισµα εµφανίζεται στο σχήµα περισσότερων από µια σχέσεων, τότε διάκριση βάση του συµβολισµού: <όνοµα-σχέσης>.<όνοµα-γνωρίσµατος> Βάσεις εδοµένων Ευαγγελία Πιτουρά 20

21 Παράδειγµα (ταινίες) Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα φυσικής συνένωσης: Τους ηθοποιούς που παίζουν σε ασπρόµαυρες ταινίες select distinct Όνοµα from Παίζει, Ταινία where Παίζει.Τίτλος = Ταινία.Τίτλος and Παίζει.Έτος = Ταινία.Έτος and Είδος = Ασπρόµαυρη Προσοχή στις συνθήκες Βάσεις εδοµένων Ευαγγελία Πιτουρά 21

22 Βασική Δοµή (επανάληψη) Μια χαρακτηριστική ερώτηση σε SQL έχει την εξής µορφή: ονόµατα γνωρισµάτων 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 )) Βάσεις εδοµένων Ευαγγελία Πιτουρά 22

23 Βασική Δοµή (επανάληψη) Select Διαγραφή διπλότιµων: select distinct select * (όλα τα γνωρίσµατα) Συνθήκη του where Λογικοί τελεστές: and, or, not Τελεστές σύγκρισης: <, <=, >, >=, =, <>, between, not between ανάµεσα σε αριθµητικές εκφράσεις,συµβολοσειρές (strings), και ειδικούς τύπους. Βάσεις εδοµένων Ευαγγελία Πιτουρά 23

24 Παράδειγµα (πίτσες) ΠΙΤΣΑ(ΟΝΟΜΑ, ΣΥΣΤΑΤΙΚΟ) ΑΡΕΣΕΙ(ΦΟΙΤΗΤΗΣ, ΣΥΣΤΑΤΙΚΟ) 1. Όλα τα συστατικά που αρέσουν στους φοιτητές 2. Τα συστατικά που αρέσουν στον φοιτητή Δηµήτρη 3. Τα συστατικά της πίτσας Σπέσιαλ 4. Τις πίτσες που έχουν συστατικά που αρέσουν στον φοιτητή Δηµήτρη Βάσεις εδοµένων Ευαγγελία Πιτουρά 24

25 Παράδειγµα (πίτσες) ΠΙΤΣΑ ΟΝΟΜΑ ΣΥΣΤΑΤΙΚΟ ΑΡΕΣΕΙ Vegetarian µανιτάρι ΦΟΙΤΗΤΗΣ ΣΥΣΤΑΤΙΚΟ Vegetarian ελιά ηµήτρης µανιτάρι Χαβάη ανανάς Κώστας ζαµπόν Χαβάη ζαµπόν Μαρία ελιά Σπέσιαλ ζαµπόν Κατερίνα µανιτάρι Σπέσιαλ µπέικον Μαρία ζαµπόν Σπέσιαλ µανιτάρι ηµήτρης µπέικον Ελληνική ελιά Μαρία ανανάς Βάσεις εδοµένων Ευαγγελία Πιτουρά 25

26 Η γλώσσα SQL Περισσότερα για τη γλώσσα ερωτήσεων - Πράξεις µε Συµβολοσειρές - Διάταξη Πλειάδων - Αλλαγή Ονόµατος - Μεταβλητές Πλειάδων - Η τιµή null Βάσεις εδοµένων Ευαγγελία Πιτουρά 26

27 Πράξεις µε Συµβολοσειρές Η πιο συνηθισµένη πράξη είναι ταίριασµα προτύπων: % ταιριάζει οποιαδήποτε συµβολοσειρά _ ταιριάζει οποιοδήποτε χαρακτήρα Γίνεται διάκριση ανάµεσα σε κεφαλαία και µικρά Σύγκριση χρησιµοποιώντας το like, not like Βάσεις εδοµένων Ευαγγελία Πιτουρά 27

28 Πράξεις µε Συµβολοσειρές Παράδειγµα: Οι τίτλοι όλων των ταινιών που περιέχουν τη λέξη Θάλασσα select distinct Τίτλος from Ταινία where Τίτλος like %Θάλασσα% Πολλές ακόµα πράξεις διαθέσιµες. Βάσεις εδοµένων Ευαγγελία Πιτουρά 28

29 Διάταξη Πλειάδων Χρήση του order by ώστε οι πλειάδες στο αποτέλεσµα να είναι ταξινοµηµένες µε βάση τo αντίστοιχο γνώρισµα select distinct Τίτλος, Έτος from Παίζει where Όνοµα = Robert De Niro order by Έτος Βάσεις εδοµένων Ευαγγελία Πιτουρά 29

30 Διάταξη Πλειάδων Default: αύξουσα διάταξη Αλλά και άµεσος προσδιορισµός χρησιµοποιώντας το asc (αύξουσα) ή το desc (φθίνουσα). Επίσης, ταξινόµηση µε βάση πολλά γνωρίσµατα. Παράδειγµα: select * from Ταινία order by Έτος desc, Τίτλος asc Η ταξινόµηση είναι δαπανηρή λειτουργία. Βάσεις εδοµένων Ευαγγελία Πιτουρά 30

31 Περιορισµός Αποτελέσµατος Περιορισµό του µεγέθους του αποτελέσµατος µε χρήση του limit <k> Σε συνδυασµό ή όχι µε το order by: αν δεν υπάρχει το order by το limit k µας δίνει κάποιες τυχαίες k πλειάδες από το αποτέλεσµα αν υπάρχει το order by µας δίνει τις πρώτες k select distinct Τίτλος, Έτος from Παίζει where Όνοµα = Robert De Niro order by Έτος desc limit 8 8 από τις πιο πρόσφατες -- αν δεν υπάρχει το order by, δίνει 8 τυχαίες Βάσεις εδοµένων Ευαγγελία Πιτουρά 31

32 Αλλαγή Ονόµατος Τα ονόµατα των γνωρισµάτων στο αποτέλεσµα είναι αυτά των σχέσεων στην ερώτηση. Δυνατότητα αλλαγής του ονόµατος τόσο µιας σχέσης όσο και ενός γνωρίσµατος: <παλιό-όνοµα> as <νέο-όνοµα> To as µπορεί να εµφανίζεται στο select ή στο from Βάσεις εδοµένων Ευαγγελία Πιτουρά 32

33 Αλλαγή Ονόµατος Για παράδειγµα: select Τίτλος, Έτος, Διάρκεια/60 as Ώρες-Διάρκεια, Είδος from Ταινία Σηµείωση: τα αποτελέσµατα µιας ερώτησης δεν «αποθηκεύονται» Βάσεις εδοµένων Ευαγγελία Πιτουρά 33

34 Αλλαγή Ονόµατος Χρήσιµο όταν (α) όταν έχουµε αριθµητικές εκφράσεις στο select και δεν έχουν όνοµα (β) όταν θέλουµε να αλλάξουµε το όνοµα του γνωρίσµατος στο αποτέλεσµα (γ) δυο σχέσεις του from έχουν γνωρίσµατα µε το ίδιο όνοµα Βάσεις εδοµένων Ευαγγελία Πιτουρά 34

35 Μεταβλητές Πλειάδων Μια µεταβλητή πλειάδας µπορεί να οριστεί στο from χρησιµοποιώντας το as: Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) select distinct Όνοµα from Παίζει as Π, Ταινία as Τ where Π.Τίτλος = Τ.Τίτλος and Π.Έτος = Τ.Έτος and Είδος = Ασπρόµαυρη Βάσεις εδοµένων Ευαγγελία Πιτουρά 35

36 Μεταβλητές Πλειάδων Οι µεταβλητές πλειάδων είναι ιδιαίτερα χρήσιµες όταν θέλουµε να συγκρίνουµε δυο πλειάδες της ίδιας σχέσης (µε συνένωση - self-join). Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα: Τα ονόµατα όλων των ταινιών που έχουν διάρκεια µεγαλύτερη τουλάχιστον από µία ταινία που γυρίστηκε το 1995 select distinct Τ.Τίτλος from Ταινία as S, Ταινία as T where T.Διάρκεια > S. Διάρκεια and S.Έτος = 1995 Βάσεις εδοµένων Ευαγγελία Πιτουρά 36

37 Η τιµή null Η τιµή null Η SQL λογική τριών τιµών µε τιµές TRUE, FALSE, και ΑΓΝΩΣΤΟ (null) Στο αποτέλεσµα του select-from-where µόνο οι πλειάδες που ικανοποιούν τη συνθήκη του where (η έκφραση έχει την τιµή TRUE) Παράδειγµα (NOT) TRUE FALSE ΑΓΝΩΣΤΟ FALSE TRUE ΑΓΝΩΣΤΟ Βάσεις εδοµένων Ευαγγελία Πιτουρά 37

38 Η τιµή null Χρήση της λέξης κλειδί is null (is not null) σε µια συνθήκη για να ελέγξουµε αν µια τιµή είναι null. select Αριθµός-Δανείου from Δάνειο where Ποσό is null Βάσεις εδοµένων Ευαγγελία Πιτουρά 38

39 Η τιµή null Εµφάνιση null Σε αριθµητικές πράξεις: το αποτέλεσµα είναι null όταν οποιαδήποτε τιµή είναι null Σε συγκρίσεις: σύγκριση µε null συνήθως δίνει αποτέλεσµα false Σε συναθροιστικές συναρτήσεις: αγνοείται πλην από το count(*) Παράδειγµα: select sum(ποσό) from Δάνειο Βάσεις εδοµένων Ευαγγελία Πιτουρά 39

40 Βασική Δοµή (επανάληψη) Μια χαρακτηριστική ερώτηση σε SQL έχει την εξής µορφή: ονόµατα γνωρισµάτων 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 )) Βάσεις εδοµένων Ευαγγελία Πιτουρά 40

41 Βασική Δοµή (επανάληψη) Select Διαγραφή διπλότιµων: select distinct select * (όλα τα γνωρίσµατα) Συνθήκη του where Λογικοί τελεστές: and, or, not Τελεστές σύγκρισης: <, <=, >, >=, =, <>, between, not between ανάµεσα σε αριθµητικές εκφράσεις,συµβολοσειρές (strings), και ειδικούς τύπους. Βάσεις εδοµένων Ευαγγελία Πιτουρά 41

42 Βασική Δοµή (επανάληψη) Όταν το ίδιο γνώρισµα εµφανίζεται στο σχήµα περισσότερων από µια σχέσεων, τότε διάκριση βάση του συµβολισµού: <όνοµα-σχέσης>.<όνοµα-γνωρίσµατος> Δυνατότητα αλλαγής του ονόµατος τόσο µιας σχέσης όσο και ενός γνωρίσµατος: <παλιό-όνοµα> as <νέο-όνοµα> To as µπορεί να εµφανίζεται στο select ή στο from Οι µεταβλητές πλειάδων (as στο from) είναι ιδιαίτερα χρήσιµες όταν θέλουµε να συγκρίνουµε δυο πλειάδες τις ίδιας σχέσης. Βάσεις εδοµένων Ευαγγελία Πιτουρά 42

43 Βασική Δοµή (επανάληψη) Πράξεις µε Συµβολοσειρές Η πιο συνηθισµένη πράξη είναι ταίριασµα προτύπων: % ταιριάζει οποιαδήποτε συµβολοσειρά _ ταιριάζει οποιοδήποτε χαρακτήρα Σύγκριση χρησιµοποιώντας το like, not like Διάταξη των Πλειάδων Χρήση του order by ώστε οι πλειάδες στο αποτέλεσµα να είναι ταξινοµηµένες µε βάση τo αντίστοιχο γνώρισµα Default: αύξουσα διάταξη, αλλά και άµεσα χρησιµοποιώντας το asc (αύξουσα) ή το desc (φθήνουσα). Βάσεις εδοµένων Ευαγγελία Πιτουρά 43

44 Βασική Δοµή (επανάληψη) select Α 1, Α 2,.., Α n from R 1, R 2, R m where P order by limit Χρήση της λέξης κλειδί is null (is not null) σε µια συνθήκη για να ελέγξουµε αν µια τιµή είναι null. Βάσεις εδοµένων Ευαγγελία Πιτουρά 44

45 SQL Μέρος 1 - Γλώσσα ερωτήσεων: (Βασική Δοµή, Πράξεις Συνόλου, Φωλιασµένες Υπο-ερωτήσεις, Συνάθροιση) Βάσεις εδοµένων Ευαγγελία Πιτουρά 45

46 Πράξεις Συνόλων Πράξεις: union (ένωση) intersect (τοµή) except (διαφορά) εφαρµόζονται σε συµβατές σχέσεις. Βάσεις εδοµένων Ευαγγελία Πιτουρά 46

47 Πράξεις Συνόλων Γενική Σύνταξη: (select from where ) union/intersect/except (select from where ) Βάσεις εδοµένων Ευαγγελία Πιτουρά 47

48 Πράξεις Συνόλων Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα intersect: Τα ονόµατα των ηθοποιών που έπαιξαν σε ταινίες του 2006 και του 2007 (select Όνοµα from Παίζει where Έτος = 2006) intersect (select Όνοµα from Παίζει where Έτος = 2007) Βάσεις εδοµένων Ευαγγελία Πιτουρά 48

49 Πράξεις Συνόλων Απαλοιφή διπλών εµφανίσεων, εκτός αν χρησιµοποιηθεί το intersect all Μέγιστος αριθµός πολλαπλών εµφανίσεων; Βάσεις εδοµένων Ευαγγελία Πιτουρά 49

50 Πράξεις Συνόλων Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) (select Όνοµα from Παίζει where Έτος = 2006) union (select Όνοµα from Παίζει where Έτος = 2007) Ποιο είναι το αποτέλεσµα; Αντίστοιχα: union all Μέγιστος αριθµός πολλαπλών εµφανίσεων; Βάσεις εδοµένων Ευαγγελία Πιτουρά 50

51 Πράξεις Συνόλων Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) (select Όνοµα from Παίζει where Έτος = 2006) except (select Όνοµα from Παίζει where Έτος = 2007) Ποιο είναι το αποτέλεσµα; Αντίστοιχα: except all Μέγιστος αριθµός πολλαπλών εµφανίσεων; Βάσεις εδοµένων Ευαγγελία Πιτουρά 51

52 Παράδειγµα (ταινίες) Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παραδείγµατα Ηθοποιούς που δεν έπαιξαν σε έγχρωµη ταινία Τις ταινίες (τίτλο) µε τον ίδιο τίτλο που γυρίστηκαν το 2005 και το 2006 Βάσεις εδοµένων Ευαγγελία Πιτουρά 52

53 Πράξεις συνόλων (επανάληψη) Πράξεις: union intersect except (minus) εφαρµόζονται σε συµβατές σχέσεις (ΠΡΟΣΟΧΗ: πρακτικά τα ΙΔΙΑ ΓΝΩΡΙΣΜΑΤΑ (ίδιο αριθµό και τύπο γνωρισµάτων) στα δύο select) Σύνταξη, (select-from-where) union (select-from-where) Απαλοιφή διπλών εµφανίσεων, εκτός αν χρησιµοποιηθεί το union {intersect, except} all Βάσεις εδοµένων Ευαγγελία Πιτουρά 53

54 Τα επόµενα παραδείγµατα αναφέρονται σε µια βάση δεδοµένων για τράπεζες που έχει το παρακάτω σχήµα: Παράδειγµα Τράπεζα Λογαριασµός Υποκατάστηµα άνειο Όνοµα-Υποκαταστήµατος Αριθµός-Λογαριασµού Όνοµα-Υποκαταστήµατος Πόλη Σύνολο Όνοµα-Υποκαταστήµατος Αριθµός- ανείου Ποσό Ποσό ανειζόµενος Όνοµα-Πελάτη Αριθµός- ανείου Πελάτης Όνοµα-Πελάτη Οδός Πόλη Καταθέτης Όνοµα-Πελάτη Αριθµός-Λογαριασµού Βάσεις εδοµένων Ευαγγελία Πιτουρά 54

55 Παράδειγµα Τράπεζα: Πράξεις Συνόλων Παράδειγµα intersect: Τα ονόµατα όλων των πελατών που έχουν καταθέσεις και έχουν πάρει δάνειο (select Όνοµα-Πελάτη from Καταθέτης ) intersect (select Όνοµα-Πελάτη from Δανειζόµενος ) Βάσεις εδοµένων Ευαγγελία Πιτουρά 55

56 Παράδειγµα Τράπεζα: Πράξεις Συνόλων Παράδειγµα union: Τα ονόµατα όλων των πελατών που έχουν καταθέσεις ή/και έχουν πάρει δάνειο (select Όνοµα-Πελάτη from Καταθέτης) union (select Όνοµα-Πελάτη from Δανειζόµενος) Βάσεις εδοµένων Ευαγγελία Πιτουρά 56

57 Παράδειγµα Τράπεζα: Πράξεις Συνόλων Παράδειγµα except: Τα ονόµατα όλων των πελατών που έχουν καταθέσεις και δεν έχουν πάρει δάνειο (select Όνοµα-Πελάτη from Καταθέτης) except (select Όνοµα-Πελάτη from Δανειζόµενος) Βάσεις εδοµένων Ευαγγελία Πιτουρά 57

58 Η Γλώσσα Βάσεων Δεδοµένων SQL Μέρος 1 - Γλώσσα ερωτήσεων: (Βασική Δοµή, Πράξεις Συνόλου, Φωλιασµένες Υπο-ερωτήσεις, Συνάθροιση) Βάσεις εδοµένων Ευαγγελία Πιτουρά 58

59 Φωλιασµένες Υπο-ερωτήσεις Η SQL επιτρέπει το φώλιασµα υπο-ερωτήσεων. Μια υπο-ερώτηση είναι µια έκφραση select-fromwhere που χρησιµοποιείται µέσα σε µια άλλη selectfrom-where ερώτηση (συγκεκριµένα ως συνθήκη στο where). Βάσεις εδοµένων Ευαγγελία Πιτουρά 59

60 Γενική δοµή: select... from... where <τελεστής> (select... from... where... ); Φωλιασµένες Υπο-ερωτήσεις Υπο-ερώτηση Η εσωτερική (φωλιασµένη) υπο-ερώτηση υπολογίζεται για κάθε γραµµή (πλειάδα) της εξωτερικής ερώτησης Στη συνέχεια θα δούµε τι µπορεί να είναι ο τελεστής Βάσεις εδοµένων Ευαγγελία Πιτουρά 60

61 Φωλιασµένες Υπο-ερωτήσεις Ο τελεστής in (not in) Ελέγχει αν µια πλειάδα ανήκει (δεν ανήκει) σε ένα σύνολο από πλειάδες που έχουν προκύψει από µια έκφραση select-from-where. Γενική δοµή: select... from... where T in (not in) (select... from... where... ); T: πλειάδα Βάσεις εδοµένων Ευαγγελία Πιτουρά 61

62 Παράδειγµα (ταινίες) Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα: Τα ονόµατα όλων των ηθοποιών που δεν έπαιξαν σε καµία ταινία select distinct Ηθοποιός.Όνοµα from Ηθοποιός where Ηθοποιός.Όνοµα not in (select Όνοµα from Παίζει) Βάσεις εδοµένων Ευαγγελία Πιτουρά 62

63 Παράδειγµα (ταινίες) Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα: Τα ονόµατα όλων των ηθοποιών που έπαιξαν σε ασπρόµαυρη ταινία select distinct Παίζει.Όνοµα from Παίζει where (Παίζει.Τίτλος, Παίζει.Έτος) in (select Ταινία.Τίτλος, Ταινία.Έτος from Ταινία where Είδος = «Ασπρόµαυρη») Βάσεις εδοµένων Ευαγγελία Πιτουρά 63

64 Παράδειγµα (ταινίες) Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα: Τον τίτλο όλων των ταινιών µε διάρκεια πάνω από 100 λεπτά για τις οποίες υπάρχει ταινία µε το ίδιο τίτλο και διάρκεια µικρότερη από 60 λεπτά select distinct Τίτλος from Ταινία where Διάρκεια > 100 and Τίτλος in (select Τίτλος from Ταινία where Διάρκεια < 60) Βάσεις εδοµένων Ευαγγελία Πιτουρά 64

65 Φωλιασµένες Υπο-ερωτήσεις Μπορεί να χρησιµοποιηθεί και µε enumerated σύνολα Παράδειγµα: Τους τίτλους όλων των ταινιών που δεν γυρίστηκαν το 2006 και το select distinct Τίτλος from Ταινία where Έτος not in (2006, 2007) Βάσεις εδοµένων Ευαγγελία Πιτουρά 65

66 Τα επόµενα παραδείγµατα αναφέρονται σε µια βάση δεδοµένων για τράπεζες που έχει το παρακάτω σχήµα: Παράδειγµα Τράπεζα Λογαριασµός Υποκατάστηµα άνειο Όνοµα-Υποκαταστήµατος Αριθµός-Λογαριασµού Όνοµα-Υποκαταστήµατος Πόλη Σύνολο Όνοµα-Υποκαταστήµατος Αριθµός- ανείου Ποσό Ποσό ανειζόµενος Όνοµα-Πελάτη Αριθµός- ανείου Πελάτης Όνοµα-Πελάτη Οδός Πόλη Καταθέτης Όνοµα-Πελάτη Αριθµός-Λογαριασµού Βάσεις εδοµένων Ευαγγελία Πιτουρά 66

67 Παράδειγµα Τράπεζα: Φωλιασµένες Υπο-ερωτήσεις Παράδειγµα: Τα ονόµατα όλων των πελατών που έχουν πάρει δάνειο και έχουν καταθέσεις select distinct Όνοµα-Πελάτη from Δανειζόµενος where Όνοµα-Πελάτη in (select Όνοµα-Πελάτη from Καταθέτης) Βάσεις εδοµένων Ευαγγελία Πιτουρά 67

68 Παράδειγµα Τράπεζα: Φωλιασµένες Υπο-ερωτήσεις Παράδειγµα: Τα ονόµατα όλων των πελατών που έχουν πάρει δάνειο και έχουν καταθέσεις στο υποκατάστηµα Ψηλά-Αλώνια select distinct Όνοµα-Πελάτη from Δανειζόµενος, Δάνειο where Δανειζόµενος.Αριθµός-Δανείου = Δάνειο.Αριθµός.Δανείου and Όνοµα-Υποκαταστήµατος = Ψηλά-Αλώνια and (Όνοµα-Υποκαταστήµατος, Όνοµα-Πελάτη) in (select Όνοµα-Υποκαταστήµατος, Όνοµα-Πελάτη from Καταθέτης, Λογαριασµός where Καταθέτης.Αριθµός-Λογαριασµού = Λογαριασµός.Αριθµός-Λογαριασµού) Βάσεις εδοµένων Ευαγγελία Πιτουρά 68

69 Παράδειγµα Τράπεζα: Φωλιασµένες Υπο-ερωτήσεις Με enumerated σύνολα Παράδειγµα: Τα ονόµατα όλων των πελατών που έχουν πάρει δάνειο και δε λέγονται Παπαδόπουλος ή Πέτρου. select distinct Όνοµα-Πελάτη from Δανειζόµενος where Όνοµα-Πελάτη not in ( Παπαδόπουλος, Πέτρου ) Βάσεις εδοµένων Ευαγγελία Πιτουρά 69

70 Φωλιασµένες Υπο-ερωτήσεις Σύγκριση Συνόλων 1. Ο τελεστής some (any) έχει τη σηµασία του τουλάχιστον ένα από ένα σύνολο Γενική δοµή: select... from... where T >some (select... from... where... ); T: πλειάδα Βάσεις εδοµένων Ευαγγελία Πιτουρά 70

71 Φωλιασµένες Υπο-ερωτήσεις Σύγκριση Συνόλων 1. Ο τελεστής some (any) έχει τη σηµασία του τουλάχιστον ένα από ένα σύνολο Παράδειγµα: Τους τίτλους όλων των ταινιών που γυρίστηκαν αργότερα από τουλάχιστον µια ασπρόµαυρη ταινία select distinct Τίτλος from Ταινία where Έτος >some (select Έτος from Ταινία where Είδος = Ασπρόµαυρη ) Βάσεις εδοµένων Ευαγγελία Πιτουρά 71

72 Φωλιασµένες Υπο-ερωτήσεις επίσης: <some, <=some, >=some, =some (ισοδ. του in) <>some (όχι ισοδ. του not in) Βάσεις εδοµένων Ευαγγελία Πιτουρά 72

73 Φωλιασµένες Υπο-ερωτήσεις 2. Ο τελεστής all έχει τη σηµασία από όλα τα στοιχεία ενός συνόλου Παράδειγµα: Τους τίτλους όλων των ταινιών που γυρίστηκαν αργότερα από όλες τις ασπρόµαυρες ταινίες select distinct Τίτλος from Ταινία where Έτος >all (select Έτος from Ταινία where Είδος = Ασπρόµαυρη ) Βάσεις εδοµένων Ευαγγελία Πιτουρά 73

74 Παράδειγµα (ταινίες) Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα: Τι υπολογίζει το παρακάτω; select distinct Όνοµα from Ηθοποιός where Έτος-Γέννησης <= all (select Έτος-Γέννησης from Παίζει, Ηθοποιός where Παίζει.Όνοµα = Ηθοποιός.Όνοµα and Τίτλος = «Μανταλένα» Βάσεις εδοµένων Ευαγγελία Πιτουρά 74

75 Φωλιασµένες Υπο-ερωτήσεις επίσης: <all, <=all, >=all, =all, <>all (ισοδ. του not in) Βάσεις εδοµένων Ευαγγελία Πιτουρά 75

76 Τα επόµενα παραδείγµατα αναφέρονται σε µια βάση δεδοµένων για τράπεζες που έχει το παρακάτω σχήµα: Παράδειγµα Τράπεζα Λογαριασµός Υποκατάστηµα άνειο Όνοµα-Υποκαταστήµατος Αριθµός-Λογαριασµού Όνοµα-Υποκαταστήµατος Πόλη Σύνολο Όνοµα-Υποκαταστήµατος Αριθµός- ανείου Ποσό Ποσό ανειζόµενος Όνοµα-Πελάτη Αριθµός- ανείου Πελάτης Όνοµα-Πελάτη Οδός Πόλη Καταθέτης Όνοµα-Πελάτη Αριθµός-Λογαριασµού Βάσεις εδοµένων Ευαγγελία Πιτουρά 76

77 Παράδειγµα Τράπεζα: Φωλιασµένες Υπο-ερωτήσεις Παράδειγµα: Τα ονόµατα όλων των υποκαταστηµάτων που έχουν λογαριασµό µε ποσό καταθέσεων µεγαλύτερο από το ποσό καταθέσεων όλων των υποκαταστηµάτων των Ιωαννίνων. select distinct Όνοµα-Υποκαταστήµατος from Υποκατάστηµα where Ποσό > all (select Ποσό from Υποκατάστηµα where Πόλη = Ιωάννινα ) Βάσεις εδοµένων Ευαγγελία Πιτουρά 77

78 Παράδειγµα Τράπεζα: Φωλιασµένες Υπο-ερωτήσεις Παράδειγµα: Τα ονόµατα όλων των υποκαταστηµάτων που έχουν λογαριασµό µε ποσό καταθέσεων µεγαλύτερο από το ποσό καταθέσεων ενός τουλάχιστον υποκαταστήµατος των Ιωαννίνων. select distinct Όνοµα-Υποκαταστήµατος from Υποκατάστηµα where Ποσό > some (select Ποσό from Υποκατάστηµα where Πόλη = Ιωάννινα ) Βάσεις εδοµένων Ευαγγελία Πιτουρά 78

79 Παράδειγµα Τράπεζα: Φωλιασµένες Υπο-ερωτήσεις Παράδειγµα: Το υποκατάστηµα µε το µεγαλύτερο µέσο ποσό καταθέσεων. (θα τη δούµε στη συνέχεια) select distinct Όνοµα-Υποκαταστήµατος from Λογαριασµός group by Όνοµα-Υποκαταστήµατος having avg (Ποσό) >=all (select avg(ποσό) from Λογαριασµός group by Όνοµα-Υποκαταστήµατος) Το avg θα το δούµε στη συνέχεια Βάσεις εδοµένων Ευαγγελία Πιτουρά 79

80 Φωλιασµένες Υπο-ερωτήσεις Ο τελεστής exists (not exists) Έλεγχος για άδεια σχέση: Ο τελεστής exists (not exists): επιστρέφει true ανν η υποερώτηση δεν είναι κενή (είναι κενή) Γενική δοµή: select... from... where exists (not exists) (select... from... where... ); Βάσεις εδοµένων Ευαγγελία Πιτουρά 80

81 Παράδειγµα (ταινίες) Παράδειγµα: Οι ασπρόµαυρες ταινίες µε τουλάχιστον ένα ηθοποιό select Τ.Τίτλος, Τ.Έτος from Ταινία as Τ where Τ.είδος = «Ασπρόµαυρη» and exists (select * from Παίζει where Παίζει.Τίτλος = Τ.Τίτλος and Παίζει.Έτος = Τ.Έτος) Βάσεις εδοµένων Ευαγγελία Πιτουρά 81

82 Φωλιασµένες Υπο-ερωτήσεις Ο τελεστής not exists µπορεί να χρησιµοποιηθεί για έλεγχο αν η σχέση A περιέχει τη σχέση B (σχέση υπερσυνόλου/υποσυνόλου) not exists (Β except Α) True if and only if A B Βάσεις εδοµένων Ευαγγελία Πιτουρά 82

83 Φωλιασµένες Υπο-ερωτήσεις Ερώτηση Πως µπορεί να χρησιµοποιηθεί για να υπολογίσουµε τη «διαίρεση»; Βάσεις εδοµένων Ευαγγελία Πιτουρά 83

84 Παράδειγµα (πίτσες) Τις πίτσες που έχουν όλα τα συστατικά που αρέσουν στον Δηµήτρη ΠΙΤΣΑ(ΟΝΟΜΑ, ΣΥΣΤΑΤΙΚΟ) ΑΡΕΣΕΙ(ΦΟΙΤΗΤΗΣ, ΣΥΣΤΑΤΙΚΟ) ΙΔΕΑ Θέλουµε τις πίτσες που τα συστατικά τους είναι υπερσύνολο των συστατικών που αρέσουν στο Δηµήτρη Α: Συστατικά πίτσας Π Β: Συστατικά που αρέσουν στο Δηµήτρη not exists (B except A) Βάσεις εδοµένων Ευαγγελία Πιτουρά 84

85 Παράδειγµα (ταινίες) Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα: Οι ηθοποιοί που έχουν παίξει σε όλες τις ταινίες του George Clooney B: όλες οι ταινίες του George Clooney not exists (Β except Α) Α: όλες οι ταινίες του συγκεκριµένου ηθοποιού select distinct S.Όνοµα from Παίζει as S where not exists ((select Τίτλος, Έτος from Παίζει where Όνοµα = George Clooney ) except (select Τίτλος, Έτος A from Παίζει as R where R.Όνοµα = S.Όνοµα)) B uπολογισµός για κάθε S Τέτοιου είδους µεταβλητές δεν υπάρχουν στη σχεσιακή άλγεβρα Βάσεις εδοµένων Ευαγγελία Πιτουρά 85

86 Παράδειγµα Τράπεζα: Φωλιασµένες Υπο-ερωτήσεις Τα επόµενα παραδείγµατα αναφέρονται στη βάση δεδοµένων για τις τράπεζες Παράδειγµα: Οι πελάτες που έχουν καταθέσεις και έχουν πάρει δάνειο. select Όνοµα-Πελάτη from Δανειζόµενος where exists (select * from Καταθέτης where Καταθέτης.Όνοµα-Πελάτη = Δανειζόµενος.Όνοµα- Πελάτη) Βάσεις εδοµένων Ευαγγελία Πιτουρά 86

87 Παράδειγµα Τράπεζα: Φωλιασµένες Υπο-ερωτήσεις Παράδειγµα: Οι πελάτες που έχουν καταθέσεις σε όλα τα υποκαταστήµατα της Πάτρας. 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. Αριθµός-Λογαριασµού )) Βάσεις εδοµένων Ευαγγελία Πιτουρά 87

88 Φωλιασµένες Υπο-ερωτήσεις Ο τελεστής unique (not unique) Έλεγχος για Διπλές Εµφανίσεις Ο τελεστής unique: επιστρέφει true ανν η υποερώτηση δεν έχει πολλαπλές όµοιες πλειάδες not unique Γενική δοµή: select... from... where unique (not unique) (select... from... where... ); Μπορεί να χρησιµοποιηθεί για να ελεγχθεί αν το αποτέλεσµα είναι σύνολο ή πολυσύνολο Βάσεις εδοµένων Ευαγγελία Πιτουρά 88

89 Παράδειγµα (ταινίες) Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα: Οι ηθοποιοί που έχουν παίξει ακριβώς σε µια ταινία select Όνοµα from Παίζει ας T where unique (select R.Όνοµα from Παίζει ας R where T.Όνοµα = R.Όνοµα) select Όνοµα from Παίζει group by Όνοµα having count(*) = 1 (θα το δούµε στη συνέχεια) Βάσεις εδοµένων Ευαγγελία Πιτουρά 89

90 Παράδειγµα (ταινίες) Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα: Οι ηθοποιοί που έχουν παίξει τουλάχιστον σε δύο ταινίες select Όνοµα from Παίζει ας T where not unique (select R.Όνοµα from Παίζει ας R where T.Όνοµα = R.Όνοµα) select Όνοµα from Παίζει group by Όνοµα having count(*) > 1 (θα το δούµε στη συνέχεια) Βάσεις εδοµένων Ευαγγελία Πιτουρά 90

91 Τα επόµενα παραδείγµατα αναφέρονται σε µια βάση δεδοµένων για τράπεζες που έχει το παρακάτω σχήµα: Παράδειγµα Τράπεζα Λογαριασµός Υποκατάστηµα άνειο Όνοµα-Υποκαταστήµατος Αριθµός-Λογαριασµού Όνοµα-Υποκαταστήµατος Πόλη Σύνολο Όνοµα-Υποκαταστήµατος Αριθµός- ανείου Ποσό Ποσό ανειζόµενος Όνοµα-Πελάτη Αριθµός- ανείου Πελάτης Όνοµα-Πελάτη Οδός Πόλη Καταθέτης Όνοµα-Πελάτη Αριθµός-Λογαριασµού Βάσεις εδοµένων Ευαγγελία Πιτουρά 91

92 Παράδειγµα Τράπεζα: Φωλιασµένες Υπο-ερωτήσεις Παράδειγµα: Οι πελάτες που έχουν ακριβώς µια κατάθεση στο υποκατάστηµα Ψηλά Αλώνια select T.Όνοµα-Πελάτη from Καταθέτης as Τ where unique (select R.Όνοµα-Πελάτη from Λογαριασµός, Καταθέτης as R where T.Όνοµα-Πελάτη = R.Όνοµα-Πελάτη and R. Αριθµός-Λογαριασµού = Λογαριασµός. Αριθµός- Λογαριασµού and Λογαριασµός.Όνοµα-Υποκαταστήµατος = Ψηλά Αλώνια ) Βάσεις εδοµένων Ευαγγελία Πιτουρά 92

93 Παράδειγµα Τράπεζα: Φωλιασµένες Υπο-ερωτήσεις Παράδειγµα: Οι πελάτες που έχουν τουλάχιστον δύο καταθέσεις στο υποκατάστηµα Ψηλά Αλώνια select T.Όνοµα-Πελάτη from Καταθέτης as Τ where not unique (select R.Όνοµα-Πελάτη from Λογαριασµός, Καταθέτης as R where T.Όνοµα-Πελάτη = R.Όνοµα-Πελάτη and R. Αριθµός-Λογαριασµού = Λογαριασµός.Αριθµός- Λογαριασµού and Λογαριασµός.Όνοµα-Υποκαταστήµατος = Ψηλά Αλώνια ) Βάσεις εδοµένων Ευαγγελία Πιτουρά 93

94 Φωλιασµένες Υπο-ερωτήσεις (επανάληψη) Ο τελεστής µπορεί να είναι: Τ in/not in (συµµετοχή σε σύνολο) Τ (>, =, κλπ) some/any/all (σύγκριση συνόλων) exists/not exists (έλεγχος για κενά σύνολα) unique/not unique (έλεγχος για διπλότιµα) Βάσεις εδοµένων Ευαγγελία Πιτουρά 94

95 Φωλιασµένες Υπο-ερωτήσεις (επανάληψη) Η SQL επιτρέπει το φώλιασµα υπο-ερωτήσεων. Μια υπο-ερώτηση είναι µια έκφραση select-from-where που χρησιµοποιείται µέσα σε µια άλλη ερώτηση. Γενική δοµή: select... from... where <x> (select... from... where... ); <x> µπορεί να είναι T {=, <, <=, >, >=, <>} any(some), all T in exists, unique (όπου Τ πλειάδα) Δηλαδή διατυπώνονται ως συνθήκες στο where Υπολογισµός της υπο-ερώτησης για κάθε γραµµή (πλειάδα) της εξωτερικής ερώτησης Βάσεις εδοµένων Ευαγγελία Πιτουρά 95

96 Φωλιασµένες Υπο-ερωτήσεις (επανάληψη) Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παραδείγµατα select Ταινία.Τίτλος from Ταινία where Διάρκεια >some (select Διάρκεια from Ταινία where Είδος = «Έγχρωµη») select Ταινία.Τίτλος from Ταινία where Διάρκεια >all (select Διάρκεια from Ταινία where Είδος = «Έγχρωµη») select Ταινία.Τίτλος from Ταινία Μία συνθήκη του where where Διάρκεια in (select Διάρκεια from Ταινία where Είδος = «Έγχρωµη») Βάσεις εδοµένων Ευαγγελία Πιτουρά 96

97 Φωλιασµένες Υπο-ερωτήσεις (επανάληψη) Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παραδείγµατα select Τ.Τίτλος from Ταινία as T where exists (select * from Ταινία as S where T.Τίτλος = S.Tίτλος and S.Διάρκεια > Τ.Διάρκεια) select Τ.Τίτλος from Ταινία as T where unique (select * from Ταινία as S where T.Τίτλος = S.Tίτλος and S.Διάρκεια > Τ.Διάρκεια) Βάσεις εδοµένων Ευαγγελία Πιτουρά 97

98 SQL Μέρος 1 - Γλώσσα ερωτήσεων: (Βασική Δοµή, Πράξεις Συνόλου, Φωλιασµένες Υπο-ερωτήσεις, Συνάθροιση) Βάσεις εδοµένων Ευαγγελία Πιτουρά 98

99 Συναθροιστικές Συναρτήσεις Συναθροιστικές Συναρτήσεις Η SQL έχει 5 built-in συναθροιστικές συναρτήσεις: Μέσος όρος: avg(a) (µόνο σε αριθµούς) A γνώρισµα Ελάχιστο: min(a) Μέγιστο: max(a) Άθροισµα: sum(a) (µόνο σε αριθµούς) Πλήθος: count(a) Βάσεις εδοµένων Ευαγγελία Πιτουρά 99

100 Συναθροιστικές Συναρτήσεις Παράδειγµα: Μέση διάρκεια όλων των έγχρωµων ταινιών select avg(διάρκεια) from Ταινία where Είδος = Έγχρωµη Το αποτέλεσµα είναι µια σχέση µε ένα γνώρισµα και µια γραµµή, µπορούµε να δώσουµε όνοµα στο γνώρισµα χρησιµοποιώντας το as Βάσεις εδοµένων Ευαγγελία Πιτουρά 100

101 Συναθροιστικές Συναρτήσεις Παράδειγµα: Μέγιστη διάρκεια όλων των έγχρωµων ταινιών και την ταινία µε τη µεγαλύτερη διάρκεια!! select Τίτλος, Έτος, max(διάρκεια) from Ταινία where Είδος = Έγχρωµη Αν το select συναθροιστική, τότε µόνο συναθροιστικές, - εκτός αν υπάρχει group by - δηλαδή δεν µπορούµε να προβάλουµε και άλλα γνωρίσµατα σχέσεων Βάσεις εδοµένων Ευαγγελία Πιτουρά 101

102 Συναθροιστικές Συναρτήσεις Αν θέλουµε να απαλείψουµε διπλές εµφανίσεις χρησιµοποιούµε τη λέξη-κλειδί distinct στην αντίστοιχη έκφραση. select sum(distinct Διάρκεια) from Ταινία Βάσεις εδοµένων Ευαγγελία Πιτουρά 102

103 Συναθροιστικές Συναρτήσεις Για να µετρήσουµε πόσες πλειάδες έχει µια σχέση: select count(*) from Ταινία Δε µπορούµε να χρησιµοποιήσουµε το distinct µε το count(*). Βάσεις εδοµένων Ευαγγελία Πιτουρά 103

104 Συναθροιστικές Συναρτήσεις Μπορούµε να εφαρµόσουµε τις συναρτήσεις όχι µόνο σε ένα σύνολο από πλειάδες, αλλά σε οµάδες από σύνολα πλειάδων. Οι οµάδες προσδιορίζονται χρησιµοποιώντας το group by Παράδειγµα: Μέση διάρκεια ταινίας ανά είδος select Είδος, avg(διάρκεια) from Ταινία group by Είδος Στο select και το όνοµα του group by Βάσεις εδοµένων Ευαγγελία Πιτουρά 104

105 Συναθροιστικές Συναρτήσεις Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Η οµαδοποίηση µπορεί να γίνει ως προς περισσότερα του ενός πεδία. select Τίτλος, Έτος, count(όνοµα) from Παίζει group by Τίτλος, Έτος Βάσεις εδοµένων Ευαγγελία Πιτουρά 105

106 Συναθροιστικές Συναρτήσεις Μπορούµε να εφαρµόσουµε µια συνθήκη σε µια συγκεκριµένη οµάδα από πλειάδες χρησιµοποιώντας το having select Έτος, count(τίτλος) from Ταινία group by Έτος having avg(διάρκεια) > 100 Η συνθήκη του having εφαρµόζεται αφού σχηµατιστούν οι οµάδες και υπολογιστούν οι συναθροιστικές συναρτήσεις. Βάσεις εδοµένων Ευαγγελία Πιτουρά 106

107 Συναθροιστικές Συναρτήσεις Όταν εµφανίζονται και το where και το having: η συνθήκη του where εφαρµόζεται πρώτα, οι πλειάδες που ικανοποιούν αυτή τη συνθήκη τοποθετούνται σε οµάδες µε βάση το group by και µετά αν υπάρχει συνθήκη στο having εφαρµόζεται στις οµάδες και επιλέγονται όσες ικανοποιούν τη συνθήκη Βάσεις εδοµένων Ευαγγελία Πιτουρά 107

108 Συναθροιστικές Συναρτήσεις Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης, Σύζυγος-Ηθοποιού) Παράδειγµα: Αριθµό ταινιών που έπαιξε κάθε ηθοποιός που γεννήθηκε µετά το 1987 αν αυτός είναι µεγαλύτερος του select Ηθοποιός, count(*) from Παίζει, Ηθοποιός where Παίζει.Όνοµα = Ηθοποιός.Όνοµα and Έτος-Γέννησης > 1987 group by Ηθοποιός.Όνοµα having count (*) >= 5 Βάσεις εδοµένων Ευαγγελία Πιτουρά 108

109 Τα επόµενα παραδείγµατα αναφέρονται σε µια βάση δεδοµένων για τράπεζες που έχει το παρακάτω σχήµα: Επιπρόσθετα παραδείγµατα Λογαριασµός Υποκατάστηµα άνειο Όνοµα-Υποκαταστήµατος Αριθµός-Λογαριασµού Όνοµα-Υποκαταστήµατος Πόλη Σύνολο Όνοµα-Υποκαταστήµατος Αριθµός- ανείου Ποσό Ποσό ανειζόµενος Όνοµα-Πελάτη Αριθµός- ανείου Πελάτης Όνοµα-Πελάτη Οδός Πόλη Καταθέτης Όνοµα-Πελάτη Αριθµός-Λογαριασµού Βάσεις εδοµένων Ευαγγελία Πιτουρά 109

110 Παράδειγµα Τράπεζα: Συναθροιστικές Συναρτήσεις Παράδειγµα: Μέσο ποσό όλων των λογαριασµών στο υποκατάστηµα Καλούτσανη select avg(ποσό) from Λογαριασµός where Όνοµα-Υποκαταστήµατος = Καλούτσανη Βάσεις εδοµένων Ευαγγελία Πιτουρά 110

111 Παράδειγµα Τράπεζα: Συναθροιστικές Συναρτήσεις Παράδειγµα: Μέγιστο ποσό όλων των λογαριασµών στο υποκατάστηµα Καλούτσανη select max(ποσό) from Λογαριασµός where Όνοµα-Υποκαταστήµατος = Καλούτσανη Αν θέλουµε και τον αριθµό του λογαριασµού; Βάσεις εδοµένων Ευαγγελία Πιτουρά 111

112 Παράδειγµα Τράπεζα: Συναθροιστικές Συναρτήσεις Παράδειγµα: Μέσο ποσό των λογαριασµών σε κάθε υποκατάστηµα select Όνοµα-Υποκαταστήµατος, avg(ποσό) from Λογαριασµός group by Όνοµα-Υποκαταστήµατος Βάσεις εδοµένων Ευαγγελία Πιτουρά 112

113 Παράδειγµα Τράπεζα: Συναθροιστικές Συναρτήσεις Παράδειγµα: Αριθµός καταθετών σε κάθε υποκατάστηµα select Όνοµα-Υποκαταστήµατος, count(distinct Όνοµα-Πελάτη) from Καταθέτης, Λογαριασµός where group by Όνοµα-Υποκαταστήµατος Βάσεις εδοµένων Ευαγγελία Πιτουρά 113

114 Παράδειγµα Τράπεζα: Συναθροιστικές Συναρτήσεις Μέσος όρος καταθέσεων ανά πελάτη και ανά υποκατάστηµα select Όνοµα-Υποκαταστήµατος, Όνοµα-Πελάτη, avg(balance) from account group by Όνοµα-Υποκαταστήµατος, Όνοµα-Πελάτη Βάσεις εδοµένων Ευαγγελία Πιτουρά 114

115 Παράδειγµα Τράπεζα: Συναθροιστικές Συναρτήσεις Παράδειγµα: Ονόµατα υποκαταστηµάτων µε µέσο ποσό καταθέσεων µεγαλύτερο των $1200 select Όνοµα-Υποκαταστήµατος, avg(ποσό) from Λογαριασµός group by Όνοµα-Υποκαταστήµατος having avg(ποσό) > 1200 Βάσεις εδοµένων Ευαγγελία Πιτουρά 115

116 Παράδειγµα Τράπεζα: Συναθροιστικές Συναρτήσεις Παράδειγµα: Μέσο ποσό για κάθε πελάτη που ζει στα Ιωάννινα και έχει τουλάχιστον τρεις λογαριασµούς select Καταθέτης.Όνοµα-Πελάτη, avg(ποσό) from Καταθέτης, Λογαριασµός, Πελάτης where Καταθέτης.Αριθµός-Λογαριασµού = Λογαριασµός.Αριθµός-Λογαριασµού and Καταθέτης.Όνοµα-Πελάτη = Πελάτης.Όνοµα-Πελάτη and Πόλη = Ιωάννινα group by Καταθέτης.Όνοµα-Πελάτη having count (distinct Καταθέτης.Αριθµός-Λογαριασµού) >= 3 Βάσεις εδοµένων Ευαγγελία Πιτουρά 116

117 Συναθροιστικές Συναρτήσεις (περίληψη) Μέσος όρος: avg (µόνο σε αριθµούς) Ελάχιστο: min Μέγιστο: max Άθροισµα: sum (µόνο σε αριθµούς) Πλήθος: count Αν θέλουµε να απαλείψουµε διπλές εµφανίσεις χρησιµοποιούµε τη λέξηκλειδί distinct στην αντίστοιχη έκφραση. Μπορούµε να εφαρµόσουµε τις συναρτήσεις όχι µόνο σε ένα σύνολο από πλειάδες, αλλά σε οµάδες από σύνολα πλειάδων. Οι οµάδες προσδιορίζονται χρησιµοποιώντας το group by Μπορούµε να εφαρµόσουµε µια συνθήκη σε µια συγκεκριµένη οµάδα από πλειάδες χρησιµοποιώντας το having. Η συνθήκη του having εφαρµόζεται αφού σχηµατιστούν οι οµάδες και υπολογιστούν οι συναθροιστικές συναρτήσεις Βάσεις εδοµένων Ευαγγελία Πιτουρά 117

118 Βασική Δοµή (επανάληψη) select Α i1, Α i2,.., Α in,, avg, from R 1, R 2, R m where P group by Α i1, A i2,, A in having P order by A j1, A j2,, A jk Βάσεις εδοµένων Ευαγγελία Πιτουρά 118

119 SQL Γλώσσα Ορισµού την έχουµε ξαναδεί Βάσεις εδοµένων Ευαγγελία Πιτουρά 119

120 Η γλώσσα SQL H SQL είναι η γλώσσα για όλα τα εµπορικά σχεσιακά συστήµατα διαχείρισης βάσεων δεδοµένων H SQL έχει διάφορα τµήµατα: Γλώσσα Ορισµού Δεδοµένων (ΓΟΔ) Γλώσσα Χειρισµού Δεδοµένων (ΓΧΔ) Ενσωµατωµένη Γλώσσα Χειρισµού Δεδοµένων Ορισµό Όψεων Εξουσιοδότηση (authentication) Ακεραιότητα Έλεγχο Συναλλαγών Βάσεις εδοµένων Ευαγγελία Πιτουρά 120

121 Εισαγωγή Βήµατα Δηµιουργίας και Χρήσης µιας (Σχεσιακής) Βάσης Δεδοµένων Σχεδιασµός Σχήµατος Δηµιουργία Σχήµατος χρησιµοποιώντας τη ΓΟΔ (DDL) Μαζική Φόρτωση των αρχικών δεδοµένων Η βάση δεδοµένων έχει δεδοµένα Repeat: εκτέλεση ερωτήσεων (select-from-where) και τροποποιήσεων (insert-delete-update) στη βάση δεδοµένων Βάσεις εδοµένων Ευαγγελία Πιτουρά 121

122 Γλώσσα Ορισµού Δεδοµένων Γλώσσα Ορισµού Δεδοµένων (ΓΟΔ) Σχετικά µε το λογικό σχήµα, η ΓΟΔ SQL υποστηρίζει τους ορισµούς: του σχήµατος κάθε σχέσης του πεδίου τιµών κάθε γνωρίσµατος των περιορισµών ακεραιότητας Δείτε και τις σχετικές διαφάνειες προηγούµενου µαθήµατος Βάσεις εδοµένων Ευαγγελία Πιτουρά 122

123 Γενική Δοµή Ορισµού Γλώσσα Ορισµού Δεδοµένων create table R(A 1 D 1, A 2 D 2,..., A n D n ), <περιορισµός-ακεραιότητας 1>,, <περιορισµός-ακεραιότητας k > όπου R είναι το όνοµα της σχέσης, A i τα ονόµατα των γνωρισµάτων, και D i οι τύποι των αντίστοιχων πεδίων τιµών. Βάσεις εδοµένων Ευαγγελία Πιτουρά 123

124 Επιτρεπτοί περιορισµοί ακεραιότητας είναι της µορφής: Ορισµός Σχήµατος primary key A j1, A j2,..., A jn, (δεν επιτρέπονται επαναλαµβανόµενες τιµές και NULL τιµές) για τον ορισµό του πρωτεύοντος κλειδιού unique A j1, A,..., A j 2 jn, (δεν επιτρέπονται επαναλαµβανόµενες τιµές; NULL τιµές επιτρέπονται (µόνο µία)) για τον ορισµό υποψηφίων κλειδιών check P για τον ορισµό σηµασιολογικών περιορισµών foreign key (A i ) references A j για τον ορισµό ξένου κλειδιού Βάσεις εδοµένων Ευαγγελία Πιτουρά 124

125 Τα επόµενα παραδείγµατα αναφέρονται στη βάση δεδοµένων για τράπεζες Παράδειγµα Τράπεζα: Ορισµός Σχήµατος Παραδείγµατα (1) create table Πελάτης (Όνοµα-Πελάτη char(20), Οδός char(30), Πόλη char(30), primary key (Όνοµα-Πελάτη)) Βάσεις εδοµένων Ευαγγελία Πιτουρά 125

126 Παράδειγµα Τράπεζα: Ορισµός Σχήµατος (2) create table Λογαριασµός (Αριθµός-Λογαριασµού char(10), Όνοµα-Υποκαταστήµατος char(15), Ποσό int default 0, primary key (Αριθµός-Λογαριασµού) check (Ποσό >= 0) Βάσεις εδοµένων Ευαγγελία Πιτουρά 126

127 Παράδειγµα Τράπεζα: Ορισµός Σχήµατος Επίσης, πιο περίπλοκες συνθήκες: check (Όνοµα-Υποκαταστήµατος in select Όνοµα-Υποκαταστήµατος from Υποκατάστηµα) Βάσεις εδοµένων Ευαγγελία Πιτουρά 127

128 Περιορισµοί Ακεραιότητας Περισσότερα για τους Περιορισµούς Αναφοράς Σύνταξη: foreign key (A i ) references A j i Όταν µια πράξη παραβιάζει έναν περιορισµό αναφοράς απορρίπτεται εκτός αν έχει οριστεί: cascade, set null, set default on delete on update Βάσεις εδοµένων Ευαγγελία Πιτουρά 128

129 Παράδειγµα Τράπεζα: Ορισµός Σχήµατος Παράδειγµα σύνταξης create table.. foreign key (Όνοµα-Υποκαταστήµατος) references (Υποκατάστηµα) on delete cascade on update cascade Βάσεις εδοµένων Ευαγγελία Πιτουρά 129

130 Πεδία Τιµών Ο ορισµός πεδίου µπορεί να περιέχει τον προσδιορισµό not null και default τιµή Επίσης, επιτρέπεται δηµιουργία πεδίου: create domain <name> as <type-description> create domain Όνοµα-Προσώπου char(20) Βάσεις εδοµένων Ευαγγελία Πιτουρά 130

131 Διαγραφή Σχήµατος Διαγραφή Σχήµατος Μια καινούργια σχέση είναι αρχικά άδεια. Για να σβηστεί ένα σχήµα: drop table R Διαφορά από delete from R Βάσεις εδοµένων Ευαγγελία Πιτουρά 131

132 Τροποποίηση Σχήµατος Τροποποίηση Σχήµατος ALTER TABLE όνοµα πίνακα ADD - προσθέτει καινούργια στήλη DROP - διαγράφει µια στήλη MODIFY - τροποποιεί µια στήλη Βάσεις εδοµένων Ευαγγελία Πιτουρά 132

133 Τροποποίηση Σχήµατος Προσθήκη νέου γνωρίσµατος: alter table R add A D προσθήκη σε µια σχέση R που ήδη υπάρχει του γνωρίσµατος A µε πεδίο τιµών D, η τιµή των πλειάδων της R στο καινούργιο γνώρισµα είναι null. Διαγραφή γνωρίσµατος: alter table R drop A Βάσεις εδοµένων Ευαγγελία Πιτουρά 133

134 Τροποποίηση Σχήµατος alter table R modify (όνοµα_στήλης new_datatype) modify µπορεί να τροποποιήσει µόνο τον τύπο δεδοµένων, όχι το όνοµα της στήλης Βάσεις εδοµένων Ευαγγελία Πιτουρά 134

135 SQL Γλώσσα Τροποποίησης Βάσεις εδοµένων Ευαγγελία Πιτουρά 135

136 Τροποποιήσεις Τροποποίηση Βάσης Δεδοµένων: Γλώσσα Χειρισµού Δεδοµένων (ΓXΔ) Τροποποιήσεις 1. Διαγραφή 2. Εισαγωγή 3. Ενηµέρωση Οι εντολές αυτές ΤΡΟΠΟΠΟΙΟΥΝ το στιγµιότυπο της βάσης δεδοµένων (δηλαδή, το περιεχόµενο των πινάκων) Δείτε και τις σχετικές διαφάνειες προηγούµενου µαθήµατος Βάσεις εδοµένων Ευαγγελία Πιτουρά 136

137 Εισαγωγή Εισαγωγή Για να εισάγουµε δεδοµένα σε µια σχέση είτε (α) προσδιορίζουµε την πλειάδα, είτε insert into R(A 1,, A n ) values (v 1,, v n ) (β) γράφουµε µια ερώτηση που το αποτέλεσµα της εισάγεται στη σχέση. νέο insert into R(A 1,, A n ) select-from-where Βάσεις εδοµένων Ευαγγελία Πιτουρά 137

138 ΠΙΤΣΑ(ΟΝΟΜΑ, ΣΥΣΤΑΤΙΚΟ) ΑΡΕΣΕΙ(ΦΟΙΤΗΤΗΣ, ΣΥΣΤΑΤΙΚΟ) Παράδειγµα Παράδειγµα για το (β): Εισαγωγή µιας πίτσας στη ΠΙΤΣΑ µε όνοµα «Κατερίνας-special µε συστατικά τα συστατικά που αρέσουν στη φοιτήτρια Κατερίνα insert into ΠΙΤΣΑ(ΠΙΤΣΑ.ΟΝΟΜΑ, ΠΙΤΣΑ.ΣΥΣΤΑΤΙΚΟ) select Κατερίνας-Special, ΑΡΕΣΕΙ.ΣΥΣΤΑΤΙΚΟ from ΑΡΕΣΕΙ where ΑΡΕΣΕΙ.ΦΟΙΤΗΤΗΣ = Κατερίνα Βάσεις εδοµένων Ευαγγελία Πιτουρά 138

139 Διαγραφή Διαγραφή Μπορούµε να σβήσουµε µόνο ολόκληρες πλειάδες και όχι συγκεκριµένα γνωρίσµατα. delete from R where P Σβήνει όλες τις πλειάδες της R για τις οποίες ισχύει το P. Όταν λείπει το where σβήνονται όλες οι πλειάδες µιας σχέσης. Βάσεις εδοµένων Ευαγγελία Πιτουρά 139

140 Διαγραφή Στο from µόνο µια σχέση, αλλά στη συνθήκη του where µπορεί να εµφανίζονται και άλλες Σβήνονται «ολόκληρες» πλειάδες Αν υπάρχουν παραπάνω από µια πλειάδες που ικανοποιούν τη συνθήκη, δεν υπάρχει τρόπος να διακρίνουµε τις πλειάδες, δηλαδή να σβήσουµε κάποιες Πρώτα, υπολογίζεται η συνθήκη του where και µετά διαγράφονται οι πλειάδες που ικανοποιούν τη συνθήκη delete from Παίζει where Τίτλος, Έτος in (select Τίτλος, Έτος from Ταινία where Eίδος = «Έγχρωµη») Βάσεις εδοµένων Ευαγγελία Πιτουρά 140

141 Εισαγωγή (επανάληψη) Ταινία (Τίτλος, Έτος, Διάρκεια, Είδος) Παίζει(Όνοµα, Τίτλος, Έτος) Ηθοποιός(Όνοµα, Διεύθυνση, Έτος-Γέννησης) Παράδειγµα για το (α) insert into Ταινία values ( The Big Blue, 1988, 132, Έγχρωµη ) Όταν µε οποιαδήποτε σειρά, π.χ.,: insert into Ταινία (Τίτλος, Είδος, Διάρκεια, Έτος) values ( The Big Blue, Έγχρωµη, 132, 1988) Βάσεις εδοµένων Ευαγγελία Πιτουρά 141

142 Εισαγωγή (επανάληψη) Οι επόµενες διαφάνειες είναι µια επανάληψη αυτών που έχουµε πει σε προηγούµενα µαθήµατα µε µερικά καινούργια παραδείγµατα Βάσεις εδοµένων Ευαγγελία Πιτουρά 142

143 Εισαγωγή (επανάληψη) Επίσης, εισαγωγή null τιµών: insert into Ταινία values ( The Big Blue, 1988, null, Έγχρωµη ) ή αν δε δίνω τιµές για όλα τα γνωρίσµατα insert into Ταινία (Τίτλος, Έτος, Είδος) values ( The Big Blue, 1988, Έγχρωµη ) Βάσεις εδοµένων Ευαγγελία Πιτουρά 143

144 Διαγραφή (παραδείγµατα) Παραδείγµατα (1) Όλες οι ηθοποιοί µε το όνοµα Kidman delete from Ηθοποιός where Όνοµα = Kidman (2) Όλες τις έγχρωµες ταινίες delete from Ταινία where Τίτλος, Έτος in (select Τίτλος, Έτος from Ταινία where Eίδος = «Έγχρωµη») (3) Όλες τις ταινίες που έχουν γυριστεί πριν το 1950 delete from Ταινία where Έτος < 1950 Βάσεις εδοµένων Ευαγγελία Πιτουρά 144

145 Διαγραφή (παραδείγµατα) Παράδειγµα: διαγραφή της ταινίας The Big Blue που γυρίστηκε το 1988 delete from Ταινία where Τίτλος = The Big Blue and Έτος = 1988 Το αποτέλεσµα εξαρτάται από το είδος περιορισµού αναφοράς που έχουµε ορίσει Αν δεν έχουµε ορίσει κάποια ειδική ενέργεια on delete πρέπει πρώτα να διαγράψουµε και τις εγγραφές του πίνακα Παίζει που σχετίζονται µε την ταινία The Big Blue : delete from Παίζει where Τίτλος = The Big Blue and Έτος = 1988 Βάσεις εδοµένων Ευαγγελία Πιτουρά 145

146 Τα επόµενα παραδείγµατα αναφέρονται στη βάση δεδοµένων για τράπεζες Παράδειγµα Τράπεζα: Εισαγωγή Παράδειγµα για το (α) insert into Λογαριασµός values ( Ψηλά-Αλώνια, A--9732, 1200) Όταν µε οποιαδήποτε σειρά, π.χ.,: insert into Λογαριασµός (Αριθµός-Λογαριασµού, Όνοµα- Υποκαταστήµατος, Ποσό) values ( A--9732, Ψηλά-Αλώνια, 1200) Βάσεις εδοµένων Ευαγγελία Πιτουρά 146

147 Παράδειγµα Τράπεζα: Εισαγωγή Παράδειγµα για το (β): Για κάθε πελάτη που έχει πάρει δάνειο από το υποκατάστηµα Ψηλά Αλώνια προστίθεται ως δώρο ένας λογαριασµός των $200 insert into Λογαριασµός select Όνοµα-Υποκαταστήµατος, Αριθµός-Δανείου, 200 from Δάνειο where Όνοµα-Υποκαταστήµατος = Ψηλά Αλώνια Πρέπει πρώτα να υπολογιστεί το select πλήρως και µετά να γίνει η εισαγωγή. Βάσεις εδοµένων Ευαγγελία Πιτουρά 147

148 Παράδειγµα Τράπεζα: Διαγραφή Παραδείγµατα (1) Όλους τους λογαριασµούς του Παπαδόπουλου delete from Καταθέτης where Όνοµα-Πελάτη = Παπαδόπουλος Βάσεις εδοµένων Ευαγγελία Πιτουρά 148

149 Παράδειγµα Τράπεζα: Διαγραφή (2) Όλους τους λογαριασµούς στα υποκαταστήµατα της Πάτρας delete from Λογαριασµός where Όνοµα-Υποκαταστήµατος in (select Όνοµα-Υποκαταστήµατος from Υποκατάστηµα where Πόλη = Πάτρα ) Παρατήρηση: δεν υπάρχει τρόπος να διαγράψουµε τη µία από δυο ίδιες πλειάδες που ικανοποιούν το where Βάσεις εδοµένων Ευαγγελία Πιτουρά 149

150 Παράδειγµα Τράπεζα: Διαγραφή Αν και µπορούµε να σβήσουµε πλειάδες µόνο από µία σχέση τη φορά µπορούµε να αναφερθούµε σε περισσότερες από µια σχέσεις στην υποερώτηση του where (3) Όλους τους λογαριασµούς µιας τράπεζας µε ποσό µικρότερο από το µέσο ποσό στην τράπεζα. delete from Λογαριασµός where Ποσό < (select avg(ποσό) from Λογαριασµός) Πρώτα γίνεται ο έλεγχος σε όλες τις πλειάδες και µετά αυτές που ικανοποιούν τη συνθήκη διαγράφονται. Βάσεις εδοµένων Ευαγγελία Πιτουρά 150

151 Παράδειγµα Τράπεζα: Διαγραφή Παράδειγµα: µια τράπεζα θέλει να κλείσει όλα τα υποκαταστήµατά της που βρίσκονται στην Καστοριά delete from Υποκατάστηµα where Όνοµα-Υποκαταστήµατος in (select Όνοµα-Υποκαταστήµατος from Υποκατάστηµα where Πόλη = Kαστοριά ) Βάσεις εδοµένων Ευαγγελία Πιτουρά 151

152 Παράδειγµα Τράπεζα: Διαγραφή Πρέπει πρώτα να διαγράψουµε και όλους τους λογαριασµούς (εκτός αν έχει οριστεί ειδική δράση on delete : delete from Λογαριασµός where Όνοµα-Υποκαταστήµατος in (select Όνοµα-Υποκαταστήµατος from Υποκατάστηµα where Πόλη = Kαστοριά ) Βάσεις εδοµένων Ευαγγελία Πιτουρά 152

153 Παράδειγµα Τράπεζα: Διαγραφή υποκατάστηµα λογαριασµός Πόλη Όνοµα_Υποκ. Όνοµα_Υποκ. Όνοµα-Πελάτη Υπόλοιπο Καστοριά K1 K1 ΚΩΤΣΗΣ Καστοριά K3 K2 ΑΠΟΣΤΟΛΙΔΗΣ Θεσσαλονίκη Θ1 Θ1 ΣΤΕΦΑΝΟΥ Θεσσαλονίκη Θ2 Θ2 ΠΑΠΑΝΙΚΟΛΑΟΥ Αθήνα A1 K3 ΧΑΤΖΟΠΟΥΛΟΣ αν διαγράψουµε από τον πίνακα υποκατάστηµα όλα τα υποκαταστήµατα της Καστοριάς, θα έχουµε πρόβληµα ορθότητας στον πίνακα λογαριασµός. πρώτα πρέπει να διαγράψουµε τους λογαριασµούς και µετά τα υποκαταστήµατα. Βάσεις εδοµένων Ευαγγελία Πιτουρά 153

154 Ενηµερώσεις (επανάληψη) Ενηµερώσεις update R set Attr = New_Value where P Παράδειγµα: Αύξηση τις διάρκειας κάθε ταινίας κατά 10 λεπτά για όλες τις ταινίες µε διάρκεια < 100 update Ταινία set Διάρκεια = Διάρκεια + 10 where Διάρκεια < 100 Βάσεις εδοµένων Ευαγγελία Πιτουρά 154

155 Ενηµέρωση (επανάληψη) Όπως και για τη διαγραφή: Στο update µόνο µια σχέση, αλλά στη συνθήκη του where µπορεί να εµφανίζονται και άλλες Αν υπάρχουν παραπάνω από µια πλειάδες που ικανοποιούν τη συνθήκη, δεν υπάρχει τρόπος να διακρίνουµε τις πλειάδες, δηλαδή να ενηµερώσουµε κάποιες Πρώτα, υπολογίζεται η συνθήκη του where και µετά διαγράφονται οι πλειάδες που ικανοποιούν τη συνθήκη δηλαδή, η συνθήκη υπολογίζεται στο τρέχων στιγµιότυπο όχι στο τροποποιηµένο Βάσεις εδοµένων Ευαγγελία Πιτουρά 155

Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2

Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2 Η Γλώσσα SQL Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Η γλώσσα SQL What men or gods are these? What maidens loth? What mad pursuit? What struggle to escape? What pipes and timbrels? What wild ectasy?

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

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

SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 SQL Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Τι είδαμε μέχρι τώρα Δύο γλώσσες ερωτήσεων που αποτελούν το θεωρητικό υπόβαθρο Σχεσιακή άλγεβρα: μια άλγεβρα συνόλων που αφορά πράξεις πάνω σε σχέσεις

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

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

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

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

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

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

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

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

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

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

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

SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 SQL Βάσεις Δεδομένων 2017-2018 1 Τι είδαμε μέχρι τώρα Δύο γλώσσες ερωτήσεων που αποτελούν το θεωρητικό υπόβαθρο Σχεσιακή άλγεβρα: μια άλγεβρα συνόλων που αφορά πράξεις πάνω σε σχέσεις Σχεσιακό λογισμό

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

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2. Πως θα υλοποιήσουμε (προγραμματίσουμε) την εφαρμογή μας χρησιμοποιώντας ένα σχεσιακό Σ Β :

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2. Πως θα υλοποιήσουμε (προγραμματίσουμε) την εφαρμογή μας χρησιμοποιώντας ένα σχεσιακό Σ Β : Η Γλώσσα SQL Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 1 Εισαγωγή Πως θα υλοποιήσουμε (προγραμματίσουμε) την εφαρμογή μας χρησιμοποιώντας ένα σχεσιακό Σ Β : Γλώσσα Ορισμού (του σχήματος) Γλώσσα Χειρισμού

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

Η γλώσσα SQL. Βάσεις Δεδομένων : SQL 1

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

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

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2. Πως θα υλοποιήσουμε (προγραμματίσουμε) την εφαρμογή μας χρησιμοποιώντας ένα σχεσιακό Σ Β :

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2. Πως θα υλοποιήσουμε (προγραμματίσουμε) την εφαρμογή μας χρησιμοποιώντας ένα σχεσιακό Σ Β : Η Γλώσσα SQL Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Πως θα υλοποιήσουμε (προγραμματίσουμε) την εφαρμογή μας χρησιμοποιώντας ένα σχεσιακό Σ Β : Γλώσσα Ορισμού (του σχήματος) Γλώσσα Χειρισμού

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

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

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

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

Η Γλώσσα Βάσεων εδοµένων SQL

Η Γλώσσα Βάσεων εδοµένων SQL Η Γλώσσα Βάσεων εδοµένων SQL 1 Η γλώσσα SQL Η SQL (Structured Query Language - οµηµένη Γλώσσα Ερωτηµάτων) είναι η καθιερωµένη σχεσιακή γλώσσα βάσεων δεδοµένων. Υλοποιήθηκε από την IBM στα πλαίσια του ερευνητικού

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

Η γλώσσα SQL. Βάσεις Δεδομένων : SQL 1

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

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

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

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

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

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

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

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

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

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

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

Η SQL ως γλώσσα τροποποίησης Δεδομένων

Η SQL ως γλώσσα τροποποίησης Δεδομένων Η SQL ως γλώσσα τροποποίησης Δεδομένων Τροποποίηση Βάσης Δεδομένων: Γλώσσα Χειρισμού Δεδομένων (ΓXΔ) Τροποποιήσεις 1. Διαγραφή 2. Εισαγωγή 3. Ενημέρωση Οι εντολές αυτές ΤΡΟΠΟΠΟΙΟΥΝ το στιγμιότυπο της βάσης

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

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

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

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

Η Γλώσσα SQL. SQL αποτελείται από: DDL (Data Definition Language) - ορισμός, δημιουργία, τροποποίηση και διαγραφή σχήματος.

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

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

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

Η Γλώσσα SQL. What is the average salary in the Toy department? Anonymous SQL user Η γλώσσα 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

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

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

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

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

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

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

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

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

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

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

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

SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 SQL Βάσεις Δεδομένων 2018-2019 1 Τι είδαμε μέχρι τώρα Δύο γλώσσες ερωτήσεων που αποτελούν το θεωρητικό υπόβαθρο Σχεσιακή άλγεβρα: μια άλγεβρα συνόλων που αφορά πράξεις πάνω σε σχέσεις Σχεσιακό λογισμό

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

Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 1 Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός

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

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

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

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

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

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

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

Βάσεις δεδομένων. (7 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (7 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (7 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα SQL Βασικές πράξεις Πράξεις συνόλων Συνενώσεις Συναθροιστικές συναρτήσεις Ομαδοποιήσεις 10/4/2014 Βάσεις Δεδομένων 2 Η γλώσσα

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις εδοµένων Ευαγγελία Πιτουρά 2. Υλοποίηση/προγραμματισμός εφαρμογής χρησιμοποιώντας ένα σχεσιακό ΣΔΒΔ: Γλώσσα Ορισμού(του σχήματος)

Βάσεις εδοµένων Ευαγγελία Πιτουρά 2. Υλοποίηση/προγραμματισμός εφαρμογής χρησιμοποιώντας ένα σχεσιακό ΣΔΒΔ: Γλώσσα Ορισμού(του σχήματος) Η Γλώσσα SQL Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 1 Εισαγωγή Υλοποίηση/προγραμματισμός εφαρμογής χρησιμοποιώντας ένα σχεσιακό ΣΔΒΔ: Γλώσσα Ορισμού(του σχήματος) Γλώσσα Χειρισμού Δεδομένων Γλώσσα

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

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων : Σχεσιακή Άλγεβρα 1

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

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

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

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

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

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

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

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

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

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακή Άλγεβρα 1 Ανακοινώθηκε το 1 ο Σύνολο Ασκήσεων στη σελίδα του μαθήματος Ημερομηνία Παράδοσης 3/11/2016 2 Τι έχουμε δει έως σήμερα Σχεδιασμό και Υλοποίηση Σχεσιακών Βάσεων δεδομένων Μια γλώσσα ορισμού

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

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

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

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

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

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2017-2018 1 Τι έχουμε δει έως σήμερα Σχεδιασμό βάσεων δεδομένων μοντέλο Οντοτήτων/Συσχετίσεων σχεσιακό μοντέλο (ορισμός σχήματος) Μια γλώσσα ορισμού δεδομένων ΓΟΔ (για

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

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

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

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

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

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2018-2019 1 Τι έχουμε δει έως σήμερα Σχεδιασμό βάσεων δεδομένων μοντέλο Οντοτήτων/Συσχετίσεων σχεσιακό μοντέλο (ορισμός σχήματος) Μια γλώσσα ορισμού δεδομένων ΓΟΔ (για

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

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

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

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

SQL Data Manipulation Language

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

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

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

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

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

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

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

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

Σχεσιακή Άλγεβρα. Εισαγωγή. Εισαγωγή. Εισαγωγή. Παράδειγμα. Εισαγωγή. Ταινία Τίτλος Έτος Διάρκεια Είδος. Παίζει Όνομα-Ηθοποιού Τίτλος Έτος.

Σχεσιακή Άλγεβρα. Εισαγωγή. Εισαγωγή. Εισαγωγή. Παράδειγμα. Εισαγωγή. Ταινία Τίτλος Έτος Διάρκεια Είδος. Παίζει Όνομα-Ηθοποιού Τίτλος Έτος. Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Σχεσιακού Μοντέλου) Αντιστοιχία

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

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων Μαρία Χαλκίδη Εισαγωγή Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση

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

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

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

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

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

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

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

Σχεσιακή Άλγεβρα. Σχεσιακή Άλγεβρα

Σχεσιακή Άλγεβρα. Σχεσιακή Άλγεβρα Σχεσιακή Άλγεβρα Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Σχεσιακή Άλγεβρα By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and,

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

Σχεσιακή Άλγεβρα. Προγράμματα που απαντούν σε επερωτήσεις για τον τρέχον στιγμιότυπο της βάσης δεδομένων (querying)

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

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

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use Παράδειγμα Σχέσης attributes

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

Εισαγωγή. Σχεσιακό Μοντέλο. Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου

Εισαγωγή. Σχεσιακό Μοντέλο. Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου Σχεσιακός Λογισµός Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεσιακό Μοντέλο Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου Βάσεις εδοµένων

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

ΗΓλώσσαSQL. Εισαγωγή Βασικές Έννοιες Τύποι Δεδομένων Ορισμός Δεδομένων Χειρισμός Δεδομένων

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

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

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

Σχεσιακός Λογισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακός Λογισμός Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Εισαγωγή Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Πλειάδων Σχεσιακός Λογισμός Πεδίου Θα δούμε μόνο το σχεσιακό λογισμό

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

Τελεστής Προβολής - Παράδειγμα. Π Πόλη, Εξάμηνο (Φοιτητές)

Τελεστής Προβολής - Παράδειγμα. Π Πόλη, Εξάμηνο (Φοιτητές) Σχεσιακή Άλγεβρα Προβολή, Επιλογή, Καρτεσιανό Γινόμενο, Ένωση, Διαφορά, Σύνθεση Τελεστών, Μετονομασία, Παραδείγματα Ερωτήσεων, Τομή Συνόλων, Φυσική Σύζευξη 1 Σχεσιακή Άλγεβρα Η σχεσιακή άλγεβρα (relational

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

Βάσεις δεδομένων. (8 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (8 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (8 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα SQL (συνέχεια) Φωλιασμένες υπο-ερωτήσεις Δημιουργία όψεων Πράξεις ενημέρωσης και περιορισμοί 1/5/2014 Βάσεις Δεδομένων 2 Από το

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

Σχεσιακή Άλγεβρα. Προγράµµατα που απαντούν σε ερωτήσεις για τον παρόν στιγµιότυπο της βάσης δεδοµένων (quering)

Σχεσιακή Άλγεβρα. Προγράµµατα που απαντούν σε ερωτήσεις για τον παρόν στιγµιότυπο της βάσης δεδοµένων (quering) By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and, in effect, increases the mental power of the race. -- Alfred North Whitehead

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

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

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

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

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

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

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

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

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

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

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

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

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

Αρχεία και Βάσεις Δεδομένων

Αρχεία και Βάσεις Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αρχεία και Βάσεις Δεδομένων Διάλεξη 10η: SQL Μέρος 3ο Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών SQL Data Manipulation Language Τελεστής union συνδυάζει subselects

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

Σχεσιακός Λογισµός. Σχεσιακό Μοντέλο. Έννοιες Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου

Σχεσιακός Λογισµός. Σχεσιακό Μοντέλο. Έννοιες Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου Σχεσιακός Λογισµός Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Σχεσιακός Λογισµός Σχεσιακό Μοντέλο Έννοιες Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου

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

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

Βάσεις εδοµένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Σχεσιακή Άλγεβρα Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 1 Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός

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

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

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

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

Τεχνολογία Πολιτισμικού Λογισμικού

Τεχνολογία Πολιτισμικού Λογισμικού Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Τεχνολογία Πολιτισμικού Λογισμικού Ενότητα 10: Γλώσσα Ερωτημάτων SQL Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται

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

Σχεσιακή Άλγεβρα. Προγράµµατα που απαντούν σε επερωτήσεις για τον παρόν στιγµιότυπο της βάσης δεδοµένων (querying)

Σχεσιακή Άλγεβρα. Προγράµµατα που απαντούν σε επερωτήσεις για τον παρόν στιγµιότυπο της βάσης δεδοµένων (querying) Εισαγωγή Στα προηγούµενα µαθήµατα: Εννοιολογικός Σχεδιασµός Βάσεων εδοµένων (µε χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασµός Βάσεων εδοµένων (µε χρήση του Σχεσιακού Μοντέλου) Βάσεις εδοµένων

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

Σχεσιακός Λογισµός. Σχεσιακός Λογισµός Πλειάδων. σχεσιακά πλήρης γλώσσα

Σχεσιακός Λογισµός. Σχεσιακός Λογισµός Πλειάδων. σχεσιακά πλήρης γλώσσα Σχεσιακό Μοντέλο Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Πλειάδων Πεδίου Βάσεις εδοµένων 2004-2005 Ευαγγελία Πιτουρά 1 Βάσεις εδοµένων 2004-2005 Ευαγγελία Πιτουρά 2 Γιατί σχεσιακό λογισµό; αδυναµία

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

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1 Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Θα εξετάσουµε πότε ένα σχεσιακό σχήµα για µια βάση δεδοµένων είναι «καλό» Γενικές Οδηγίες Η Μέθοδος

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

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

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

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

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

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

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

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

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

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

Query-by-Example (QBE)

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ 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 Μια γλώσσα σχεσιακής βάσης

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

Εισαγωγή. Σχεδιασµός µιας Β

Εισαγωγή. Σχεδιασµός µιας Β Σχεδιασµός µιας Β Εισαγωγή ανάλυση ποιας πληροφορίας και της σχέσης ανάµεσα στα στοιχεία της περιγραφή της δοµής - σχήµα σε διάφορους συµβολισµούς ή µοντέλα Μοντέλο Οντοτήτων - Συσχετίσεων (κεφ. 3) γραφικό

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

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

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

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

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

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

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

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

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

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

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1

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

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

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

Σχεσιακός Λογισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακός Λογισμός 1 Εισαγωγή Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Πλειάδων Σχεσιακός Λογισμός Πεδίου Θα δούμε μόνο το σχεσιακό λογισμό πλειάδων 2 Εισαγωγή σχεσιακή άλγεβρα: περιγράφει

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

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

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

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

Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004

Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004 Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004 Θέλουµε να φτιάξουµε µια βάση στην οποία θα καταχωρούνται οι φοιτητές του τµήµατος Μαθηµατικών,

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

Βάσεις Δεδομένων Η γλώσσα 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) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης των Σχεσιακών ΒΔ Εξασφαλίζει μεταφερσιμότητα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεδιασµός µιας Β. Ένας απλός τρόπος αναπαράστασης δεδοµένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσµατα

Σχεδιασµός µιας Β. Ένας απλός τρόπος αναπαράστασης δεδοµένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσµατα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασµός µιας Β : Βήµατα Ανάλυση Απαιτήσεων Τι δεδοµένα θα αποθηκευτούν, ποιες εφαρµογές θα κτιστούν πάνω στα δεδοµένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασµός

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

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων Εισαγωγή Θα εξετάσουµε πότε ένα σχεσιακό σχήµα για µια βάση δεδοµένων είναι «καλό» Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων Γενικές Οδηγίες Η Μέθοδος της Αποσύνθεσης Επιθυµητές Ιδιότητες της Αποσύνθεσης Συνένωση

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

SQL: Συναρτήσεις Συνάθροισης

SQL: Συναρτήσεις Συνάθροισης SQL: Συναρτήσεις Συνάθροισης Συναρτήσεις Συνάθροισης (Aggregate Functions) Εφαρμόζονται πάνω σε σύνολα τιμών γνωρισμάτων. count, max, min, avg, sum Περιορισμοί: η συνάρτηση count μπορεί να εφαρμοστεί σε

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

Σχεσιακός Λογισµός. Εισαγωγή. Σχεσιακό Μοντέλο. Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Πλειάδων Σχεσιακός Λογισμός Πεδίου

Σχεσιακός Λογισµός. Εισαγωγή. Σχεσιακό Μοντέλο. Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Πλειάδων Σχεσιακός Λογισμός Πεδίου Σχεσιακός Λογισµός Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεσιακό Μοντέλο Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Πλειάδων Σχεσιακός Λογισμός Πεδίου Θα δούμε μόνο

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

Σχεδιασµός Σχεσιακών Σχηµάτων

Σχεδιασµός Σχεσιακών Σχηµάτων Βάσεις εδοµένων 2003-2004 Ευαγγελία Πιτουρά 1 Σχεδιασµός Σχεσιακών Σχηµάτων Σχεδιασµός καλών σχεσιακών σχηµάτων Μη τυπικές - γενικές κατευθύνσεις Θεωρία κανονικών µορφών που θα βασίζεται στις συναρτησιακές

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

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

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

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

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

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Μοντελοποίηση Σχήμα (database schema): η περιγραφή της δομής της πληροφορίας που είναι αποθηκευμένη στη βδ με τη χρήση ενός μοντέλου δεδομένων

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

H Γλώσσα SQL Σχεδιασμός Βάσεων Δεδομένων

H Γλώσσα SQL Σχεδιασμός Βάσεων Δεδομένων H Γλώσσα SQL Σχεδιασμός Βάσεων Δεδομένων Πηγή διαφανειών Ε. Πιτουρά «Βάσεις Δεδομένων», A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5th edition Η γλώσσα SQL SQL αποτελείται από:

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

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

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

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