Copyright 2007 Ramez Elmasri and Shamkant B. NavatheΕλληνικήΈκδοση, ίαυλος. ιαφάνεια 8-1

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

Download "Copyright 2007 Ramez Elmasri and Shamkant B. NavatheΕλληνικήΈκδοση, ίαυλος. ιαφάνεια 8-1"

Transcript

1 ιαφάνεια 8-1

2 ΣχεδιασµόςκαιΧρήση Βάσεων εδοµένων Μ.Χατζόπουλος Τετάρτη & Πέµπτη ΏρεςγραφείουΤετάρτη, Πέµπτη και οποιαδήποτε άλλη ώρα είµαι στο γραφείο Σύγγραµµα Θεµελιώδεις Αρχές Συστηµάτων Βάσεων εδοµένων R.Elmasriκαι B.Navathe Τόµος Α και Β, σηµειώσεις Συνεργάτες Πηρουνάκης Γιώργος Καλεσάκη Βασιλική ιαφάνεια 8-2

3 Τι χρειάζεται για να το παρακολουθήσετε Να έχετε παρακολουθήσει το µάθηµα Υλοποίηση Συστηµάτων Βάσεων εδοµένων (η καλλίτερη περίπτωση ειδικά αν το έχετε περάσει) Όσοι δεν έχουν παρακολουθήσει το µάθηµα αυτό θαπρέπεισανελάχιστηγνώσηναέχουναπότον ΤόµοΑτακεφάλαια 1,2, 5 και 6καιναξέρουν κάποιαγλώσσαπρογραµµατισµού. ιαφάνεια 8-3

4 Το Μάθηµα έχει και ασκήσεις. Οι ασκήσεις θα αποτελέσουν το 40% του βαθµού. Θαπρέπειναµηνπάρετελιγότεροαπό 4 καιστην γραπτή εξέταση και στις ασκήσεις και τουλάχιστον σεένααπόταδύο 5. Μια άσκηση απλές SQL ερωτήσεις Μια άσκηση WEB εφαρµογή (σε PHP) Μια άσκηση σχεδιασµός βάσης ιαφάνεια 8-4

5 Ύλη SQL Ανάπτυξη Εφαρµογών µε Ενσωµατωµένη SQL Ανάπτυξη Εφαρµογών πάνω από πρότυπες διεπαφές επικοινωνίας µε βάσεις ODBC, JDBC Μοντέλο ΟΣ Σχεδιασµός Βάσεων εδοµένων µε το µοντέλο ΟΣ Μετάφραση σχηµάτων από το ΟΣ στο Σχεσιακό Μελέτη Σχεσιακών Σχηµάτων µε βάση τις σχεσιακές εξαρτήσεις. Συνδροµικότητα σε βάσεις δεδοµένων. ιαφάνεια 8-5

