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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lecture 8: RM I + RA I

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

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

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

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

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

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

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

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

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

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

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

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

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

Lecture 14: SQL DML I

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 4: ER I. Data Modeling Using the ER Model

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων

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


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

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

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

1 / 97

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

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

1 / 87

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ342: Βάσεις Δεδομένων. Χειμερινό Εξάμηνο Φροντιστήριο 10 ΛΥΣΕΙΣ. Επερωτήσεις SQL

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

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

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

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

Lecture 21: Functional Dependencies and Normalization

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

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

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

Query-by-Example (QBE)


Αυτοματοποιημένη χαρτογραφία

Lecture 16: SQL DML III

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

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

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


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

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

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

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

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


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

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

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

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

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

Υλοποίηση των Σχεσιακών Τελεστών. 6/16/2009 Μ.Χατζόπουλος 1

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

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 3

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

Transcript:

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

Σχεσιακό Μοντέλο Ο λογισμός πεδίου τιμών διαφέρει από τον σχεσιακό λογισμό στο είδος των μεταβλητών που χρησιμοποιούνται στις φόρμουλες Αντί οι μεταβλητές να διατρέχουν πλειάδες, διατρέχουν πεδία τιμών των στηλών μιας πλειάδας Για να δημιουργήσουμε μια σχέση βαθμού n για το αποτέλεσμα μιας ερώτησης, πρέπει να έχουμε n μεταβλητές πεδίου τιμών Μια για κάθε γνώρισμα της σχέσης Υπάρχει μια βιομηχανική σχεσιακή γλώσσα, QBE, που κάπως σχετίζεται με τον «λογισμό πεδίου τιμών»

Σχεσιακό Μοντέλο Τυπικός ορισμός του σχεσιακού λογισμού {x1, x2,, xn / COND (x1, x2,, xn+m)} x1,, xn+m είναι μεταβλητές πεδίου τιμών, που διατρέχουν «πεδία τιμών» όχι κατά ανάγκη μοναδικά COND είναι μια συνθήκη ή φόρμουλα που περιέχει x s και αποτελείται από στοιχεία (atoms) κατηγορηματικού λογισμού Atoms R(x1, x2,, xj) όπου R είναι σχέση βαθμού j και κάθε xi, 1 <= j, είναι μεταβλητή πεδίου τιμών R(x1, x2,, xj) (x1, x2,, xj) R xi op. xj όπου xi, xj, είναι μεταβλητές πεδίου τιμών, op τελεστής συγκρίσεως Xi op. c όπου xi είναι μεταβλητές πεδίου τιμών, op τελεστής συγκρίσεως, c μια σταθερή

Σχεσιακό Μοντέλο Μια φόρμουλα (συνθήκη) Κάθε άτομο είναι φόρμουλα Όλα τα xi σε ένα στοιχείο (φόρμουλα) είναι ελεύθερα Εάν Φ1 και Φ2 είναι φόρμουλες τότε είναι και (Φ1 AND Φ2) (Φ1 OR Φ2) NOT (Φ1) NOT (Φ2) Εάν Φ είναι φόρμουλα, τότε είναι και, (Φ) υπαρξιακός ποσοδότης (Φ) καθολικός ποσοδότης Χρήση παρενθέσεων για μάζεμα Τίποτε άλλο

Παράδειγμα Βρες την ημερομηνία γεννήσεως και διεύθυνση του υπαλλήλου με όνομα John B. Smith Tuple calculus {t.bdate, t.address / EMPLOYEE(t) and t.fname= John and t.minit= B and t.lname= Smith } Domain calculus {uv / ( q) ( r) ( s) EMPLOYEE (qrstuvwxyz) and q= John and r= B and s= Smith Χρειαζόμαστε 10 μεταβλητές για τη σχέση EMPLOYEE, μια για κάθε πεδίο τιμών q, r, s είναι δεσμευμένες μέσο του υπαρξιακού ποσοδότη, οι υπόλοιπες είναι ελεύθερες Ποσοδοτούμε μόνο αυτές τις μεταβλητές που λαμβάνουν μέρος στη συνθήκη

Παράδειγμα Βρες όλους τους υπαλλήλους με μισθό πάνω από $50,000 Tuple calculus {t / EMPLOYEE(t) and t.salary > 50000} Domain calculus {qrstuvwxyz / ( x) EMPLOYEE (qrstuvwxyz) and x>50000}

Παράδειγμα Query 1 Βρες το όνομα και διεύθυνση του υπαλλήλου που δουλεύει στο Research τμήμα Tuple calculus {t.fname, t.lname, t.address / EMPLOYEE(t) and ( d)(department(d) and d.dname= Research and d.dnumber=t.dno)} Domain calculus {qsv / ( z) EMPLOYEE (qrstuvwxyz) ( I) ( m) DEPARTMENT(Imno) and I= Research m=z)) } m=z είναι μια συνθήκη συνδέσεως (σχέσεως) I= Research είναι η συνθήκη επιλογής

Παράδειγμα Query Βρες όλους τους manager που έχουν τουλάχιστο ένα εξαρτώμενο.

Λύση Tuple calculus {t / EMPLOYEE(t) and ( d) (DEPARTMENT(d) and ( r) DEPENDENT(r) and t.ssn=d.mgrssn and t.ssn=r.essn))} Domain calculus {qs / ( t) EMPLOYEE (qrstuvwxyz) and ( j) (DEPARTMENT(hijk) and (( l) DEPENDENT(lmno) and t=j and t=l))))}

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

