1 / 105

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

Download "1 / 105"

Transcript

1 Ερωτήματα SQL με σύζευξη πινάκων Αθανάσιος Σταυρακούδης Άνοιξη / 105

2 Περιεχόμενα 1 Γενικά για τη σύζευξη πινάκων 2 Καρτεσιανό γινόμενο και θ σύζευξη 3 Φυσική σύζευξη πινάκων στην SQL 4 Εσωτερική σύζευξη πινάκων στην SQL 5 Εξωτερική σύζευξη πινάκων στην SQL 2 / 105

3 Σκοπός του μαθήματος 1 Εκτελείτε ερωτήματα ανάσυρσης δεδομένων από πολλούς πίνακες. 2 Εκτελείτε ερωτήματα που αντιστοιχούν στις σχεσιακές πράξεις καρτεσιανού γινομένου και σύζευξης. 3 Εφαρμόζετε κατάλληλες συνδέσεις (JOIN) πινάκων. 4 Αντιληφθείτε τις διαφορές και ομοιότητες ανάμεσα στους διαφορετικούς τύπους συζεύξεων. 3 / 105

4 Το σχήμα της βάσης company departments(depid, depname, manager) employees(empid, firstname, lastname, depid, salary, hiredate) projects(proid, title, budget, startdate, enddate, progress) workson(empid, proid) departments, τα τμήματα της εταιρείας employees, οι υπάλληλοι της εταιρείας projects, τα έργα που εκτελεί η εταιρεία workson, η απασχόληση των υπαλλήλων στα έργα 4 / 105

5 Το σχήμα της βάσης company departments, τα τμήματα της εταιρείας employees, οι υπάλληλοι της εταιρείας projects, τα έργα που εκτελεί η εταιρεία workson, η απασχόληση των υπαλλήλων στα έργα 5 / 105

6 Πρωτεύοντα και ξένα κλειδιά 1 Κάθε πίνακας έχει ένα πρωτεύον κλειδί. 2 Το πρωτεύον κλειδί μπορεί να είναι απλό (ένα πεδίο), ή σύνθετο (συνδυασμός πεδίων). 3 Κάθε εγγραφή ενός πίνακα μπορεί να προσδιοριστεί με τη χρήση του πρωτεύοντος κλειδιού. 4 Η σύνδεση δεδομένων από διαφορετικούς πίνακες σύζευξη γίνεται (συνήθως) με τη χρήση του ξένου κλειδιού, 5 Ενας πίνακας μπορεί να έχει πολλά ξένα κλειδιά ή να μην έχει κανένα. 6 / 105

7 Συσχέτιση departments και employees Ν:1 Ο πίνακας departments έχει πρωτεύον κλειδί το πεδίο depid. Ο πίνακας employees έχει πρωτεύον κλειδί το πεδίο empid. Ο πίνακας employees έχει ξένο κλειδί το πεδίο depid, το οποίο παίρνει τιμές που αναφέρονται στις τιμές του πεδίου depid του πίνακα departments: departments.depid = employees.depid 7 / 105

8 Συσχέτιση departments και employees Ν:1 Ο πίνακας departments έχει πρωτεύον κλειδί το πεδίο depid. Ο πίνακας employees έχει πρωτεύον κλειδί το πεδίο empid. Ο πίνακας employees έχει ξένο κλειδί το πεδίο depid, το οποίο παίρνει τιμές που αναφέρονται στις τιμές του πεδίου depid του πίνακα departments: departments.depid = employees.depid Το πεδίο employees.depid δεν είναι πρωτεύον κλειδί και δεν παίρνει μοναδικές τιμές: πολλοί υπάλληλοι εργάζονται στο ίδιο τμήμα. Οι πίνακες departments και employees συσχετίζονται μεταξύ τους με συσχέτιση Πολλά προς Ενα. 8 / 105

9 Συσχέτιση departments - employees 9 / 105

10 Συσχέτιση departments και employees 1:1 Ο πίνακας departments έχει πρωτεύον κλειδί το πεδίο depid. Ο πίνακας employees έχει πρωτεύον κλειδί το πεδίο empid. Ο πίνακας departments έχει ξένο κλειδί το πεδίο manager, το οποίο παίρνει τιμές που αναφέρονται στις τιμές του πεδίου empid του πίνακα employees: departments.manager = employees.empid 10 / 105

11 Συσχέτιση departments και employees 1:1 Ο πίνακας departments έχει πρωτεύον κλειδί το πεδίο depid. Ο πίνακας employees έχει πρωτεύον κλειδί το πεδίο empid. Ο πίνακας departments έχει ξένο κλειδί το πεδίο manager, το οποίο παίρνει τιμές που αναφέρονται στις τιμές του πεδίου empid του πίνακα employees: departments.manager = employees.empid Το πεδίο departments.manager δεν είναι πρωτεύον κλειδί αλλά παίρνει μοναδικές τιμές (UNIQUE). Οι πίνακες departments και employees συσχετίζονται μεταξύ τους με συσχέτιση Ενα προς Ενα. 11 / 105

12 Συσχέτιση employees και projects Ν:Ν 1 Ο πίνακας projects έχει πρωτεύον κλειδί το πεδίο proid. 2 Ο πίνακας workson έχει πρωτεύον κλειδί το συνδυασμό των πεδίων empid και proid (σύνθετο κλειδί). 3 Το πεδίο empid είναι ξένο κλειδί στον πίνακα workson και αναφέρεται στο πεδίο employees.empid. 4 Το πεδίο proid είναι ξένο κλειδί στον πίνακα workson και αναφέρεται στο πεδίο projects.proid. 5 Ενας υπάλληλος απασχολείται σε πολλά έργα, ένα έργο απασχολεί πολλούς υπαλλήλους, επομένως η συσχέτιση είναι Πολλά προς Πολλά. 6 Η σύζευξη των πινάκων employees και projects γίνεται μέσω του πίνακα workson. 12 / 105

13 Το σχήμα της βάσης company (MySQL) departments, τα τμήματα της εταιρείας employees, οι υπάλληλοι της εταιρείας projects, τα έργα που εκτελεί η εταιρεία workson, η απασχόληση των υπαλλήλων στα έργα 13 / 105

14 Το σχήμα της βάσης company (.odp) departments, τα τμήματα της εταιρείας employees, οι υπάλληλοι της εταιρείας projects, τα έργα που εκτελεί η εταιρεία workson, η απασχόληση των υπαλλήλων στα έργα 14 / 105

15 Περιεχόμενα 1 Γενικά για τη σύζευξη πινάκων 2 Καρτεσιανό γινόμενο και θ σύζευξη 3 Φυσική σύζευξη πινάκων στην SQL 4 Εσωτερική σύζευξη πινάκων στην SQL 5 Εξωτερική σύζευξη πινάκων στην SQL 15 / 105

