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

Download ""

Transcript

1 Υποερωτήματα SQL Παραδείγματα και εφαρμογές από τη βάση δεδομένων company Αθανάσιος Σταυρακούδης Άνοιξη / 55

2 Περιεχόμενα 1 Απλά υποερωτήματα 2 Τεστ: κάθε, τουλάχιστον, ύπαρξης 3 Επιπλέον Υποερωτήματα 4 Ενωση 5 Ασκήσεις επανάληψης 2 / 55

3 Η ανάγκη για υποερώτημα Ποιος υπάλληλος παίρνει το μεγαλύτερο μισθό; Αν ξέραμε το μεγαλύτερο μισθό, πχ , θα γράφαμε: 1 SELECT empid, lastname 2 FROM employees 3 WHERE salary = ; Ο μεγαλύτερος μισθός μπορεί να βρεθεί με: 1 SELECT MAX(salary) 2 FROM employees; 3 / 55

4 Το πρόβλημα με τα δύο ερωτήματα Στην ερώτηση ποιος υπάλληλος παίρνει το μεγαλύτερο μισθό, πρέπει πρώτα να βρούμε το μεγαλύτερο μισθό Δηλαδή να απαντήσουμε σε δύο ερωτήματα και μάλιστα με σωστή σειρά: 1 Ποιος είναι ο μεγαλύτερος μισθός: MAX(salary) 2 Ποιος υπάλληλος έχει τόσο μισθό; WHERE Η τιμή που προκύπτει από το τρώτο ερώτημα δεν μπορεί να εισαχθεί αυτόματα στο δεύτερο Στα λογιστικά φύλλα, μπορούμε να απαντήσουμε τέτοια ερωτήματα με συνδυασμό INDEX MATCH MAX Στην SQL το πρόβλημα λύνεται εύκολα με υποερώτημα : εμφώλευση SELECT 4 / 55

5 Ενα απλό υποερώτημα Να βρεθεί ο υπάλληλος με το μεγαλύτερο μισθό: 1 SELECT empid, salary 2 FROM employees 3 WHERE salary = (SELECT MAX(salary) 4 FROM employees); Η λύση λοιπόν είναι η εμφώλευση SELECT Σε αντίθεση με τα λογιστικά φύλλα, το ερώτημα θα δώσει ορθή απάντηση στην περίπτωση που δύο ή περισσότεροι υπάλληλοι έχουν τον ίδιο μισθό Το υποερώτημα χρειάζεται παρενθέσεις Αυτό είναι ένα παράδειγμα υποερωτήματος ως βαθμωτής (scalar) μεταβλητής 5 / 55

6 Παρατηρήσεις για τα υποερωτήματα Το υποερώτημα πρέπει να είναι ένα αυτοτελές ερώτημα. Υποερωτήματα μπορούν να χρησιμοποιηθούν τόσο στη φράση WHERE όσο και στη φράση HAVING. Στις περισσότερες των περιπτώσεων, η φράση SELECT στο υποερώτημα ακολουθείται ένα μόνο πεδίο και μάλιστα κλειδί. Το υποερώτημα δεν μπορεί (και δεν έχει νόημα) να περιέχει τη φράση ORDER BY. Το υποερώτημα μπορεί να αναφέρεται σε πεδία που υπάρχουν στον πίνακα του εξωτερικού ερωτήματος, αλλά γενικά πρέπει να έχουν τη δική τους φράση FROM. 6 / 55

7 Υποερώτημα ή αυτοσύζευξη; Να βρεθεί ο κωδικός και το επώνυμο των υπαλλήλων που εργάζονται στο ίδιο τμήμα με αυτό που εργάζεται ο υπάλληλος με κωδικό / 55

8 Υποερώτημα ή αυτοσύζευξη; Να βρεθεί ο κωδικός και το επώνυμο των υπαλλήλων που εργάζονται στο ίδιο τμήμα με αυτό που εργάζεται ο υπάλληλος με κωδικό 102. Με υποερώτημα 1 SELECT empid, salary 2 FROM employees 3 WHERE depid = (SELECT depid 4 FROM employees 5 WHERE empid = 102); 8 / 55

9 Υποερώτημα ή αυτοσύζευξη; Να βρεθεί ο κωδικός και το επώνυμο των υπαλλήλων που εργάζονται στο ίδιο τμήμα με αυτό που εργάζεται ο υπάλληλος με κωδικό 102. Με υποερώτημα 1 SELECT empid, salary 2 FROM employees 3 WHERE depid = (SELECT depid 4 FROM employees 5 WHERE empid = 102); Με αυτοσύζευξη 1 SELECT e1.empid, e1.salary 2 FROM employees e1, employees e2 3 WHERE e1.depid = e2.depid 4 AND e2.empid = 102; 9 / 55

10 Υποερώτημα μετά το HAVING Να βρεθεί το πλήθος των υπαλλήλων ανά όνομα τμήματος, για εκείνα τα τμήματα στα οποία εργάζονται περισσότεροι από 3/2 των υπαλλήλων που απασχολούνται στο έργο / 55

