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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης

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

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

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

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

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

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

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

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

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

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

Κεφ 4: Προχωρημένες Εντολές SQL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SQL Data Manipulation Language

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

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

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

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

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

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

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

ΗΥ360 Αρχεία και Βάσεις Δεδομένων. Φροντιστήριο στην Σχεσιακή Άλγεβρα.

ΗΥ360: Αρχεία και Βάσεις Δεδομένων Διδάσκων: Πλεξουσάκης Δημήτρης. Φροντιστήριο Σχεσιακή Άλγεβρα Δημητράκη Κατερίνα

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

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

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


Βάσεις Δεδομένων. Ενότητα 6: Γλώσσα Structured Query Language -SQL. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Διάλεξη 02: Βάσεις Δεδομένων Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

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

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

Lecture 16: SQL DML III

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

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

Φροντιστήριο Σχεσιακή Άλγεβρα (μέρος 2 ο ) - Σχεσιακός Λογισμός Δημητράκη Κατερίνα

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

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

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

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

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

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

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

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

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης. Το µοντέλο Οντοτήτων Συσχετίσεων Το Σχεσιακό Μοντέλο εδοµένων

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

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

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

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

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

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

Transcript:

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

Ενα παράδειγμα Η ΒΔ "company" την οποία θα χρησιμοποιήσουμε στη συνέχεια (σχήμα) Ενα παράδειγμα

Ενα παράδειγμα Η ΒΔ "company" την οποία θα χρησιμοποιήσουμε στη συνέχεια (στιγμιότυπο μέρος ) Ενα παράδειγμα Η ΒΔ "company" την οποία θα χρησιμοποιήσουμε στη συνέχεια (στιγμιότυπο μέρος )

Ατομικές πράξεις της σχεσιακής άλγεβρας Επιλογή (selection) Εκτελείται πάνω σε μία σχέση R καιορίζειμιανέα, η οποίαπεριέχειμόνο εκείνες τις πλειάδες (tuples) της σχέσης R, οι οποίες ικανοποιούν ένα καθορισμένο κριτήριο επιλογής (κατηγόρημα predicate) σ predicate (R) Αλλος συμβολισμός: R [predicate], πχ EMPLOYEE [ salary> ] Προβολή (projection) Εκτελείται πάνω σε μία σχέση R καιορίζειμιανέα, η οποία περιέχει ένα κάθετο υποσύνολο της R με όλες τις τιμές των ιδιωμάτων (attributes) που καθορίζονται κατά την εκτέλεση της σχέσης, χωρίς διπλές αναφορές Π a, ( ) a,..., a n R Παράδειγμα

Παράδειγμα Παράδειγμα

Παράδειγμα Πράξεις συνόλων της σχεσιακής άλγεβρας Ενωση (Union) ΗένωσηδύοσχέσεωνR και S είναι μια νέα σχέση η οποία περιλαμβάνει όλες τις πλειάδεις (εγγραφές) και των δύο σχέσεων, χωρίς επαναλήψεις. Οι R, S πρέπει να είναι συμβατές προς ένωση. R S Τομή (Intersection) R ΗτομήδύοσχέσεωνR και S είναι μια νέα σχέση η οποία περιλαμβάνει όλες τις πλειάδεις (εγγραφές) που ανήκουν και στις δύο σχέσεις. Οι R, S πρέπει να είναι συμβατές προς ένωση. S R S R S R S R S 6

Παράδειγμα STUDENT INSTRUCTOR STUDENT INSTRUCTOR Πράξεις συνόλων της σχεσιακής άλγεβρας Διαφορά (Difference) ΗδιαφοράδύοσχέσεωνR και S ορίζει μια νέα σχέση η οποία περιλαμβάνει τις πλειάδες που ανήκουν στη σχέση R και δεν ανήκουν στη σχέση S. Οι R, S πρέπει να είναι συμβατές προς ένωση. R S Καρτεσιανό γινόμενο (Cartesian product) Το καρτεσιανό γινόμενο R και S ορίζει μια νέα σχέση της οποίας οι πλειάδες είναι η συνένωση (concatenation) κάθε πλειάδας της σχέσης R με όλες τις πλειάδες της σχέσης S. R S R A B R S S A A A B B B R S R S 7

