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

Σχετικά έγγραφα
Η Γλώσσα SQL. Μέρος α. Η Γλώσσα SQL Σελίδα 1

QUERY-BY-EXAMPLE. Η Γλώσσα SQL Σελίδα 1

Βελτιστοποίηση ερωτημάτων Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

Κεφάλαιο 3. ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ B Μέρος. Tο Σχεσιακό Μοντέλο Σελίδα 1

H Γλώσσα SQL Σχεδιασμός Βάσεων Δεδομένων

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

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

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

ΑΣΚΗΣΕΙΣ ΣΕ ΔΙΑΓΡΑΜΜΑΤΑ ΟΝΤΟΤΗΤΩΝ - ΣΥΣΧΕΤΙΣΕΩΝ

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

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

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Ακαδημαϊκό Έτος Εαρινό. Μάθημα 7 Κεφάλαιο 6: Τυπικές Σχεσιακές Γλώσσες

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

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

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

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

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

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

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

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

Θεωρία Κανονικοποίησης

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 4. Η Γλώσσα SQL και Σχεσιακός Λογισµός. Ι.Β. Σχεσιακός Λογισµός και η Γλώσσα SQL Σελίδα 2.46

Η Γλώσσα SQL. Μέρος β. Η Γλώσσα SQL Σελίδα 1

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

Η Γλώσσα SQL. Παράδειγμα ΒΔ (Τράπεζα)

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

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

SQL Data Manipulation Language

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

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

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

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

SQL: Συναρτήσεις Συνάθροισης

Δώστε έναν επαγωγικό ορισμό για το παραπάνω σύνολο παραστάσεων.

Δόμηση Απαιτήσεων: Εννοιολογική Μοντελοποίηση Δεδομένων

Σχεδίαση Σχεσιακών ΒΔ

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

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

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

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

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

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

Αποθήκευση και Οργάνωση αρχείων. Βάσεις Δεδομένων Μάθημα 2ο Διδάσκων: Μαρία Χαλκίδη

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

ΗΥ Λογική. Διδάσκων: Δημήτρης Πλεξουσάκης Καθηγητής

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Ενότητα 1: Εισαγωγή. Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών

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

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

SQL Data Manipulation Language

Εισαγωγή στις βασικές έννοιες των Βάσεων εδοµένων

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων

Μοντέλο Οντοτήτων Σχέσεων (Entity-Relationship Model)

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Εισαγωγή στις βασικές έννοιες των Βάσεων Δεδομένων

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

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1

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

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

ΠΛΗ 405 Τεχνητή Νοηµοσύνη Ε ανάληψη. πράκτορες βασισµένοι σε προτασιακή λογική. πράκτορες βασισµένοι σε κύκλωµα

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

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

Πώς είναι δυνατόν να είναι ισοδύναµες οι εξισώσεις που αναφέρονται στο ερώτηµα ii, αφού δεν έχουν το ίδιο πεδίο ορισµού 2 ;

Περιεχόμενα 1 Πρωτοβάθμια Λογική Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων ) / 60

Συναρτησιακός Προγραμματισμός. Εισαγωγικές Έννοιες

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1


Επισκόπηση Σχεδίασης Σχεσιακών Βάσεων Δεδομένων

Ο βελτιστοποιητής ερωτημάτων (query optimizer) Μετασχηματισμός εκφράσεων σχεσιακής άλγεβρας Υπολογισμός μεγεθών πράξεων σχεσιακής άλγεβρας

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


Κατηγορηµατική Λογική

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

Εισαγωγή XML: Extensible Markup Language Ορίστηκε από το WWW Consortium (W3C) ως συµπλήρωµα της HTML. εν σχεδιάστηκε για βάσεις δεδοµένων αλλά για δια

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

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

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

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

Query-by-Example (QBE)

Το Σχεσιακό Μοντέλο-Σχεσιακή Άλγεβρα, Σχεσιακός Λογισμός. 06/06/2009 Μ.Χατζόπουλος 1

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

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

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

ΚΑΤΗΓΟΡΗΜΑΤΙΚΟΣ ΛΟΓΙΣΜΟΣ Ι

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


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

Transcript:

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

Τι θα δούµε Σχεσιακός Λογισµός Παραδείγµατα Σχεσιακή Πληρότητα Tο Σχεσιακό Μοντέλο Σελίδα 2

