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

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

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

Transcript

1 Διάλεξη 14: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) II Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Συνενώσεις με Καρτεσιανό Γινόμενο και JOIN Συναθροιστικές Συναρτήσεις Ομαδοποίηση(GROUP BY, HAVING) Διδάσκων: Παναγιώτης Ανδρέου EPL342: Databases Panayiotis Andreou

2 Καρτεσιανό Γινόμενο και Συνενώσεις σε SQL Παράδειγμα με δύο ή περισσότερους πίνακες: Αναφορά με Ταυτότητα, Όνομα Υπαλλήλου και όνομα τμήματος του υπαλλήλου Οι πίνακες (σχέσεις) συνενώνονται βάση των ξένων κλειδιών D: DEPARTMENT DNO DNAME E: EMPLOYEE E: EMPLOYEE SSN ENAME DOB GENDER DNO SSN ENAME DOB GENDER DNUMBER Σχεσιακή Άλγεβρα: π SSN,ENAME,DNAME σ E.DNO=D.DNO (EMPLOYEE x DEPARMENT) π SSN,ENAME,DNAME (EMPLOYEE E.DNO=D.DNO DEPARMENT) π SSN,ENAME,DNAME (EMPLOYEE *DEPARMENT) EPL342: Databases Panayiotis Andreou

3 Καρτεσιανό Γινόμενο και Συνενώσεις σε SQL Οι συνενώσεις σε SQL μπορούν να γίνουν με τους τελεστές: Καρτεσιανό Γινόμενο και JOIN Το αποτέλεσμα είναι μία καινούρια όψη η οποία συμπεριλαμβάνει όλα τα γνωρίσματα των σχέσεων Καρτεσιανό Γινόμενο,/CROSS JOIN: ΣΑ: SQL: Συνένωση JOIN: ΣΑ: SQL: π SSN,ENAME,DNAME σ E.DNO=D.DNO (EMPLOYEE x DEPARMENT) SELECT SSN,ENAME,DNAME FROM EMPLOYEE, DEPARMENT ( ή EMPLOYEE CROSS JOIN DEPARMENT) WHERE EMPLOYEE.DNO=DEPARTMENT.DNO π SSN,ENAME,DNAME (EMPLOYEE E.DNO=D.DNO DEPARMENT) SELECT SSN,ENAME,DNAME FROM EMPLOYEE JOIN DEPARMENT ( ή EMPLOYEE INNER JOIN DEPARMENT) ON EMPLOYEE.DNO=DEPARTMENT.DNO EPL342: Databases Panayiotis Andreou

4 Αντιστοίχηση Σχεσιακής Άλγεβρας με SQL DML A R B a 1 b 2 c 4 S B C 1 x 2 y 3 z R.. S A B C a 1 x b 2 y Συνένωση Θ/ Θ Join ( ) SELECT R.A, R.B, S.C FROM R JOIN S ON θ θ: R.B=S.B SELECT R.A, R.B, S.C FROM R, S (CROSS JOIN) SELECT A,B,C FROM R * S SELECT R.A, R.B FROM R JOIN S ON θ? FROM R LEFT JOIN S ON θ SELECT R.A, R.B, S.C FROM R FULL OUTER JOIN S ON θ EPL342: Databases Panayiotis Andreou

5 Διφορούμενα Ονόματα Γνωρισμάτων Στις συνενώσεις, υπάρχει μεγάλη πιθανότητα κάποια ονόματα μεταξύ διαφορετικών σχέσεων να είναι όμοια (Διφορούμενα Ονόματα Γνωρισμάτων) Π.χ., Employee(ssn, name), Department(dno, name), Project(pid, name) Για να αντιμετωπίσουμε αυτό το πρόβλημα, μπορούμε: Να αναφερόμαστε με το όνομα του πίνακα σαν πρόθεμα Π.χ., Employee.name, Department.name, Project.name Να χρησιμοποιούμε μοναδικά ονόματα για όλα τα γνωρίσματα Πρακτικά πολύ δύσκολο όταν υπάρχουν πολλοί πίνακες Να χρησιμοποιούμε συγκεκριμένη ονοματολογία Π.χ., <Όνομα Πίνακα>_<Όνομα Γνωρίσματος> Για παράδειγμα: Department(dno, Department_name), Project(pid, Project_name) Να χρησιμοποιούμε τη μετονομασία (AS) EPL342: Databases Panayiotis Andreou