6 Ασκήσεις SQL Θα χρησιµοποιηθεί η MySQL Είναι ελεύθερο (µπορείτε να το κατεβάσετε από το διαδίκτυο και να το εγκαταστήσετε στον δικό σας υπολογιστή). Στο τµήµα η MySQL είναι εγκατεστηµένη στο διακοµιστή mysqlhost.di.uoa.gr στον κατάλογο /opt/mysql Μπορείτε να µπείτε σαν χρήστες στον διακοµιστή (θα σας δειχθεί πως) ή µπορείτε να χρησιµοποιήσετεκάποιο GUI (πχ. MySQL web browser ιαφάνεια 8-6

7 ΓιαΣχεδιασµό Θαχρησιµοποιήσετετο DBDesigner. Είναικαιαυτόελεύθεροκαιµπορείτενατο κατεβάσετε στον υπολογιστή σας. Ένας από τους πολλούς κόµβους που µπορείτε να το κατεβάσετε 44 ιαφάνεια 8-7

8 Κεφάλαιο 8 SQL-99: ΟρισµόςΣχήµατος, Περιορισµοί, και Επερωτήσεις και Όψεις Copyright 2007 Ramez Elmasri and Shamkant B. Navathe

9 ιαφάνεια 8-9

10 ΕΡΓΑΖΟΜΕΝΟΣ ΑΡ_ΤΑΥΤ ΟΝΟΜΑΕΠΙΘΕΤΟ ΗΜ_ΓΕΝ ΜΙΣΘΟΣΠΡΟΙΣΤΑΜΕΝΟΣ ΑΡΙΘ_Τ ΤΜΗΜΑ Τ_ΟΝΟΜΑ ΚΩ _ΤΜΗΜ ΙΕΥΘΥΝΤΗΣ ΗΜΕΡ_ΕΝΑΡΞΗΣ ΤΟΠΟΘ_ΤΜΗΜΑ ΑΠΑΣΧΟΛΗΣΗ ΚΩ _ΤΜΗΜ Τ_ΤΟΠΟΘΕΣΙΑ Ε_ΑΡΤΑΥΤ Κ_ΕΡΓΟ ΩΡΕΣ ΕΡΓΟ Ε_ΟΝΟΜΑ ΚΩ _ΕΡΓΟΥ ΕΞΑΡΤΩΜΕΝΟΣ Κ_ΤΜΗΜΑ ΤΟΠ_ΕΡΓΟΥ Ε_ΑΡΤΑΥΤ ΟΝΟΜΑ_ΕΞΑΡΤΩΜΕΝΟΥ ΗΜ_ΓΕΝ ΦΥΛΟ ΣΧΕΣΗ ιαφάνεια 8-10

11 Ορισµός εδοµένων, Περιορισµοί, καιαλλαγέςσχήµατος Οι CREATE, DROP, και ALTER χρησιµοποιούνται για αλλαγές της περιγραφής των πινάκων (σχέσεων) µιας βάσης δεδοµένων ιαφάνεια 8-11

12 CREATE TABLE Ορίζει µια νέα βασική σχέση δίνοντας της ένα όνοµα και ορίζοντας κάθε γνώρισµα και τον τύπο δεδοµένων του γνωρίσµατος (INTEGER, FLOAT, DECIMAL(i,j), CHAR(n), VARCHAR(n)) Σε ένα γνώρισµα µπορεί να ορισθεί ένας περιορισµός NOT NULL CREATE TABLE ΤΜΗΜΑ ( Τ_ΟΝΟΜΑ VARCHAR(10) NOT NULL, ΚΩ _ΤΜΗΜ INTEGER NOT NULL, ΙΕΥΘΥΝΤΗΣ CHAR(9), ΗΜΕΡ_ΕΝΑΡΞΗΣ CHAR(9) ); ιαφάνεια 8-12

13 CREATE TABLE Στην SQL2, µπορούµε να χρησιµοποιήσουµε την εντολή CREATE TABLE για τον προσδιορισµό των γνωρισµάτων του πρωτεύοντος κλειδιού, των δευτερευόντων κλειδιών, και των αναφορικών περιορισµών ακεραιότητας (ξένακλειδιά). Ταγνωρίσµατακλειδιούπροσδιορίζονταιµετιςπροτάσεις PRIMARY KEY and UNIQUE. CREATE TABLE ΤΜΗΜΑ ( Τ_ΟΝΟΜΑ VARCHAR(10) NOT NULL, ΚΩ _ΤΜΗΜ INTEGER NOT NULL, ΙΕΥΘΥΝΤΗΣ CHAR(9), ΗΜΕΡ_ΕΝΑΡΞΗΣ CHAR(9), PRIMARY KEY (ΚΩ _ΤΜΗΜ), UNIQUE (Τ_ΟΝΟΜΑ), FOREIGN KEY ( ΙΕΥΘΥΝΤΗΣ) REFERENCES ΕΡΓΑΖΟΜΕΝΟΣ ); ιαφάνεια 8-13

14 DROP TABLE Χρησιµοποιείται για τη διαγραφή µιας σχέσης (βασικός πίνακας) και του ορισµού του Η σχέση δεν µπορεί να χρησιµοποιηθεί περαιτέρω σεερωτήσεις, ενηµερώσεις, ή οποιαδήποτε άλλη εντολή αφού δεν υπάρχει ο ορισµός της Παράδειγµα: DROP TABLE ΕΞΑΡΤΩΜΕΝΟΣ; ιαφάνεια 8-14

15 ALTER TABLE Χρησιµοποιείται για την προσθήκη ενός γνωρίσµατος σε µια από τις βασικές σχέσεις Τονέογνώρισµαθαέχειτιµές NULL σεόλεςτις πλειάδες της σχέσης µετά την εκτέλεση της εντολής εποµένως,δενεπιτρέπεταιοπεριορισµός NOT NULL για το γνώρισµα αυτό Παράδειγµα: ALTER TABLE ΕΡΓΑΖΟΜΕΝΟΣ ADD ΕΡΓΑΣΙΑ VARCHAR(12); Οι χρήστες της βάσης δεδοµένων πρέπει πάλυ ναεισάγουνµιατιµήγιατονέογνώρισµα ΕΡΓΑΣΙΑ για κάθε πλειάδα ΕΡΓΑΖΟΜΕΝΟΣ. Αυτό µπορεί να επιτευχθεί µε την εντολή UPDATE. ιαφάνεια 8-15

16 Πρόσθεταχαρακτηριστικάτης SQL2 καιτης SQL-99 Create schema Επιλογές Αναφορικής Ακεραιότητας ιαφάνεια 8-16

17 CREATE SCHEMA Ορίζει το σχήµα µιας νέας βάσης δεδοµένων δίνοντας της ένα όνοµα. ιαφάνεια 8-17

18 ΕΠΙΛΟΓΕΣΑΝΑΦΟΡΙΚΗΣ ΑΚΕΡΑΙΟΤΗΤΑΣ Στουαναφορικούςπεριορισµούςακεραιότητας (ξένακλειδιά) µπορούµεναπροσδιορίσουµε τις RESTRICT, CASCADE, SET NULL ή SET DEFAULT CREATE TABLE ΤΜΗΜΑ ( Τ_ΟΝΟΜΑ VARCHAR(10) NOT NULL, ΚΩ _ΤΜΗΜ INTEGER NOT NULL, ΙΕΥΘΥΝΤΗΣ CHAR(9), ΗΜΕΡ_ΕΝΑΡΞΗΣ CHAR(9), PRIMARY KEY (ΚΩ _ΤΜΗΜ), UNIQUE (Τ_ΟΝΟΜΑ), FOREIGN KEY ( ΙΕΥΘΥΝΤΗΣ) REFERENCES ΕΡΓΑΖΟΜΕΝΟΣ ON DELETE SET DEFAULT ON UPDATE CASCADE); ιαφάνεια 8-18

19 ΕΠΙΛΟΓΕΣΑΝΑΦΟΡΙΚΗΣ ΑΚΕΡΑΙΟΤΗΤΑΣ (συνέχεια) CREATE TABLE ΕΡΓ( E_ΟΝΟΜΑ VARCHAR(30) NOT NULL, E_ΑΡΤΑΥΤ CHAR(9), ΗΜ_ΓΕΝ DATE, ΑΡΙΘ_Τ INTEGER DEFAULT 1, ΠΡΟΙΣΤΑΜΕΝΟΣ CHAR(9), PRIMARY KEY (E_ΑΡΤΑΥΤ), FOREIGN KEY (ΑΡΙΘ_Τ) REFERENCES ΤΜΗΜΑ ON DELETE SET DEFAULT ON UPDATE CASCADE, FOREIGN KEY (ΠΡΟΙΣΤΑΜΕΝΟΣ) REFERENCES ΕΡΓ ON DELETE SET NULL ON UPDATE CASCADE); ιαφάνεια 8-19

20 Πρόσθετοιτύποιδεδοµένωντων SQL2 και SQL-99 Έχει τους τύους δεδοµένων DATE, TIME, and TIMESTAMP DATE: Σχηµατίζετε από τα year-month-day σε µορφή yyyy-mm-dd TIME: Σχηµατίζετε από:minute:second σε µορφή hh:mm:ss TIME(i): Σχηµατίζετε από hour:minute:second µε επιπλέον ψηφία που ορίζουν δέκατα δευτερολέπτου ή µορφή είναι hh:mm:ss:ii...i ιαφάνεια 8-20

21 Πρόσθετοιτύποιδεδοµένωντων SQL2 και SQL-99(συνεχ.) TIMESTAMP: Έχει και τις δύο, DATE και TIME συνιστώσες INTERVAL: Προσδιορίζει µια σχετική τιµή παρά σαν απόλυτη τιµή. Μπορεί να είναι διαστήµατα DAY/TIME ή YEAR/MONTH Μπορεί να είναι θετική ή αρνητική όταν προστεθεί ή αφαιρεθεί από µια απόλυτη τιµή, το αποτέλεσµα είναι µι απόλυτη τιµή ιαφάνεια 8-21

22 Ερωτήσειςανάκτησηςστην SQL Η SQL έχει µια βασική εντολή για ανάκτηση πληροφοριών από µια βάση δεδοµένων την εντολή SELECT εν είναι ίδια µε την πράξη SELECT (επιλογή) της σχεσιακής άλγεβρας Σηµαντική διαφορά µεταξύ της SQL και του τυπικού σχεσιακού µοντέλου: Η SQL επιτρέπει σε ένα πίνακα (σχέση) να έχει δύο ή περισσότερες ταυτόσηµες πλειάδες (ίδια τιµή σε όλα τους τα γνωρίσµατα) Εποµένως, µια SQL σχέση (πίνακας) είναι ένα πολυ-σύνολο (ονοµάζεται και bag) από πλειάδες δεν είναι ένα σύνολοαπό πλειάδες Οι σχέσεις της SQL µπορούν να περιορισθούν σε σύνολα µε προσδιορισµόγνωρισµάτων PRIMARY KEY ή UNIQUE, ή χρησιµοποιώντας την επιλογή DISTINCT σε µια ερώτηση ιαφάνεια 8-22

23 Ερωτήσεις Ανάκτησης στην SQL (συν.) Ένα bagήπολυ-σύνολοµοιάζειµεσύνολο, αλλά ένα στοιχείο µπορεί να εµφανισθεί περισσότερες από µια φορές. Παράδειγµατο: {A, B, C, A} είναι bag. Το {A, B, C} είναι επίσης bag που είναι και σύνολο. Τα bags µοιάζουν µε λίστες, αλλά στο bag δεν ενδιαφέρειησειρά. Παράδειγµα: {A, B, A} = {B, A, A} είναι bags Ωστόσο, τα [A, B, A] και [B, A, A] δενίσασαν λίστες ιαφάνεια 8-23

24 Ερωτήσεις Ανάκτησης στην SQL (συν.) Η βασική µορφή της SQL εντολής SELECT ονοµάζεται µια απεικόνιση ή ένα SELECT-FROM-WHERE µπλοκ SELECT FROM WHERE <λίστα γνωρισµάτων> <λίστα πινάκων> <συνθήκη> < λίστα γνωρισµάτων > είναι µια λίστα ονοµάτων γνωρισµάτων που η τιµή τους πρέπει να ανακτηθεί από την ερώτηση < λίστα πινάκων > είναι µια λίστα από ονόµατα σχέσεων που απαιτούνται για επεξεργασία της ερώτησης <συνθήκη> είναι µια έκφραση συνθήκης (Boolean) που προσδιορίζει τις πλειάδες που θα ανακτηθούν από την ερώτηση. ιαφάνεια 8-24

25 Σχεσιακόσχήµαβάσηςδεδοµένων ιαφάνεια 8-25

26 Βάση µε δεδοµένα ιαφάνεια 8-26

27 Απλές SQL Ερωτήσεις Οι βασικές SQL ερωτήσεις αντιστοιχούν στη χρήση των παρακάτω πράξεων της σχεσιακής άλγεβρας: SELECT PROJECT JOIN Όλα τα παραδείγµατα που ακολουθούν χρησιµοποιούν τη βάση δεδοµένων ΕΤΑΙΡΕΙΑ ιαφάνεια 8-27

28 Απλές SQL Ερωτήσεις(συν.) Παράδειγµα απλής ερώτησης σε µια σχέση Ερώτηση 0: Nα βρεθεί η ηµεροµηνία γέννησης και η διεύθυνσητουεργαζόµενουπουτοόνοµατουείναι John B. Smith Q0: SELECT ΗΜ_ΓΕΝ, ΙΕΥΘΥΝΣΗ FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE ΟΝΟΜΑ='John' AND ΑΡΧ_ΠΑΤ='B AND ΕΠΙΘΕΤΟ='Smith Μοιάζει µε ένα ζεύγος SELECT-PROJECT πράξεων της σχεσιακής άλγεβρας: Η πρόταση SELECT- προσδιορίζει τα γνωρίσµατα της προβολής και η πρόταση WHERE- προσδιορίζει την συνθήκη επιλογής Ωστόσο, το αποτέλεσµα της ερώτησης µπορεί να περιέχει διπλότυπες πλειάδες ιαφάνεια 8-28

29 Απλές SQL Ερωτήσεις(συν.) Ερώτηση 1: Nα βρεθούν το όνοµα και η διεύθυνση όλων των εργαζοµένων στο τµήµα Research. SELECT FROM WHERE ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, ΙΕΥΘΥΝΣΗ ΕΡΓΑΖΟΜΕΝΟΣΤΜΗΜΑ Τ_ΟΝΟΜΑ='Research' AND ΚΩ _ΤΜΗΜ=ΑΡΙΘ_Τ Παρόµοιαµεµιαακολουθία SELECT-PROJECT-JOIN πράξεων της σχεσιακής άλγεβρας (Τ_ΟΝΟΜΑ='Research') είναι µια συνθήκη επιλογής (αντιστοιχεί σε µια πράξη επιλογής στη σχεσιακή άλγεβρα) (ΚΩ _ΤΜΗΜ=ΑΡΙΘ_Τ) είναι µια συνθήκη επιλογής (αντιστοιχεί σε µια πράξη JOIN της σχεσιακής άλγεβρας) ιαφάνεια 8-29

30 Απλές SQL Ερωτήσεις(συν.) Ερώτηση 2: Για κάθε έργο στο Stafford να βρεθεί ο κωδικός του έργου, ο κωδικός του τµήµατος που το ελέγχει και το επίθετο, η διεύθυνση και η ηµεροµηνία γέννησης του διευθυντή του τµήµατος. SELECT ΚΩ _ΕΡΓΟΥ, Κ_ΤΜΗΜΑ, ΕΠΙΘΕΤΟ, ΗΜ_ΓΕΝ, ΙΕΥΘΥΝΣΗ FROM ΕΡΓΟ, ΤΜΗΜΑ, ΕΡΓΑΖΟΜΕΝΟΣ WHERE Κ_ΤΜΗΜΑ=ΚΩ _ΤΜΗΜ AND ΙΕΥΘΥΝΤΗΣ=ΑΡ_ΤΑΥΤ AND ΤΟΠ_ΕΡΓΟΥ='Stafford' Στην ερώτηση, δύο συνθήκες συνένωσης Η συνθήκη συνένωσης Κ_ΤΜΗΜΑ=ΚΩ _ΤΜΗΜ συσχετίζει έναέργοµετοτµήµαπουτοελέγχει Η συνθήκη συνένωσης ΙΕΥΘΥΝΤΗΣ=ΑΡ_ΤΑΥΤ συσχετίζει το τµήµα που ελέγχει µε τον εργαζόµενο που το διευθύνει ιαφάνεια 8-30

31 Ψευδώνυµα, * και DISTINCT, Κενή πρόταση WHERE Στην SQL, µπορούµε να χρησιµοποιήσουµε το ίδιο όνοµα για ένα (ή περισσότερα) γνωρίσµατα αν τα γνωρίσµατα είναι σε διαφορετικές σχέσεις Μια ερώτηση που αναφέρεται σε ένα ή περισσότερα γνωρίσµατα µε το ίδιο όνοµα πρέπει να χαρακτηρίζει το όνοµα του γνωρίσµατος µε το όνοµα της σχέσης προτάσσοντας το όνοµα της σχέσης στο όνοµα του γνωρίσµατος Παράδειγµα: ΕΡΓΑΖΟΜΕΝΟΣ.ΕΠΙΘΕΤΟ, ΤΜΗΜΑ.Τ_ΟΝΟΜΑ ιαφάνεια 8-31

32 Ψευδώνυµα Μερικές ερωτήσεις χρειάζεται να αναφερθούν στην ίδια σχέση δύο φορές Στην περίπτωση αυτή, δίνονται ψευδώνυµα στη σχέση αυτή Ερώτηση 8: Για κάθε εργαζόµενο να βρεθούν το όνοµα και το επίθετό του, καθώς και το όνοµα και το επίθετο του άµεσου προϊσταµένου του. Ε8: SELECT E.ΟΝΟΜΑ, E.ΕΠΙΘΕΤΟ, S.ΟΝΟΜΑ, S.ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ E S WHERE E.ΠΡΟΙΣΤΑΜΕΝΟΣ=S.ΑΡ_ΤΑΥΤ Στην Ε8, τα εναλλακτικά ονόµατα E και S της σχέσης ονοµάζονται ψευδώνυµα ή µεταβλητές πλειάδες για τη σχέση ΕΡΓΑΖΟΜΕΝΟΣ Οι E και S µπορούν να θεωρηθούν σαν δύο διαφορετικά αντίγραφα της ΕΡΓΑΖΟΜΕΝΟΣ η E αντιπροσωπεύει εργαζόµενους σε ρόλο υφισταµένων και η S αντιπροσωπεύει εργαζόµενους σε ρόλο προϊσταµένων. ιαφάνεια 8-32

33 Ψευδώνυµα (συνεχ.) Για ευκολία µπορούν να χρησιµοποιηθούν ψευδώνυµα σε οποιαδήποτε SQL ερώτηση Για τον προσδιορισµό ψευδωνύµων µπορεί να χρησιµοποιηθεί επίσης η λέξη κλειδί AS Ε8: SELECT E.ΟΝΟΜΑ, E.ΕΠΙΘΕΤΟ, S.ΟΝΟΜΑ, S.ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ AS E, ΕΡΓΑΖΟΜΕΝΟΣ AS S WHERE E.ΠΡΟΙΣΤΑΜΕΝΟΣ=S.ΑΡ_ΤΑΥΤ ιαφάνεια 8-33

34 ΜΗΥΠΑΡΞΗΠΡΟΤΑΣΗΣ WHERE Η µη ύπαρξη της πρότασης WHERE σηµαίνει ότι δεν υπάρχει συνθήκη εποµένως, επιλέγονται όλες οι πλειάδες από τις σχέσεις της πρότασης FROM Είναι ισοδύναµο µε την συνθήκη WHERE TRUE Ερώτηση 9: Nα επιλεγούν όλοι οι AP_TAYT από την EPΓAZOMENOΣ. Ε9: SELECT ΑΡ_ΤΑΥΤ FROM ΕΡΓΑΖΟΜΕΝΟΣ Αν στην πρόταση FROM ορίζονται περισσότερες από µια σχέσεις και δεν υπάρχει συνθήκη συνένωσης, τότε επιλέγεται το ΚΑΡΤΕΣΙΑΝΟ ΓΙΝΟΜΕΝΟ των πλειάδων ιαφάνεια 8-34

35 ΜΗΥΠΑΡΞΗΠΡΟΤΑΣΗΣ WHERE (συν.) Παράδειγµα: Ε10: SELECT ΑΡ_ΤΑΥΤ, Τ_ΟΝΟΜΑ FROM ΕΡΓΑΖΟΜΕΝΟΣ, ΤΜΗΜΑ Είναι πολύ σηµαντικό να µην παραβλεφθεί ο προσδιορισµός οποιονδήποτε συνθηκών επιλογής και συνένωσης στην WHERE-πρόταση διαφορετικά, µπορεί να έχουµε λάθος αποτέλεσµα ήµεγάλεςσχέσεις. ιαφάνεια 8-35

36 ΧΡΗΣΗΤΟΥ * Για ανάκτηση τις τιµές όλων των γνωρισµάτων των επιλεγµένων πλειάδων χρησιµοποιείται ένας *, που σηµαίνει για όλα τα γνωρίσµατα Παραδείγµατα: Ε1Γ: SELECT * FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE ΑΡΙΘ_Τ=5 Ε1 : SELECT * FROM ΕΡΓΑΖΟΜΕΝΟΣ, ΤΜΗΜΑ WHERE Τ_ΟΝΟΜΑ='Research' AND ΑΡΙΘ_Τ=ΚΩ _ΤΜΗΜ ιαφάνεια 8-36

37 ΧΡΗΣΗΤΗΣ DISTINCT Η SQL δεν αντιµετωπίζει µια σχέση σαν ένα σύνολο µπορούν να εµφανισθούν διπλότυπες πλειάδες Για απαλοιφή διπλότυπων πλειάδων στο αποτέλεσµα µιας ερώτησης, χρησιµοποιείται η λέξη κλειδί DISTINCT Για παράδειγµα, το αποτέλεσµα της Ε11 µπορεί να περιέχει διπλότυπες τιµές ΜΙΣΘΟΣ ενώ η Ε11A δεν έχει διπλότυπες τιµές Ε11: SELECT ΜΙΣΘΟΣ FROM ΕΡΓΑΖΟΜΕΝΟΣ Ε11A: SELECT DISTINCTΜΙΣΘΟΣ FROM ΕΡΓΑΖΟΜΕΝΟΣ ιαφάνεια 8-37

38 ΠΡΑΞΕΙΣΣΥΝΟΛΩΝ Η SQL έχει άµεσα ενσωµατωµένες κάποιες πράξεις συνόλων Υπάρχει η πράξη της ένωσης (UNION), και σε µερικές εκδόσεις της SQL υπάρχουν οι πράξεις της διαφοράς συνόλων (MINUS) και της τοµής (INTERSECT) Οι σχέσεις που προκύπτουν από αυτές τις πράξεις συνόλων είναι σύνολα πλειάδων από το αποτέλεσµα απαλείφονται οι διπλότυπες πλειάδες Οι πράξεις των συνόλων εφαρµόζονται µόνο σε σχέσεις συµβατές προς την ένωση θα πρέπει οι δύο σχέσεις να έχουν τα ίδια γνωρίσµατα και θα πρέπει τα γνωρίσµατα να εµφανίζονται µε την ίδια σειρά. ιαφάνεια 8-38

39 ΠΡΑΞΕΙΣΣΥΝΟΛΩΝ(συν.) Ερώτηση 4: Bρείτε τη λίστα όλων των κωδικών έργων στα οποία εµφανίζονται εργαζόµενοι µε επίθετο Smith, είτε ως απασχολούµενοι σε έναέργοείτεωςδιευθυντέςτουτµήµατοςπουελέγχειτοέργοαυτό. Ε4: (SELECT DISTINCT ΚΩ _ΕΡΓΟΥ FROM ΕΡΓΟ, ΤΜΗΜΑ, ΕΡΓΑΖΟΜΕΝΟΣ WHERE Κ_ΤΜΗΜΑ=ΚΩ _ΤΜΗΜ AND ΙΕΥΘΥΝΤΗΣ=ΑΡ_ΤΑΥΤ AND ΕΠΙΘΕΤΟ='Smith') UNION (SELECT FROM WHERE DISTINCT KΩ _EPΓOY ΕΡΓΟ, ΑΠΑΣΧΟΛΗΣΗ, ΕΡΓΑΖΟΜΕΝΟΣ KΩ _EPΓOY=K_EPΓO AND E_APTAYT=AP_TAYT AND ΕΠΙΘΕΤΟ='Smith') ιαφάνεια 8-39

40 ΕΜΦΩΛΕΥΣΗΕΡΩΤΗΣΕΩΝ Σε µια πρόταση WHERE µιας ερώτησης µπορεί να υπάρχει µια άλλη πλήρης SELECT ερώτηση, που ονοµάζεται µια εµφωλευµένη ερώτηση, ενώ η ερώτηση στην οποία περικλείεται λέγεται εξωτερική ερώτηση Πολλές από τις µέχρι τώρα ερωτήσεις µπορούν εναλλάκτικά να γραφούν µε χρήση εµφώλευσης Ερώτηση 1: Nα βρεθούν το όνοµα και η διεύθυνση όλων των εργαζοµένων στο τµήµα Research Ε1:SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, ΙΕΥΘΥΝΣΗ FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE ΑΡΙΘ_Τ IN (SELECT ΚΩ _ΤΜΗΜ FROM ΤΜΗΜΑ WHERE Τ_ΟΝΟΜΑ='Research' ) ιαφάνεια 8-40

41 ΕΜΦΩΛΕΥΣΗΕΡΩΤΗΣΕΩΝ(συν.) Η εµφωλευµένη ερώτηση επιλέγει τον κωδικό του τµήµατος 'Research. Η εξωτερική ερώτηση επιλέγει µια πλειάδα ΕΡΓΑΖΟΜΕΝΟΣ αν η τιµή της ΑΡΙΘ_Τ είναι στο αποτέλεσµα της εµφωλευµένης Ο τελεστής σύγκρισης IN συγκρίνει µια τιµή v µε ένα σύνολο (ή πολυσύνολο) τιµών V, και αποτιµάται σε TRUE αν το v είναι ένα από ταστοιχείατου V Γενικά, µπορούµε να έχουµε πολλά επίπεδα εµφωλευµένων ερωτήσεων Μια αναφορά σε ένα γνώρισµα σχέσης που δεν προσδιορίζεται αφορά την πιο εσωτερικά εµφωλευµένη ερώτηση Στο παράδειγµα αυτό, η εµφωλευµένη ερώτηση δεν συσχετίζεται µε την εξωτερική ερώτηση. ιαφάνεια 8-41

42 ΣΥΣΧΕΤΙΣΜΕΝΕΣ ΕΜΦΩΛΕΥΜΕΝΕΣ ΕΡΩΤΗΣΕΙΣ Αν µια συνθήκη στην WHERE-πρόταση µιας εµφωλευµένης ερώτησης αναφέρεται σε ένα γνώρισµα µιας σχέσης που ορίζεται στην εξωτερική ερώτηση, λέµε ότι οι δύο σχέσεις είναι συσσχετισµένες Το αποτέλεσµα µιας συσχετισµένης εµφωλευµένης ερώτησης είναιδιαφορετικόγιακάθεπλειάδα (ήσυνδυασµόπλειάδων) της(των) σχέσης(ων)τηςεξωτερικήςερώτησης Ερώτηση 12: Να ανακτηθεί το όνοµα και το επίθετο κάθε εργαζόµενου µε ένα εξαρτώµενο µέλος µε το ίδιο όνοµα µε τον εργαζόµενο. Ε12: SELECT E.ΟΝΟΜΑ, E.ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ AS E WHERE E.ΑΡ_ΤΑΥΤ IN (SELECT Ε_ΑΡΤΑΥΤ FROM ΕΞΑΡΤΩΜΕΝΟΣ WHERE Ε_ΑΡΤΑΥΤ =E.ΑΡ_ΤΑΥΤ AND E.ΟΝΟΜΑ=ΟΝΟΜΑ_ΕΞΑΡΤΩΜΕΝΟΥ) ιαφάνεια 8-42

43 ΣΥΣΧΕΤΙΣΜΕΝΕΣ ΕΜΦΩΛΕΥΜΕΝΕΣ ΕΡΩΤΗΣΕΙΣ (συν) Στην Ε12, η εµφωλευµένη ερώτηση έχει διαφορετικό αποτέλεσµα στην εξωτερική ερώτηση Μιαεµφωλευµένηερώτησηµε SELECT... FROM... WHERE... µπλοκςκαιχρήσητωντελεστώνσύγκρισης = ή IN µπορεί πάντα να γραφεί σαν µια απλή ερώτηση ενός µπλοκ. Για παράδειγµα, η Ε12 µπορεί να γραφεί σαν Ε12A Ε12A: SELECT E.ΟΝΟΜΑ, E.ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ E, ΕΞΑΡΤΩΜΕΝΟΣ D WHERE E.ΑΡ_ΑΤΑΥΤ=D.ΑΡΤΑΥΤ AND E.ΟΝΟΜΑ=D.ΟΝΟΜΑ_ΕΞΑΡΤΩΜΕΝΟΥ ιαφάνεια 8-43

44 ΣΥΣΧΕΤΙΣΜΕΝΕΣ ΕΜΦΩΛΕΥΜΕΝΕΣ ΕΡΩΤΗΣΕΙΣ (συν) Η αρχική SQL όπως ορίστηκε για το SYSTEM R έχει και τον τελεστή σύγκρισης CONTAINS, που χρησιµοποιείται σε συνδυασµό µε εµφωλευµένες συσχετισµένες ερωτήσεις Ο τελεστής αυτός εγκαταλείφτηκε από τη γλώσσα, πιθανόν λόγω δυσκολίας για αποτελεσµατική υλοποίηση Οι περισσότερες υλοποιήσεις της SQL δεν υποστηρίζουν αυτόν τον τελεστή Ο τελεστής CONTAINS συγκρίνει δύο σύνολα τιµών, και αποτιµάται σε TRUE αν το ένα σύνολο περιέχει όλες τις τιµές του άλλου συνόλου Που θυµίζει την πράξη της διαίρεσης στην άλγεβρα ιαφάνεια 8-44

45 ΣΥΣΧΕΤΙΣΜΕΝΕΣ ΕΜΦΩΛΕΥΜΕΝΕΣ ΕΡΩΤΗΣΕΙΣ (συν) Ερώτηση 3: Nα βρεθεί το ονοµατεπώνυµο κάθε εργαζόµενου που εργάζεται σε όλα τα έργα που ελέγχονται απότοτµήµα 5 Ε3: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE ( (SELECT Κ_ΕΡΓΟ FROM ΑΠΑΣΧΟΛΗΣΗ WHERE ΑΡ_ΤΑΥΤ=E_ΑΡΤΑΥΤ) CONTAINS (SELECT ΚΩ _ΕΡΓΟΥ FROM ΕΡΓΟ WHERE Κ_ΤΜΗΜΑ=5) ) ιαφάνεια 8-45

46 ΣΥΣΧΕΤΙΣΜΕΝΕΣ ΕΜΦΩΛΕΥΜΕΝΕΣ ΕΡΩΤΗΣΕΙΣ (συν) Στην Ε3, η δεύτερη εµφωλευµένη ερώτηση, που δενσυσχετίζεταιµετηνεξωτερικήερώτηση, ανακτάτουςκωδικούςόλωντωνέργων of all projects controlled by department 5 Η πρώτη εµφωλευµένη ερώτηση, που συσχετίζεται, τους κωδικούς των έργων που απασχολείται ο εργαζόµενος, που είναι διαφορετικοί για κάθε πλειάδα εργαζόµενου λόγω της συσχέτισης. ιαφάνεια 8-46

47 ΗΣΥΝΑΡΤΗΣΗ EXISTS Η EXISTS χρησιµοποιείται για να ελεγχθεί αν το αποτέλεσµα µιας συσχετισµένης εµφωλευµένης ερώτησης είναι κενό (δεν περιέχει πλειάδες) ή όχι Μπορούµε να γράψουµε της ερώτηση Ε12 µε εναλλακτικήµορφήπουχρησιµοποιείτην EXISTS όπωςηε12b ιαφάνεια 8-47

48 ΗΣΥΝΑΡΤΗΣΗ EXISTS(συν.) Ερώτηση 12: Να ανακτηθεί το όνοµα και το επίθετο κάθε εργαζόµενου µε ένα εξαρτώµενο µέλος µε το ίδιο όνοµα µε τον εργαζόµενο. Ε12B: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE EXISTS (SELECT * FROM ΕΞΑΡΤΩΜΕΝΟΣ WHERE ΑΡ_ΤΑΥΤ=E_ΑΡΤΑΥΤ AND ΟΝΟΜΑ=ΟΝΟΜΑ_ΕΞΑΡΤΩΜΕΝΟΥ) ιαφάνεια 8-48

49 ΗΣΥΝΑΡΤΗΣΗ EXISTS(συν.) Ερώτηση 6: Να ανακτηθούν το όνοµα και το επίθετο όσων δεν έχουν εξαρτώµενους. Ε6: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE NOT EXISTS (SELECT * FROM ΕΞΑΡΤΩΜΕΝΟΣ WHERE ΑΡ_ΤΑΥΤ=E_ΑΡΤΑΥΤ) Στην Ε6, η συσχετισµένη εµφωλευµένη ερώτηση ανακτά όλες τις πλειάδες ΕΞΑΡΤΩΜΕΝΟΣ που σχετίζονται µε µια πλειάδα ΕΡΓΑΖΟΜΕΝΟΣ. Αν δεν υπάρχουν, επιλέγεται η πλειάδα ΕΡΓΑΖΟΜΕΝΟΣ Η EXISTS είναι απαραίτητη για τις εκφραστικές δυνατότητες της SQL ιαφάνεια 8-49

50 ΡΗΤΑΣΥΝΟΛΑ Είναι επίσης δυνατόν να χρησιµοποιηθεί ρητά (απαριθµήσιµο) σύνολο τιµών στην πρόταση WHERE αντί µιας εµφωλευµένης ερώτησης Ερώτηση 13: Να ανακτηθούν οι αριθµοί ταυτότητας όλων των εργαζοµένων που απασχολούνται στα έργα µε κωδικούς 1, 2, or 3. Ε13: SELECT DISTINCT E_ΑΡΤΑΥΤ FROM ΑΠΑΣΧΟΛΗΣΗ WHERE Κ_ΕΡΓΟ IN (1, 2, 3) ιαφάνεια 8-50

51 ΤΙΜΕΣ NULL ΣΕ SQL ΕΡΩΤΗΣΕΙΣ Η SQL υποστηρίζει ερωτήσεις που ελέγχουν αν µια τιµή είναι NULL (δεν έχει καταγραφεί, ή δεν ορίζεται ή δεν ισχύει) Η SQL χρησιµοποιεί την IS ή την IS NOT για σύγκριση τιµών NULL επειδήθεωρείκάθε NULL τιµήδιακριτήαπότιςάλλες NULL τιµές, έτσι δεν είναι κατάλληλη η σύγκριση ισότητας. Ερώτηση 14: Να ανακτηθούν το όνοµα και το επίθετο των εργαζοµένων που δεν έχουν προϊσταµένους. Ε14: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ FROM ΕΡΑΓΑΖΟΜΕΝΟΣ WHERE ΠΡΟΙΣΤΑΜΕΝΟΣ IS NULL Σηµείωση: Αν ορίζεται µια συνθήκη συνένωσης, οι πλειάδες µε τιµές NULL στα γνωρίσµατα συνένωσης δεν συµπεριλαµβάνονται στο αποτέλεσµα. ιαφάνεια 8-51

52 ΣχέσειςΣυνένωσηςστην in SQL2 Μπορούµε να προσδιορίσουµε «µια σχέση συνένωσης" στην πρόταση FROM Μοιάζει µε οποιαδήποτε άλλη σχέση αλλά είναι το αποτέλεσµα µιας συνένωσης Επιτρέπει στον χρήστη να ορίζει διαφορετικούς τύπουςσυνένωσης (κανονικές θήτα" JOIN, NATURAL JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, CROSS JOIN, κλπ) ιαφάνεια 8-52