Εισαγωγή στον Σχεσιακό Λογισµό Ο Σχεσιακός Λογισµός (Relational Calculus ή RC) είναι µια µηδιαδικαστική, τυπική γλώσσα που βασίζεται στον κατηγορηµατικό λογισµό πρώτης τάξης. Οι ερωταποκρίσεις στην RC προδιαγράφουν τι πρόκειται να ανακληθεί (δηλωτικά) ενώ το σύστηµα (που υποστηρίζει τη γλώσσα) αναλαµβάνει το πώς. Οι περισσότερες εµπορικές σχεσιακές γλώσσες έχουν τις ρίζες τους στον Σχεσιακό Λογισµό (QUEL, QBE, SQL).Αυτές οι γλώσσες δίνουν έµφαση στην ευκολία χρήσης. Ως προς την εκφραστικότητα, σχεσιακή άλγεβρα καισχεσιακός λογισµός είναι ταυτόσηµοι. Tο Σχεσιακό Μοντέλο Σελίδα 3

Λογισµός πλειάδων και Λογισµός πεδίων Ο Σχεσιακός Λογισµός χρησιµοποιεί την έννοια της µεταβλητής Υπάρχουν δυο µορφές της Γλώσσας: Λογισµός Πλειάδων οι µεταβλητές αναφέρονται σε πλειάδες από µια Σχέση π.χ., t είναι µια µεταβλητή πλειάδος που αναφέρεται σε µια πλειάδα της r(r) Λογισµός Πεδίων Τιµών οι µεταβλητές αναφέρονται σε τιµές από ένα Πεδίο π.χ., d είναι µια µεταβλητή πεδίου που αναφέρεται σε µια τιµή, που έχει µια πλειάδα της r(r) για το γνώρισµα A (από το πεδίο D) Tο Σχεσιακό Μοντέλο Σελίδα 4

Σχεσιακός Λογισµός Πλειάδων Κάθε ερώτηµα είναι της µορφής {t P (t) } Όλα τα tuples t τέτοια ώστε το κατηγόρηµα (predicate) P να είναι αληθές t είναι µια µεταβλητή πλειάδας (tuple variable) t r σηµαίνει ότι t ορίζεται να παίρνει τιµές από ένα στιγµιότυπο σχέσης r(r) Οι µεταβλητές µπορεί να είναιπεριορισµένες (restricted) t[a], όπου A ένα γνώρισµα της R P είναι µια έκφραση κατηγορηµατικού λογισµού (predicate calculus) Tο Σχεσιακό Μοντέλο Σελίδα 5