6 Διφορούμενα Ονόματα Γνωρισμάτων Παράδειγμα μετονομασίας SELECT FROM WHERE E.SSN, E.ENAME, D.DNAME EMPLOYEE [AS] E, DEPARMENT [AS] D E.DNO=D.DNO Όπως αναφέραμε, η μετονομασία είναι ο μόνος τρόπος να αναφερθούμε στον ίδιο πίνακα 2 ή περισσότερες φορές SELECT E.SSN, E.ENAME, S.SSN, S.ENAME FROM EMPLOYEE E, EMPLOYEE S WHERE E.SUPERSSN=S.SSN E: EMPLOYEE SSN ENAME SUPERSSN Ακόμη και εάν δεν υπάρχουν διφορούμενα ονόματα, είναι κάλο να χρησιμοποιείται το AS για πιο ευανάγνωστο κώδικα. Για μετονομασία γνωρισμάτων (όχι σε TSQL) FROM EMPLOYEE AS E(EID, ENAME, EDNO) EPL342: Databases Panayiotis Andreou

7 Παράδειγμα με 3 Πίνακες E: EMPLOYEE SSN ENAME DOB GENDER DNO P: PROJECT PNO PNAME W: WORKS_ON SSN PNO HOURS Καρτεσιανό Γινόμενο SELECT E.SSN, E.ENAME, D.DNAME FROM EMPLOYEE E, WORKS_ON W, PROJECT P WHERE E.SSN=W.SSN AND P.PNO=W.PNO Συνένωση JOIN SELECT E.SSN, E.ENAME, D.DNAME FROM EMPLOYEE E INNER JOIN WORKS_ON W ON E.SSN=W.SSN INNER JOIN PROJECT P ON P.PNO=W.PNO EPL342: Databases Panayiotis Andreou

8 Καρτεσιανό Γινόμενο vs. JOIN Το Καρτεσιανό Γινόμενο με επιλογή (WHERE Θ) είναι ισοδύναμο με το JOIN ON Θ Tο JOIN έχει το πλεονέκτημα ότι δεν περιπλέκει την συνθήκη συνένωσης με την συνθήκη της επερώτησης Π.χ., Αναφορά με υπαλλήλους που δουλεύουν για το Research Department SELECT E.SSN, E.ENAME, D.DNAME FROM EMPLOYEE E, DEPARMENT D WHERE E.DNO=D.DNO AND D.DNAME= Research SELECT SSN,ENAME,DNAME FROM EMPLOYEE E JOIN DEPARMENT D ON E.DNO=D.DNO WHERE D.DNAME= Research EPL342: Databases Panayiotis Andreou

9 Φυσική Συνένωση (NATURAL JOIN) Το ΝΑΤURAL JOIN (σε ANSI SQL, π.χ., υλοποιείται σε PostgreSQL αλλά όχι σε Τ SQL) υλοποιεί την συνένωση με τέτοιο τρόπο ώστε η συνθήκη συνένωσης να είναι τα κοινά γνωρίσματα. Παράδειγμα Φυσικής Συνένωσης NATURAL JOIN: ΣΑ: π SSN,ENAME,DNAME (EMPLOYEE *DEPARMENT) SQL: SELECT SSN,ENAME,DNAME FROM EMPLOYEE NATURAL JOIN DEPARMENT Δεν συμπεριλαμβάνει τα κοινά γνωρίσματα στην όψη Εάν δεν υπάρχει κοινά διατυπωμένο γνώρισμα μπορεί να προηγηθεί μετονομασία: Π.χ., SELECT * FROM EMPLOYEE NATURAL JOIN DEPARMENT AS DEPARMENT(DNUMBER, DNAME) EPL342: Databases Panayiotis Andreou