53 ΣχέσειςΣυνένωσηςστην in SQL2(συν.) Παραδείγµατα: Ε8:SELECT FROM WHERE E.ΟΝΟΜΑ, E.ΕΠΙΘΕΤΟ, S.ΟΝΟΜΑ, S.ΕΠΙΘΕΤΟ ΕΡΓΑΖΟΜΕΝΟΣ E S E.ΠΡΟΙΣΤΑΜΕΝΟΣ=S.ΑΡ_ΤΑΥΤ Μπορεί να γραφτεί: Ε8:SELECT FROM E.ΟΝΟΜΑ, E.ΕΠΙΘΕΤΟ, S.ΟΝΟΜΑ, S.ΕΠΙΘΕΤΟ (ΕΓΑΖΟΜΕΝΟΣ E LEFT OUTER JOIN ΕΡΓΑΖΟΜΕΝΟΣ ON E.ΠΡΟΙΣΤΑΜΕΝΟΣ=S.ΑΡ_ΤΑΥΤ) ιαφάνεια 8-53

54 ΣχέσειςΣυνένωσηςστην in SQL2(συν.) Παραδειγµατα: Ε1: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, ΙΕΥΘΥΝΣΗ FROM ΕΡΓΑΖΟΜΕΝΟΣ, ΤΜΗΜΑ WHERE Τ_ΟΝΟΜΑ='Research' AND ΚΩ _ΤΜΗΜ=ΑΡΙΘ_Τ Μπορεί να γραφεί ως: Ε1:SELECT FNAME, LNAME, A ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, ΙΕΥΘΥΝΣΗ FROM (ΕΡΓΑΖΟΜΕΝΟΣ JOIN ΤΜΗΜΑ ON ΚΩ _ΤΜΗΜ=ΑΡΙΘ_Τ) WHERE Τ_ΟΝΟΜΑ='Research ήσαν: Ε1: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, ΙΕΥΘΥΝΣΗ FROM (ΕΡΓΑΖΟΜΕΝΟΣ NATURAL JOIN ΤΜΗΜΑ AS ΤΜΗΜ(Τ_ΟΝΟΜΑ, ΑΡΙΘ_Τ, ΙΕΥΘ, ΗΜΕΡ_ΕΝΑΡ) WHERE Τ_ΟΝΟΜΑ='Research ιαφάνεια 8-54

