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

Σχετικά έγγραφα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

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

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

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

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

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

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

(Μέρος 3:Γλώσσα Ορισµού, Γλώσσα Τροποποίησης, Ενσωµατωµένη SQL) Βάσεις εδοµένων Ευαγγελία Πιτουρά 2

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

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

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

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

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

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα:

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

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

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

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

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

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

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

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

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

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

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

Τμήμα Διοίκησης Επιχειρήσεων

Βάςεισ Δεδομζνων Ι. Ενότητα 7: Ειςαγωγή ςτην γλώςςα_sql. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικϊν Πλθροφορικισ ΣΕ

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

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

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

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

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

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

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

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


Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1

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

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

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

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση

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

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

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

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.

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

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

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

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

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

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

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

Βάσεις Δεδομένων Ι SQL Μέρος 3 ο. (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

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

DELETE, UPDATE, INSERT

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

Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004

Το σχεσιακό μοντέλο βάσεων δεδομένων

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

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

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

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

10 η Διάλεξη Python Βάσεις δεδομένων στη python

Βάσεις Περιβαλλοντικών Δεδομένων

DELETE, UPDATE, INSERT.

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

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #6

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

Η γλώσσα SQL. Βάσεις Δεδομένων : SQL 1

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

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

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

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

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

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

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

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

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

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

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

Query-by-Example (QBE)

Η Γλώσσα SQL. What is the average salary in the Toy department? Anonymous SQL user

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

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

Το Μοντέλο των Οντοτήτων Συσχετίσεων Entity Relationship Model. Νικόλαος Ζ. Ζάχαρης

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

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

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου]

( Boats)) ( Tempsids, bid. sname. Boats. Boats. Boats. (Reserves)/ > Reserves. Interlake' Sailors) ...

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

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

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

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

Παράδειγμα Select Introduction Group By Join Aliases.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (3)

Παράδειγμα Insert Update Delete Alter.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (2)

Εργαστήριο Βάσεων Δεδομένων. Triggers

Κεφάλαιο 5. Ορισµός Βάσεων εδοµένων µε SQL DDL - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. Σχεσιακές Γλώσσες Εµφύτευση / DDL Σελίδα 2.

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Σχεσιακό Μοντέλο SQL- Μέρος Β Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos CMU)

Επισκόπηση σχεσιακό μοντέλο Τυπικές γλώσσες ερωτημάτων Σχεσιακή άλγεβρα και λογισμός Εμπορικές γλώσσες ερωτημάτων SQL QBE, (QUEL)

Επισκόπηση -αναλυτικά -SQL ΓΧΔ select, from, where, μετονομασία, διάταξη, Συναθροιστικές εξαρτήσεις, εμφωλευμένες υπο-ερωτήσεις Εισαγωγή (insertion), διαγραφή (deletion), ενημέρωση (update) Άλλα μέρη:γοδ, εμφυτευμένη SQL, εξουσιοδότηση, κα.

Θυμηθείτε: τη μικρή μας ΒΔ ΦΟΙΤΗΤΗΣ ΑΜ Όνομα Διεύθυνση 123 Σταύρου Αιόλου 234 Αντωνίου Θράκης ΜΑΘΗΜΑ Κωδ Όνομα ΔΜ cis331 ΔΒ 2 cis321 C 2 ΠΑΙΡΝΕΙ ΑΜ Κωδ βαθμός 123 cis331 A 234 cis331 B

ΓΧΔ εισαγωγή... insert into φοιτητής values ( 234, Αντωνίου, Θράκης ) insert into φοιτητής(αμ, όνομα, διεύθυνση) values ( 234, Αντωνίου, Θράκης )