10 Ημι Συνένωση (SemiJoin) Όμοιο με JOIN αλλά επιστρέφει μόνο τα γνωρίσματα του πρώτου πίνακα Υλοποιείται με το JOIN Παράδειγμα Ημι Συνένωσης (SEMI JOIN): ΣΑ: π SSN,ENAME,DNAME (P P.DID=D.DNO D) SQL: SELECT PID, NAME, DID FROM P JOIN D ON P.DID=D.DNO PERSON (P) PID PNAME DID 1 Andreas 1 2 Kostas 1 3 Maria 1 4 Eleni 2 5 Nikos 2 6 Eleni 3 DEPARTMENT (D) DNO DNAME 1 ACC 2 HR PID PNAME DID 1 Andreas 1 2 Kostas 1 3 Maria 1 4 Eleni 2 5 Nikos 2 EPL342: Databases Panayiotis Andreou

11 Αριστερή/Δεξιά Συνένωση (Left Join) Παρόμοιο με JOIN με τη διαφορά ότι επιστρέφει και τις πλειάδες που δεν ικανοποιούν την συνθήκη συνένωσης από τον πρώτο πίνακα (αριστερό πίνακα) Τα γνωρίσματα πλειάδων που δεν ικανοποιούν την συνθήκη έχουν τιμή null Παράδειγμα Αριστερής Συνένωσης: ΣΑ: π SSN,ENAME,DNAME (P P.DID=D.DNO D) SQL: SELECT PID, NAME, DID FROM P LEFT JOIN D ON P.DID=D.DNO EPL342: Databases Panayiotis Andreou

12 Αριστερή/Δεξιά Συνένωση (Left Join) Η δεξιά συνένωση είναι συμμετρική με την αριστερή P LEFT JOIN D ON P.DID=D.DNO D RIGHT JOIN P ON P.DID=D.DNO Προσοχή στις περιπτώσεις με περισσότερους από 2 πίνακες Η αριστερή συνένωση πρέπει να διαδοθεί ανάλογα Παράδειγμα: Τι θα επιστρέψει το πιο κάτω; SELECT PID, NAME, DID FROM P LEFT JOIN D ON P.DID=D.DNO INNER JOIN D ON D.CID=C.CID LEFT JOIN D ON D.CID=C.CID EPL342: Databases Panayiotis Andreou

13 Ολική Εξωτερική Συνένωση (Full Outer Join) Παρόμοιο με LEFT JOIN με τη διαφορά ότι επιστρέφει και τις πλειάδες που δεν ικανοποιούν την συνθήκη συνένωσης και από τους δύο πίνακες Παράδειγμα Αριστερής Συνένωσης: ΣΑ: π SSN,ENAME,DNAME (P P.DID=D.DNO D) SQL: SELECT PID, NAME, DID FROM P FULL OUTER JOIN D ON P.DID=D.DNO PERSON PID PNAME DID 1 Andreas 1 2 Kostas 1 3 Maria 1 4 Eleni 2 5 Nikos 2 6 Eleni 3 DEPARTMENT DNO DNAME 1 ACC 2 HR 4 IT PID PNAME DID DNO DNAME 1 Andreas 1 1 ACC 2 Kostas 1 1 ACC 3 Maria 1 1 ACC 4 Eleni 2 2 HR 5 Nikos 2 2 HR 6 Eleni 3 null null null null null 4 IT EPL342: Databases Panayiotis Andreou

14 Αντι Συνένωση (AntiJoin) Πως θα εκφράσουμε τον τελεστή AntiJoin της σχεσιακής άλγεβρας σε SQL; Θυμηθείτε ότι R S: Νέα σχέση η οποία συνενώνει τις R και S και περιλαμβάνει μόνο γνωρίσματα που ανήκουν στην R και όλες τις πλειάδες που ΔΕΝ ικανοποιούν την συνθήκη Θ PERSON PID NAME DID 1 Andreas 1 2 Kostas 1 3 Maria 1 4 Eleni 2 5 Nikos 2 6 Eleni 3 DEPARTMENT DNO DNAME 1 ACC 2 HR PERSON_DEPARTMENT PID NAME DID 6 Eleni 3 EPL342: Databases Panayiotis Andreou