16 Καρτεσιανό γινόμενο Καρτεσιανό γινόμενο: Ο συνδυασμός των πινάκων departments και employees departments employees λέγεται καρτεσιανό γινόμενο, και περιλαμβάνει όλους τους συνδυασμούς των εγγραφών των πινάκων departments και employees. 16 / 105

17 Καρτεσιανό γινόμενο Καρτεσιανό γινόμενο: Ο συνδυασμός των πινάκων departments και employees departments employees λέγεται καρτεσιανό γινόμενο, και περιλαμβάνει όλους τους συνδυασμούς των εγγραφών των πινάκων departments και employees. Στο αποτέλεσμα περιλαμβάνονται όλα τα πεδία των πινάκων departments και employees. Οι εγγραφές του αποτελέσματος περιλαμβάνει όλους τους συνδυασμούς των εγγραφών των πινάκων departments και employees. 17 / 105

18 Καρτεσιανό γινόμενο departments employees Ολες οι δυνατές συνδέσεις ανάμεσα στα τμήματα και σε δείγμα 3 υπαλλήλων. Μόνο οι κόκκινες γραμμές αντιστοιχούν στην πραγματικότητα: (1, 109), (6, 102), (2,153). Τα καρτεσιανό γινόμενο απεικονίζει όλα τα πιθανά ενδεχόμενα, όχι απαραίτητα τα πραγματικά γεγονότα. departments employees / 105

19 Καρτεσιανό γινόμενο στην SQL Καρτεσιανό γινόμενο τμημάτων και υπαλλήλων departments employees 1 SELECT * 2 FROM departments, employees; Η σύνταξη στην SQL είναι απλή: γράφουμε τους πίνακες μετά τον όρο FROM και τους χωρίζουμε με κόμμα. Μπορούμε να γράψουμε περισσότερο από δύο πίνακες. Προσοχή! το αποτέλεσμα μπορεί να περιέχει μεγάλο όγκο εγγραφών, πχ δύο πίνακες με 6 και 30 εγγραφές αντίστοιχα δίνουν στο αποτέλεσμα 6 30 = 180 εγγραφές. 19 / 105

20 Καρτεσιανό γινόμενο στην SQL92, CROSS JOIN 20 / 105

21 Καρτεσιανό γινόμενο στην SQL92, CROSS JOIN Με χρήση του όρου CROSS JOIN 1 SELECT * 2 FROM departments CROSS JOIN employees; 21 / 105

22 Καρτεσιανό γινόμενο στην SQL92, CROSS JOIN Με χρήση του όρου CROSS JOIN 1 SELECT * 2 FROM departments CROSS JOIN employees; Η απλά JOIN 1 SELECT * 2 FROM departments JOIN employees; 22 / 105

23 Καρτεσιανό γινόμενο στην SQL92, CROSS JOIN Με χρήση του όρου CROSS JOIN 1 SELECT * 2 FROM departments CROSS JOIN employees; Η απλά JOIN 1 SELECT * 2 FROM departments JOIN employees; Οι δύο εκφράσεις είναι ισοδύναμες, θα επιστρέψουν το ίδιο αποτέλεσμα. Προτιμούμε τον πρώτο τρόπο CROSS JOIN, δηλώνει με πιο καθαρό τρόπο τη σύζευξη με βάση το καρτεσιανό γινόμενο. 23 / 105

24 Αποτέλεσμα καρτεσιανού γινομένου 1 SELECT * 2 FROM departments, employees; 3 4 depid depname manager empid firstname lastname depid salary hiredate Διοίκ./Επιβ Νικηφόρος Διαμαντίδης Οικον./Λογ Νικηφόρος Διαμαντίδης Επιστημ./Μηχ Νικηφόρος Διαμαντίδης Εξωτ. συνερ Νικηφόρος Διαμαντίδης Γραμματείας Νικηφόρος Διαμαντίδης Μάνατζ./Πωλ Νικηφόρος Διαμαντίδης Διοίκ./Επιβ Μαρία Αθανασίου Οικον./Λογ Μαρία Αθανασίου Επιστημ./Μηχ Μαρία Αθανασίου rows in set (0.00 sec) 24 / 105

25 Επιλογή πεδίων από πίνακες 1 SELECT departments.depid, depname, empid, lastname 2 FROM departments, employees; 3 4 depid depname empid lastname Διοίκ./Επιβ. 102 Διαμαντίδης 7 2 Οικον./Λογ. 153 Διαμαντίδης 8 3 Επιστημ./Μηχ. 431 Διαμαντίδης 9 4 Εξωτ. συνερ. 230 Διαμαντίδης 10 5 Γραμματείας 234 Διαμαντίδης 11 6 Μάνατζ./Πωλ. 189 Διαμαντίδης 12 1 Διοίκ./Επιβ. 109 Αθανασίου 13 2 Οικον./Λογ. 153 Αθανασίου 14 3 Επιστημ./Μηχ. 431 Αθανασίου rows in set (0.00 sec) 25 / 105

26 Επιλογή πεδίων από πίνακες 1 SELECT departments.depid, depname, empid, lastname 2 FROM departments, employees; Τι προσέχουμε: 1 Οποιοδήποτε όνομα πεδίου/στήλης υπάρχει στους πίνακες που ακολουθούν τον όρο FROM μπορούν να τοποθετηθούν μετά τον όρο SELECT. 2 Σε περίπτωση που το όνομα πεδίου είναι μοναδικό σε όλους τους πίνακες μπορούμε να το γράψουμε ως έχει, πχ depname ή lastname. 3 Αν το ίδιο όνομα πεδίου υπάρχει σε δύο διαφορετικούς πίνακες, τότε πρέπει να γραφεί με τη μορφή πίνακας.πεδίο. 26 / 105

27 Μετονομασία πινάκων Τι προσέχουμε: 1 SELECT d.depid, d.depname, e.empid, e.lastname 2 FROM departments d, employees e; 1 Η χρήση ψευδωνύμων είναι προαιρετική. 2 Βολεύει όταν το όνομα του πίνακα γράφεται πολλές φορές. 27 / 105

28 Μετονομασία πινάκων Τι προσέχουμε: 1 SELECT d.depid, d.depname, e.empid, e.lastname 2 FROM departments d, employees e; 1 Η χρήση ψευδωνύμων είναι προαιρετική. 2 Βολεύει όταν το όνομα του πίνακα γράφεται πολλές φορές. Ιδιοι κανόνες στην SQL92: 1 SELECT d.depid, d.depname, e.empid, e.lastname 2 FROM departments d CROSS JOIN employees e; 28 / 105

29 Καρτεσιανό γινόμενο υπαλλήλων και έργων 1 SELECT e.empid, p.proid 2 FROM employees e, projects p; 3 4 empid proid rows in set (0.00 sec) 29 / 105

30 Καρτεσιανού γινόμενο υπαλλήλων και έργων 1 SELECT e.empid, p.proid 2 FROM employees e, projects p; 30 / 105

