ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Σχεσιακός Ορισµός. Μαθ. #12

Σχετικά έγγραφα
Βάσεις Δεδομένων (Databases)

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

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

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

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

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

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

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

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

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

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

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

Lecture 14: SQL DML I

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

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

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

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών. Σχεσιακός Λογισμός

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

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

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

ΣΧΕΣΙΑΚΟΣ ΛΟΓΙΣΜΟΣ. Tο Σχεσιακό Μοντέλο Σελίδα 1

Σχεσιακός Λογισμός. Σχεσιακός Λογισμός Πλειάδων. σχεσιακά πλήρης γλώσσα

Lecture 16: SQL DML III

Σχεσιακός Λογισµός. Σχεσιακός Λογισµός Πλειάδων. σχεσιακά πλήρης γλώσσα

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

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

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

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

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

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

Lecture 8: RM I + RA I

Εισαγωγή. Σχεσιακό Μοντέλο. Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου

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

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

Σχεσιακός Λογισµός. Σχεσιακό Μοντέλο. Έννοιες Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου

Entity-Relationship Model (Chen) Οντολογικό Σχεσιακό Μοντέλο


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

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

DISTINCT, LIKE, NULL, AND, OR, BETWEEN

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

Σχεσιακός Λογισμός. Εισαγωγή. Σχεσιακό Μοντέλο. Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Πλειάδων Σχεσιακός Λογισμός Πεδίου

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

Κλειδιά (keys) Λογικά, σκεφτόµαστε για «κλειδιά» σαν τα δεδοµένα (τα πεδία) εκείνα τα οποία µας επιτρέπουν να ξεχωρίσουµε τις διάφορες εγγραφές

Βελτιστοποίηση επερωτημάτων

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


Lecture 15: SQL DML II

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

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

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

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


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

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

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Σχεσιακός Λογισµός. Εισαγωγή. Σχεσιακό Μοντέλο. Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Πλειάδων Σχεσιακός Λογισμός Πεδίου

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

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

1 / 97

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

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

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

1 / 87

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

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

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

Lecture 21: Functional Dependencies and Normalization

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

SQL Data Manipulation Language

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

Θέματα Τελικής Εξέτασης. ΠΡΟΣΟΧΗ: Οι απαντήσεις πάνω στα ΘΕΜΑΤΑ

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

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

HY118- ιακριτά Μαθηµατικά

HY118-Διακριτά Μαθηματικά


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

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

Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο )

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

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

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

Κεφάλαιο 5 Σχεσιακή Άλγεβρα

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

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

DELETE, UPDATE, INSERT.

4. Ο,τιδήποτε δεν ορίζεται με βάση τα (1) (3) δεν είναι προτασιακός τύπος.

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

DELETE, UPDATE, INSERT

HY118-Διακριτά Μαθηματικά

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

HY118- ιακριτά Μαθηµατικά. Ένα παράδειγµα... Έχουµε δει. Κατηγορηµατικός Λογισµός. ιακριτά Μαθηµατικά, Εαρινό εξάµηνο Πέµπτη, 23/02/2017

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

Σ χ ε σ ι α κ η Α λ γ ε β ρ α κ α ι δ ι δ α κ τ ι κ α ε ρ γ α λ ε ι α

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

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

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

Στοιχεία προτασιακής λογικής

Βάσεις εδοµένων Ευαγγελία Πιτουρά 2

Transcript:

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Σχεσιακός Ορισµός Μαθ. #12

Η κυρίως διαφορά µεταξύ «σχεσιακού λογισµού» και «σχεσιακής άλγεβρας» είναι η ακόλουθη ηλωτική vs. ιαδικαστική Τι vs. Πως Η εκφραστική δύναµη των δυο γλωσσών είναι η ίδια Οποιαδήποτε query η οποία εκφράζεται στον σχεσιακό λογισµό µπορεί να εκφραστεί στην σχεσιακή άλγεβρα. Σχεσιακή πλήρης γλώσσα Μιαγλώσσαεπερωτήσεωνµε την εκφραστική δύναµη του σχεσιακού λογισµού Οι πιο πολλές σχεσιακές γλώσσες επερωτήσεων είναι «σχεσιακά πλήρης» αλλά µε µεγαλύτερη εκφραστική δύναµη από τον σχεσιακό λογισµό και την σχεσιακή άλγεβρα λόγω των επιπλέον πράξεων όπως οι συναρτήσεις συναθροίσεων

Ο σχεσιακός λογισµός είναι βασισµένος στον κατηγορηµατικό λογισµό Υπάρχουν δυο γλώσσες σχεσιακού λογισµού Λογισµός πλειάδων (tuple calculus) Λογισµός πεδίου τιµών (domain calculus)

Σχεσιακός Λογισµός πλειάδων (tuple calculus) Ο σχεσιακός λογισµός πλειάδων είναι βασισµένος στην έννοια «µεταβλητών τύπου πλειάδων» (tuple variables) Κάθε µεταβλητή τύπου πλειάδα διατρέχει (έχει πεδίο τιµών) µια σχέση Μια απλή έκφραση σχεσιακού λογισµού πλειάδων: { t / COND (t) } t είναι «µεταβλητή τύπου πλειάδα» COND (t) είναι µια συνθήκη που περιέχει το t

Παράδειγµα Βρες όλους τους υπαλλήλους µε µισθό πάνω από $50,000 { t / EMPLOYEE(t) and t.salary > 50000 } { t / ( x) EMPLOYEE (x) and x.salary > 50000 and t=x} Η συνθήκη EMPLOYEE(t) καθορίζει τη σχέση EMPLOYEE σαν το πεδίο τιµών το οποίο διατρέχει η µεταβλητή t t.salary αναφέρεται στην µεταβλητή SALARY της πλειάδας t H ισοδύναµη SQL query SELECT * FROM EMPLOYEE t WHERE t.salary > 50000