15 Συναθροιστικές Συναρτήσεις Παρόμοια με την ΣΑ, η SQL επιτρέπει την χρήση συναθροιστικών συναρτήσεων για την ανάκτηση χρήσιμων στατιστικών Παραδείγματα συναρτήσεων: COUNT, SUM, MAX, MIN, και AVG Μπορούν να δηλωθούν με DISTINCT για να επιστρέψουν τις μοναδικές τιμές Επερώτηση: Βρες τον μέγιστο μισθό από τους υπαλλήλους SELECT MAX(SALARY) FROM EMPLOYEE Επερώτηση: Βρες πόσοι είναι οι υπάλληλοι SELECT COUNT(*) FROM EMPLOYEE Επερώτηση: Βρες τα μοναδικά φύλα από τους υπαλλήλους SELECT COUNT(DISTINCT GENDER) FROM EMPLOYEE EPL342: Databases Panayiotis Andreou

16 Συναθροιστικές Συναρτήσεις Οι συναθροιστικές συναρτήσεις μπορούν να χρησιμοποιηθούν με τις συνενώσεις ή καρτεσιανό E: EMPLOYEE SSN ENAME DOB GENDER DNO SALARY 1 Andreas 1/1/80 M Kostas 1/1/85 M Maria 4/3/83 F Eleni 6/7/85 F D: DEPARTMENT DNO DNAME 1 ACC 2 HR 3 IT 5 Victoria 27/2/84 F Επερώτηση: Βρες τον μέγιστο μισθό από τους υπαλλήλους του τμήματος ACC SELECT MAX(SALARY) AS MSAL FROM Ε JOIN D ON E.DNO=D.DNO WHERE D.DNAME= ACC SELECT MAX(SALARY) FROM Ε, D MSAL WHERE E.DNO=D.DNO AND D.DNAME= ACC 2000 EPL342: Databases Panayiotis Andreou

17 Ομαδοποίηση Η ομαδοποίηση, συνεργάζεται (συνήθως) με συναθροιστικές συναρτήσεις για την παραγωγή στατιστικών ανά υποομάδες Επιτυγχάνεται μέσω της δήλωσης GROUP BY E: EMPLOYEE SSN ENAME DOB GENDER DNO SALARY 1 Andreas 1/1/80 M Kostas 1/1/85 M Maria 4/3/83 F Eleni 6/7/85 F Victoria 27/2/84 F D: DEPARTMENT DNO DNAME 1 ACC 2 HR 3 IT Επερώτηση: Βρες τον μέγιστο μισθό υπαλλήλων για το κάθε τμήμα SELECT D.DNAME, MAX(E.SALARY) AS MSAL DNAME MSAL FROM ΕJOIN D ON E.DNO=D.DNO GROUP BY D.DNAME EPL342: Databases Panayiotis Andreou

18 Επιλογή μετά από Ομαδοποίηση Η δήλωση HAVING, χρησιμοποιείται όταν θέλουμε να επιλέξουμε ένα υποσύνολο ενός ομαδοποιημένου αποτελέσματος βάσει συνθήκης. Π.χ., SELECT D.DNAME, MAX(E.SALARY) AS MSAL FROM ΕJOIN D ON E.DNO=D.DNO DNAME MSAL GROUP BY D.DNAME HAVING MAX(E.SALARY) > Το HAVING έχει αντίστοιχη λειτουργία με το WHERE, μόνο που η συνθήκη επιλογής είναι πάνω σε ομάδες παρά σε επί μέρους πλειάδες. Τα γνωρίσματα που εμφανίζονται στο HAVING είναι είτε συναθροιστικές συναρτήσεις (π.χ., COUNT, SUM) ή γνωρίσματα που εμφανίζονται στη λίστα του GROUP BY Π.χ., HAVING AVG(E.SALARY)> 1500, HAVING D.DNAME< EPL342: Databases Panayiotis Andreou