11 Υποερώτημα μετά το HAVING Να βρεθεί το πλήθος των υπαλλήλων ανά όνομα τμήματος, για εκείνα τα τμήματα στα οποία εργάζονται περισσότεροι από 3/2 των υπαλλήλων που απασχολούνται στο έργο 43 1 SELECT d.depname, COUNT(*) 2 FROM employees e INNER JOIN departments d 3 ON e.depid = d.depid 4 GROUP BY d.depname 5 HAVING COUNT(*) > 11 / 55

12 Υποερώτημα μετά το HAVING Να βρεθεί το πλήθος των υπαλλήλων ανά όνομα τμήματος, για εκείνα τα τμήματα στα οποία εργάζονται περισσότεροι από 3/2 των υπαλλήλων που απασχολούνται στο έργο 43 1 SELECT d.depname, COUNT(*) 2 FROM employees e INNER JOIN departments d 3 ON e.depid = d.depid 4 GROUP BY d.depname 5 HAVING COUNT(*) > 1.5*(SELECT COUNT(empid) 6 FROM workson 7 WHERE proid = 43); 8 12 / 55

13 Υποερώτημα μετά το HAVING Να βρεθεί το πλήθος των υπαλλήλων ανά όνομα τμήματος, για εκείνα τα τμήματα στα οποία εργάζονται περισσότεροι από 3/2 των υπαλλήλων που απασχολούνται στο έργο 43 1 SELECT d.depname, COUNT(*) 2 FROM employees e INNER JOIN departments d 3 ON e.depid = d.depid 4 GROUP BY d.depname 5 HAVING COUNT(*) > 1.5*(SELECT COUNT(empid) 6 FROM workson 7 WHERE proid = 43); 8 9 depname COUNT(*) Επιστημόνων/Μηχανικών 9 12 Μάνατζμεντ/Πωλήσεων 8 Σημείωση: Στο έργο 43 απασχολούνται 5 υπάλληλοι. 13 / 55

14 Δύο υποερωτήματα Να βρεθούν όλες οι λεπτομέρειες των υπαλλήλων που προσλήφθηκαν ανάμεσα στην πιο παλιά και στην πρόσφατη ημερομηνία έναρξης των έργων, και δεν εργάζονται στο τμήμα 6 1 SELECT * 2 FROM employees 3 WHERE hiredate BETWEEN ( SELECT MIN(startdate) 4 FROM projects) 5 AND ( SELECT MAX(startdate) 6 FROM projects) 7 AND depid!= 6; 14 / 55

15 Υποερώτημα με τελεστή συνόλου IN Να βρεθεί το όνομα των τμημάτων οι υπάλληλοι των οποίων αν πάρουν αύξηση κατά 5% ο μισθός τους θα ανέβει περισσότερο από / 55

16 Υποερώτημα με τελεστή συνόλου IN Να βρεθεί το όνομα των τμημάτων οι υπάλληλοι των οποίων αν πάρουν αύξηση κατά 5% ο μισθός τους θα ανέβει περισσότερο από SELECT depname 2 FROM departments 3 WHERE depid IN 16 / 55

17 Υποερώτημα με τελεστή συνόλου IN Να βρεθεί το όνομα των τμημάτων οι υπάλληλοι των οποίων αν πάρουν αύξηση κατά 5% ο μισθός τους θα ανέβει περισσότερο από SELECT depname 2 FROM departments 3 WHERE depid IN (SELECT DISTINCT depid 4 FROM employees 5 WHERE salary*0.05 > 100); 17 / 55

18 Υποερώτημα με τελεστή συνόλου IN Να βρεθεί το όνομα των τμημάτων οι υπάλληλοι των οποίων αν πάρουν αύξηση κατά 5% ο μισθός τους θα ανέβει περισσότερο από SELECT depname 2 FROM departments 3 WHERE depid IN (SELECT DISTINCT depid 4 FROM employees 5 WHERE salary*0.05 > 100); 1 Η φράση FROM στο υποερώτημα μπορεί να έχει έχει διαφορετικό πίνακα από τη φράση FROM του εξωτερικού υποερωτήματος. 2 Η φράση SELECT του υποερωτήματος ακολουθείται από ένα μόνο πεδίο. 3 Στο υποερώτημα, η φράση DISTINCT μπορεί να παραληφθεί (με ποινή στην ταχύτητα). 18 / 55

19 Ισοδυναμία με σύζευξη Να βρεθεί το όνομα των τμημάτων οι υπάλληλοι των οποίων αν πάρουν αύξηση κατά 5% ο μισθός τους θα ανέβει περισσότερο από / 55

20 Ισοδυναμία με σύζευξη Να βρεθεί το όνομα των τμημάτων οι υπάλληλοι των οποίων αν πάρουν αύξηση κατά 5% ο μισθός τους θα ανέβει περισσότερο από SELECT DISTINCT d.depname 2 FROM employees e INNER JOIN departments d 3 ON e.depid = d.depid 4 WHERE e.salary*0.05 > 100; 20 / 55