Παράδειγμα STUDENT INSTRUCTOR INSTRUCTOR STUDENT Παράδειγμα TEACHER Teacher_ID TLNAME COURSE Course_ID CNAME CHOURS ΒΔ ΜΑΤΗ 0 ΜΑΤΗ TEACHER x COURSE Teacher_ID TLNAME Course_ID CNAME CHOURS ΒΔ ΜΑΤΗ 0 ΜΑΤΗ ΒΔ ΜΑΤΗ 0 ΜΑΤΗ ΒΔ ΜΑΤΗ 0 ΜΑΤΗ 8

Πράξεις συνένωσης (join) Επειδή......το καρτεσιανό γινόμενο (R x S) συνήθως έχει ως αποτέλεσμα μια πολύ μεγαλύτερη σχέση από αυτή που χρειαζόμαστε Ορίζουμε Ενα σύνολο πράξεων συνένωσης (JOIN) οι οποίες μπορούν να παραχθούν (εκφραστούν) ως ακολουθίες πράξεων καρτεσιανού γινομένου και επιλογής, με διάφορες παραλλαγές Πράξεις JOIN Θήτα-συνένωση (Theta-join) Συνένωση ισότητας (Equijoin) Φυσική συνένωση (Natural join) Εξωτερική συνένωση (Outer join) Μερική συνένωση (Semi-join) Πράξεις συνένωσης Θήτα-συνένωση (theta-join) Ηθήτα-συνένωση δύο σχέσεων R και S υπότησυνθήκη(κατηγόρημα) F ορίζει μιασχέσηπουπεριέχειτιςπλειάδεςτουκαρτεσιανούγινομένουτωνr και S οι οποίες ικανοποιούν το κατηγόρημα F. Το κατηγόρημα F είναι κριτήριο επιλογής, εκπεφρασμένο στη μορφή R.a i op S.b i όπου op είναι ένας τελεστής σύγκρισης (<, <=, >, >=, =,!=) R >< F S = σ F ( R S), ισοδύναμα : R[ F] S Συνένωση ισότητας (equjoin) Στην περίπτωση που το κριτήριο συνένωσης (κατηγόρημα F) περιλαμβάνει μόνο ισότητα, τότε η θήτα-συνένωση ονομάζεται συνένωση ισότητας R >< S = σ ( R S) F F 9

Παράδειγμα TEACHER >< CHOURS > COURSE, ισοδύναμα TEACHER[ CHOURS > ] COURSE TEACHER Teacher_ID TLNAME COURSE Course_ID 0 CNAME ΒΔ ΜΑΤΗ ΜΑΤΗ CHOURS TEACHER [CHOURS>] COURSE Teacher_ID TLNAME Course_ID CNAME ΒΔ ΒΔ ΒΔ CHOURS Πράξεις συνένωσης Φυσική συνένωση (natural join) Είναι μια συνένωση ισότητας μεταξύ δύο σχέσεων R και S, με κριτήριο όλα τα κοινά γνωρίσματα (attributes) των R και S, τα οποία περιλαμβάνονται στο αποτέλεσμα μόνο μία φορά R >< S, R* R. x, S. y S R* S Εξωτερική συνένωση ([left] outer join) Η (αριστερή) εξωτερική συνένωση περιλαμβάνει και τις πλειάδες της σχέσης R οι οποίες δεν έχουν αντίστοιχες τιμες των πεδίων συνένωσης στην S. Οι τιμές που λείπουν, ορίζονται ως κενές (NULL) R < R. x, S. y S Κατ' αναλογία, υπάρχουν επίσης: Δεξιά εξωτερική συνένωση (Right outer join) Πλήρης εξωτερική συνένωση (Full outer join) 0