Έκφραση κατηγορηµατικού λογισµού 1. Μεταβλητές (πλειάδες) και σταθερές 2. Τελεστές σύγκρισης: (π.χ., <,, =,, >, ) 3. Συνδετικά στοιχεία: and ( ), or ( ) not ( ) 4. Συνεπαγωγή( ): x y, αν ισχύει το x, ισχύει και το y x y x y 5. Υπαρξιακοί (existential) και καθολικοί (universal) ποσοδείκτες (quantifiers) t r (Q(t)) υπάρχει ένα tuple tστη σχέση r τέτοιο ώστε το Q(t) να είναι true t r (Q(t)) Q είναι true για κάθε tuple t στη σχέση r 6. Μια µεταβλητή t ονοµάζεται δεσµευµένη (bound) σε µια έκφραση f αν είναι µια από µεταβλητές που ποσοδεικτούνται στην f. Αλλιώς, η t είναι ελεύθερη (free) στην f. Παράδειγµα: t είναι ελεύθερη στην f1 (t.city = london ) και δεσµευµένη στην f2 : ( t ) (t.dnumber = v.dno Tο Σχεσιακό Μοντέλο Σελίδα 6

Παράδειγµα τράπεζας branch (branch-name, branch-city, assets) customer (customer-name, customer-street, customer-city) account (account-number, branch-name, balance) loan (loan-number, branch-name, amount) depositor (customer-name, account-number) borrower (customer-name, loan-number) Find the loan-number, branch-name, and amount for loans of over $1200 {t t loan t [amount] > 1200} Tο Σχεσιακό Μοντέλο Σελίδα 7

Παράδειγµα τράπεζας branch (branch-name, branch-city, assets) customer (customer-name, customer-street, customer-city) account (account-number, branch-name, balance) loan (loan-number, branch-name, amount) depositor (customer-name, account-number) borrower (customer-name, loan-number) Find the names of all customers having a loan, an account, or both at the bank {t s borrower( t[customer-name] = s[customer-name]) u depositor( t[customer-name] = u[customer-name]) Find the names of all customers who have a loan and an account at the bank {t s borrower( t[customer-name] = s[customer-name]) u depositor( t[customer-name] = u[customer-name]) Tο Σχεσιακό Μοντέλο Σελίδα 8

Παράδειγµα τράπεζας branch (branch-name, branch-city, assets) customer (customer-name, customer-street, customer-city) account (account-number, branch-name, balance) loan (loan-number, branch-name, amount) depositor (customer-name, account-number) borrower (customer-name, loan-number) Find the names of all customers having a loan at the Perryridge branch {t s borrower(t[customer-name] = s[customer-name] u loan(u[branch-name] = Perryridge u[loan-number] = s[loan-number]))} Find the names of all customers who have a loan at the Perryridge branch, but no account at any branch of the bank {t s borrower( t[customer-name] = s[customer-name] u loan(u[branch-name] = Perryridge u[loan-number] = s[loan-number])) not v depositor (v[customer-name] = t[customer-name]) } Tο Σχεσιακό Μοντέλο Σελίδα 9

Παράδειγµα τράπεζας branch (branch-name, branch-city, assets) customer (customer-name, customer-street, customer-city) account (account-number, branch-name, balance) loan (loan-number, branch-name, amount) depositor (customer-name, account-number) borrower (customer-name, loan-number) Find the names of all customers having a loan from the Perryridge branch, and the cities they live in {t s loan(s[branch-name] = Perryridge u borrower (u[loan-number] = s[loan-number] t [customer-name] = u[customer-name]) v customer (u[customer-name] = v[customer-name] t[customer-city] = v[customer-city])))) Tο Σχεσιακό Μοντέλο Σελίδα 10

Παράδειγµα τράπεζας branch (branch-name, branch-city, assets) customer (customer-name, customer-street, customer-city) account (account-number, branch-name, balance) loan (loan-number, branch-name, amount) depositor (customer-name, account-number) borrower (customer-name, loan-number) Find the names of all customers who have an account at all branches located in Brooklyn: {t s branch(s[branch-city] = Brooklyn u account ( s[branch-name] = u[branch-name] s depositor ( t[customer-name] = s[customer-name] s[account-number] = u[account-number] )) )) Tο Σχεσιακό Μοντέλο Σελίδα 11

ΑΣΦΑΛΕΙΑ Εκφράσεων Είναι δυνατόν να γραφούν εκφράσεις στο Σχεσιακό Λογισµό που δηµιουργούν ΑΠΕΙΡΕΣ Σχέσεις. Για παράδειγµα η: {t t r} έχει σαν αποτέλεσµα µια άπειρη σχέση (αν το πεδίο τιµών για την r είναι άπειρο.) Για αποφυγή αυτού του προβλήµατος, περιορίζουµε τις εκφράσεις σε αυτές που ονοµάζονται ασφαλείς εκφράσεις (safe expressions). Μια έκφραση {t P(t)}στο Σχεσιακό Λογισµό Πλειάδων ονοµάζεται ΑΣΦΑΛΗΣ αν κάθε συνιστώσα της tπαρουσιάζεται σε µια από τις σχέσεις, πλειάδες, ή σταθερές στην P ΠΡΟΣΟΧΗ: Αυτό δεν είναι µια απλή συντακτική συνθήκη.» Π.χ., { t t[a]=5 true } δεν είναι ασφαλής ---ορίζει ένα άπειρο σύνολο µε τιµές γνωρισµάτων που δεν παρουσιάζονται σε καµία σχέση, πλειάδα ή σταθερά στην P. Tο Σχεσιακό Μοντέλο Σελίδα 12

Λογισµός πεδίων τιµών Μη-διαδικαστική γλώσσα ισοδύναµη του λογισµού πλειάδων Κάθε query είναι µια έκφραση της µορφής { < x 1, x 2,, x n > P(x 1, x 2,, x n )} x 1, x 2,, x n είναι µεταβλητές πεδίου P αντιπροσωπεύει σχέση κατηγορηµατικού λογισµού Tο Σχεσιακό Μοντέλο Σελίδα 13

Example Queries branch (branch-name, branch-city, assets) customer (customer-name, customer-street, customer-city) account (account-number, branch-name, balance) loan (loan-number, branch-name, amount) depositor (customer-name, account-number) borrower (customer-name, loan-number) Find the loan-number, branch-name, and amount for loans of over $1200 {< l, b, a > < l, b, a > loan a > 1200} Find the names of all customers who have a loan of over $1200 {< c > l, b, a (< c, l > borrower < l, b, a > loan a > 1200)} Tο Σχεσιακό Μοντέλο Σελίδα 14