21 Ισοδυναμία με σύζευξη Να βρεθεί το όνομα των τμημάτων οι υπάλληλοι των οποίων αν πάρουν αύξηση κατά 5% ο μισθός τους θα ανέβει περισσότερο από SELECT DISTINCT d.depname 2 FROM employees e INNER JOIN departments d 3 ON e.depid = d.depid 4 WHERE e.salary*0.05 > 100; 1 Σε μερικές περιπτώσεις, όπως αυτή, η απάντηση μπορεί να δοθεί τόσο με υποερώτημα όσο και με σύζευξη. 2 Μπορείτε να επιλέξετε οποιοδήποτε τρόπο. 3 Να ξέρετε και τους δύο τρόπους! Υπάρχουν περιπτώσεις που ένας μόνο είναι σωστός! 4 Η σύζευξη (σχεδόν πάντα) εκτελείται ταχύτερα από το υποερώτημα. 21 / 55

22 Περιεχόμενα 1 Απλά υποερωτήματα 2 Τεστ: κάθε, τουλάχιστον, ύπαρξης 3 Επιπλέον Υποερωτήματα 4 Ενωση 5 Ασκήσεις επανάληψης 22 / 55

23 Τεστ σύγκρισης με ALL Να βρεθούν οι υπάλληλοι που προσλήφθηκαν μετά την έναρξη όλων των έργων 1 SELECT * 2 FROM employees 3 WHERE hiredate > ALL (SELECT DISTINCT startdate 4 FROM projects); 23 / 55

24 Τεστ σύγκρισης με ALL Να βρεθούν οι υπάλληλοι που προσλήφθηκαν μετά την έναρξη όλων των έργων 1 SELECT * 2 FROM employees 3 WHERE hiredate > ALL (SELECT DISTINCT startdate 4 FROM projects); Οι συγκρίσεις με ALL αποδίδουν TRUE, αν ο τελεσταίος της σύγκρισης αποδίδει TRUE με όλες τις εγγραφές που επιστρέφει το υποερώτημα. Το ALL τοποθετείται μετά τον τελεστή σύγκρισης και πριν το υποερώτημα. 24 / 55

25 Ισοδυναμία λόγω βέλους του χρόνου Να βρεθούν οι υπάλληλοι που προσλήφθηκαν μετά την έναρξη όλων των έργων 1 SELECT * 2 FROM employees 3 WHERE hiredate > (SELECT MAX(startdate) 4 FROM projects); 25 / 55

26 Ισοδυναμία λόγω βέλους του χρόνου Να βρεθούν οι υπάλληλοι που προσλήφθηκαν μετά την έναρξη όλων των έργων 1 SELECT * 2 FROM employees 3 WHERE hiredate > (SELECT MAX(startdate) 4 FROM projects); Τα δύο υποερωτήματα είναι ισοδύναμα. Αν μια ημερομηνία είναι πιο πρόσφατη από την πιο πρόσφατη έναρξη έργου τότε θα είναι και πιο πρόσφατη από όλες τις άλλες. Αυτό εφαρμόζεται μόνο σε χρονικά δεδομένα, σε άλλες περιπτώσεις είναι πιθανό η χρήση του τελεστή ALL να είναι αναπόφευκτη. 26 / 55

27 Παρατηρήσεις για τα υποερωτήματα με ALL Για τη χρήση του ALL σε παραστάσεις WHERE X θ ALL Y όπου Y υποερώτημα, πρέπει να γνωρίσουμε ότι: 1 Αν το υποερώτημα επιστρέψει το κενό σύνολο τότε η σύγκριση με το ALL αποδίδει TRUE. 2 Αν η σύγκριση επιστρέψει TRUE για όλες τις όλες τις εγγραφές που επιστρέφει το υποερώτημα, τότε και μόνο τότε, η παράσταση επιστρέφει TRUE. 3 Αν η σύγκριση επιστρέψει FALSE για τουλάχιστον μία φορά, τότε η παράσταση επιστρέφει FALSE. 4 Αν για κάποια σύγκριση, επιστραφεί η τιμή NULL, τότε η παράσταση επιστρέφει NULL. 27 / 55

28 Τεστ σύγκρισης με ANY Να βρεθούν οι υπάλληλοι που προσλήφθηκαν μέχρι την 31/12/2003 και παίρνουν μισθό μικρότερο από το μισθό οποιουδήποτε υπαλλήλου που προσλήφθηκε μετά την 1/1/ SELECT * 2 FROM employees 3 WHERE hiredate <= AND salary < ANY (SELECT DISTINCT salary 5 FROM employees 6 WHERE hiredate > AND salary IS NOT NULL); 28 / 55

29 Τεστ σύγκρισης με ANY Να βρεθούν οι υπάλληλοι που προσλήφθηκαν μέχρι την 31/12/2003 και παίρνουν μισθό μικρότερο από το μισθό οποιουδήποτε υπαλλήλου που προσλήφθηκε μετά την 1/1/ SELECT * 2 FROM employees 3 WHERE hiredate <= AND salary < ANY (SELECT DISTINCT salary 5 FROM employees 6 WHERE hiredate > AND salary IS NOT NULL); 1 Το πεδίο salary υπάρχει στη φράση WHERE του εξωτερικού ερωτήματος και στη φράση SELECT του υποερωτήματος. 2 Εδώ μας ενδιαφέρει η σύγκριση να αποδώσει τουλάχιστον μία φορά TRUE. 29 / 55