55 ΣχέσειςΣυνένωσηςστην in SQL2(συν.) Άλλο παράδειγµα: Η Ε2 θα µπορούσε να γραφεί σαν εδώ έχουµε πολλαπλή συνένωση πινάκων Ε2: SELECT ΚΩ _ΕΡΓΟΥ, Κ_ΤΜΗΜΑ, ΕΠΙΘΕΤΟ, ΗΜ_ΓΕΝ, ΙΕΥΘΥΝΣΗ FROM (ΕΡΓΟ JOIN ΤΜΗΜΑ ON Κ_ΤΜΗΜΑ=ΚΩ _ΤΜΗΜ) JOIN ΕΡΓΑΖΟΜΕΝΟΣ ON ΙΕΥΘΥΝΤΗΣ=ΑΡ_ΑΤΑΥΤ) ) WHERE ΤΟΠ_ΕΡΓΟΥ='Stafford ιαφάνεια 8-55

56 ΣΥΝΑΘΡΟΙΣΤΙΚΕΣΣΥΝΑΡΤΗΣΕΙΣ Είναιοι COUNT, SUM, MAX, MIN, και AVG Ερώτηση 15: Να βρεθεί ο µέγιστος µισθός, ο ελάχιστος µισθός, και ο µέσος µισθός των εργαζοµένων. Ε15: SELECT MAX(ΜΙΣΘΟΣ), MIN(ΜΙΣΘΟΣ), AVG(ΜΙΣΘΟΣ) FROM ΕΡΓΑΖΟΜΕΝΟΣ Μερικές υλοποιήσεις της SQL µπορεί να µην επιτρέπουνπερισσότερεςαπόµιασυναρτήσεις in στην SELECT-πρόταση ιαφάνεια 8-56