Παράδειγμα TEACHERS TEACHERID FLNAME EIDIKOTHTA SCHOOL NOMOS ΦΥΣΙΚΟΣ ΒΟΙΩΤΙΑ ΠΕΤΡΟΥ ΠΕΤΡΟΣ ΚΑΤΕΡΙΝΗ ΔΗΜΗΤΡΙΟΥ ΔΗΜΗΤΡΙΟΣ 6 ΕΛΕΥΘΕΡΙΟΥ ΕΛΕΥΘΕΡΙΟΣ ΤΟΠΟΓΡΑΦΟΣ ΚΟΡΙΝΘΙΑ 9 ΠΑΝΑΓΙΩΤΟΥ ΠΑΝΑΓΙΩΤΗΣ UNIVERSITIES UCODE UNAME USTUDENTS USTAFF LOCATION ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ 0 ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ 89 0000 000 000 00 Παράδειγμα TEACHERS x UNIVERSITIES TEACHERID FLNAME EIDIKOTHTA ΦΥΣΙΚΟΣ ΦΥΣΙΚΟΣ ΦΥΣΙΚΟΣ ΦΥΣΙΚΟΣ SCHOOL NOMOS ΒΟΙΩΤΙΑ ΒΟΙΩΤΙΑ ΒΟΙΩΤΙΑ ΒΟΙΩΤΙΑ UCODE UNAME ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ USTUDENTS 0000 000 0000 000 0000 USTAFF 000 89 0 00 000 89 0 00 000 89 0 LOCATION 000 00 ΠΕΤΡΟΥ ΠΕΤΡΟΣ ΚΑΤΕΡΙΝΗ 0000 000 ΠΕΤΡΟΥ ΠΕΤΡΟΣ ΚΑΤΕΡΙΝΗ ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ 89 ΠΕΤΡΟΥ ΠΕΤΡΟΣ ΚΑΤΕΡΙΝΗ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ 0 ΠΕΤΡΟΥ ΠΕΤΡΟΣ ΚΑΤΕΡΙΝΗ 000 00 ΔΗΜΗΤΡΙΟΥ ΔΗΜΗΤΡΙΟΣ 0000 000 ΔΗΜΗΤΡΙΟΥ ΔΗΜΗΤΡΙΟΣ ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ 89 ΔΗΜΗΤΡΙΟΥ ΔΗΜΗΤΡΙΟΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ 0 ΔΗΜΗΤΡΙΟΥ ΔΗΜΗΤΡΙΟΣ 000 00 6 ΕΛΕΥΘΕΡΙΟΥ ΕΛΕΥΘΕΡΙΟΣ ΤΟΠΟΓΡΑΦΟΣ ΚΟΡΙΝΘΙΑ 0000 000 6 ΕΛΕΥΘΕΡΙΟΥ ΕΛΕΥΘΕΡΙΟΣ ΤΟΠΟΓΡΑΦΟΣ ΚΟΡΙΝΘΙΑ ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ 89 6 ΕΛΕΥΘΕΡΙΟΥ ΕΛΕΥΘΕΡΙΟΣ ΤΟΠΟΓΡΑΦΟΣ ΚΟΡΙΝΘΙΑ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ 0 6 ΕΛΕΥΘΕΡΙΟΥ ΕΛΕΥΘΕΡΙΟΣ ΤΟΠΟΓΡΑΦΟΣ ΚΟΡΙΝΘΙΑ 000 00 9 ΠΑΝΑΓΙΩΤΟΥ ΠΑΝΑΓΙΩΤΗΣ 0000 000 9 ΠΑΝΑΓΙΩΤΟΥ ΠΑΝΑΓΙΩΤΗΣ ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ 89 9 ΠΑΝΑΓΙΩΤΟΥ ΠΑΝΑΓΙΩΤΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ 0 9 ΠΑΝΑΓΙΩΤΟΥ ΠΑΝΑΓΙΩΤΗΣ 000 00