31 Καρτεσιανού γινόμενο υπαλλήλων και έργων 1 SELECT e.empid, p.proid 2 FROM employees e, projects p; 1 Το αποτέλεσμα συνδέει όλους τους υπαλλήλους με όλα τα έργα. 2 Είναι πιθανό ένας υπάλληλος να απασχολείται σε όλα τα έργα, αλλά αυτό δεν συμβαίνει υποχρεωτικά για όλους τους υπαλλήλους. 3 Είναι πιθανό ένα έργο να απασχολεί όλους τους υπαλλήλους, αλλά αυτό δεν συμβαίνει υποχρεωτικά για όλα τα έργα. 4 Το καρτεσιανό γινόμενο μας δίνει όλα τα πιθανά ενδεχόμενα, δεν μας αποκαλύπτει το «τι συμβαίνει». 31 / 105

32 Σύζευξη θήτα στην SQL Σύζευξη τμημάτων και υπαλλήλων 1 SELECT * departments departments.depid=employees.depid employees 2 FROM departments, employees 3 WHERE departments.depid = employees.depid; 32 / 105

33 Σύζευξη θήτα στην SQL Σύζευξη τμημάτων και υπαλλήλων 1 SELECT * departments departments.depid=employees.depid employees 2 FROM departments, employees 3 WHERE departments.depid = employees.depid; 1 Προσέξτε τη γραφή πίνακας.πεδίο. 2 Στη φράση WHERE μπορούν να προστεθούν επιπλέον περιορισμοί με λογική σύζευξη (AND). 3 Η θήτα σύζευξη είναι δυνατό να πραγματοποιηθεί και με πεδία που δεν έχουν το ίδιο όνομα. 4 Στο αποτέλεσμα εμφανίζονται μόνο οι εγγραφές για τις οποίες η συνθήκη είναι TRUE. 33 / 105

34 θ σύζευξη, επιπλέον παράδειγμα Τμήματα με υπαλλήλους με μισθό πάνω από SELECT DISTINCT d.depname 2 FROM departments d, employees e 3 WHERE d.depid = e.depid 4 AND e.salary > 1500; 34 / 105

35 θ σύζευξη, επιπλέον παράδειγμα Τμήματα με υπαλλήλους με μισθό πάνω από SELECT DISTINCT d.depname 2 FROM departments d, employees e 3 WHERE d.depid = e.depid 4 AND e.salary > 1500; 1 Περιορισμός εγγραφών της θ σύζευξης με βάση μια παράσταση σύγκρισης. 2 Στο αποτέλεσμα εμφανίζονται μόνο οι εγγραφές για τις οποίες όλες οι είναι TRUE. 3 Η θ σύζευξη δεν έχει νόημα να ακολουθείται από λογική διάζευξη OR. 35 / 105

36 θ σύζευξη στην SQL 1:1 Να βρεθούν τα ονοματεπώνυμα των υπαλλήλων που είναι διευθυντές τμημάτων 1 SELECT firstname, lastname 2 FROM departments, employees 3 WHERE departments.manager = employees.empid; 36 / 105

37 θ σύζευξη στην SQL 1:1 Να βρεθούν τα ονοματεπώνυμα των υπαλλήλων που είναι διευθυντές τμημάτων 1 SELECT firstname, lastname 2 FROM departments, employees 3 WHERE departments.manager = employees.empid; Να βρεθεί το ονοματεπώνυμο του υπαλλήλου που διευθύνει το τμήμα 2 1 SELECT firstname, lastname 2 FROM departments, employees 3 WHERE departments.manager = employees.empid 4 AND departments.depid = 2; 37 / 105

38 θ σύζευξη στην SQL Ν:Ν Να βρεθεί ο τίτλος των έργων και τα ονοματεπώνυμα των υπαλλήλων που συμμετέχουν σε αυτά. 1 SELECT title, firstname, lastname 2 FROM employees, workson, projects 3 WHERE employees.empid = workson.empid 4 AND workson.proid = projects.proid; 38 / 105

39 θ σύζευξη στην SQL Ν:Ν Να βρεθεί ο τίτλος των έργων και τα ονοματεπώνυμα των υπαλλήλων που συμμετέχουν σε αυτά. 1 SELECT title, firstname, lastname 2 FROM employees, workson, projects 3 WHERE employees.empid = workson.empid 4 AND workson.proid = projects.proid; Να βρεθεί ο τίτλος των έργων και τα ονοματεπώνυμα των υπαλλήλων που συμμετέχουν σε αυτά. 1 SELECT title, firstname, lastname 2 FROM employees, projects 3 WHERE employees.empid = workson.empid 4 AND workson.proid = projects.proid; 39 / 105

40 θ ανισοσύζευξη στην SQL Να βρεθούν τα ονοματεπώνυμα των υπαλλήλων που προσλήφθηκαν μετά την έναρξη του έργου με κωδικό SELECT firstname, lastname 2 FROM employees, workson, projects 3 WHERE employees.empid = workson.empid 4 AND workson.proid = projects.proid 5 AND employees.hiredate > projects.startdate 6 AND projects.proid = 21; 40 / 105

41 θ ανισοσύζευξη στην SQL Να βρεθούν τα ονοματεπώνυμα των υπαλλήλων που προσλήφθηκαν μετά την έναρξη του έργου με κωδικό SELECT firstname, lastname 2 FROM employees, workson, projects 3 WHERE employees.empid = workson.empid 4 AND workson.proid = projects.proid 5 AND employees.hiredate > projects.startdate 6 AND projects.proid = 21; Να βρεθούν τα ονοματεπώνυμα των υπαλλήλων που προσλήφθηκαν μετά την έναρξη του έργου με κωδικό SELECT firstname, lastname 2 FROM employees, projects 3 WHERE employees.hiredate > projects.startdate 4 AND projects.proid = 21; 41 / 105

42 Μετονομασία πινάκων Με χρήση του AS 1 FROM employees AS e Χωρίς χρήση του AS 1 FROM employees e 42 / 105

43 Μετονομασία πινάκων Με χρήση του AS 1 FROM employees AS e Χωρίς χρήση του AS 1 FROM employees e Στη σύζευξη 1 FROM departments d, employees e 43 / 105

44 Μετονομασία πινάκων Με χρήση του AS 1 FROM employees AS e Χωρίς χρήση του AS 1 FROM employees e Στη σύζευξη 1 FROM departments d, employees e Στο ερώτημα 1 SELECT e.firstname, e.lastname 2 FROM employees e, projects p 3 WHERE e.hiredate > p.startdate 4 AND p.proid = 21; 44 / 105

45 Περιεχόμενα 1 Γενικά για τη σύζευξη πινάκων 2 Καρτεσιανό γινόμενο και θ σύζευξη 3 Φυσική σύζευξη πινάκων στην SQL 4 Εσωτερική σύζευξη πινάκων στην SQL 5 Εξωτερική σύζευξη πινάκων στην SQL 45 / 105

46 Φυσική σύζευξη στην SQL Σύζευξη τμημάτων και υπαλλήλων departments employees 1 SELECT * 2 FROM departments NATURAL JOIN employees; 46 / 105