ΓΧΔ εισαγωγή... Μαζική εισαγωγή: πώς θα εισάγουμε τα δεδομένα ενός πίνακα (πχ. ξένοςφοιτητής, μαζικά;

ΓΧΔ εισαγωγή... Μαζική Εισαγωγή: insert into φοιτητής select ΑΜ, όνομα, διεύθυνση from ξένος-φοιτητής

ΓΧΔ διαγραφή... Διαγραφή της καταχώρησης για τον Αντωνίου

ΓΧΔ διαγραφή... Διαγραφή της καταχώρησης για τον Αντωνίου : delete from φοιτητής where όνομα= Αντωνίου (προσοχή διαγράφει ΟΛΟΥΣ τους Αντωνίου!)

ΓΧΔ Ενημέρωση... Κατέγραψε τον βαθμό A για το ΑΜ=123 στο μάθημα cis351 update παίρνει set βαθμός= A where ΑΜ= 123 and κωδ= cis351 (θα δώσει την τιμή A σε ΟΛΑ τα αρχεία που ταιριάζουν)

ΓΧΔ ενημέρωση όψης Έστω η ακόλουθη όψη για τη ΒΔ-παίρνει: create view ΒΔ-παίρνει as (select * from παίρνει where κωδ= cis351 ) Η ενημέρωση των όψεων είναι επιρρεπής σε λάθη - τυπικά, μπορούμε μόνο να ενημερώσουμε όψεις που δεν έχουν συνενώσεις ούτε συναθροίσεις Ακόμα και τότε, σκεφτείτε την περίπτωση να αλλάξουμε έναν κωδικό μαθήματος σε cis333...

ΓΧΔ - Συνενώσεις Μέχρι τώρα: INNER joins, πχ: select ΑΜ, μάθημα.όνομα from παίρνει, μάθημα where παίρνει.κωδ = μάθημα.κωδ

Θυμηθείτε: τη μικρή μας ΒΔ ΦΟΙΤΗΤΗΣ ΑΜ Όνομα Διεύθυνση 123 Σταύρου Αιόλου 234 Αντωνίου Θράκης ΜΑΘΗΜΑ Κωδ Όνομα ΔΜ cis331 ΔΒ 2 cis321 C 2 ΠΑΙΡΝΕΙ ΑΜ Κωδ βαθμός 123 cis331 A 234 cis331 B

inner join ΠΑΙΡΝΕΙ ΑΜ κωδ βαθμός 123 cis331 A 234 cis331 B ΜΑΘΗΜΑ κωδ όνομα ΔΜ cis331 d.b. 2 cis321 o.s. 2 ΑΜ όνομα 123 d.b. 234 d.b. o.s.: χάνεται!

outer join ΠΑΙΡΝΕΙ ΑΜ κωδ βαθμός 123 cis331 A 234 cis331 B ΜΑΘΗΜΑ κωδ όνομα ΔΜ cis331 d.b. 2 cis321 o.s. 2 ΑΜ όνομα 123 d.b. 234 d.b. null o.s.

outer join select ΑΜ, μάθημα.όνομα from παίρνει outer join μάθημα on παίρνει.κωδ=μάθημα.κωδ ΑΜ όνομα 123 d.b. 234 d.b. null o.s.

outer join left outer join right outer join full outer join natural join

Επισκόπηση -αναλυτικά- SQL ΓΧΔ select, from, where, μετονομασία, διάταξη, Συναθροιστικές εξαρτήσεις, εμφωλευμένες υπο-ερωτήσεις Εισαγωγή (insertion), διαγραφή (deletion), ενημέρωση (update) Άλλα μέρη: ΓΟΔ, εμφυτευμένη SQL, εξουσιοδότηση, κα.

Γλώσσα Ορισμού Δεδομένων create table φοιτητής (ΑΜ char(9) not null, όνομα char(30), διεύθυνση char(50), primary key (ΑΜ) )

Γλώσσα Ορισμού Δεδομένων create table r( A1 D1,, An Dn, περιορισμός ακεραιότητας1, περιορισμός ακεραιότητας-n)

Γλώσσα Ορισμού Δεδομένων πεδία: char(n), varchar(n) int, numeric(p,d), real, double precision float, smallint date, time

Γλώσσα Ορισμού Δεδομένων Περιορισμοί ακεραιότητας: primary key foreign key check(p)

Γλώσσα Ορισμού Δεδομένων create table παίρνει (ΑΜ char(9) not null, κωδ char(5) not null, βαθμός char(1), primary key (ΑΜ, κωδ), check βαθμός in ( A, B, C, D, F ))

Γλώσσα Ορισμού Δεδομένων Διαγραφή ενός πίνακα: διαφορά μεταξύ drop table φοιτητής delete from φοιτητής

Γλώσσα Ορισμού Δεδομένων Τροποποίηση πίνακα: alter table φοιτητής drop διεύθυνση alter table φοιτητής add κατεύθυνση char(10)

Επισκόπηση- αναλυτικά- SQL ΓΧΔ select, from, where, μετονομασία, διάταξη, Συναθροιστικές συναρτήσεις, εμφωλευμένες υπο-ερωτήσεις Εισαγωγή (insertion), διαγραφή (deletion), ενημέρωση (update) Άλλα μέρη: ΓΟΔ, εμφυτευμένη SQL, εξουσιοδότηση, κα.

Εμφυτευμένη SQL Εμφύτευση εντολών από μια φιλόξενη γλώσσα (π.χ C, VB ) EXEC SQL <emb. SQL stmnt> END-EXEC Ερώτηση: γιατί χρειαζόμαστε την εμφυτευμένη SQL??

Εμφυτευμένη SQL Η SQL επιστρέφει σύνολα. Η φιλόξενη γλώσσα αναμένει μια πλειάδα εγγενής διαφορά στον τρόπο αναπαράστασης δεδομένων! λύση: δρομέας, δηλ. ένας δείκτης στα σύνολα των πλειάδων παράδειγμα:

Εμφυτευμένη SQL main(){ EXEC SQL declare c cursor for select * from φοιτητής END-EXEC

Εμφυτευμένη SQL - συνέχεια EXEC SQL open c END-EXEC while(!sqlerror ){ EXEC SQL fetch c into :cαμ, :cόνομα, :cδιευθ END-EXEC fprintf(, cαμ, cόνομα, cδιευθ); }

Εμφυτευμένη SQL - συνέχεια EXEC SQL close c END-EXEC } /* end main() */

δυναμική SQL Δημιουργία και υποβολή SQL ερωτημάτων σε πραγματικό χρόνο? : θέση καταχώρησης της τιμής μετά την εκτέλεση της εντολής main(){ /* καθόρισε όλους τους βαθμούς σύμφωνα με τα δεδομένα που εισάγει ο χρήστης */ char *sqlcmd= ενημέρωση παίρνει set βαθμός =? ; EXEC SQL prepare dynsql from :sqlcmd ; char inputβαθμός[5]= a ; EXEC SQL execute dynsql using :inputgrade; } /* end main() */

Επισκόπηση -αναλυτικά -SQL ΓΧΔ select, from, where, μετονομασία, διάταξη, Συναθροιστικές συναρτήσεις, εμφωλευμένες υπο-ερωτήσεις Εισαγωγή (insertion), διαγραφή (deletion), ενημέρωση (update) Άλλα μέρη: ΓΟΔ, εμφυτευμένη SQL, εξουσιοδότηση, κα.

SQL - διάφορα Στη συνέχεια, θα δούμε εξουσιοδότηση: grant select on φοιτητής to <idχρήστη> δοσοληψίες Άλλα χαρακτηριστικά: σκανδάλες (triggers), βεβαιώσεις (assertions), κα.

Επισκόπηση σχεσιακό μοντέλο Τυπικές γλώσσες ερωτημάτων Σχεσιακή άλγβερα και λογισμός Εμπορικές γλώσσες ερωτημάτων SQL QBE, (QUEL)

Σχεσιακό εισαγωγή στη QBE Εμπνευσμένη από το σχεσιακό λογισμό πεδίων P. -> print (δηλ. select στην SQL) _x, _y: μεταβλητές πεδίου (δηλ. ονόματα γνωρισμάτων) Παράδειγμα: βρες τα ονόματα των φοιτητών που έχουν πάρει το μάθημα cis351

Σχεσιακό μοντέλο -QBE ΦΟΙΤΗΤΗΣ ΑΜ Όνομα Διεύθυνση 123 Σταύρου Αιόλου 234 Αντωνίου Θράκης ΜΑΘΗΜΑ Κωδ Όνομα ΔΜ cis331 ΔΒ 2 cis321 C 2 ΠΑΙΡΝΕΙ ΑΜ Κωδ βαθμός 123 cis331 A 234 cis331 B

Σχεσιακό μοντέλο -QBE ΦΟΙΤΗΤΗΣ ΑΜ όνομα διεύθυνση ΜΑΘΗΜΑ κωδ όνομα ΔΜ ΠΑΙΡΝΕΙ ΑΜ κωδ βαθμός

Σχεσιακό μοντέλο -QBE Τα ονόματα των φοιτητών που έχουν πάρει το μάθημα cis351 ΦΟΙΤΗΤΗΣ AM όνομα διεύθυνση _x P. ΜΑΘΗΜΑ κωδ όνομα ΔΜ ΑΜ κωδ βαθμός _x cis351

Σχεσιακό μοντέλο -QBE Πλαίσιο συνθήκης (condition box) self-joins (οι παππούδες του Θωμά) διάταξη (AO., DO.) συνάθροιση (SUM.ALL., COUNT.UNIQUE. ) group-by (Β.)

Σχεσιακό μοντέλο -QBE συνάθροιση: avg βαθμός συνολικά: ΦΟΙΤΗΤΗΣ ΑΜ όνομα διεύθυνση ΜΑΘΗΜΑ κωδ όνομα ΔΜ ΑΜ κωδ βαθμός P.AVG.ALL.

Σχεσιακό μοντέλο -QBE συνάθροιση: avg. βαθμός ανά φοιτητή: ΦΟΙΤΗΤΗΣ ΑΜ όνομα διεύθυνση ΜΑΘΗΜΑ κωδ όνομα ΔΜ AM κωδ βαθμός P.Β. P.AVG.ALL.

Επισκόπηση σχεσιακό μοντέλο Τυπικές γλώσσες ερωτημάτων Σχεσιακή άλγεβρα και λογισμός Εμπορικές γλώσσες ερωτημάτων SQL QBE, (QUEL)

Σχεσιακό μοντέλο -QUEL Χρησιμοποιείται στο INGRES μόνο από ιστορικό ενδιαφέρον. Π.χ: βρεςόλατααμστημικρήμαςβδ: range of s is φοιτητής; retrieve (s.αμ); { t s φοιτητής s[ ΑΜ ] = t[ ΑΜ]}

Σχεσιακό μοντέλο -QUEL Γενική σύνταξη: range of. is t-όνομα retrieve (λίστα γνωρισμάτων) where συνθήκη SQL select λίστα γνωρισμάτων from t-όνομα where συνθήκη

Σχεσιακό μοντέλο -QUEL Παρόμοια με την SQL Επιπλέον υποστηρίζει συναθροίσεις, διάταξη, κτλ

Γενική Επισκόπηση Τυπικές γλώσσες ερωτημάτων Σχεσιακή άλγεβρα και λογισμός Εμπορικές γλώσσες ερωτημάτων SQL QBE, (QUEL) Περιορισμοί ακεραιότητας Συναρτησιακές Εξαρτήσεις Κανονικοποίηση καλός σχεδιασμός ΒΔ