19 Εννοιολογική Εκτέλεση Ενός SQL Block Ας δούμε λίγο καλύτερα με ποια σειρά εκτελείται ένα SQL μπλοκ σε ένα αφαιρετικό (εννοιολογικό) επίπεδο. Η περιγραφή αυτή είναι σε εννοιολογικό επίπεδο, επομένως το πλάνο εκτέλεσης (query plan) της επερώτησης στα παραδείγματα ΔΕΝ θα είναι βέλτιστο. Η πραγματικό πλάνο εκτέλεσης εναπόκειται αποκλειστικά στην βάση δεδομένων. Αυτό διεκπεραιώνεται από τον βελτιστοποιητή επερωτήσεων (query optimizer) ο οποίος έχει μεγάλη πολυπλοκότητα. Μια υλοποίηση του σε εμπορική βάση λέγεται ότι πήρε 50 ανθρωποχρόνια εργασίας. Θεωρούμε ότι η βάση μας είναι ένας ή περισσότεροι πίνακες αποθηκευμένοι στον δίσκο χωρίς άλλες δομές δεδομένων (ευρετήρια αναζήτησης, κτλ). Η περιγραφή αυτή θα μας επιτρέψει να καταλάβουμε καλύτερα τι παράγεται από μια επερώτηση. EPL342: Databases Panayiotis Andreou

20 Εννοιολογική Εκτέλεση Ενός SQL Block Ένα μπλοκ επερώτησης SQL αποτελείται από έξι όρους (clauses) οι οποίοι εκτελούνται (σε λογικό επίπεδο) όπως φαίνεται πιο κάτω: 6) SELECT <Attribute(s) AS Alias(s)> 3) Αgg1 AS Alias, AggN as Alias 1) FROM <table(s)> 2) [WHERE <condition>] 3) [GROUP BY <grouping attribute(s)>] 4) [HAVING <group condition>] 5) [ORDER BY <attribute list>] Ένα Query εκτελείται εννοιολογικά με την ακόλουθη σειρά: 1. FROM: Συνένωσε (ή Καρτεσιανό Γινόμενο) τους πίνακες του table list, π.χ., FROM Employee E, Department D 2. WHERE: Διάσχισε Γραμμικά τον Πίνακα που παράγεται στο βήμα 1 αποτιμώντας την έκφραση <condition> σε κάθε πλειάδα. π.χ., WHERE E.Dno=D.Dnumber and D.Dname= Research EPL342: Databases Panayiotis Andreou

21 Εννοιολογική Εκτέλεση Ενός SQL Block Έστω το ενδιάμεσο αποτέλεσμα: TEMP1(DNO, SSN, Salary) 3. GROUP BY: Διάσχισε γραμμικά το TEMP1, ομαδοποιώντας τα αποτελέσματα βάσει του grouping attribute(s) και υπολογίζοντας ανά ομάδα τις αιτούμενες συναθρ. Πράξεις που έχουν δηλωθεί στο SELECT και HAVING: MAX, MIN, COUNT, SUM: Υλοποιούνται με μια μεταβλητή ανά ομάδα AVG = SUM / COUNT π.χ., GROUP BY DNO Έστω το ενδιάμεσο αποτέλεσμα: TEMP2(DNO, AVG(salary)) 4. HAVING: Διάσχισε TEMP2 εφαρμόζοντας το <group condition> πάνω σε κάθε πλειάδα, π.χ., HAVING AVG(Salary)> ORDER BY: Ταξινόμησε τα αποτελέσματα βάσει της συνθήκης π.χ., ORDER BY AVG(Salary) 6. SELECT: Πρόβαλε τα αιτούμενα γνωρίσματα (από το TEMP2) εφαρμόζοντας τα σχετικά aliases στα απλά γνωρίσματα. π.χ., SELECT DNO (τα γνωρίσματα του ORDER BY δεν χρειάζεται να εμφανίζονται στο SELECT) EPL342: Databases Panayiotis Andreou

22 Ομαδοποίηση Επερώτηση: Βρες τον αριθμό υπαλλήλων και μέσο μισθό ανά τμήμα SELECT DNO, COUNT (*), AVG (SALARY) FROM EMPLOYEE GROUP BY DNO Εννοιολογική Εκτέλεση Επερώτησης: Η βάση εκτελεί μια γραμμική διέλευση του πίνακα Employee. Για κάθε πλειάδα, βρίσκει το DNO της πλειάδας, βάσει του οποίου αυξάνει τους ακόλουθους μετρητές: A. TUPLE_COUNT[DNO], B. SALARY_SUM[DNO], C. SALARY_COUNT_NONULLS[DNO], Στο τέλος τυπώνει για κάθε DNO τα ακόλουθα: DΝΟ,A, B/C EPL342: Databases Panayiotis Andreou