47 Φυσική σύζευξη στην SQL Σύζευξη τμημάτων και υπαλλήλων 1 SELECT * departments employees 2 FROM departments NATURAL JOIN employees; 1 Απαιτείται η ύπαρξη ενός τουλάχιστον κοινού πεδίου, εδώ το πεδίο depid. 2 Μόνο οι εγγραφές όπου οι τιμές του κοινού πεδίου ταυτίζονται υπάρχουν στο αποτέλεσμα του ερωτήματος. 3 Το κοινό γνώρισμα υπάρχει μόνο μία φορά στο αποτέλεσμα. 47 / 105

48 Αποτέλεσμα φυσικής σύζευξης 1 SELECT * 2 FROM departments NATURAL JOIN employees; 3 4 depid depname manager empid firstname lastname salary hiredate Διοίκ./Επιβ Μαρία Αθανασίου Διοίκ./Επιβ Κρινιώ Μαροπούλου Διοίκ./Επιβ Κυριάκος Ρούσσης Οικον./Λογ Μαρία Αλεβιζάτου Οικον./Λογ Δέσποινα Παπαδοπούλου rows in set (0.00 sec) 48 / 105

49 Προβολή και φυσική σύζευξη στην SQL Να βρεθεί ο κωδικός και το επώνυμο των υπαλλήλων, καθώς και το όνομα του τμήματος στο οποίο απασχολούνται 49 / 105

50 Προβολή και φυσική σύζευξη στην SQL Να βρεθεί ο κωδικός και το επώνυμο των υπαλλήλων, καθώς και το όνομα του τμήματος στο οποίο απασχολούνται Π empid,lastname,depname (departments employees) 50 / 105

51 Προβολή και φυσική σύζευξη στην SQL Να βρεθεί ο κωδικός και το επώνυμο των υπαλλήλων, καθώς και το όνομα του τμήματος στο οποίο απασχολούνται Π empid,lastname,depname (departments employees) 1 SELECT empid, lastname, depname 2 FROM departments NATURAL JOIN employees; 51 / 105

52 Φυσική σύζευξη τριών πινάκων στην SQL Να βρεθεί το ονοματεπώνυμο των υπαλλήλων, ο κωδικός και ο τίτλος του έργου που απασχολούνται 52 / 105

53 Φυσική σύζευξη τριών πινάκων στην SQL Να βρεθεί το ονοματεπώνυμο των υπαλλήλων, ο κωδικός και ο τίτλος του έργου που απασχολούνται Π firstname,lastname,proid,title (employees workson projects) 53 / 105

54 Φυσική σύζευξη τριών πινάκων στην SQL Να βρεθεί το ονοματεπώνυμο των υπαλλήλων, ο κωδικός και ο τίτλος του έργου που απασχολούνται Π firstname,lastname,proid,title (employees workson projects) 1 SELECT firstname, lastname, proid, title 2 FROM employees NATURAL JOIN workson 3 NATURAL JOIN projects; 54 / 105

55 Φυσική σύζευξη ή καρτεσιανό γινόμενο; departments projects = departments projects Π depid,proid (employees projects) 1 SELECT depid, proid 2 FROM departments NATURAL JOIN projects; 55 / 105

56 Φυσική σύζευξη ή καρτεσιανό γινόμενο; departments projects = departments projects Π depid,proid (employees projects) 1 SELECT depid, proid 2 FROM departments NATURAL JOIN projects; depid proid Το αποτέλεσμα είναι ίδιο με αυτό του φυσικού γινομένου (ειδική περίπτωση). 2 Αν δεν υπάρχει κοινό πεδίο στους πίνακες της φυσικής σύζευξης τότε φυσική σύζευξη και καρτεσιανό γινόμενο θα δώσουν το ίδιο αποτέλεσμα. 56 / 105

57 Περιορισμός εγγραφών στη φυσική σύζευξη Να βρεθεί ο κωδικός και το επώνυμο των υπαλλήλων που απασχολούνται στο έργο με κωδικό 5 Π empid,lastname (σ proid=5 (employees workson)) 57 / 105

58 Περιορισμός εγγραφών στη φυσική σύζευξη Να βρεθεί ο κωδικός και το επώνυμο των υπαλλήλων που απασχολούνται στο έργο με κωδικό 5 Π empid,lastname (σ proid=5 (employees workson)) 1 SELECT empid, lastname 2 FROM employees NATURAL JOIN workson 3 WHERE proid = 5; 58 / 105

59 Περιορισμός εγγραφών στη φυσική σύζευξη Να βρεθεί ο κωδικός και το επώνυμο των υπαλλήλων που απασχολούνται στο έργο με κωδικό 5 Π empid,lastname (σ proid=5 (employees workson)) 1 SELECT empid, lastname 2 FROM employees NATURAL JOIN workson 3 WHERE proid = 5; Να βρεθεί ο κωδικός και το επώνυμο των υπαλλήλων που απασχολούνται στο έργο με κωδικό 5 Π empid,lastname (σ proid=5 (employees)) 1 SELECT empid, lastname 2 FROM employees 3 WHERE proid = 5; 59 / 105

60 Περιεχόμενα 1 Γενικά για τη σύζευξη πινάκων 2 Καρτεσιανό γινόμενο και θ σύζευξη 3 Φυσική σύζευξη πινάκων στην SQL 4 Εσωτερική σύζευξη πινάκων στην SQL 5 Εξωτερική σύζευξη πινάκων στην SQL 60 / 105

61 Εσωτερική σύζευξη στην SQL Σύζευξη τμημάτων και υπαλλήλων 1 SELECT * 2 FROM departments INNER JOIN employees 3 ON departments.depid = employees.depid; 61 / 105

62 Εσωτερική σύζευξη στην SQL Σύζευξη τμημάτων και υπαλλήλων 1 SELECT * 2 FROM departments INNER JOIN employees 3 ON departments.depid = employees.depid; 62 / 105

63 Εσωτερική σύζευξη στην SQL Σύζευξη τμημάτων και υπαλλήλων 1 SELECT * 2 FROM departments INNER JOIN employees 3 ON departments.depid = employees.depid; 1 Οι δύο πίνακες ενώνονται με τον όρο INNER JOIN. 63 / 105

64 Εσωτερική σύζευξη στην SQL Σύζευξη τμημάτων και υπαλλήλων 1 SELECT * 2 FROM departments INNER JOIN employees 3 ON departments.depid = employees.depid; 1 Οι δύο πίνακες ενώνονται με τον όρο INNER JOIN. 2 Αντί για WHERE υπάρχει (υποχρεωτικά) μετά το INNER JOIN η φράση ON. 64 / 105