57 ΣΥΝΑΘΡΟΙΣΤΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ(συν.) Ερώτηση 16: Να βρεθεί ο µέγιστος µισθός, ο ελάχιστος µισθός, και ο µέσος µισθός των εργαζοµένων που εργάζονται στο τµήµα 'Research'. Ε16: SELECT MAX(ΜΙΣΘΟΣ), MIN(ΜΙΣΘΟΣ), AVG(ΜΙΣΘΟΣ) FROM EMPLOYEE, DEPARTMENT WHERE ΑΡΙΘ_Τ=ΚΩ _ΤΜΗΜ AND Τ_ΟΝΟΜΑ='Research' ιαφάνεια 8-57

58 ΣΥΝΑΘΡΟΙΣΤΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ(συν.) Ερωτήσεις 17 και 18: Nα βρεθεί ο συνολικός αριθµός των εργαζοµένων στην εταιρεία (E21) και ο αριθµός των εργαζοµένων στο τµήµα Research (E22). Ε17: SELECT COUNT (*) FROM ΕΡΓΑΖΟΜΕΝΟΣ Ε18: SELECT COUNT (*) FROM ΕΡΓΑΖΟΜΕΝΟΣ, ΤΜΗΜΑ WHERE ΑΡΙΘ_Τ=ΚΩ _ΤΜΗΜ AND Τ_ΟΝΟΜΑ='Research ιαφάνεια 8-58

59 ΟΜΑ ΟΠΟΙΗΣΗ Σε πολλές περιπτώσεις, θέλουµε να εφαρµόσουµε τις συναθροιστικές συναρτήσεις σε υποοµάδες πλειάδων µια σχέση Κάθε υποοµάδα πλειάδων αποτελείται από το σύνολο τωνπλειάδωνπουέχουντηνίδιατιµήγιαταγνωρίσµατα οµαδοποίησης Η συνάρτηση εφαρµόζεται ανεξάρτητα σε κάθε υποοµάδα Η SQL έχει την πρόταση GROUP BY- για προσδιορισµό των γνωρισµάτων της οµάδας που πρέπει να εµφανισθούν και στην πρόταση SELECT. ιαφάνεια 8-59

60 ΟΜΑ ΟΠΟΙΗΣΗ (συν.) Ερώτηση 20: Για κάθε τµήµα να βρεθεί ο κωδικός του τµήµατος, το πλήθος των εργαζοµένων στο τµήµα και ο µέσος µισθός τους Ε20: SELECT ΑΡΙΘ_Τ, COUNT (*), AVG (ΜΙΣΘΟΣ) FROM ΕΡΓΑΖΟΜΕΝΟΣ GROUP BY ΑΡΙΘ_Τ Στην Ε20, οι πλειάδες της ΕΡΓΑΖΟΜΕΝΟΣ χωρίζονται σε οµάδες Κάθε οµάδα έχει την ίδια τιµή για το γνώρισµα οµαδοποίησης ΑΡΙΘ_Τ Οι συναρτήσεις COUNT και AVG εφαρµόζονται σε κάθε οµάδα πλειάδων ξεχωριστά Η πρόταση SELECT- περιλαµβάνει µόνο το γνώρισµα οµαδοποίησης και τις συναρτήσεις που θα εφαρµοσθούν σε κάθε οµάδα πλειάδων. Σε συνδυασµό µε την οµαδοποίηση µπορεί να χρησιµοποιηθεί µια συνθήκη συνένωσης ιαφάνεια 8-60