30 Παρατηρήσεις για τα υποερωτήματα με ANY Για τη χρήση του ANY σε παραστάσεις: WHERE X θ ANY Y όπου Y υποερώτημα πρέπει να γνωρίζουμε ότι: Αν το υποερώτημα επιστρέψει το κενό σύνολο τότε η σύγκριση με το ANY αποδίδει FALSE. Αν η σύγκριση επιστρέψει true τουλάχιστον μία φορά, τότε, η παράσταση επιστρέφει TRUE. Αν η σύγκριση επιστρέψει FALSE για όλες τις όλες τις εγγραφές που επιστρέφει το υποερώτημα, τότε και μόνο τότε, η παράσταση επιστρέφει FALSE. Αν για κάποια σύγκριση, επιστραφεί η τιμή NULL, τότε η παράσταση επιστρέφει NULL. 30 / 55

31 Τεστ σύγκρισης με EXISTS Να βρεθεί ο κωδικός και ονοματεπώνυμο των υπαλλήλων του τμήματος 4 που απασχολούνται σε τουλάχιστον ένα έργο 1 SELECT e.empid, e.firstname, e.lastname 2 FROM employees e 3 WHERE depid = 4 4 AND EXISTS (SELECT empid 5 FROM workson w 6 WHERE e.empid = w.empid); 31 / 55

32 Τεστ σύγκρισης με EXISTS Να βρεθεί ο κωδικός και ονοματεπώνυμο των υπαλλήλων του τμήματος 4 που απασχολούνται σε τουλάχιστον ένα έργο 1 SELECT e.empid, e.firstname, e.lastname 2 FROM employees e 3 WHERE depid = 4 4 AND EXISTS (SELECT empid 5 FROM workson w 6 WHERE e.empid = w.empid); Ο τελεστής EXISTS λέγεται τελεστής ύπαρξης. Οι εγγραφές του υποερωτήματος αναφέρονται στις εγγραφές του εξωτερικού ερωτήματος, τέτοια υποερωτήματα λέγονται συσχετιζόμενα. Το τεστ EXISTS δεν επιστρέφει ποτέ NULL, μόνο TRUE ή FALSE. 32 / 55

33 Ανάλυση παραδείγματος τελεστή ύπαρξης 1 Αρχικά πρέπει να γνωρίζουμε ότι αν απασχολείται κάποιος υπάλληλος σε κάποιο έργο, τότε θα υπάρχει μια αντίστοιχη εγγραφή στον πίνακα workson. 2 Επομένως, αυτό που ψάχνουμε μπορεί να θεωρηθεί ισοδύναμο με την έκφραση: να βρεθούν οι υπάλληλοι, ο κωδικός των οποίων εμφανίζεται στον πίνακα workson. 3 Η SQL εκτελεί το εξωτερικό ερώτημα και βρίσκει τον κωδικό όλων των υπαλλήλων. 4 Στη συνέχεια, για κάθε εγγραφή του κυρίου ερωτήματος, εκτελεί το υποερώτημα, σύμφωνα με τη σύγκριση: WHERE e.empid = w.empid. 5 Αν το υποερώτημα επιστρέψει εγγραφές (αδιάφορο πόσες) τότε το τεστ EXISTS επιστρέφει TRUE. 6 Διαφορετικά, αν το υποερώτημα δεν επιστρέψει εγγραφές, το τεστ EXISTS επιστρέφει FALSE. 33 / 55

34 Ισοδυναμία ύπαρξης με σύζευξη Να βρεθεί ο κωδικός και ονοματεπώνυμο των υπαλλήλων του τμήματος 4 που απασχολούνται σε τουλάχιστον ένα έργο 1 SELECT DISTINCT e.empid, e.firstname, e.lastname 2 FROM employees e INNER JOIN workson w 3 ON e.empid = w.empid 4 WHERE depid = 4; 34 / 55

35 Ισοδυναμία ύπαρξης με σύζευξη Να βρεθεί ο κωδικός και ονοματεπώνυμο των υπαλλήλων του τμήματος 4 που απασχολούνται σε τουλάχιστον ένα έργο 1 SELECT DISTINCT e.empid, e.firstname, e.lastname 2 FROM employees e INNER JOIN workson w 3 ON e.empid = w.empid 4 WHERE depid = 4; Μερικές φορές ο τελεστής EXISTS ισοδυναμεί με σύζευξη. Αυτό γίνεται εύκολα αντιληπτό από την έκφραση WHERE e.empid = w.empid που χρησιμοποιήσαμε στο υποερώτημα. Το EXISTS έχει άρνηση το NOT EXISTS. Για παράδειγμα, πως μπορούν να βρεθούν οι υπάλληλοι που δεν απασχολούνται σε κάποιο έργο; 35 / 55

36 Περιεχόμενα 1 Απλά υποερωτήματα 2 Τεστ: κάθε, τουλάχιστον, ύπαρξης 3 Επιπλέον Υποερωτήματα 4 Ενωση 5 Ασκήσεις επανάληψης 36 / 55

37 Υποερωτήματα στη φράση SELECT Να υπολογιστεί το ποσοστό των υπαλλήλων ανά τμήμα, και το συνολικό ποσοστό (100%). 1 SELECT depid, 100*count(empid) / 2 (SELECT count(empid) FROM employees) 3 AS peremp 4 FROM employees 5 GROUP BY depid WITH ROLLUP; depid peremp NULL / 55