Παράδειγμα TEACHERS TEACHERID FLNAME EIDIKOTHTA SCHOOL NOMOS ΦΥΣΙΚΟΣ ΒΟΙΩΤΙΑ ΠΕΤΡΟΥ ΠΕΤΡΟΣ ΚΑΤΕΡΙΝΗ ΔΗΜΗΤΡΙΟΥ ΔΗΜΗΤΡΙΟΣ 6 ΕΛΕΥΘΕΡΙΟΥ ΕΛΕΥΘΕΡΙΟΣ ΤΟΠΟΓΡΑΦΟΣ ΚΟΡΙΝΘΙΑ UNIVERSITIES 9 ΠΑΝΑΓΙΩΤΟΥ ΠΑΝΑΓΙΩΤΗΣ UCODE UNAME USTUDENTS USTAFF LOCATION ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ 0 ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ 89 0000 000 000 00 TEACHERS * TEACHERS.SCHOOL=UNIVERSITIES.UCODE UNIVERSITIES TEACHE RID FLNAME EIDIKOTHTA SCH OOL NOMOS UCODE UNAME USTUDENTS USTAFF LOCATION ΦΥΣΙΚΟΣ 0000 000 ΒΟΙΩΤΙΑ 0000 000 ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ 89 ΠΕΤΡΟΥ ΠΕΤΡΟΣ ΚΑΤΕΡΙΝΗ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ 0 Σ ΔΗΜΗΤΡΙΟΥ ΔΗΜΗΤΡΙΟΣ 0000 000 6 ΕΛΕΥΘΕΡΙΟΥ ΕΛΕΥΘΕΡΙΟΣ ΤΟΠΟΓΡΑΦΟΣ ΚΟΡΙΝΘΙΑ 0000 000 9 ΠΑΝΑΓΙΩΤΟΥ ΠΑΝΑΓΙΩΤΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ 0 Σ Παράδειγμα TEACHERS TEACHERID FLNAME EIDIKOTHTA SCHOOL NOMOS ΦΥΣΙΚΟΣ ΒΟΙΩΤΙΑ ΠΕΤΡΟΥ ΠΕΤΡΟΣ ΚΑΤΕΡΙΝΗ ΔΗΜΗΤΡΙΟΥ ΔΗΜΗΤΡΙΟΣ 6 ΕΛΕΥΘΕΡΙΟΥ ΕΛΕΥΘΕΡΙΟΣ ΤΟΠΟΓΡΑΦΟΣ ΚΟΡΙΝΘΙΑ 9 ΠΑΝΑΓΙΩΤΟΥ ΠΑΝΑΓΙΩΤΗΣ UNIVERSITIES UCODE UNAME USTUDENTS USTAFF LOCATION ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ 0 ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σ 89 0000 000 000 00 TEACHERS * TEACHERS.SCHOOL=UNIVERSITIES.UCODE,TEACHERS.NOMOS=UNIVERSITIES.LOCATION UNIVERSITIES TEACHERID FLNAME EIDIKOTHTA SCHOOL NOMOS UCODE UNAME USTUDENTS USTAFF LOCATION ΦΥΣΙΚΟΣ 0000 000 ΔΗΜΗΤΡΙΟΥ ΔΗΜΗΤΡΙΟΣ 0000 000

Πράξεις συνένωσης Μερική συνένωση (semijoin) ΗμερικήσυνένωσηδύοσχέσεωνR και S είναι μια σχέση που περιλαμβάνει τις πλειάδες της σχέσης R οι οποίες συμμετέχουν στην ένωση R και S R > F S R > F S = Π A( R >< F S) Όπου Α είναι όλα τα γνωρίσματα (attributes) της R Η πράξη της διαίρεσης Εστω ότι ΗσχέσηR έχει το σύνολο των γνωρισμάτων (attributes) A ΗσχέσηS έχει το σύνολο των γνωρισμάτων (attributes) Β Β είναι υποσύνολο του Α C=A-B, δηλαδή C είναι το σύνολο των γνωρισμάτων της R που ΔΕΝ είναι γνωρίσματα της S Διαίρεση Η διαίρεση "R διά S" oρίζει μια σχέση πάνω από τα γνωρίσματα C η οποία αποτελείται από τις πλειάδες που ταιριάζουν στο συνδυασμό κάθε πλειάδας της S R S R, S T T A B Π Π, B A C C ( R) T T T (( S T ) R)

Σχεσιακή άλγεβρα Η σχεσιακή άλγεβρα περιγράφει τις πράξεις για το χειρισμό των σχέσεων σχεσιακές πράξεις SELECT: επιλογή γραμμών (πλειάδων) από μια σχέση PROJECT: επιλογή στηλών (γνωρισμάτων) από μια σχέση JOIN: συνδυάζει τις σχετικές πλειάδες δύο σχέσεων σε μια πλειάδα πράξεις συνόλων UNION: ένωση των πλειάδων δύο σχέσεων INTERSECTION: τομή πλειάδων δύο σχέσεων DIFFERENCE: διαφορά των πλειάδων δύο σχέσεων πράξεις υπολογισμού ΑVERAGE, SUM, MAX, MIN, COUNT πράξεις ενημέρωσης INSERT, DELETE, UPDATE: εισαγωγή, διαγραφή κι ενημέρωση πλειάδων

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