61 ΟΜΑ ΟΠΟΙΗΣΗ (συν.) Ερώτηση 21: Για κάθε έργο να ανακτηθεί ο κωδικός του έργου, το όνοµά του, καθώς και το πλήθος των εργαζοµένων που απασχολούνται στο έργο αυτό. Ε21: SELECT ΚΩ _ΕΡΓΟΥ, Ε_ΝΟΜΑ, COUNT (*) FROM ΕΡΓΟ, ΑΠΑΣΧΟΛΗΣΗ WHERE ΚΩ _ΕΡΓΟΥ=Κ_ΕΡΓΟ GROUP BY ΚΩ _ΕΡΓΟΥ, Ε_ΟΝΟΜΑ Στην περίπτωση αυτή, η οµαδοποίηση και οι συναρτήσεις εφαρµόζονται µετά την συνένωση των δύο σχέσεων ιαφάνεια 8-61

62 ΗΠΡΟΤΑΣΗ HAVING Μερικές φορές θέλουµε να ανακτήσουµε τις τιµές αυτών των συναρτήσεων µόνο για εκείνες τις οµάδες που ικανοποιούν κάποιες συνθήκες Χρησιµοποιείται η πρόταση HAVING- για τον προσδιορισµό µιας συνθήκης επιλογής στις οµάδες (αντί στις πλειάδες ατοµικά) ιαφάνεια 8-62

63 ΗΠΡΟΤΑΣΗ HAVING (συν.) Ερώτηση 22: Γιακάθεέργοστοοποίο απασχολούνται περισσότεροι από δύο εργαζόµενοι, ναανακτηθείοκωδικόςτουέργου, τοόνοµάτουκαιτοπλήθοςτωνεργαζοµένων που απασχολούνται σε αυτό. Ε22: SELECT ΚΩ _ΕΡΓΟΥ, Ε_ΟΝΟΜΑ, COUNT(*) FROM ΕΡΓΟ, ΑΠΑΣΧΟΛΗΣΗ WHERE ΚΩ _ΕΡΓΟΥ=Κ_ΕΡΓΟ GROUP BYΚΩ _ΕΡΓΟΥ, Ε_ΟΝΟΜΑ HAVING COUNT (*) > 2 ιαφάνεια 8-63

64 ΠΡΟΣΟΧΗ:Ναξεχωρίζετετιςσυνθήκεςότανέχετεµιαστην SELECT και µια στην HAVING Για κάθε τµήµα µε περισσότερους από πέντε εργαζόµενους, να ανακτηθεί το όνοµα του τµήµατος καθώς και το πλήθος των εργαζοµένων που κερδίζουν πάνω από SELECT T_ONOMA, COUNT (*) FROM WHERE GROUP BY TMHMA, EPΓAZOMENOΣ KΩ _TMHM=APIΘ_T AND MIΣΘOΣ>40000 T_ONOMA HAVING COUNT (*) > 5; ΑΥΤΉ ΕΊΝΑΙ ΛΑΘΟΣ ΓΙΑΤΙ? ιαφάνεια 8-64

65 Μια σωστή SELECT T_ONOMA, COUNT(*) FROM TMHMA, EPΓAZOMENOΣ WHERE KΩ _TMHM=APIΘ_T AND MIΣΘOΣ>40000 AND APIΘ_T IN (SELECT APIΘ_T FROM EPΓAZOMENOΣ GROUP BY APIΘ_T HAVING COUNT (*) > 5) GROUP BY ΚΩ _ΤΜΗΜ; ιαφάνεια 8-65

66 ΣΥΓΚΡΙΣΕΙΣΣΥΜΒΟΛΟΣΕΙΡΩΝ Ο τελεστής σύγκρισης LIKE χρησιµοποιείται για µερική σύγκριση συνόλων Χρησιµοποιούνταιδύοδεσµευµένοιχαρακτήρες: το '%' (ήτο '*' σεµερικέςυλοποιήσεις) αντικαθιστά ένα αυθαίρετο πλήθος από χαρακτήρες και το '_' αντικαθιστά ένα χαρακτήρα ιαφάνεια 8-66

67 ΣΥΓΚΡΙΣΕΙΣ ΣΥΜΒΟΛΟΣΕΙΡΩΝ(συν.) Ερώτηση 25: Να ανακτηθούν όλοι οι εργαζόµενοι µε διεύθυνση στο Houston, Texas. Εδώ, η τιµή του γνωρίσµατος ΙΕΥΘΥΝΣΗ πρέπει να περιέχει την συµβολοσειρά 'Houston,TX. Ε25: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE ΙΕΥΘΥΝΣΗ LIKE '%Houston,TX%' ιαφάνεια 8-67

68 ΣΥΓΚΡΙΣΕΙΣ ΣΥΜΒΟΛΟΣΕΙΡΩΝ(συν.) Ερώτηση 26: Nα βρεθούν όλοι οι εργαζόµενοι που γεννήθηκαν την δεκαετία του 50. Εδώ,το '5' πρέπει να είναι ο όγδοος χαρακτήρας της συµβολοσειράς (σύµφωναµετηνµορφήτηςηµεροµηνίας), ώστεητιµήημ_γενείναι ' 5_', µετην υπογράµµιση σαν θέση αυθαίρετα ενός χαρακτήρα. Ε26: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE ΗΜ_ΓΕΝ LIKE' 5_ Ο τελεστής LIKE µας επιτρέπει να ξεπερνάµε το γεγονός ότι κάθε τιµή θεωρείτε ατοµική και µη διαχωρίσιµη Εποµένως, στην SQL, οι τιµές των γνωρισµάτων συµβολοσειρών δεν είναι ατοµικές ιαφάνεια 8-68

69 ΑΡΙΘΜΗΤΙΚΟΙΤΕΛΕΣΤΕΣ Στις αριθµητικές τιµές του αποτελέσµατος µιας SQL ερώτησης µπορούν να εφαρµοσθούν οι τυπικοί αριθµητικοίτελεστές '+', '-'. '*', and '/' (πρόσθεση, αφαίρεση, πολλαπλασιασµό, καιδιαίρεση, αντίστοιχα) Ερώτηση 27: Nα βρεθούν οι µισθοί που προκύπτουν αν δοθεί αύξηση 10% σε κάθε εργαζόµενο που απασχολείται στο έργο ProductX. Ε27: SELECT ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, 1.1*ΜΙΣΘΟΣ FROM ΕΡΓΑΖΟΜΕΝΟΣ, ΑΠΑΣΧΟΛΗΣΗ, ΕΡΓΟ WHERE ΑΡ_ΤΑΥΤ=Ε_ΑΡΤΑΥΤ AND Κ_ΕΡΓΟ=ΚΩ _ΕΡΓΟΥ AND Ε_ΟΝΟΜΑ='ProductX ιαφάνεια 8-69

70 ORDER BY Η πρόταση ORDER BY χρησιµοποιείται για ταξινόµηση των πλειάδων του αποτελέσµατος µιας ερώτησης µε βάση τις τιµές κάποιων γνωρισµάτων Ερώτηση 28: Nα κατασκευαστεί µια λίστα εργαζοµένων και έργων στα οποία απασχολούνται κατά διάταξη τµήµατος, και σε κάθε τµήµα αλφαβητικά ως προς το επίθετοκαιτοόνοµα. Ε28: SELECT Τ_ΟΝΟΜΑ, ΕΠΙΘΕΤΟ,ΟΝΟΜΑ, FROM WHERE ORDER BY Ε_ΟΝΟΜΑ ΤΜΗΜΑ, ΕΡΓΑΖΟΜΕΝΟΣ, ΑΠΑΣΧΟΛΗΣΗ, ΕΡΓΟ ΚΩ _ΤΜΗΜ=ΑΡΙΘ_Τ AND ΑΡ_ΤΑΥΤ=Ε_ΑΡΤΑΥΤ AND Κ_ΕΡΓΟ=ΚΩ _ΕΡΓΟΥ Τ_ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, ΟΝΟΜΑ ιαφάνεια 8-70

71 ORDER BY (συν.) Η προκαθορισµένη διάταξη είναι αύξουσα σειρά τιµών Αν θέλουµε φθίνουσα σειρά µπορούµε να χρησιµοποιήσουµε τη λέξη κλειδί DESC για να ορισθεί ρητά αύξουσα σειρά µπορούµε να χρησιµοποιήσουµε τη λέξη κλειδί ASC αν και είναι η προκαθορισµένη ιαφάνεια 8-71