38 Υποερωτήματα στη φράση FROM Ενα οποιοδήποτε ερώτημα 1 SELECT depid, sum(salary) 2 FROM employees 3 GROUP BY depid 38 / 55

39 Υποερωτήματα στη φράση FROM Ενα οποιοδήποτε ερώτημα 1 SELECT depid, sum(salary) 2 FROM employees 3 GROUP BY depid Μπορεί να μεταφερθεί στη φράση FROM αν του δώσουμε όνομα: 1 SELECT * 2 FROM ( SELECT depid, sum(salary) 3 FROM employees 4 GROUP BY depid) es; 39 / 55

40 Υποερωτήματα στη φράση FROM Ενα οποιοδήποτε ερώτημα 1 SELECT depid, sum(salary) 2 FROM employees 3 GROUP BY depid Μπορεί να μεταφερθεί στη φράση FROM αν του δώσουμε όνομα: 1 SELECT * 2 FROM ( SELECT depid, sum(salary) 3 FROM employees 4 GROUP BY depid) es; Η ονοματοδοσία του υποερωτήματος στη φράση FROM είναι υποχρεωτική. Το επώνυμο αποτέλεσμα του ερωτήματος μέσα στις παρενθέσεις μπορεί να χρησιμοποιηθεί στη συνέχεια ως πίνακας ή όψη, πχ σε νέα σύζευξη. 40 / 55

41 Επιπλέον παράδειγμα υποερωτήματος FROM Να βρεθεί το ποσό της μισθοδοσίας ανά όνομα τμήματος, με υποερώτημα στο FROM 1 SELECT depname, sumsal 2 FROM ( 3 SELECT depid, SUM(salary) AS sumsal 4 FROM employees 5 GROUP BY depid 6 ) es 7 INNER JOIN departments d 8 ON es.depid = d.depid 41 / 55

42 Επιπλέον παράδειγμα υποερωτήματος FROM Να βρεθεί το ποσό της μισθοδοσίας ανά όνομα τμήματος, με υποερώτημα στο FROM 1 SELECT depname, sumsal 2 FROM ( 3 SELECT depid, SUM(salary) AS sumsal 4 FROM employees 5 GROUP BY depid 6 ) es 7 INNER JOIN departments d 8 ON es.depid = d.depid Με φυσική σύζευξη 1 SELECT depname, SUM(salary) AS sumsal 2 FROM employees NATURAL JOIN departments 3 GROUP BY depname; 42 / 55

43 Περιεχόμενα 1 Απλά υποερωτήματα 2 Τεστ: κάθε, τουλάχιστον, ύπαρξης 3 Επιπλέον Υποερωτήματα 4 Ενωση 5 Ασκήσεις επανάληψης 43 / 55

44 Ενωση Γενική μορφή ερωτημάτων ένωσης 1 SELECT... 2 UNION [ALL DISTINCT] 3 SELECT... Τα αποτελέσματα των δύο ερωτημάτων πρέπει να έχουν συμβατότητα τύπου : ίδιο πλήθος πεδίων με αντίστοιχα κοινό πεδίο ορισμού. Η επιλογή ALL θα επιστρέψει την ένωση κρατώντας τις διπλότιμες τιμές. Η επιλογή DISTINCT θα επιστρέψει την ένωση χωρίς τις διπλότιμες τιμές, κάτι που είναι περισσότερο κοντά στον ορισμό της σχεσιακής πράξης της ένωσης. 44 / 55

45 Παράδειγμα ένωσης - 1 Να βρεθούν οι υπάλληλοι που εργάζονται στα τμήματα 3 και 4 1 SELECT * 2 FROM employees 3 WHERE depid = 3 4 UNION 5 SELECT * 6 FROM employees 7 WHERE depid = 4; 45 / 55

46 Παράδειγμα ένωσης - 1 Να βρεθούν οι υπάλληλοι που εργάζονται στα τμήματα 3 και 4 1 SELECT * 2 FROM employees 3 WHERE depid = 3 4 UNION 5 SELECT * 6 FROM employees 7 WHERE depid = 4; Ισοδύναμο με: 1 SELECT * 2 FROM employees 3 WHERE depid IN (3,4); 46 / 55

47 Παράδειγμα ένωσης - 2 Να βρεθεί ο κωδικός και το όνομα των υπαλλήλων που είτε ανήκουν στο τμήμα με κωδικό 1, είτε δεν απασχολούνται σε κανένα έργο 1 SELECT empid, firstname, lastname 2 FROM employees e1 3 WHERE depid = 1 4 UNION 5 SELECT empid, firstname, lastname 6 FROM employees e2 7 WHERE NOT EXISTS (SELECT empid 8 FROM workson w 9 WHERE e2.empid = w.empid); Ισοδύναμο με: 1 SELECT e.empid, e.firstname, e.lastname 2 FROM employees e LEFT JOIN workson w ON e.empid = w.empid 3 WHERE e.depid = 1 4 OR w.empid IS NULL; 47 / 55