23 Επισημάνσεις Η λίστα με τα γνωρίσματα που υπάρχουν στο SELECT ΠΡΕΠΕΙ να υπάρχει στο GROUP BY αλλά όχι το αντίθετο. Π.χ., SELECT DNO, GENDER, AVG(SALARY) FROM E GROUP BY DNO ΛΑΘΟΣ Γιατί; Διότι όπως είδαμε στην εκτέλεση ενός SQL Block το SELECT εκτελείται τελευταίο και το GENDER δεν θα υπάρχει στις μεταβλητές ομαδοποίησης Οι συναθροιστικές πράξεις μπορεί να χρησιμοποιηθούν για επιλογή (δηλ., HAVING) μόνο και να μην επιστραφούν στη λίστα του SELECT Εάν υπάρχει NULL στο γνώρισμα ομαδοποίησης τότε τα ομαδοποιημένα αποτελέσματα εμφανίζονται σε μια νέα επιπλέον ομάδα. Π.χ., Ε(ID,CITY): (1,A), (2,B), (3,B), (4,NULL) SELECT CITY, COUNT(ID) (NULL, 0), (A, 1), (B, 2) EPL342: Databases Panayiotis Andreou

24 Επισημάνσεις Συναθροιστικές Συναρτήσεις SUM, AVG (SUM/COUNT), MAX, MIN μπορούν να εφαρμοστούν σε σύνολα ή πολυσύνολα (σχέσεις με μοναδικές έγγραφες ή μη) αριθμητικών τιμών. Οι ΜΑΧ, ΜΙΝ εφαρμόζονται και σε αλφαριθμητικά δεδομένα (π.χ., a < b ) ToCOUNT σε TSQL εφαρμόζεται στα πάντα εκτός από text, image, ή ntext. Οι συναθροιστικές συναρτήσεις ορίζονται πάντοτε στο όρο SELECT και στο HAVING Π.χ., SELECT * FROM A WHERE salary=max(salary) ΛΑΘΟΣ Θυμηθείτε ότι και στην ΣΑ δεν επιτρεπόταν να συγκρίνουμε τιμή με σύνολο EPL342: Databases Panayiotis Andreou

25 Επισημάνσεις (συν.) Οι συναθροιστικές συναρτήσεις ΔΕΝ αγνοούν τα διπλότυπα Π.χ., r(r)=5, 3 μοναδικές πόλεις COUNT(CITY)=5 Για να αγνοηθούν τα διπλότυπα χρησιμοποιείται το DISTINCT COUNT(DISTINCT CITY)=3 Οι συναθροιστικές συναρτήσεις αγνοούν τα NULL Π.χ., r(r)=5, 4 πόλεις, 1 null COUNT(CITY)=4 Πρέπει να είμαστε προσεκτικοί για τα αποτελέσματα που χρειαζόμαστε Ο τελεστής * δηλώνει πως θα ληφθούν υπόψη όλα τα γνωρίσματα στον υπολογισμό μιας συναθροιστικής συνάρτησης Συνεπώς το COUNT(*) μετράει γραμμές, δηλ., συνδυασμό όλων των γνωρισμάτων που συμμετέχουν (δεν παίζει ρόλο αν κάποια έχουν την τιμή NULL) Δεν υποστηρίζεται το COUNT(DISTINCT *) EPL342: Databases Panayiotis Andreou

26 Ασκήσεις Δώστε τα αποτελέσματα για όλα τα είδη JOIN στα πιο κάτω δεδομένα (P.CID=C.CID) PRODUCTS (P) PID PNAME CID 1 PA 1 2 PB 1 3 PC 1 4 PD 2 5 PE 2 6 PF 3 7 PG <NULL> CATEGORIES (C) CID CNAME 1 CA 2 CB 3 CC 4 CD Δώστε τα προϊόντα τα οποία έχουν το PID τους είναι το ίδιο με κάποιο CID από τις κατηγορίες EPL342: Databases Panayiotis Andreou