65 Εσωτερική σύζευξη στην SQL Σύζευξη τμημάτων και υπαλλήλων 1 SELECT * 2 FROM departments INNER JOIN employees 3 ON departments.depid = employees.depid; 1 Οι δύο πίνακες ενώνονται με τον όρο INNER JOIN. 2 Αντί για WHERE υπάρχει (υποχρεωτικά) μετά το INNER JOIN η φράση ON. 3 Το πεδίο σύζευξης (εδώ το depid) υπάρχει δύο φορές στο αποτέλεσμα. 65 / 105

66 Εσωτερική σύζευξη στην SQL Σύζευξη τμημάτων και υπαλλήλων 1 SELECT * 2 FROM departments INNER JOIN employees 3 ON departments.depid = employees.depid; 1 Οι δύο πίνακες ενώνονται με τον όρο INNER JOIN. 2 Αντί για WHERE υπάρχει (υποχρεωτικά) μετά το INNER JOIN η φράση ON. 3 Το πεδίο σύζευξης (εδώ το depid) υπάρχει δύο φορές στο αποτέλεσμα. 4 Το πεδίο σύζευξης μπορεί να έχει διαφορετικό όνομα στους δύο πίνακες. 66 / 105

67 Ισοδυναμία εσωτερικής και θ σύζευξης στην SQL Σύζευξη τμημάτων και υπαλλήλων με εσωτερική σύζευξη 1 SELECT * 2 FROM departments INNER JOIN employees 3 ON departments.depid = employees.depid; Σύζευξη τμημάτων και υπαλλήλων με θ σύζευξη 1 SELECT * 2 FROM departments JOIN employees 3 WHERE departments.depid = employees.depid; 67 / 105

68 Οχι στις υπερβολές Σύζευξη τμημάτων και υπαλλήλων με εσωτερική και θ σύζευξη 1 SELECT * 2 FROM departments INNER JOIN employees 3 ON departments.depid = employees.depid 4 WHERE departments.depid = employees.depid; 68 / 105

69 Οχι στις υπερβολές Σύζευξη τμημάτων και υπαλλήλων με εσωτερική και θ σύζευξη 1 SELECT * 2 FROM departments INNER JOIN employees 3 ON departments.depid = employees.depid 4 WHERE departments.depid = employees.depid; 1 Περιττό. 2 Δεν είναι συντακτικά λάθος, είναι όμως εννοιολογικά μπερδεμένο. 3 Μία φορά αρκεί, η πολυλογία φέρνει λάθη. 4 Δυσκολία συντήρησης του κώδικα. 69 / 105

70 Μετονομασία πινάκων Με χρήση του AS 1 FROM employees AS e Χωρίς χρήση του AS 1 FROM employees e 70 / 105

71 Μετονομασία πινάκων Με χρήση του AS 1 FROM employees AS e Χωρίς χρήση του AS 1 FROM employees e Στη σύζευξη 1 FROM departments d INNER JOIN employees e 71 / 105

72 Μετονομασία πινάκων Με χρήση του AS 1 FROM employees AS e Χωρίς χρήση του AS 1 FROM employees e Στη σύζευξη 1 FROM departments d INNER JOIN employees e Στο ερώτημα 1 SELECT * 2 FROM departments d INNER JOIN employees e; 72 / 105

73 Παράδειγμα INNER JOIN 1 Να δοθεί το επώνυμο των υπαλλήλων και το όνομα του τμήματος στο οποίο εργάζονται Π firstname,lastname,depname (departments departments.depid=employees.depid employees) 73 / 105

74 Παράδειγμα INNER JOIN 1 Να δοθεί το επώνυμο των υπαλλήλων και το όνομα του τμήματος στο οποίο εργάζονται Π firstname,lastname,depname (departments departments.depid=employees.depid employees) 1 SELECT employees.lastname, departments.depname 2 FROM departments INNER JOIN employees 3 ON employees.depid = departments.depid; Η σύζευξη γίνεται με βάση το κοινό του πεδίο depid. Η σύζευξη με βάση πρωτεύον και ξένο κλειδί είναι η πλέον συνηθισμένη περίπτωση σύζευξης. 74 / 105

75 Παράδειγμα INNER JOIN 2 Να δοθεί το όνομα των υπαλλήλων, το όνομα του τμήματος στο οποίο εργάζονται, και ο μισθός τους Π firstname,lastname,depname,salary (ϱ d (departments) d.depid=e.depid ϱ e (employees)) 75 / 105

76 Παράδειγμα INNER JOIN 2 Να δοθεί το όνομα των υπαλλήλων, το όνομα του τμήματος στο οποίο εργάζονται, και ο μισθός τους Π firstname,lastname,depname,salary (ϱ d (departments) d.depid=e.depid ϱ e (employees)) 1 SELECT e.firstname, e.lastname, d.depname, e.salary 2 FROM employees e INNER JOIN departments d 3 ON e.depid = d.depid; firstname lastname depname salary Μαρία Αθανασίου Διοίκησης/Επίβλεψης Κρινιώ Μαροπούλου Διοίκησης/Επίβλεψης Κυριάκος Ρούσσης Διοίκησης/Επίβλεψης Μαρία Αλεβιζάτου Οικονομολόγων/Λογιστών Δέσποινα Παπαδοπούλου Οικονομολόγων/Λογιστών Πέτρος Αρβανιτάκης Οικονομολόγων/Λογιστών / 105

77 Παράδειγμα INNER JOIN 3 Να δοθεί το όνομα των υπαλλήλων, το όνομα του τμήματος στο οποίο εργάζονται και ο μισθός τους, για υπαλλήλους με μισθό μεταξύ 1050 και 1300 Π firstname,lastname,depname,salary (σ salary 1050 salary 1300 (ϱ d (departments) d.depid=e.depid ϱ e (employees))) 77 / 105

78 Παράδειγμα INNER JOIN 3 Να δοθεί το όνομα των υπαλλήλων, το όνομα του τμήματος στο οποίο εργάζονται και ο μισθός τους, για υπαλλήλους με μισθό μεταξύ 1050 και 1300 Π firstname,lastname,depname,salary (σ salary 1050 salary 1300 (ϱ d (departments) d.depid=e.depid ϱ e (employees))) 1 SELECT e.firstname, e.lastname, d.depname, e.salary 2 FROM employees e INNER JOIN departments d 3 ON e.depid = d.depid 4 WHERE e.salary BETWEEN 1050 AND 1300; Ο όρος WHERE μπορεί να χρησιμοποιηθεί για περιορισμό των εγγραφών. Η παράσταση συνθήκης μπορεί να αφορά οποιοδήποτε πεδίο από αυτά που υπάρχουν στους δύο πίνακες. 78 / 105

79 Παράδειγμα INNER JOIN 4 Κωδικός και όνομα όλων των υπαλλήλων που συμμετέχουν στο έργο με κωδικό 38, με αύξουσα ταξινόμηση ως προς το επώνυμο Π empid,firstname,lastname (σ proid=38 (ϱ e (employees) e.empid=w.empid ϱ w (workson))) 79 / 105