48 Παράδειγμα ένωσης - 3 Οπως το προηγούμενο, αλλά με ένα επιπλέον πεδίο που να περιγράφει αν ο υπάλληλος είναι στη μία ή άλλη περίπτωση, πχ με το προσδιοριστικό «ΤΜΗΜΑ 1» ή «ΚΑΝΕΝΑ ΕΡΓΟ» 1 SELECT empid, firstname, lastname, Department 1 AS status 2 FROM employees e1 3 WHERE depid = 1 4 UNION 5 SELECT empid, firstname, lastname, Not in project AS status 6 FROM employees e2 7 WHERE NOT EXISTS (SELECT empid 8 FROM workson w 9 WHERE e2.empid = w.empid); empid firstname lastname status 109 Μαρία Αθανασίου Department Κρινιώ Μαροπούλου Department Κυριάκος Ρούσσης Department Νίκος Στεργιόπουλος Not in project 48 / 55

49 Περιεχόμενα 1 Απλά υποερωτήματα 2 Τεστ: κάθε, τουλάχιστον, ύπαρξης 3 Επιπλέον Υποερωτήματα 4 Ενωση 5 Ασκήσεις επανάληψης 49 / 55

50 Μεγαλύτερο ποσό μισθοδοσίας, «αλγεβρική λύση» Να βρεθεί όνομα του τμήματος με το μεγαλύτερο ποσό μισθοδοσίας 1 SELECT depname 2 FROM departments NATURAL JOIN employees 3 GROUP BY depname 4 HAVING SUM(salary)= 5 ( 6 SELECT sumsal 7 FROM ( 8 SELECT depid, SUM(salary) AS sumsal 9 FROM employees 10 GROUP BY depid 11 ) es 12 WHERE sumsal >= ALL ( 13 SELECT SUM(salary) 14 FROM employees 15 GROUP BY depid) ); 50 / 55

51 Μεγαλύτερο ποσό μισθοδοσίας, «πρακτική λύση» Να βρεθεί όνομα του τμήματος με το μεγαλύτερο ποσό μισθοδοσίας, εύκολος πρακτικός τρόπος 1 SELECT depname 2 FROM departments NATURAL JOIN employees 3 GROUP BY depname 4 ORDER BY SUM(salary) DESC 5 LIMIT 0, 1 Η λύση αυτή δεν είναι «αλγεβρική», βασίζεται στο τρυκ με τη χρήση του LIMIT 0, / 55

52 Να βρεθεί το όνομα του τμήματος και ο μέσος μισθός των υπαλλήλων του, για το τμήμα με το μικρότερη μέση τιμή στους μισθούς Διπλή χρήση του υποερωτήματος στη φράση FROM και WHERE 1 SELECT d.depname, e1.msal 2 FROM ( SELECT depid, AVG(salary) AS msal 3 FROM employees 4 GROUP BY depid 5 ) e1 6 INNER JOIN departments d ON e1.depid=d.depid 7 WHERE e1.msal = 8 ( SELECT MIN(e2.msal) 9 FROM ( SELECT depid, AVG(salary) 10 AS msal 11 FROM employees 12 GROUP BY depid 13 ) e2 14 ); 52 / 55

53 Να βρεθούν οι κωδικοί των έργων με τη μικρότερη απασχόληση εργαζομένων Διπλή εμφώλευση υποερωτήματος στη φράση HAVING 1 SELECT proid 2 FROM workson 3 GROUP BY proid 4 HAVING count(empid) <= ALL 5 ( SELECT cnt 6 FROM 7 ( 8 SELECT proid, COUNT(empid) AS cnt 9 FROM workson 10 GROUP BY proid 11 ) w2 12 ); 53 / 55

54 Να βρεθούν οι κωδικοί των έργων με τη μικρότερη απασχόληση εργαζομένων, άλλος τρόπος με χρήση της συνάρτησης min Διπλή εμφώλευση υποερωτήματος στη φράση HAVING 1 SELECT proid 2 FROM workson 3 GROUP BY proid 4 HAVING COUNT(empid) = 5 ( SELECT MIN(cnt) 6 FROM 7 ( 8 SELECT proid, COUNT(empid) AS cnt 9 FROM workson 10 GROUP BY proid 11 ) w2 12 ); 54 / 55

55 Σχόλια και ερωτήσεις Σας ευχαριστώ για την προσοχή σας Είμαι στη διάθεσή σας για σχόλια, απορίες και ερωτήσεις 55 / 55

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

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

1 / 105

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

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

1 / 150

1 / 150 Ερωτήματα SQL με σύζευξη πινάκων Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 150 Περιεχόμενα 1 Γενικά για τη σύζευξη πινάκων 2 Καρτεσιανό γινόμενο και θ σύζευξη 3 Φυσική σύζευξη

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

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

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

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

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Ερωτήματα 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 Εισαγωγή, γενικές

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

DELETE, UPDATE, INSERT

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

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

Ερωτήματα επιλογής με σύζευξη πινάκων

Ερωτήματα επιλογής με σύζευξη πινάκων ΚΕΦΑΛΑΙΟ 13 Ερωτήματα επιλογής με σύζευξη πινάκων Το κεφάλαιο αυτό σας εισάγει στον πραγματικό κόσμο των σχεσιακών βάσεων δεδομένων. Τα ερωτήματα που θα συναντήσετε έχουν πολλούς πίνακες στον όρο FROM,

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