Απλά µια έκφραση λογισµού πλειάδων περιέχει Για κάθε µεταβλητή πλειάδων t, την σχέση R που διατρέχει. Ορίζεται µε µια συνθήκη της µορφής R(t). Αντιστοιχεί στον FROM όρο της SQL Μια συνθήκη επιλογής για τη διαλογή των διαφόρων πλειάδων Αντιστοιχεί στον WHERE όρο της SQL Ένα σύνολο από στοιχεία της µεταβλητής τύπου πλειάδας τα οποία είναι να ανακτηθούν Αντιστοιχεί στον SELECT όρο της SQL

Παράδειγµα Βρες την ηµεροµηνία γεννήσεως και διεύθυνση του υπαλλήλου µεόνοµα John B. Smith {t.bdate, t.address / EMPLOYEE(t) and t.fname= John and t.minit= B and t.lname= Smith } SELECT BDATE, ADDRESS FROM EMPLOYEE WHERE FNAME= JOHN AND MINIT= B AND LNAME= SMITH

Τυπικός ορισµόςτουσχεσιακούλογισµού {t1, t2,, tn / COND (t1, t2,, tn+m)} t1,, tn+m είναι µεταβλητές πλειάδας, όχι κατά ανάγκη µοναδικές COND είναι µια συνθήκη ή φόρµουλα που περιέχει t s και αποτελείται από στοιχεία (atoms) κατηγορηµατικού λογισµού Atoms R(t) όπου R είναι σχέση και t µια µεταβλητή πλειάδας t.a op. s.b όπου t, s είναι µεταβλητές πλειάδας, οp είναι τελεστής συγκρίσεως, Α, Β είναι πεδία ορισµού του t και s t.a op. c όπου t είναι µεταβλητές πλειάδας, οp είναι τελεστής συγκρίσεως, Α είναιπεδίαορισµού του t και c είναι µια σταθερή

Μεταβλητή πλειάδας είναι ελεύθερη (free, καθολική) ήδεσµευµένη (bound, τοπική) Μια φόρµουλα (συνθήκη) Κάθε άτοµο είναιφόρµουλα Όλα t.v σε ένα στοιχείο (φόρµουλα) είναι ελεύθερα Εάν Φ1 και Φ2 είναι φόρµουλες τότε είναι και (Φ1 AND Φ2) (Φ1 OR Φ2) NOT (Φ1) NOT (Φ2) Μεταβλητές πλειάδας είναι ελεύθερη/δεσµευµένη στο (...) όπως είναι στα Φ s

Εάν είναι φόρµουλα, τότε είναι και s (Φ) υπαρξιακός ποσοδότης ( σ) δεσµεύει το s στο Φ s (Φ) καθολικός ποσοδότης ( s) δεσµεύει το s στο Φ Χρήσης παρενθέσεων για µάζεµα Τίποτε άλλο Μεταβλητή πλειάδας είναι ελεύθερη (free, καθολική) ήδεσµευµένη (bound, τοπική)

Query 1 Παράδειγµα Βρες το όνοµα και διεύθυνση του υπαλλήλου που δουλεύει στο Research τµήµα (τµήµα έρευνας)

Λύση 1 {t.fname, t.lname, t.address / EMPLOYEE(t) and ( d) (DEPARTMENT(d) and d.name= Research and d.number=t.dno)} SELECT FNAME, LNAME, ADDRESS FROM EMPLOYEE, DEPARTMENT WHERE DNAME= RESEARCH AND DNUMBER=DNO

Query 2 Για κάθε υπάλληλο βρες το όνοµα και επώνυµο καθώς και το όνοµα και επώνυµο τουsupervisor του. Query 3 Βρες το όνοµα κάθε υπαλλήλου που δουλεύει σε project που ελέγχεται από το τµήµα #5

Query 2 {e.fname, e.lname, s.fname, s.lname / EMPLOYEE(e) and EMPLOYEE(s) and s.ssn=e.essn)) Query 3 {t.fname / EMPLOYEE(t) and ( (x,w) PROJECT(x) WORK_ON(w) t.ssn = w.essn) and x.pnumber = w.pno and x.dnum = 5 )

Μετασχηµατισµός του υπαρξιακού και καθολικού ποσοδότου Είναι δυνατό να µετασχηµατίσεις ένα υπαρξιακό ποσοδότη σε ένα καθολικό ποσοδότη και αντιστρόφως 1. Μετάφρασε τον ποσοδότη στον άλλο µε άρνηση 2. AND και OR αντικαθιστούν το ένα το άλλο 3. Μια αρνητική φόρµουλα γίνεται µη αρνητική 4. Μια θετική φόρµουλα γίνεται αρνητική Κάποιες ειδικές µορφές ( x)(p(x)) ( x)(not(p(x))) ( x)(p(x)) not ( x)(not(p(x))) ( x)(p(x) and Q(x)) ( x)(not (P(x) or not Q(x))

Παράδειγµα Query 4 Βρες το όνοµα κάθε υπαλλήλου που δεν έχει εξαρτώµενα {e.fname, e.lname / EMPLOYEE(e) and (not ( d) (DEPENDENT(d) and e.ssn=d.essn)) Χρησιµοποιώντας τους προηγούµενους κανόνες {e.fname, e.lname / EMPLOYEE(e) and (( d) (not((dependent(d)) or (( d) (DEPENDENT(d) and not (e.ssn=d.essn))))}