27 Ασκήσεις E: EMPLOYEE D: DEPARTMENT SSN ENAME DOB GENDER DNO SALARY DNO DNAME 1 Andreas 1/1/80 M Kostas 1/1/85 M Maria 4/3/83 F Eleni 6/7/85 F ACC 2 HR 3 IT 4 MNG 5 Victoria 27/2/84 F Δώστε τον αριθμό των υπαλλήλων, μέγιστο και ελάχιστο μισθό Δώστε τον αριθμό των υπαλλήλων ανά τμήμα (για όλα τα τμήματα) Δώστε τον μέσο μισθό των υπαλλήλων ανά τμήμα και φύλο (για όλα τα τμήματα) Δώστε τον υπάλληλο με τον μέγιστο μισθό Δώστε τον υπάλληλο με τον δεύτερο μεγαλύτερο μισθό EPL342: Databases Panayiotis Andreou

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

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

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

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

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

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

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

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

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

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

Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

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

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

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

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

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

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

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

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

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη 1 SQL(DML) - Query Example 1 Query:1 Βρείτε τα ονόματα των έργων που δεν αφορούν το τμήμα research

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ 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 Data Manipulation Language

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------

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

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

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

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

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

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

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

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

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

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

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

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

Lecture 17: SQL DML IV

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 6: Structured Query Language (SQL) Μια γλώσσα Βάσεων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στις Βάσεις Δεδομζνων II

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Η γλώσσα SQL Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Σύνδεση Ισότητας (Equi-Join) Θ στην σύνδεση είναι = (=-Join) r r.ai = s.aj s =-σύνδεση του

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

Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

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

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

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

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

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Επεξεργασία Ερωτήσεων Αρχεία ευρετηρίου Κατάλογος συστήματος Αρχεία δεδομένων ΒΑΣΗ Ε ΟΜΕΝΩΝ Σύστημα Βάσεων εδομένων (ΣΒ ) Βάσεις Δεδομένων 2007-2008

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

Lecture 8: RM I + RA I

Lecture 8: RM I + RA I Department of Computer Science University of Cyprus EPL342 Databases Lecture 8: RM I + RA I Relational Model + Relational Algebra (Chapter 5.2-5.3, 6.1 Elmasri-Navathe 7ED) Demetris Zeinalipour http://www.cs.ucy.ac.cy/courses/epl342

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

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

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

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

Κεφάλαιο 4. Η Γλώσσα SQL και Σχεσιακός Λογισµός. Ι.Β. Σχεσιακός Λογισµός και η Γλώσσα SQL Σελίδα 2.46

Κεφάλαιο 4. Η Γλώσσα SQL και Σχεσιακός Λογισµός. Ι.Β. Σχεσιακός Λογισµός και η Γλώσσα SQL Σελίδα 2.46 Κεφάλαιο 4 Η Γλώσσα SQL και Σχεσιακός Λογισµός Ι.Β. Σχεσιακός Λογισµός και η Γλώσσα SQL Σελίδα 2.46 Σχεσιακός Λογισµός: ΕΙΣΑΓΩΓΗ Ο Σχεσιακός Λογισµός (RC) είναι µια µη-διαδικαστική, τυπική γλώσσα που βασίζεται

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

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις

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

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