DELETE, UPDATE, INSERT.

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

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

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

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

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

DISTINCT, LIKE, NULL, AND, OR, BETWEEN

DISTINCT, LIKE, NULL, AND, OR, BETWEEN Περισσότερα για τα απλά ερωτήματα SQL DISTINCT, LIKE, NULL, AND, OR, BETWEEN Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 66 Σκοπός του μαθήματος Αποκλείσετε διπλοεγγραφές από

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

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

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

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

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

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

1 / 106

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

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

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

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

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

Πρόλογος Μέρος Ι Μια βόλτα στις βάσεις δεδομένων Μια βόλτα στις βάσεις δεδομένων...25

Πρόλογος Μέρος Ι Μια βόλτα στις βάσεις δεδομένων Μια βόλτα στις βάσεις δεδομένων...25 1 Περιεχόμενα Πρόλογος... 21 Μέρος Ι Μια βόλτα στις βάσεις δεδομένων... 23 1 Μια βόλτα στις βάσεις δεδομένων...25 1.1 Η πρώτη βάση δεδομένων... 26 1.1.1 Άλλοι τρόποι... 26 1.1.2 Απαιτήσεις της εφαρμογής...

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

1 / 97

1 / 97 Τα πρώτα ερωτήματα SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 97 Περιεχόμενα 1 Εισαγωγικά σχόλια και παρατηρήσεις 2 Απλά ερωτήματα προβολής, επιλέγοντας στήλες από ένα πίνακα

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) ΤΕΙ ΔυτικήςΜακεδονίας

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) ΤΕΙ ΔυτικήςΜακεδονίας Structured Query Language (SQL) Δρ. Καρβούνης Ευάγγελος ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) ΤΕΙ ΔυτικήςΜακεδονίας 1 / 97 Περιεχόμενα 1 Εισαγωγικά σχόλια και παρατηρήσεις 2 Απλά ερωτήματα

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

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

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

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

Σχεσιακή Άλγεβρα Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 15 Επισκόπηση 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 astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 85 Περιεχόμενα

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

Οι εντολές 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 Δημιουργία πινάκων με την

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

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

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

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

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

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

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

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

Τμήμα Πληροφορικής ΑΠΘ Βάσεις Δεδομένων Εργαστήριο ΙΙI Τμήμα Πληροφορικής ΑΠΘ 2013-2014 2 Σκοπός του 3 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: η μελέτη ερωτημάτων επιλογής, προβολής και απλών συνδέσεων σε δύο ή περισσότερες

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

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

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

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

Σχεσιακή Άλγεβρα Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr/stavrakoudis/?iid=154 Άνοιξη 2014 1 / 88 Σχεσιακή άλγεβρα Η σχεσιακή άλγεβρα είναι μια διαδικαστική (procedural) γλώσσα. Διαθέτει

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

1 / 106

1 / 106 Σχεσιακή Άλγεβρα Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr/stavrakoudis/?iid=154 Άνοιξη 2016 1 / 106 Σχεσιακή άλγεβρα Η σχεσιακή άλγεβρα είναι μια διαδικαστική (procedural) γλώσσα. Διαθέτει

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

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

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

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

SQL Data Manipulation Language

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

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

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

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

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

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

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

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

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

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

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

Εννοιολογικός σχεδιασμός βάσεων δεδομένων Το μοντέλο Οντοτήτων/Συσχετίσεων Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 Περιεχόμενα 1 Γενικά για οντότητες και συσχετίσεις 2 Διαγράμματα

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

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης Περιεχόμενα 1 Γενική περιγραφή του προβλήματος 2 Μοντελοποίηση Ο/Σ 3 Σχεσιακό μοντέλο, SQL 4 Ερωτήματα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους ΘΕΜΑΤΑ A Οι παρακάτω πίνακες αποτελούνται από τα εξής πεδία : ΕΡΓΑΖΟΜΕΝΟΣ : ΑΦΜ, ΕΠΙΘΕΤΟ, ΟΝΟΜΑ, ΤΗΛ, ΟΔΟΣ, ΠΟΛΗ,ΜΙΣΘΟΣ, ΚΤ ΤΜΗΜΑ : ΚΤ, ΑΦΜ, ΤΙΤΛΟΣ_ΤΜΗΜΑΤΟΣ, ΤΗΛ ΕΡΓΑ : ΚΕΡ, ΠΕΡΙΓΡΑΦΗ, ΤΟΠΟΘΕΣΙΑ, ΠΡΟΫΠΟΛΟΓΙΣΜΟΣ

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

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

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ 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» ΕΞΑΜΗΝΟ: ΣΤ Δρ. Κωνσταντίνος Χ. Γιωτόπουλος Πάτρα, Νοέμβριος 2010 SQL Create Table Η CREATE TABLE

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

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

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

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

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

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

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

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

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

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

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

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

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

Αντώνης Χρυσόπουλος Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης MYSQL PHP ADVANCED. Χέρι χέρι με τον Καρατζαφέρη

Αντώνης Χρυσόπουλος Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης MYSQL PHP ADVANCED. Χέρι χέρι με τον Καρατζαφέρη Αντώνης Χρυσόπουλος Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης MYSQL PHP ADVANCED Χέρι χέρι με τον Καρατζαφέρη Τα μάθατε καλέ κυρία? 1. Ψευδώνυμα Πινάκων 2. Ένωση Πίνακα με τον εαυτό του 3. Ομαδοποίηση 4.

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

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

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

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

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

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

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

