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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

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

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

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

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

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

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

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

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

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

καλών σχεσιακών σχημάτων

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

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

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

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

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

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

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

Βάσεις Δεδομένων : Λογικός Σχεδιασμός 1. καλών σχεσιακών σχημάτων. Λογικός Σχεδιασμός Σχεσιακών Σχημάτων. Γενικές Κατευθύνσεις.

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

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

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

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

Λογικός Σχεδιασμός Σχεσιακών Σχημάτων: Αποσύνθεση

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

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

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

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

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


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

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

DISTINCT, LIKE, NULL, AND, OR, BETWEEN

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

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό

Εξεταστική Περίοδος Ιουνίου 2004

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

Lecture 14: SQL DML I

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός

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

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα;

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό

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

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

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

Βάσεις Δεδομένων Ι. Παραδείγματα. Γεώργιος Ευαγγελίδης, Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής

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

Υπολογιστικά & Διακριτά Μαθηματικά

Κεφάλαιο 4. Λογική Σχεδίαση

Γ2.1 Στοιχεία Αρχιτεκτονικής. Γ Λυκείου Κατεύθυνσης

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

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


Lecture 21: Functional Dependencies and Normalization

Προγραμματισμός Ι (HY120)

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

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

9 Πολυώνυμα Διαίρεση πολυωνύμων

Σχεδιασµός Σχεσιακών Σχηµάτων

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

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

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

Επεξεργασία ερωτημάτων


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

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

Σχεδιασµός Σχεσιακών Σχηµάτων

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

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό

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

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

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

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

Transcript:

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

Σύνδεση Ισότητας (Equi-Join) Θ στην σύνδεση είναι = (=-Join) r r.ai = s.aj s =-σύνδεση του r(r) και s(s): r r.b = s.d s =? σχέση s C D 3 4 6 8 σχέση r A B C D 1 2 3 4 2 3 3 5 2 4 6 8 1 2 6 8 2 6 6 8 8 2 3 4 2 4 3 4

Γενική Σύνδεση (Θ-Join) A B C D Θ = {=,<,, >,, } Θ-join του r(r) και s(s) στα χαρακτηριστικά r.a i και s.a j r r.ai θ s.aj s = σ r.ai θ s.aj (r x s) σχέση r 1 2 3 4 2 3 3 5 2 4 6 8 1 2 6 8 2 6 6 8 8 2 3 4 2 4 3 4 -join του r(r) και s(s): r r.b s.d s =? σχέση s C D 3 4 6 8

Σύνδεση-Θ (Θ-Join) -join του r(r) και s(s): r r.b s.d s =? r.ar r.b r.c r.d s.c s.d 2 4 6 8 3 4 2 4 3 4 3 4 2 6 6 8 3 4 σχέση r A B C D 1 2 3 4 2 3 3 5 2 4 6 8 1 2 6 8 2 6 6 8 8 2 3 4 2 4 3 4 σχέση s C D 3 4 6 8

Δυαδικοί Σχεσιακοί Τελεστές Τελεστής Συνένωσης (JOIN) Επερώτηση: Βρείτε το όνομα του manager κάθε department. a) Πρέπει να συνδυάσουμε κάθε πλειάδα του πινάκα Department με τις πλειάδες του πίνακα Employee. R = (DEPARTMENT EMPLOYEE) b) Μέτα πρέπει να επιλέξουμε τις πλειάδες για τις οποίες ισχύει το Mgr_ssn=SSN, δηλ., σ Mgr_ssn = SSN (R) Αποτέλεσμα Το a-b ισοδυναμεί με την έκφραση: DEPARTMENT Mgr_ssn = SSN EMPLOYEE

Φυσική Σύνδεση (Natural-Join) Equi-join χωρίς τις διπλές στήλες r P s P=λίστα από χαρακτηριστικά: P=R S r s =π R S (r r.p = s.p s) r s =? σχέση s C D 3 4 6 8 σχέση r A B C D 1 2 3 4 2 3 3 5 2 4 6 8 1 2 6 8 2 6 6 8 8 2 3 4 2 4 3 4

Δυαδικοί Σχεσιακοί Τελεστές Φυσική Συνένωση (Natural Join) Παράδειγμα Ι: DEPT_LOCS DEPARTMENT * DEPT_LOCATIONS

Δυαδικοί Σχεσιακοί Τελεστές Φυσική Συνένωση (Natural Join) Παράδειγμα ΙΙ: Για κάθε Project τύπωσε τις πληροφορίες του Department που ανήκει PROJ_DEPT PROJECT * ρ Dnumber Dnum (DEPARTMENT)