Λύση Query 2 {qs ( t)employee(qrstuvwxyz) and t = y ( y)employee(qrsyuvwxyz) and!!!!!!!!!!11) Query 3 {qs ( t)employee(qrstuvwxyz) and ( a)department(abcd) and b = 5 and z = a}

Παράδειγμα Query 4 Βρες το όνομα κάθε υπαλλήλου που δεν έχει εξαρτώμενα.

Λύση Domain calculus { qs / ( t) (EMPLOYEE(qrstuvwxyz) and (not ( l) (DEPENDENT(lmno) and t=l)))} Χρησιμοποιώντας τον καθολικό ποσοδότη {qs / ( t) (EMPLOYEE(qrstuvwxyz) and (( l) ((not (DEPENDENT(lmno)) or (DEPENDENT(lmno) and not (t=l)))))}

Λύση {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 not (e.ssn=d.essn))))}

QUEL & QBE Γλώσσες QUEL είναι η database γλώσσα της Ingres είναι βασισμένη στον σχεσιακό λογισμό QBE (query by example) χρησιμοποιείται από τη βάση δεδομένων DB2 της IBM και είναι κάπως βασισμένη στον λογισμό πεδίου τιμών

Η Γλώσσα QUEL H γλώσσα επερωτήσεων της Ingres Μπορεί να χρησιμοποιηθεί εμπεδωμένη σε μια γλώσσα προγραμματισμού η απευθείας (interactively) Έχει παρόμοια εκφραστική δύναμη όπως η SQL Είναι κυρίως βασισμένη στον σχεσιακό λογισμό Δηλωτική γλώσσα Δηλώνεις το «τι» και όχι το «πως»

Η Γλώσσα QUEL Η QUEL έχει μια βασική εντολή για την ανάκτηση πληροφοριών από τη βάση δεδομένων Την RETRIEVE WHERE ενότητα (RRW) Αποτελείται από τους δυο όρους RETRIEVE και WHERE και έχει την ακόλουθη μορφή RANGE OF <λίστα μεταβλητών πλειάδων> RETRIEVE <λίστα γνωρισμάτων> WHERE <συνθήκη> Όπου <λίστα γνωρισμάτων> είναι η λίστα των πεδίων των οποίων οι τιμές θα ανακτηθούν από την ερώτηση (query) <συνθήκη> είναι η λογική έκφραση η οποία αναγνωρίζει τις πλειάδες που θα ανακτηθούν από την ερώτηση RANGE είναι μια εντολή της QUEL που χρησιμοποιείται για ορισμό μεταβλητών τύπου πλειάδας

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

Παράδειγμα Query 2 Βρες το όνομα και διεύθυνση του υπαλλήλου που δουλεύει στο Research τμήμα Tuple calculus QUEL RANGE OF t IS EMPLOYEE d IS DEPARTMENT RETRIEVE (t.fname, t.lname, t.address) WHERE d.dname= RESEARCH AND d.dumber=t.dno) Στην QUEL κάθε μεταβλητή που εμφανίζεται στην WHERE-όρο και δεν εμφανίζεται στον RETRIEVE-όρο είναι θεωρητικά καθορισμένη με τον υπαρξιακό ποσοδότη

Παράδειγμα Query 3 Δωσε το ονομα και το επιθετο του υπαλληλου που εχει Supervisor. Query 4 Δωσε το ονομα και το επιθετο του υπαλληλου που εργαζετε στο τμημα 5.

Λύση Query 3 RANGE OF t IS EMPLOYEE d IS EMPLOYEE RETRIEVE (t.fname, t.lname, d.fname, d.lname) WHERE t.ssn= d.ssn Query 4 RANGE OF t IS EMPLOYEE d IS DEPARTMENT RETRIEVE (t.fname, t.lname) WHERE d.dnumber= 5 AND t.dno= d.dumber)

Η Γλώσσα QBE Αναπτύχθηκε στα ερευνητικά κέντρα της IBM Είναι ένα ΙΒΜ προϊών προαιρετικό για το DB2 Η ερώτηση δημιουργείται με το γέμισμα καλουπιών σχέσεων τα οποία απεικονίζονται στην οθόνη Είναι βασισμένη στον λογισμό πεδίου τιμών

Τhe relational schema of the COMPANY database as it may be displayed by QBE

Ανάκτηση δεδομένων στην QBE Ανάκτηση πληροφοριών γίνεται με το γέμισμα κάποιον στηλών του περιγράμματος της σχέσης Οι σταθερές τιμές γράφονται όπως είναι (δεσμευμένες μεταβλητές) Τιμές παράδειγμα εμφανίζονται με «_» (_x, _ssn) H προσήμανση «Ρ» χρησιμοποιείται για να δείξει ότι η τιμή μιας στήλης θα ανακτηθεί Η συνθήκη R(x1, x2,, xj) και ο υπαρξιακός ποσοδότης εμφανίζονται έμμεσα στην QBE, επειδή το επίγραμμα αντιστοιχεί στη σχέση R που χρησιμοποιείται Σκεφτείτε κάθε στήλη σε ένα επίγραμμα της QBE σαν μια έμμεση μεταβλητή πεδίου τιμών

QBE example: find the birthday and address of the employee whose name is John B. Smith

List the social security number of employees who work more than 20 hours per week on project number 1 List the social security number of employees who work more than 20 hours per week on project number 1 or 2

Retrieve the name and address of all employees who work for the Research department {qsv ( z) (EMPLOYEE(qrstuvwxyz) and ( l)( m) (DEPARTMENT(lmno) and l= Research and m=z))}