Κεφάλαιο 10 Άλλες Πράξεις Θεωρίας Συνόλων

Κεφάλαιο 10 Άλλες Πράξεις Θεωρίας Συνόλων Κεφάλαιο 10 Άλλες Πράξεις Θεωρίας Συνόλων Σύνοψη Στο παρόν κεφάλαιο θα παρουσιαστεί η πράξη της διαίρεσης. Στο κομμάτι των ασκήσεων θα γίνει συνολική επισκόπηση ερωτημάτων που εμπλέκουν πράξεις συνόλων.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ασφάλεια δεδομένων και SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 Περιεχόμενα 1 Χρήστες και συνθηματικό πρόσβασης 2 Εκχώρηση και αναίρεση δικαιωμάτων 3 Κρυπτογράφηση 2 / 82

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων Ι SQL Μέρος 2 ο. Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ Βάσεις Δεδομένων Ι - 04 SQL Μέρος 2 ο Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Ερωτήματα Πολλαπλών Σχέσεων (multi-relation queries) Θα διαπιστώσετε στην πορεία ότι τα περισσότερο

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

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

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

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

ΟΝΟΜΑΤΕΠΩΝΥΜΟ : Αντικείμενα: Βάσεις δεδομένων, σχέσεις μεταξύ πινάκων, ερωτήματα, φόρμες και αναφορές.

ΟΝΟΜΑΤΕΠΩΝΥΜΟ : Αντικείμενα: Βάσεις δεδομένων, σχέσεις μεταξύ πινάκων, ερωτήματα, φόρμες και αναφορές. Σχολή Διοίκησης και Οικονομίας (ΣΔΟ) Τμήμα Λογιστικής και Χρηματοοικονομικής Διδάσκων: Δρ. Γκόγκος Χρήστος Μάθημα: Πληροφορική ΙI (εργαστήριο) Ακαδημαϊκό έτος 2013-2014 εαρινό εξάμηνο ΟΝΟΜΑΤΕΠΩΝΥΜΟ : ΑΡΙΘΜΟΣ

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

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

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

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

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

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

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

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

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

Βάσεις Περιβαλλοντικών Δεδομένων

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

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

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

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

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

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

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

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

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

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

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

Κανονικοποίηση βάσεων δεδομένων 1 η, 2 η και 3 η κανονική μορφή Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 Περιεχόμενα 1 Πρώτη κανονική μορφή 2 Συναρτησιακές εξαρτήσεις 3 Δεύτερη

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

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

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

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

Περιεχόμενα. Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Πρόλογος... 33

Περιεχόμενα. Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Πρόλογος... 33 Περιεχόμενα Πρόλογος... 33 Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων... 39 1 Μια βόλτα στις βάσεις δεδομένων... 41 1.1 Η πρώτη βάση δεδομένων... 42 1.1.1 Άλλοι τρόποι... 42 1.1.2 Απαιτήσεις της εφαρμογής...

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

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

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

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

Παράδειγμα 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)

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

Λογικές Συναρτήσεις με το Excel/OpenCalc Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Αλήθεια ή ψέμα Μια οποιαδήποτε παράσταση μπορεί να χαρακτηριστεί ως αληθής ή ψευδής. Αληθής: TRUE ή 1 Ψευδής:

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

Βάσεις Δεδομένων (Ε) Εισαγωγή στην υλοποίηση σχεσιακών βάσεων δεδομένων

Βάσεις Δεδομένων (Ε) Εισαγωγή στην υλοποίηση σχεσιακών βάσεων δεδομένων Βάσεις Δεδομένων (Ε) Εισαγωγή στην υλοποίηση σχεσιακών βάσεων δεδομένων Εισαγωγή στη χρήση της γλώσσας SQL και στον προγραμματισμό εφαρμογών βάσεων δεδομένων Θα χρησιμοποιήσουμε το Σχεσιακό Σύστημα (προϊόν)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος cman@unipi.gr Εισαγωγή στην SQL (Structured Query Language) H SQL είναι γλώσσα ορισμού και χειρισμού δεδομένων για

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

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

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

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

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

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

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

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

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

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

SQL Server 2005 Tutorial Αςκήςεισ. Γεράσιμος Μαρκέτος InfoLab, Τμήμα Ρληροφορικήσ, Ρανεπιςτήμιο Ρειραιϊσ (http://infolab.cs.unipi.

SQL Server 2005 Tutorial Αςκήςεισ. Γεράσιμος Μαρκέτος InfoLab, Τμήμα Ρληροφορικήσ, Ρανεπιςτήμιο Ρειραιϊσ (http://infolab.cs.unipi. SQL Server 2005 Tutorial Αςκήςεισ Γεράσιμος Μαρκέτος InfoLab, Τμήμα Ρληροφορικήσ, Ρανεπιςτήμιο Ρειραιϊσ (http://infolab.cs.unipi.gr/) Εργαςτηριακή Άςκηςη Σχεδιάςτε ςτον SQL Server 2005 μια βάςη δεδομζνων

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