72 Περίληψητων SQL Ερωτήσεων Μια ερώτηση στην SQL µπορεί να αποτελείται από µέχρι 6 προτάσεις, αλλάµόνοοιδύοπρώτες, SELECT και FROM, ε ναιυποχρεωτικές. Οιπροτάσεις προσδιορίζονται µε την παρακάτω σειρά: SELECT FROM [WHERE [GROUP BY [HAVING [ORDER BY <λίστα γνωρισµάτων> <λίστα πινάκων> <συνθήκη>] <γνώρισµα(τα)οµαδοποίησης>] <συνθήκη οµάδας>] <λίσταγνωρισµάτων>] ιαφάνεια 8-72

73 Περίληψη των SQL Ερωτήσεων(συν.) Η πρόταση SELECT- παραθέτει τα γνωρίσµατα ή τις συναρτήσεις που θα ανακτηθούν Η πρόταση FROM- καθορίζει όλες τις σχέσεις (ή τα ψευδώνυµα) που απαιτούνται στην ερώτηση αλλά όχι όσες απαιτούνται στις εµφωλευµένες ερωτήσεις Η πρόταση WHERE-καθορίζει τις συνθήκες για την επιλογή και την συνένωση πλειάδων από σχέσεις που καθορίζονται στην πρόταση FROM GROUP BY καθορίζειγνωρίσµαταοµαδοποίησης HAVING καθορίζει την συνθήκη επιλογής των οµάδων ORDER BY καθορίζει την διάταξη παρουσίασης του αποτελέσµατος Μια ερώτηση υπολογίζεται µε πρώτα εφαρµογή της πρότασης WHERE-, στη συνέχεια η GROUP BY και η HAVING, και τέλος η πρόταση SELECT ιαφάνεια 8-73

74 Ενηµερώσειςστην SQL Υπάρχουν τρεις SQL εντολές για τροποποίηση τηςβάσηςδεδοµένων: INSERT, DELETE, και UPDATE ιαφάνεια 8-74

75 INSERT Στην απλούστερη µορφή της, χρησιµοποιείται για εισαγωγή πλειάδων σε µια σχέση Οιτιµέςτωνγνωρισµάτωνπρέπειναδοθούνµε την ίδια σειρά που ορίσθηκαν στην εντολή CREATE TABLE ιαφάνεια 8-75

76 INSERT (συν.) Παράδειγµα: ΕΝ1: INSERT INTO ΕΡΓΑΖΟΜΕΝΟΣ VALUES ('Richard','K','Marini', ' ', '30-DEC-52', '98 Oak Forest,Katy,TX', 'M', 37000,' ', 4 ) Μια εναλλακτική µορφή της INSERT ορίζει ρητά τα ονόµατα των γνωρισµάτων που αντιστοιχούν στις τιµές στη νέα πλειάδα Μπορούν να παραληφθούν γνωρίσµατα µε τιµή NULL Παράδειγµα: Εισαγωγή µιας νέας πλειάδα στη σχέση ΕΡΓΑΖΟΜΕΝΟΣπουξέρουµεµόνοταγνωρίσµαταΟΝΟΜΑ, ΕΠΙΘΕΤΟ, και ΑΡ_ΤΑΥΤ attributes. ΕΝ1A: INSERT INTO ΕΓΑΖΟΜΕΝΟΣ (ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, ΑΡ_ΤΑΥΤ) VALUES ('Richard', 'Marini', ' ') ιαφάνεια 8-76

77 INSERT (συν.) Σηµείωση: Κατά την ενεηµέρωση, επιβάλλονται αυτόµατα, από το Σ Β, µόνο οι περιορισµοί που προσδιορίζονται στις εντολές της ΓΟ Μια άλλη παραλλαγή της INSERT επιτρέπει εισαγωγή πολλών πλειάδων που προκύπτουν απόµιαερώτησησεµιασχέση ιαφάνεια 8-77

78 INSERT (συν.) Παράδειγµα: Έστω ότι θέλουµε να δηµιουργήσουµε ένα προσωρινό πίνακα που έχει το όνοµα, το πλήθος των εργαζοµένων, και τη συνολική µισθοδοσία για κάθε τµήµα. ηµιουργείται ένας πίνακας ΠΛΗΡ_ΤΜΗΜΑ από την ΕΝ3A, και φορτώνεται µε τις πληροφορίες που ανακτώνται από τη βάση δεδοµένων από την ερώτηση ΕΝ3B. ΕΝ3A: CREATE TABLE ΠΛΗΡ_ΤΜΗΜΑ (ΤΜ_ΟΝΟΜΑ VARCHAR(10), ΠΛΗΘΟΣ_ΕΡΓ INTEGER, ΟΛΙΚΟΣ_ΜΙΣΘ INTEGER); ΕΝ3B: INSERT INTO ΠΛΗΡ_ΤΜΗΜΑ (ΤΜ_ΟΝΟΜΑ, ΠΛΗΘΟΣ_ΕΡΓ, ΟΛΙΚΟΣ_ΜΙΣΘ) SELECT Τ_ΟΝΟΜΑ, COUNT (*), SUM (ΜΙΣΘΟΣ) FROM ΤΜΗΜΑ, ΕΡΓΑΖΟΜΕΝΟΣ WHERE ΚΩ _ΤΜΗΜ=ΑΡΙΘ_Τ GROUP BY Τ_ΟΝΟΜΑ ; ιαφάνεια 8-78

79 INSERT (συν.) Σηµείωση: Ο πίνακας ΠΛΗΡ_ΤΜΗΜΑ µπορεί να µην είναι ενηµερωµένος αν αλλάξουµε τις πλειάδεςείτεστησχέσητμημαήστην ΕΡΓΑΖΟΜΕΝΟΣµετά εκτέλεσητηςεν3b. Πρέπει να δηµιουργήσουµε µια νέα όψη (θα ορισθεί παρακάτω) για να είναι ένας τέτοιος πίνακας ενηµερωµένος ιαφάνεια 8-79

80 DELETE ιαγράφει πλειάδες από µια σχέση Έχει µια πρόταση WHERE- για επιλογή των πλειάδων που θα διαγραφούν Πρέπει να επιβληθεί η αναφορική ακεραιότητα Οι πλειάδες διαγράφονται µόνο από ένα πίνακα τη φορά (εκτός αν έχει ορισθεί αναφορικός περιορισµός ακεραιότητας CASCADE) Έλλειψη της πρότασης WHERE- ορίζει ότι όλες οι πλειάδες της σχέσης θα διαγραφούν ο πίνακας που προκύπτει είναι κενός Το πλήθος των πλειάδων που διαγράφονται εξαρτάται από το πλήθος των πλειάδων της σχέσης που ικανοποιούν την πρόταση WHERE ιαφάνεια 8-80

81 DELETE (συν.) Παραδείγµατα: ΕΝ4A: DELETE FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE ΕΠΙΘΕΤΟ='Brown ΕΝ4B: DELETE FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE ΑΡ_ΤΑΥΤ=' ΕΝ4C: DELETE FROM ΕΡΓΑΖΟΜΕΝΟΣ WHERE ΑΡΙΘ_Τ IN (SELECT ΚΩ _ΤΜΗΜ FROM ΤΜΗΜΑ WHERE Τ_ΟΝΟΜΑ='Research') ΕΝ4D: DELETE FROM ΕΡΓΑΖΟΜΕΝΟΣ ιαφάνεια 8-81

82 UPDATE Χρησιµοποιείται για τροποποίηση τιµών γνωρισµάτων µιας ή περισσότερων πλειάδων Μια πρόταση WHERE επιλέγει τις πλειάδες που θα τροποποιηθούν Μια επιπλέον πρόταση SET καθορίζει τα γνωρίσµατα που θα τροποποιηθούν και τις νέες τιµές τους Κάθε εντολή τροποποιεί πλειάδες στην ίδια σχέση Πρέπει να επιβληθούν οι αναφορικοί περιορισµοί ακεραιότητας ιαφάνεια 8-82

83 UPDATE (συν.) Παράδειγµα: Να αλλάξει η τοποθεσία και το τµήµαπουελέγχειτοέργο 10 σε Bellaire και 5 αντίστοιχα. ΕΝ5: UPDATE ΕΡΓΟ SET ΤΟΠ_ΕΡΓΟΥN = 'Bellaire', Κ_ΤΜΗΜΑ = 5 WHERE ΚΩ _ΕΡΓΟΥ=10 ιαφάνεια 8-83

84 UPDATE (συν.) Παράδειγµα: Να πάρουν αύξηση στο µισθό 10% όλοι οι εργαζόµενοι στο τµήµα 'Research'. ΕΝ6:UPDATE ΕΡΓΑΖΟΜΕΝΟΣ SET ΜΙΣΘΟΣ = ΜΙΣΘΟΣ *1.1 WHERE ΑΡΙΘ_Τ IN (SELECT ΚΩ _ΤΜΗΜ FROM ΤΜΗΜΑ WHERE Τ_ΟΝΟΜΑ='Research') Σε αυτήν, η τροποποιηµένη τιµή ΜΙΣΘΟΣ εξαρτάται από την αρχική τιµή ΜΙΣΘΟΣ σε κάθε πλειάδα Η αναφορά στο γνώρισµα ΜΙΣΘΟΣ δεξιά του = αφορά την παλαιά τιµή ΜΙΣΘΟΣ πριν την τροποποίηση Η αναφορά στο γνώρισµα ΜΙΣΘΟΣ αριστερά του = αφορά την νέα τιµή ΜΙΣΘΟΣ µετά την τροποποίηση ιαφάνεια 8-84