Η γλώσσα SQL Εντολές γλώσσας ορισμού δεδομένων (DDL) CREATE TABLE (δημιουργία πίνακα) CREATE INDEX (δημιουργία ευρετηρίου) CREATE VIEW (δημιουργία όψης) DROP TABLE (διαγραφή πίνακα) DROP INDEX (διαγραφή ευρετηρίου) DROP VIEW (διαγραφή όψης) MODIFY (τροποποίηση της δομής των αντικειμένων της βάσης, δηλ, πινάκων, ευρετηρίων, όψεων) Η γλώσσα SQL Εντολές γλώσσας ορισμού δεδομένων (DDL) Παράδειγμα δημιουργίας πίνακα: CREATE TABLE πίνακας (όνομα_στήλης τύπος_στήλης, ); π.χ.: CREATE TABLE ΔΙΚΑΙΩΜΑΤΑ (ΚΑΕΚ VARCHAR(6), ΔΙΚΑΙΟΥΧΟΣ VARCHAR(8), ΠΟΣΟΣΤΟ INTEGER, ΗΜΕΡΟΜΗΝΙΑ DATE); Παράδειγμα δημιουργίας ευρετηρίου: CREATE INDEX ευρετήριο ON πίνακας (όνομα_στήλης); π.χ.: CREATE INDEX ΕΥΡ_ΔΙΚΑΙΟΥΧΩΝ ΟΝ ΔΙΚΑΙΟΥΧΟΙ (ΕΠΩΝΥΜΟ); 6

SQL Γλώσσα ορισμού δεδομένων: Παραδείγματα Υλοποίηση του σχήματος ΒΔ του παραδείγματος TEACHERS TEACHERID TLNAME EIDIKOTHTA SCHOOL NOMOS UNIVERSITIES UCODE UNAME USTUDENTS USTAFF LOCATION COURSES COURSEID CNAME CHOURS CTYPE PROVIDED_BY COURSE UNIVERSITY YEAR CREATE TABLE TEACHERS(TEACHERID INT, TEXT(0), TLNAME TEXT(0), EIDIKOTHTA TEXT(0), SCHOOL TEXT(0), NOMOS TEXT(0)); CREATE TABLE UNIVERSITIES(UCODE TEXT(0), UNAME TEXT(0), USTUDENTS INT, USTAFF INT, LOCATION TEXT(0)); CREATE TABLE COURSES(COURSEID INT, CNAME TEXT(0), CHOURS INT, CTYPE TEXT()) CREATE TABLE PROVIDED_BY(COURSE INT, UNIVERSITY TEXT(0), YEAR TEXT(0)) Η γλώσσα SQL Εντολές γλώσσας χειρισμού δεδομένων (DΜL) SELECT (ανάκτηση δεδομένων από πίνακα) INSERT (εισαγωγή πλειάδων σε πίνακα) DELETE (διαγραφή πλειάδων από πίνακα) UPDATE (ενημέρωση στήλης πίνακα) COMMIT WORK (ολοκλήρωση διεργασίας) ROLLBACK WORK (κατάργηση διεργασίας, φέρει τη ΒΔ στην κατάσταση του τελευταίου COMMIT) 7

Η γλώσσα SQL Εντολές γλώσσας χειρισμού δεδομένων (DΜL) παράδειγμα ανάκτησης δεδομένων από πίνακες SELECT στήλη FROM πίνακας WHERE συνθήκη ; π.χ.: SELECT * FROM ΔΙΚΑΙΟΥΧΟΙ ; SELECT KAEK, ΕΜΒΑΔΟΝ FROM ΓΕΩΤΕΜΑΧΙΑ WHERE ΕΜΒΑΔΟΝ >.000 ; SELECT ΔΙΚΑΙΟΥΧΟΙ.ΕΠΩΝΥΜΟ, ΔΙΚΑΙΟΥΧΟΙ.ΟΝΟΜΑ FROM ΔΙΚΑΙΟΥΧΟΙ, ΔΙΚΑΙΩΜΑΤΑ WHERE ΔΙΚΑΙΩΜΑΤΑ.ΗΜΕΡΟΜΗΝΙΑ > //97 AND ΔΙΚΑΙΟΥΧΟΣ.ΚΩΔΙΚΟΣ = ΔΙΚΑΙΩΜΑΤΑ.ΔΙΚΑΙΟΥΧΟΣ ; 8