Παραδείγματα από την βιβλιοθήκη DB Σχήμα βιβλιοθήκης DB: LIBRARIAN(Name, SSN, SNO, BirthPlace) SECTION(SName, SNO, Head) OUTREACH(Pname, PNO, SNUM, Location) WORKSON(LSSN,PNO,Hours) Για κάθε εκδήλωση (outreach project) στη Λευκωσία, επιστρέψτε το αριθμό της εκδήλωσης (PNO), το υπεύθυνο τμήμα και το όνομα του επικεφαλή του. Βρείτε όλους τους βιβλιοθηκάριους (librarians Name & SSN) που εργάζονται σε εκδηλώσεις (projects) που εντοπίζονται στον τόπο της γέννησής τους.

Διαίρεση (Division) Έστω r(r) και s(s) σχέσεις έτσι ώστε S R Η διαίρεση του r από το s, συμβολίζετε r s, είναι σχέση της οποίας το σχήμα είναι Q=R-S και περιλαμβάνει όλες τις t έτσι ώστε t Π Q (r) και {t} x S R σχέση r A B C D 1 2 3 4 2 3 3 5 2 4 6 8 1 2 6 8 8 2 3 4 2 4 3 4 σχέση s C D 3 4 6 8 r s A B 1 2 2 4

Χρήση της Διαίρεσης Σημείωση: Ερώτημα: Επιστρέψτε τα ονόματα των φοιτητών που πήραν όλες τις τάξεις που πήρε ο John. σχέση r σχέση s FN LN DP No DP No Η διαίρεση μπορεί να εκφρασθεί με την χρήση των π, x και τελεστών: r s= π Q (r) π Q ((π Q (r) x s) r) S A CS 4 M K CS 5 K L EE 8 S A EE 8 F S CS 4 K L CS 4 CS 4 EE 8 FN LN S K r s A L

* Στην συνέχεια θα δούμε πως ο τελεστής μπορεί να υλοποιηθεί με χρήση υπαρκτών τελεστών της SQL (δηλ., αντίστοιχους τελεστές των σ-π-x) Διαίρεση (Division) Ο τελεστής της Διαίρεσης (Division, /), παρόλο που ΔΕΝ υποστηρίζεται σε πραγματικές γλώσσες βάσεων δεδομένων*, είναι χρήσιμος στο πλαίσιο της Σχεσιακής Άλγεβρας για να διατυπώσει επερωτήσεις της μορφής: Βρες τους Suppliers που προσφέρουν ΌΛΑ τα Parts (όπως προσδιορίζονται τα Parts). Π.χ., sno pno s1 p1 s1 p2 s1 p3 s1 p4 s2 p1 s2 p2 s3 p2 s4 p2 s4 p4 PARTS pno p2 p4 / = sno s1 s4

Διαίρεση (Division) Διαιρετέος (nominator) sno pno s1 p1 s1 p2 s1 p3 s1 p4 s2 p1 s2 p2 s3 p2 s4 p2 s4 p4 A sno s1 s2 s3 s4 A/B1 Διαιρέτες (denominators) pno / / pno p2 p2 B1 p4 Απάντηση; B2 Απάντηση; sno s1 s4 A/B2 Αναπαράσταση Διαίρεσης με Ποσοδείκτες Α / Β = { x (x,y) A y B } / pno p1 p2 p4 B3 Απάντηση; sno s1 A/B3

Παραδείγματα Ερωτημάτων Σχήματα R=(A,B) και S=(C,D); Σχέσεις r(r) και s(s) Βρείτε όλες τις πλειάδες της r με χαρακτηριστικό B που δεν είναι ίσο με το χαρακτηριστικό C κάποιας πλειάδας στην S Π ΑΒ (r B C s) Βρείτε όλες τις πλειάδες της r με χαρακτηριστικό B που δεν είναι ίσο με το χαρακτηριστικό C οποιασδήποτε πλειάδας στην S r Π ΑΒ (r B=C s) r Π ΑΒ ((r A=C s) (r B=C s)) Βρείτε όλες τις πλειάδες της r που είτε τα χαρακτηριστικά της Α ή Β δεν είναι ίσα με το χαρακτηριστικό C οποιασδήποτε πλειάδας στην S

Κενές (NULL) Τιμές Μια Null τιμή σημαίνει: Η παρούσα τιμή είναι άγνωστη Ιδιότητα μη εφαρμόσιμη Προβλήματα με την τιμή Null: Πώς να γίνουν αριθμητικές πράξεις (π.χ., 3 + NULL) ή συγκρίσεις (π.χ.,120 > NULL) Πώς να γίνουν λογικές πράξεις όπως true ή false 3 Λογικές καταστάσεις: true (T), false (F), unknown (U) OR, AND, NOT

Πίνακες Επαλήθευσης X TRUE UNK FALSE NOT FALSE UKN TRUE OR TRUE UNK FALSE TRUE TRUE TRUE TRUE UNK TRUE UNK UNK FALSE TRUE UNK FALSE AND TRUE UNK FALSE TRUE TRUE UNK FALSE UNK UNK UNK FALSE FALSE FALSE FALSE FALSE