80 Παράδειγμα INNER JOIN 4 Κωδικός και όνομα όλων των υπαλλήλων που συμμετέχουν στο έργο με κωδικό 38, με αύξουσα ταξινόμηση ως προς το επώνυμο Π empid,firstname,lastname (σ proid=38 (ϱ e (employees) e.empid=w.empid ϱ w (workson))) 1 SELECT e.empid, e.firstname, e.lastname 2 FROM employees e INNER JOIN workson w 3 ON e.empid = w.empid 4 WHERE w.proid = 38 5 ORDER BY e.lastname ASC; Ο όρος ORDER BY πάντα στο τέλος. Προσέξτε πως χρειάζεται σύζευξη ακόμα και αν όλα τα πεδία που εμφανίζονται μετά τον όρο SELECT βρίσκονται σε ένα πίνακα. Ξαναγράψτε την απάντηση με υποερώτημα (παρακάτω μάθημα). 80 / 105

81 Πολλά προς πολλά Να βρεθούν τα ονόματα των υπαλλήλων και ο κωδικός και ο προϋπολογισμός των έργων στα οποία συμμετέχουν υπάλληλοι με μισθό μεγαλύτερο από 1700 Π firstname,lastname,proid,budget (σ salary>1700 (ϱ e (employees) d.depid=e.depid ϱ w (workson) w.proid=p.proid ϱ p (projects))) 81 / 105

82 Πολλά προς πολλά Να βρεθούν τα ονόματα των υπαλλήλων και ο κωδικός και ο προϋπολογισμός των έργων στα οποία συμμετέχουν υπάλληλοι με μισθό μεγαλύτερο από 1700 Π firstname,lastname,proid,budget (σ salary>1700 (ϱ e (employees) d.depid=e.depid ϱ w (workson) w.proid=p.proid ϱ p (projects))) 1 SELECT e.firstname, e.lastname, p.proid, p.budget 2 FROM (employees e INNER JOIN workson w 3 ON e.empid = w.empid) 4 INNER JOIN projects p 5 ON p.proid = w.proid 6 WHERE e.salary > 1700; 82 / 105

83 Πολλά προς πολλά Εναλλακτικός τρόπος Να βρεθούν τα ονόματα των υπαλλήλων και ο κωδικός και ο προϋπολογισμός των έργων στα οποία συμμετέχουν υπάλληλοι με μισθό μεγαλύτερο του 1700 Π firstname,lastname,proid,budget (σ e.empid=w.empid p.proid=w.proid e.salary>1700 (ϱ e (employees) ϱ w (workson) ϱ p (projects))) 1 SELECT e.firstname, e.lastname, p.proid, p.budget 2 FROM employees e, workson w, projects p 3 WHERE e.empid = w.empid 4 AND p.proid = w.proid 5 AND e.salary > 1700; 83 / 105