Σχεσιακή Άλγεβρα Relational Algebra Σχεσιακή Άλγεβρα Relational Algebra Ορίζει ένα σύνολο τελεστών που εφαρμόζονται σε μια ή σε περισσότερες σχέσεις. Οι τελεστές ορίζουν πράξεις οι οποίες διακρίνονται σε Πράξεις μεταξύ συνόλων (σχέση είναι

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

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ Ε ΟΜΕΝΩΝ Αρχεία δεδομένων συστήματος Σύστημα Βάσεων εδομένων (ΣΒ ) 2 :

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

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

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

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

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

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

Εισαγωγή στις Βάσεις Δεδομζνων II

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Σχεσιακή Άλγεβρα Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το παρόν

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

Lecture 15: SQL DML II

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

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική

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

Βάσεις εδοµένων 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Μέρος Α Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos

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

Data Cube. Μ.Χατζόπουλος 1

Data Cube. Μ.Χατζόπουλος 1 Data Cube Μ.Χατζόπουλος Μ.Χατζόπουλος 1 Ανάλυση εδοµένων Εξαγωγή συναθροιστικών δεδοµένων από µια βάση δεδοµένων Οπτικοποίηση των αποτελεσµάτων Μπορούνοιπαραδοσιακέςεπίπεδεςβάσειςδεδοµένων; Οι σχεσιακές

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

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2018-2019 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας

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

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

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

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

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

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

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

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

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

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

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

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

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

-----------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------- ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΜΑΡΤΙΟΥ 2006 - ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------

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

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

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

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

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 20: Κανονικοποίηση και Συναρτησιακές Εξαρτήσεις Ι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Εισαγωγή στην Κανονικοποιήση Άτυπες κατευθύνσεις για Σχεδιασμό

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

Διάλεξη 12: SQL Data Definition Language. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 12: SQL Data Definition Language. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: SQL Data Definition Language Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Επιπρόσθετοι Περιορισμοί Παραδείγματα/Ασκήσεις Διδάσκων: Παναγιώτης Ανδρέου EPL342:

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

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

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

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

DELETE, UPDATE, INSERT

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

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

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

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

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

Κεφάλαιο 9 Συναθροίσεις

Κεφάλαιο 9 Συναθροίσεις Κεφάλαιο 9 Συναθροίσεις Σύνοψη Στο παρόν κεφάλαιο θα παρουσιαστούν ερωτήματα συνάθροισης χρησιμοποιώντας τις βασικές συναρτήσεις MAX, MIN, AVG, SUM και COUNT. Θα παρουσιαστεί η χρήση της ομαδοποίησης εγγραφών

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

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

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

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

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

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

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

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

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

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

Το εσωτερικό ενός Σ Β

Το εσωτερικό ενός Σ Β Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL) ηµιουργία/κατασκευή Εισαγωγή εδοµένων

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

Κεφάλαιο 3. Ερωτήματα SQL

Κεφάλαιο 3. Ερωτήματα SQL Κεφάλαιο 3. Ερωτήματα SQL Σύνοψη Σ αυτό το κεφάλαιο θα παρουσιάσουμε βασικά και σύνθετα ερωτήματα της SQL. Τα ερωτήματα θα υποβληθούν στην βάση δεδομένων DVDclub που δημιουργήθηκε στο προηγούμενο κεφάλαιο.

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

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

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

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

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

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

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

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

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

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 10: RA IΙ. RA Advanced + Examples

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 10: RA IΙ. RA Advanced + Examples Department of Computer Science University of Cyprus EPL342 Databases Lecture 10: RA IΙ RA Advanced + Examples (Chapter 6.4-6.5, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

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

DELETE, UPDATE, INSERT.

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

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

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

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

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

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

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

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

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 22: Κανονικοποίηση και Συναρτησιακές Εξαρτήσεις ΙII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Κανονικοποιήση (Normalization) και Κανονικές Μορφές (Normal

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

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

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

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

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

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

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

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

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

Lecture 21: Functional Dependencies and Normalization

Lecture 21: Functional Dependencies and Normalization Department of Computer Science University of Cyprus EPL342 Databases Lecture 21: Functional Dependencies and Normalization Informal Design Guidelines (Chapter 14.1, Elmasri-Navathe 7ED) Demetris Zeinalipour

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

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

Βάσεις δεδομένων. Ηρακλής Βαρλάμης Βάσεις δεδομένων (12 ο μάθημα Επανάληψη) Ηρακλής Βαρλάμης varlamis@hua.gr Ύλη Οι διαφάνειες του μαθήματος Οι ενδεικτικές λύσεις των εργασιών Οι ασκήσεις των εργαστηρίων Από το βιβλίο τα κεφάλαια: 1,2,3,5

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

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

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

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

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

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

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

Επεξεργασία Ερωτήσεων: Επανάληψη και Ασκήσεις

Επεξεργασία Ερωτήσεων: Επανάληψη και Ασκήσεις Ερώτηση SQL Ερώτηση : Επανάληψη και Ασκήσεις Συντακτική Ανάλυση & Μετάφραση Έκφραση της Σχεσιακής Άλγεβρας Σχέδιο Εκτέλεσης Μηχανή Υπολογισµού Στατιστικά Στοιχεία εδοµένα Αποτέλεσµα Κατανεµηµένες Βάσεις

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

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

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

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

Certified Data Base Designer (CDBD)

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

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