85 Σύνοψητων SQL Ερωτήσεων Μια ερώτηση στην SQL µπορεί να αποτελείται από µέχρι 6 προτάσεις, αλλάµόνοοιδύοπρώτες, SELECT και FROM, είναιυποχρεωτικές. Οιπροτάσεις προσδιορίζονται µε την παρακάτω σειρά : SELECT <λίστα γνωρισµάτων> FROM <λίστα πινάκων> [WHERE <συνθήκη>] [GROUP BY <γνώρισµα(τα) οµαδοποίησης>] [HAVING <συνθήκη οµάδας>] [ORDER BY <λίσταγνωρισµάτων>] Υπάρχουν τρεις SQL εντολές για τροποποίηση βάσεων δεδοµένων: INSERT, DELETE, και UPDATE ιαφάνεια 8-85

Κεφάλαιο 8. SQL-99: Ορισμός Σχήματος, Περιορισμοί, και Επερωτήσεις και Όψεις

Κεφάλαιο 8. SQL-99: Ορισμός Σχήματος, Περιορισμοί, και Επερωτήσεις και Όψεις Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση, Δίαυλος Διαφάνεια 8-1 Κεφάλαιο 8 SQL-99: Ορισμός Σχήματος, Περιορισμοί, και Επερωτήσεις και Όψεις Copyright 2007 Ramez Elmasri and

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 5: SQL

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 5: SQL Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 5: SQL Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων & Λογισμικού, Ινστιτούτο

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

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

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

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

Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL

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

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

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

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

Περιεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL)

Περιεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL) Περιεχόμενα Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL Παύλος Εφραιμίδης Προχωρημένα Ερωτήματα SQL Συνένωση Συναθροιστικές Συναρτήσεις Ομαδοποίηση Βάσεις Δεδομένων SQL - Μέρος Τρίτο 1 Βάσεις Δεδομένων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων Σύνθετα SQL queries. Ψευδώνυμα (Aliases) (2) Ψευδώνυμα (Aliases) (1) Ασάφεια και Πλήρη Ονόματα. Ερώτημα χωρίς τον όρο WHERE (1)

Βάσεις Δεδομένων Σύνθετα SQL queries. Ψευδώνυμα (Aliases) (2) Ψευδώνυμα (Aliases) (1) Ασάφεια και Πλήρη Ονόματα. Ερώτημα χωρίς τον όρο WHERE (1) Ασάφεια και Πλήρη Ονόματα Βάσεις Δεδομένων Σύνθετα SQL queries Παύλος Εφραιμίδης Βάσεις Δεδομένων SQL - Μέρος Δεύτερο 1 Ονόματα Πεδίων: Στην SQL, τα ονόματα των πεδίων (γνωρισμάτων) σε κάθε σχέση είναι

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

Βάσεις Δεδομένων Σύνθετα SQL queries

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις εδοµένων 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?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης

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

Βάσεις εδοµένων. Συνολοθεωρητικές Πράξεις. Ειδικές Πράξεις. Εκφράσεις. Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων. Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός

Βάσεις εδοµένων. Συνολοθεωρητικές Πράξεις. Ειδικές Πράξεις. Εκφράσεις. Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων. Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων Βάσεις εδοµένων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Παύλος Εφραιµίδης pefraimi at ee.duth.gr Στο µάθηµα θα πούµε για Σχεσιακή Άλγεβρα Βάσεις εδοµένων Σχεσιακή

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

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

Βάσεις δεδομένων. (5 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (5 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Συνέχεια στη Σχεσιακή άλγεβρα Μετονομασία Καρτεσιανό γινόμενο Συνένωση Θήτα Ισότητας Φυσική 26/3/2015 Βάσεις Δεδομένων 2 (Συνέχεια)

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

#5. Σχεσιακό Μοντέλο

#5. Σχεσιακό Μοντέλο 22Γ901 Βάσεις Δεδομένων και Γνώσεων 9ο Εξάμηνο Κύκλου Σπουδών ΗΥ και Μεταπτυχιακός Κύκλος Σπουδών Διδάσκων: Ν. Αβούρης Β μέρος Διαφανειών μαθήματος (2005-2006) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η Γλώσσα 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 4: Σχεσιακός Λογισμός

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 4: Σχεσιακός Λογισμός Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 4: Σχεσιακός Λογισμός Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων & Λογισμικού,

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

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

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

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

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

Βάσεις δεδομένων. (3 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (3 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Σχεσιακό μοντέλο δεδομένων Σχέσεις, γνωρίσματα, πλειάδες, πεδία ορισμού Πράξεις ενημέρωσης σε σχέσεις Απεικόνιση μοντέλου οντοτήτωνσυσχετίσεων

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

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

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

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

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

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

Η αναλυτική περιγραφή της γλώσσας SQL αποτελεί αντικείµενο των σελίδων που ακολουθούν. Η ΓΛΩΣΣΑ ΟΡΙΣΜΟΥ Ε ΟΜΕΝΩΝ

Η αναλυτική περιγραφή της γλώσσας SQL αποτελεί αντικείµενο των σελίδων που ακολουθούν. Η ΓΛΩΣΣΑ ΟΡΙΣΜΟΥ Ε ΟΜΕΝΩΝ Κεφάλαιο 6 SQL Στο κεφάλαιο αυτό παρουσιάζεται η δοµηµένη γλώσσα ερωτοαποκρίσεων (Structured Query Language, SQL) που χρησιµοποιείται για τη διαχείριση των δεδοµένων της βάσης. Η διαχείριση αυτή περιλαµβάνει

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

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

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (4 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Επέκταση του μοντέλου ΟΣ Κληρονομικότητα Εξειδίκευση/Γενίκευση Περιορισμοί Ιεραρχίες και πλέγματα Συνάθροιση Συνέχεια στο σχεσιακό

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

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

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

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

Query-by-Example (QBE)

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

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

Lecture 14: SQL DML I

Lecture 14: SQL DML I Department of Computer Science University of Cyprus EPL342 Databases Lecture 14: SQL DML I SQL Structured Query Language (Chapter 8.4, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

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

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Εισαγωγή στην SQL DML SELECT, FROM, WHERE,

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

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

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

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

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

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

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

Βάσεις Δεδομένων 2. Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων. Ημερ: 27/5/2008 Ακ.Έτος

Βάσεις Δεδομένων 2. Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων. Ημερ: 27/5/2008 Ακ.Έτος Βάσεις Δεδομένων 2 Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων Ημερ: 27/5/2008 Ακ.Έτος 2007-08 Υλοποίηση σχεσιακών πράξεων ΤΑΞΙΝΟΜΗΣΗ Εξωτερική ταξινόμηση για μεγάλα αρχεία, αποθηκευμένα

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

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

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

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πράξεις στο Σχεσιακό Μοντέλο

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

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

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

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

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

DELETE, UPDATE, INSERT.

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

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

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

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

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

Lecture 16: SQL DML III

Lecture 16: SQL DML III Department of Computer Science University of Cyprus EPL342 Databases Lecture 16: SQL DML III SQL Structured Query Language (Chapter 8.5.5-8.6, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

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

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

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

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

DELETE, UPDATE, INSERT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Περιορισμοί Σχεσιακού Μοντέλου και Σχεσιακά Σχήματα Πράξεις Ενημερώσεων

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

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

Βάσεις δεδομένων. (6 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (6 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr (Συνέχεια) ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ 3/4/2014 2 Περιεχόμενα Συνέχεια στη Σχεσιακή άλγεβρα Συνένωση Θήτα Ισότητας Φυσική Διαίρεση Σύνθετες λειτουργίες

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

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

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

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης

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

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

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

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

Certified Data Base Designer (CDBD)

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

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

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

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

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

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

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

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

SQL Data Manipulation Language

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

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

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

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

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

Υποερωτήματα SQL Παραδείγματα και εφαρμογές από τη βάση δεδομένων company Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 55 Περιεχόμενα 1 Απλά υποερωτήματα

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

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

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 Πράξεις Αλλαγής εδοµένων INSERT (εισαγωγή) Αυτός ο τελεστής παρέχει µια λίστα από πεδία τιµών για µια καινούργια πλειάδα η οποία θα εισαχθεί σε µια σχέση R

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

Εισαγωγή Mια από τις βασικές λειτουργίες ενός σχεσιακού συστήµατος διαχείρισης βάσεων δεδοµένων είναι η διαχείριση του πληροφοριακού περιεχοµένου που

Εισαγωγή Mια από τις βασικές λειτουργίες ενός σχεσιακού συστήµατος διαχείρισης βάσεων δεδοµένων είναι η διαχείριση του πληροφοριακού περιεχοµένου που ΤΕΙ ΑΘΗΝΩΝ ΣΧΟΛΗ Σ Ο ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2009-2010 Η/Υ ΙΙΙ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ (Θεωρία) ΜΑΘΗΜΑ 4ο Η γλώσσα βάσεων δεδοµένων SQL, η γλώσσα QBE. Αθανασίου Ειρήνη, MSc 1 Εισαγωγή Mια

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

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός 7 Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα H Σχεσιακή Άλγεβρα (relational algebra) ορίζει ένα σύνολο πράξεων που εφαρμόζονται σε μία ή περισσότερες σχέσεις

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Εργαστήριο ΙV. Τμήμα Πληροφορικής ΑΠΘ 2014-2015

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

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

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

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

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