84 Ερώτημα με 4 πίνακες Να βρεθεί το όνομα των υπαλλήλων και του τμήματος των υπαλλήλων για όλους τους υπαλλήλους που προσλήφθηκαν μετά από την 1/1/2002 και απασχολούνται σε έργα με βαθμό προόδου τουλάχιστον 20% Π firstname,lastname,depname (σ hiredate> budget> (ϱ d (departments) d.depid=e.depid ϱ e (employees) e.empid=w.empid ϱ w (workson) w.proid=p.proid ϱ p (projects)) 84 / 105

85 Ερώτημα με 4 πίνακες Να βρεθεί το όνομα των υπαλλήλων και του τμήματος των υπαλλήλων για όλους τους υπαλλήλους που προσλήφθηκαν μετά από την 1/1/2002 και απασχολούνται σε έργα με βαθμό προόδου τουλάχιστον 20% Π firstname,lastname,depname (σ hiredate> budget> (ϱ d (departments) d.depid=e.depid ϱ e (employees) e.empid=w.empid ϱ w (workson) w.proid=p.proid ϱ p (projects)) 1 SELECT DISTINCT e.firstname, e.lastname, d.depname 2 FROM ((departments d INNER JOIN employees e 3 ON d.depid = e.depid) 4 INNER JOIN workson w 5 ON e.empid = w.empid) 6 INNER JOIN projects p 7 ON p.proid = w.proid 8 WHERE e.hiredate > AND p.progress > 20; 85 / 105

86 Περιεχόμενα 1 Γενικά για τη σύζευξη πινάκων 2 Καρτεσιανό γινόμενο και θ σύζευξη 3 Φυσική σύζευξη πινάκων στην SQL 4 Εσωτερική σύζευξη πινάκων στην SQL 5 Εξωτερική σύζευξη πινάκων στην SQL 86 / 105

87 Παράδειγμα εξωτερικής σύζευξης το πρόβλημα Να βρεθούν τα ονόματα των υπαλλήλων του τμήματος 4 και οι κωδικοί των έργων που συμμετέχουν Π e.firstname,e.lastname,w.proid (σ e.depid=4 (ϱ e (employees) d.depid=e.depid ϱ w (workson))) 87 / 105

88 Παράδειγμα εξωτερικής σύζευξης το πρόβλημα Να βρεθούν τα ονόματα των υπαλλήλων του τμήματος 4 και οι κωδικοί των έργων που συμμετέχουν Π e.firstname,e.lastname,w.proid (σ e.depid=4 (ϱ e (employees) d.depid=e.depid ϱ w (workson))) 1 SELECT e.firstname, e.lastname, w.proid 2 FROM employees e INNER JOIN workson w 3 ON e.empid = w.empid 4 WHERE e.depid = 4; firstname lastname proid Νίκος Βλάχος 12 Βαγγέλης Χριστόπουλος 12 Βαγγέλης Χριστόπουλος 14 Βαγγέλης Χριστόπουλος 38 Παύλος Περίδης 43 Τι γίνεται με τους υπαλλήλους του τμήματος 4 που δεν απασχολούνται σε κανένα έργο; 88 / 105

89 Παράδειγμα εξωτερικής σύζευξης Η λύση Υπάλληλοι του τμήματος 4 και οι κωδικοί των έργων Π e.firstname,e.lastname,w.proid (σ e.depid=4 (ϱ e (employees) e.empid=w.empid ϱ w (workson))) 89 / 105

90 Παράδειγμα εξωτερικής σύζευξης Η λύση Υπάλληλοι του τμήματος 4 και οι κωδικοί των έργων Π e.firstname,e.lastname,w.proid (σ e.depid=4 (ϱ e (employees) e.empid=w.empid ϱ w (workson))) 1 SELECT e.firstname, e.lastname, w.proid 2 FROM employees e LEFT JOIN workson w 3 ON e.empid = w.empid 4 WHERE e.depid = 4; 90 / 105

91 Παράδειγμα εξωτερικής σύζευξης Η λύση Υπάλληλοι του τμήματος 4 και οι κωδικοί των έργων Π e.firstname,e.lastname,w.proid (σ e.depid=4 (ϱ e (employees) e.empid=w.empid ϱ w (workson))) 1 SELECT e.firstname, e.lastname, w.proid 2 FROM employees e LEFT JOIN workson w 3 ON e.empid = w.empid 4 WHERE e.depid = 4; firstname lastname proid Νίκος Βλάχος 12 Βαγγέλης Χριστόπουλος 12 Βαγγέλης Χριστόπουλος 14 Βαγγέλης Χριστόπουλος 38 Νίκος Στεργιόπουλος NULL Παύλος Περίδης 43 Ευθαλεία Μικράκη NULL Η στήλη proid συμπληρώνεται με NULL για τους υπαλλήλους που δεν απασχολούνται σε κανένα έργο. 91 / 105

92 Αριστερή και δεξιά σύζευξη Ισοδυναμία Αριστερή σύζευξη Π e.firstname,e.lastname,w.proid (σ e.depid=4 (ϱ e (employees) e.empid=w.empid ϱ w (workson))) 1 SELECT e.firstname, e.lastname, w.proid 2 FROM employees e LEFT JOIN workson w 3 ON e.empid = w.empid 4 WHERE e.depid = 4; Δεξιά σύζευξη Π e.firstname,e.lastname,w.proid (σ e.depid=4 (ϱ w (workson) w.empid=e.empid ϱ e (employees))) 1 SELECT e.firstname, e.lastname, w.proid 2 FROM workson w RIGHT JOIN employees e 3 ON w.empid = e.empid 4 WHERE e.depid = 4; 92 / 105

93 Αριστερή και δεξιά σύζευξη 1 Οι δύο προτάσεις SQL είναι απολύτως ισοδύναμες και δίνουν το ίδιο αποτέλεσμα. 2 Κατά παράδοση, προτιμάται η αριστερή σύζευξη. 3 Οι εξωτερικές συζεύξεις χρησιμοποιούνται όταν θέλουμε στο αποτέλεσμα όλες τις εγγραφές ενός πίνακα, ανεξάρτητα αν αυτές έχουν σύνδεση με τον άλλο πίνακα που υπάρχει στη σύζευξη. 4 Κατά την εξωτερική σύζευξη, αν υπάρχουν μη συνδεδεμένες εγγραφές, δημιουργούνται τιμές NULL. 5 Ο έλεγχος (WHERE) για τιμές NULL είναι πολύ συχνός στις εξωτερικές συνδέσεις. 93 / 105

94 Εξωτερική σύζευξη και έλεγχος NULL Ποιοι υπάλληλοι δεν απασχολούνται σε κανένα έργο; Π e. (σ w.empid IS NULL (ϱ e (employees) e.empid=w.empid ϱ w (workson))) 94 / 105

95 Εξωτερική σύζευξη και έλεγχος NULL Ποιοι υπάλληλοι δεν απασχολούνται σε κανένα έργο; Π e. (σ w.empid IS NULL (ϱ e (employees) e.empid=w.empid ϱ w (workson))) 1 SELECT e.* 2 FROM employees e LEFT JOIN workson w 3 ON e.empid = w.empid 4 WHERE w.empid IS NULL; 1 Το ερώτημα δε μπορεί να απαντηθεί με φυσική ή εσωτερική σύζευξη. 2 Οι τιμές των πεδίων e.empid και w.empid είτε ταυτίζονται, είτε κάποια τιμή του πεδίου e.empid δεν έχει αντίστοιχη τιμή στον πίνακα workson. 95 / 105

96 Εξωτερική σύζευξη επιπλέον ανάλυση Ποιοι υπάλληλοι δεν απασχολούνται σε κανένα έργο; 1 SELECT e.empid, w.empid 2 FROM employees e LEFT JOIN workson w 3 ON e.empid = w.empid 4 WHERE w.empid IS NULL; 96 / 105

97 Εξωτερική σύζευξη επιπλέον ανάλυση Ποιοι υπάλληλοι δεν απασχολούνται σε κανένα έργο; 1 SELECT e.empid, w.empid 2 FROM employees e LEFT JOIN workson w 3 ON e.empid = w.empid 4 WHERE w.empid IS NULL; e.empid w.empid 205 NULL 311 NULL 342 NULL / 105

98 Εξωτερική σύζευξη επιπλέον ανάλυση Ποιοι υπάλληλοι δεν απασχολούνται σε κανένα έργο; 1 SELECT e.empid, w.empid 2 FROM employees e LEFT JOIN workson w 3 ON e.empid = w.empid 4 WHERE w.empid IS NULL; e.empid w.empid 205 NULL 311 NULL 342 NULL : υπάρχει στον πίνακα employees αλλά δεν υπάρχει στον πίνακα workson. Η αριστερή σύζευξη επιτρέπει την εμφάνιση της τιμής 205 στο πεδίο e.empid. Το πεδίο w.empid θα συμπληρωθεί με NULL. 98 / 105

99 Εξωτερική σύζευξη σύνοψη 99 / 105

100 Εξωτερική σύζευξη σύνοψη 1 Κάποιες εγγραφές του πίνακα employees δεν έχουν ταιριαστές εγγραφές στον πίνακα workson. 2 Ο πίνακας workson δεν περιέχει καμία εγγραφή με NULL τιμές Ο τρόπος με τον οποίο έγινε η σύζευξη των πινάκων παρήγαγε τις τιμές NULL. 3 Η αριστερή εξωτερική σύζευξη ορίζει πως στο αποτέλεσμα θα υπάρχουν όλες οι εγγραφές του αριστερού πίνακα και στα πεδία του δεξιού πίνακα θα τοποθετηθούν είτε τιμές που αντιστοιχούν στον κανόνα της σύζευξης είτε τιμές NULL, εκεί όπου δεν βρέθηκαν ταιριαστές εγγραφές. 4 Επομένως οι εγγραφές με NULL τιμές στα πεδία του πίνακα workson, δεν οφείλονται σε αποθηκευμένες τιμές αλλά σε παραγόμενες μετά από εξωτερική σύζευξη. 100 / 105

101 Εξωτερική σύζευξη 1:1 Να βρεθεί ο κωδικός και το όνομα των υπαλλήλων που δεν είναι διευθυντές 1 SELECT e.empid, e.firstname, e.lastname 2 FROM employees e LEFT JOIN departments d 3 ON e.empid = d.manager 4 WHERE d.manager IS NULL; 101 / 105

102 Εξωτερική σύζευξη 1:1 Να βρεθεί ο κωδικός και το όνομα των υπαλλήλων που δεν είναι διευθυντές 1 SELECT e.empid, e.firstname, e.lastname 2 FROM employees e LEFT JOIN departments d 3 ON e.empid = d.manager 4 WHERE d.manager IS NULL; Να βρεθεί ο κωδικός και το όνομα των υπαλλήλων που δεν είναι διευθυντές 1 SELECT e.empid, e.firstname, e.lastname 2 FROM employees e INNER JOIN departments d 3 ON e.empid = d.manager 4 WHERE d.manager IS NULL; 102 / 105

103 Εξωτερική ή εσωτερική σύζευξη; Να βρεθεί ο κωδικός και το όνομα των υπαλλήλων που είναι διευθυντές 1 SELECT e.empid, e.firstname, e.lastname 2 FROM employees e LEFT JOIN departments d 3 ON e.empid = d.manager 4 WHERE d.manager IS NOT NULL; 103 / 105

104 Εξωτερική ή εσωτερική σύζευξη; Να βρεθεί ο κωδικός και το όνομα των υπαλλήλων που είναι διευθυντές 1 SELECT e.empid, e.firstname, e.lastname 2 FROM employees e LEFT JOIN departments d 3 ON e.empid = d.manager 4 WHERE d.manager IS NOT NULL; Να βρεθεί ο κωδικός και το όνομα των υπαλλήλων που είναι διευθυντές 1 SELECT e.empid, e.firstname, e.lastname 2 FROM employees e INNER JOIN departments d 3 ON e.empid = d.manager; Σχολιάστε διαφορές και ομοιότητες στο αποτέλεσμα. 104 / 105

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

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 με σύζευξη πινάκων Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

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

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

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

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

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

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

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

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

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

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

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

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

DELETE, UPDATE, INSERT

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

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

DELETE, UPDATE, INSERT.

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

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

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

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

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

1 / 106

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

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

1 / 97

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

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

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

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

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 Σκοπός του μαθήματος Αποκλείσετε διπλοεγγραφές από

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

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

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

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

1 / 87

1 / 87 Τα πρώτα ερωτήματα SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2016 1 / 87 Δυο λόγια για την SQL Υλοποίηση του σχεσιακού μοντέλου δεδομένων του E.F. Codd, αρχικά ως DSl/Alpha, αργότερα

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

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

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

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

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

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Όψεις (views) στην 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, σύζευξη, διάζευξη, NULL, ταίριασμα κειμένου Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες

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

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

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

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

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

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

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

Σχεσιακή Άλγεβρα Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 15 Επισκόπηση 1 Οι βασικές πράξεις προβολής και επιλογής Η σχεσιακή πράξη της προβολής Η σχεσιακή πράξη της επιλογής

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

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

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

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

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

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

1 / 106

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

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

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

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

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

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

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

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

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

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

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Απλά ερωτήματα Επιλογής Ερωτήματα με Ενώσεις πινάκων Ερωτήματα με Παραμετρικά Κριτήρια Ερωτήματα με Υπολογιζόμενα πεδία Απλά ερωτήματα Επιλογής Τα Ερωτήματα μας επιτρέπουν

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΝΗΜΕΡΩΣΗ ΔΕΔΟΜΕΝΩΝ. UPDATE products SET prod_fpa=19 WHERE prod_fpa=23; SELECT prod_descr,purchase,purchase_date FROM products WHERE prod_fpa=9;

ΕΝΗΜΕΡΩΣΗ ΔΕΔΟΜΕΝΩΝ. UPDATE products SET prod_fpa=19 WHERE prod_fpa=23; SELECT prod_descr,purchase,purchase_date FROM products WHERE prod_fpa=9; ΕΝΗΜΕΡΩΣΗ ΔΕΔΟΜΕΝΩΝ 4.10 Επαναφέρετε πάλι το είδος 20 (όλο το στιγμιότυπο) στον πίνακα products με τις εντολές INSERT INTO. 4.11 Διαγράψτε το είδος 12 (όλο το στιγμιότυπο) στον πίνακα products και επαναφέρετε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ MYSQL

ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ MYSQL Αντώνης Χρυσόπουλος Χριστίνα Αυδίκου Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ MYSQL MySQL For Pros Διαλέχτε, καλέ κυρία, Διαλέχτε 1. Ταξινόμηση 2. Περιορισμοί 3. Τελεστές LIKE, IN, BETWEEN

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

Εργαστήριο 8o. Ερωτήματα επιλογής Παραμετρικά ερωτήματα Ερωτήματα δημιουργίας πεδίων. Ευάγγελος Γ. Καραπιδάκης

Εργαστήριο 8o. Ερωτήματα επιλογής Παραμετρικά ερωτήματα Ερωτήματα δημιουργίας πεδίων. Ευάγγελος Γ. Καραπιδάκης Εργαστήριο 8o Ερωτήματα επιλογής Παραμετρικά ερωτήματα Ερωτήματα δημιουργίας πεδίων Ερωτήματα Τα Ερωτήματα μας επιτρέπουν να βλέπουμε τα δεδομένα που επιθυμούμε, με τη σειρά που επιθυμούμε. Μας δίνουν

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Βάση Δεδομένων: Με το όρο Βάση Δεδομένων εννοούμε ένα σύνολο δεδομένων που είναι οργανωμένο

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

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

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

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

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

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

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

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

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

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

MYSQL 2. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

MYSQL 2. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών MYSQL 2 Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Συσχετίσεις, Ρόλοι και Δομικοί Περιορισμοί

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

Το Μοντέλο των Οντοτήτων Συσχετίσεων Entity Relationship Model. Νικόλαος Ζ. Ζάχαρης

Το Μοντέλο των Οντοτήτων Συσχετίσεων Entity Relationship Model. Νικόλαος Ζ. Ζάχαρης Το Μοντέλο των Οντοτήτων Συσχετίσεων Entity Relationship Model Νικόλαος Ζ. Ζάχαρης Τι είναι το ERΜ Είναι ένα μοντέλο αναπαράστασης των δεδομένων και των συσχετίσεων τους, και χρησιμοποιείται κατά τη φάση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεδίαση Βάσεων Δεδομένων Σχεδίαση Βάσεων Δεδομένων Εισαγωγή στις Έννοιες των Σχεσιακών Βάσεων Δεδομένων Introduction to Relational Database Concepts 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved. Στόχοι Το

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων Ενότητα 6

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

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

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

Βάσεις δεδομένων. (2 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (2 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Μοντελοποίηση δεδομένων Μοντέλο Οντοτήτων Συσχετίσεων Παραδείγματα Διαγραμματικές τεχνικές Συμβολισμοί Τριαδικές συσχετίσεις 2

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

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

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

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

Διδάσκοντες: Δ. Φωτάκης, Δ. Σούλιου Επιμέλεια διαφανειών: Δ. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Διδάσκοντες: Δ. Φωτάκης, Δ. Σούλιου Επιμέλεια διαφανειών: Δ. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχέσεις Διδάσκοντες: Δ. Φωτάκης, Δ. Σούλιου Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διμελής Σχέση Διατεταγμένο ζεύγος (α, β):

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

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

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

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

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

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

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

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke SQL: Αιτήματα Κεφάλαιο 5 Database Management Systems, R. Ramakrishnan and J. Gehrke Στιγμιότυπα Στιγμιότυπα των σχέσεων Sailors Reserves και Boats. Αν στο κλειδί της σχέσης Reserved δε συμμετείχε το γνώρισμα

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

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

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

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

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

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

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