Αρχεία και Βάσεις Δεδομένων. Εξεταστική Περίοδος Σεπτεμβρίου 2007

Σχετικά έγγραφα
Εξεταστική Περίοδος Ιουνίου 2004

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

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

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

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

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


DELETE, UPDATE, INSERT.

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

DELETE, UPDATE, INSERT

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

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

SQL Data Manipulation Language

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

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους

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

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

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

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

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

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

Κεφάλαιο 13 Δοσοληψίες

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων Ι Εξεταστική Περίοδος Φεβρουαρίου 2006

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

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

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

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

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

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

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

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

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

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

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

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

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

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

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

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

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

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

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

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

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

Περιεχόμενα. Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Πρόλογος... 33

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP.

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης

Postgress ΣΤΟΧΟΣ ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ. ΠΕΡΙΒΑΛΛΟΝ ΓΙΑ ΕΞΑΣΚΗΣΗ pgadmin ΥΠΟΒΑΘΡΟ. Συναρτήσεις στην PostgreSQL. 1. Γενικά

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr

Θέματα ανακεφαλαίωσης

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. Για i από 1 μέχρι Μ Εμφάνισε A[4,i] Τέλος_επανάληψης. (μονάδες 6) ΤΕΛΟΣ 1ης ΑΠΟ 7 ΣΕΛΙΔΕΣ

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός)

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


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

Ανοικτά Ακαδημαϊκά Μαθήματα

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

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


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

Το Σχεσιακό μοντέλο και η γλώσσα SQL

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

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

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


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

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

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

Lecture 21: Functional Dependencies and Normalization

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

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

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

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

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

Διάλεξη 02: Βάσεις Δεδομένων Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου

Κεφάλαιο 10 Άλλες Πράξεις Θεωρίας Συνόλων

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

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

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

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

Transcript:

Aρχεία και Βάσεις Δεδομένων Εξεταστική Περίοδος Σεπτεμβρίου 2007 Διαβάστε προσεκτικά όλες τις οδηγίες, τις εκφωνήσεις των ερωτημάτων και τις όποιες οδηγίες υπάρχουν σε κάθε ερώτημα. Η εξέταση πραγματοποιείται με ανοικτά βιβλία και σημειώσεις του μαθήματος. Απαντήστε τα ερωτήματα στις σελίδες των απαντήσεων (2 τελευταίες σελίδες) ΜΟΝΟ. Για τα ερωτήματα πολλαπλής επιλογής, γράψτε την απάντησή σας (δηλ. το γράμμα της απάντησης που θα επιλέξετε) στο αντίστοιχο τετράγωνο. Aν: (i) το γράμμα στο τετράγωνο δεν είναι ευανάγνωστο, ή (ii) υπάρχουν δύο γράμματα στο τετράγωνο, τότε η απάντηση θα θεωρείται λανθασμένη. Το διαγώνισμα αποτελείται από 20 ερωτήματα. Η μέγιστη βαθμολογία είναι 75 μονάδες. Προβιβάσιμος βαθμός είναι βαθμός μεγαλύτερος ή ίσος του 37. Κάθε ερώτημα βαθμολογείται με 3 μονάδες, εκτός αν αναγράφεται κάτι διαφορετικό στην εκφώνηση του ερωτήματος. Δεν υπάρχει αρνητική βαθμολόγηση (αφαίρεση μονάδων) για τις λανθασμένες απαντήσεις στα ερωτήματα πολλαπλής επιλογής. Οι λανθασμένες απαντήσεις λαμβάνουν μηδέν (0) μονάδες. Διαβάστε όλα τα ερωτήματα προτού ξεκινήσετε να γράφετε, ώστε να προγραμματίσετε την κατανομή του χρόνου σας. Η διάρκεια της εξέτασης είναι 150 λεπτά. Δεν θα δοθεί καμμία παράταση χρόνου. Χρησιμοποιήστε το διαθέσιμο χρόνο συνετά και μην αφιερώνετε πάρα πολύ χρόνο στην απάντηση ενός ερωτήματος. Αν δε δηλώνεται διαφορετικά, υποθέστε ότι όλα τα ερωτήματα που αφορούν την SQL αναφέρονται στο πρότυπο της SQL που υπάρχει στο βιβλίο του μαθήματος. Ονοματεπώνυμο: Αριθμός Μητρώου: Ερωτήματα Μέγιστη Βαθμολογία Βαθμολογία ΣΥΝΟΛΟ: 75 1/11

Μέρος 1 ο Για κάθε ένα από τα 7 πρώτα ερωτήματα, σας ζητείται να συγκρίνετε δύο επερωτήσεις Q 1 και Q 2. Θα πρέπει να πείτε αν: 1. Οι επερωτήσεις SQL ή σχεσιακής άλγεβρας είναι ίδιες, με την έννοια ότι για κάθε στιγμιότυπο βάσης δεδομένων οι απαντήσεις στις δύο επερωτήσεις είναι ίδιες, δηλαδή, κάθε επερώτηση παράγει ως αποτέλεσμα τις ίδιες πλειάδες, και, για την SQL, κάθε πλειάδα παράγεται τον ίδιο αριθμό φορών από κάθε επερώτηση. Δε μας απασχολεί η σειρά με την οποία παράγονται οι πλειάδες. 2. Οι επερωτήσεις SQL ή σχεσιακής άλγεβρας είναι εντελώς διαφορετικές, με την έννοια ότι υπάρχουν βάσεις δεδομένων όπου η Q 1 παράγει κάποια πλειάδα περισσότερες φορές, και άλλες βάσεις δεδομένων όπου η Q 2 παράγει κάποια άλλη πλειάδα περισσότερες φορές. Προσέξτε ότι αυτό σημαίνει ότι η επερώτηση που παράγει το μικρότερο αριθμό αντιτύπων για κάποια πλειάδα μπορεί να παράγει μηδέν αντίτυπα αυτής της πλειάδας (δηλ. να μην την παράγει καθόλου). 3. Η μια επερώτηση περιέχεται στην άλλη. Μια επερώτηση Q 1 περιέχεται σε μια επερώτηση Q 2 αν, σε κάθε στιγμιότυπο βάσης δεδομένων, η Q 2 παράγει κάθε πλειάδα που παράγει η Q 1, και το πλήθος των αντιγράφων που παράγει η Q 2 είναι ίσο ή μεγαλύτερο από όσα παράγει η Q 1. Προσέξτε ότι είναι δυνατόν η Q 2 να παράγει μια πλειάδα, σε ένα ή περισσότερα αντίγραφα, την οποία δεν παράγει καθόλου η Q 1. Γενικές οδηγίες: Να μην υποθέσετε ότι μια επερώτηση έχει κάποιο συντακτικό λάθος και άρα δεν παράγει τίποτα ως αποτέλεσμα. Οι σχέσεις που αναφέρονται στις επερωτήσεις ενδέχεται να περιέχουν γνωρίσματα που δεν αναφέρονται, αλλά η ύπαρξή τους δε θα επηρεάζει την απάντηση. Οι σχέσεις ενδέχεται να περιέχουν τιμές NULL. Αν δε δηλώνεται διαφορετικά, υποθέστε ότι οι επερωτήσεις είναι γραμμένες στην στάνταρ SQL του βιβλίου. Το αποτέλεσμα μιας SQL επερώτησης είναι πολυσύνολο, το αποτέλεσμα μιας επερώτησης σε σχεσιακή άλγεβρα είναι ένα σύνολο, και σε άλγεβρα πολυσυνόλων ένα πολυσύνολο. Ερώτημα 1: Έστω σχέσεις R(Α,Β,C), S(D,E), και Τ(F,G). Q1: SELECT R.A FROM R,S,T WHERE R.A =S.D AND S.E=T.F Q2: SELECT R.A FROM R WHERE R.A in (SELECT S.D FROM S,T WHERE S.E=T.F) (B) Το αποτέλεσμα της Q 1 περιέχεται πάντα στο αποτέλεσμα της Q 2. 2/11

Ερώτημα 2: Για το ερώτημα αυτό, θεωρούμε ως αποτέλεσμα των Q 1 και Q 2 το αποτέλεσμα της τελευταίας εντολής SELECT * FROM R. Υποθέστε ότι το σχήμα για τη σχέση R είναι R(a,b). Q1: DELETE FROM R WHERE b=10; INSERT INTO R VALUES(5,10); SELECT * FROM R; Q2: UPDATE R SET b=10 WHERE a=5; SELECT * FROM R; (B) Το αποτέλεσμα της Q 1 περιέχεται πάντα στο αποτέλεσμα της Q 2. Ερώτημα 3: Έστω η σχέση R(A,B) (χωρίς διπλότυπα, και χωρίς NULL). Q1: π A( R) πr 1. A( σr 1. A< R2. A( ρr 1( R) ρr2( R)) Q2: select max(a) from R (B) Το αποτέλεσμα της Q 1 περιέχεται πάντα στο αποτέλεσμα της Q 2. Ερώτημα 4: Έστω ότι τα σχήματα δυο σχέσεων είναι R(a,b) και S(c,d) Q1: SELECT a FROM R WHERE R.b > ALL(SELECT c FROM S) Q2: SELECT a FROM R WHERE R.b > ANY(SELECT c FROM S) (B) Το αποτέλεσμα της Q 1 περιέχεται πάντα στο αποτέλεσμα της Q 2. 3/11

Ερώτημα 5: Έστω οι εξής δηλώσεις πινάκων, τα περιεχόμενά τους και δυο εντολές ανανέωσης. Θεωρήστε ότι το αποτέλεσμα της Q1 και της Q2 είναι το τελικό περιεχόμενο της σχέσης R μετά την εκτέλεση των ανανεώσεων. S{(1,0),(2,2)} R{(1,1)} Q1: CREATE TABLE S( c INT PRIMARY KEY, d INT ); CREATE TABLE R( a INT PRIMARY KEY, b INT REFERENCES S(c) ON DELETE SET TO NULL ON UPDATE CASCADE, ); DELETE FROM S WHERE c=1; UPDATE R SET b=2; Q2: CREATE TABLE S( c INT PRIMARY KEY, d INT UNIQUE ); CREATE TABLE R( a INT PRIMARY KEY, b INT CHECK (b IN (SELECT c FROM S) ); DELETE FROM S WHERE c=1; UPDATE R SET b=2; (B) Το αποτέλεσμα της Q 1 περιέχεται στο αποτέλεσμα της Q 2. (C) Το αποτέλεσμα της Q 2 περιέχεται στο αποτέλεσμα της Q 1. 4/11

Ερώτημα 6: Έστω ότι τα σχήματα σχέσεων είναι Customer(cid, name), Product(pid,pname) και Buys(cid,pid). Ta κλειδιά των σχέσεων είναι υπογραμμισμένα. Q1: SELECT C.cid FROM Customer C, Buys B, Product P WHERE C.cid = B.cid and B.pid = P.pid GROUP BY C.cid HAVING count(*) > 100 Q2: SELECT C.cid FROM Customer C WHERE 100 < (SELECT count(*) FROM Buys B, Product P WHERE C.cid=B.cid and B.pid=P.pid) (B) Tο αποτέλεσμα της Q 1 περιέχεται πάντα στο αποτέλεσμα της Q 2. Ερώτημα 7: Θεωρήστε τις σχέσεις R(A,B), S(B,C) ως πολυσύνολα. Q1: π ( A R >< S ) Rb. > Sb. Q2: π A( R) >< π A( σ R. b > S. b( R S)) (B) Το αποτέλεσμα της Q 1 περιέχεται πάντα στο αποτέλεσμα της Q 2. Τα επόμενα ερωτήματα δεν έχουν συγκεκριμένη μορφή. Ερώτημα 8: Ποια από τα παρακάτω προγράμματα είναι σειριοποιήσιμα; Η κάθε συναλλαγή δηλώνεται με διαφορετικό αριθμητικό δείκτη, δηλ r3[a] σημαίνει «ενέργεια ανάγνωσης του Α από τη συναλλαγή 3». Οι ενέργειες είναι : r: read w: write c: commit I) r2[a], r1[α], w1[b], r2[b], r3[a], r4[b], w3[a], w2[b], c2, c1, c3,c4 II) w3[a],r1[a],w1[b],r3[b],w1[c],r3[c], c1,c3 III) r1[a],r2[a],r3[b],w1[a],r2[c],r2[b],w2[b],w1[c],c3,c2,c1 A) I μόνο B) II μόνο C) III μόνο D) I+III μόνο E) Κανένα 5/11

Για τις επόμενες δυο ερωτήσεις: Στη διαχείριση δοσοληψιών έχουμε τέσσερις βασικούς στόχους: Ατομικότητα, συνέπεια, απομόνωση (isolation) και μονιμότητα. Ερώτημα 9: Ποιόν ή ποιους από τους στόχους αυτούς πετυχαίνουμε με τη χρήση του ελέγχου ταυτοχρονισμού; Υπάρχει μόνο μια σωστή απάντηση. Α) Ατομικότητα Β) Ατομικότητα και μονιμότητα C) Απομόνωση D) Συνέπεια και μονιμότητα Ε) Ατομικότητα και απομόνωση Ερώτημα 10: Ποιόν ή ποιους στόχους πετυχαίνουμε με τη χρήση πρωτοκόλλων/τεχνικών ανάκαμψης; Υπάρχει μόνο μια σωστή απάντηση Α) Ατομικότητα Β) Ατομικότητα και μονιμότητα C) Απομόνωση D) Συνέπεια και Μονιμότητα Ε) Ατομικότητα και απομόνωση Ερώτημα 11 (4 μονάδες): Θεωρήστε πίνακα Dr(name, specialty, salary) με δεδομένα για τους γιατρούς ενός νοσοκομείου. Ο πίνακας έχει 5 πλειάδες Νame Specialty Salary Jane S 100 George O 80 Mary I 90 Bill Ι 70 Sam N 60 Έχουμε το παρακάτω έναυσμα: Create Trigger Dr_salary After Update Of Specialty On Dr Referencing Old Row As OR, New Row As NR For Each Row When (NR.Specialty = P And OR.Specialty <> S ) Update Dr Set salary = 1.5 * (Select Avg(salary) From Dr) where name = NR.name Εκτελείται η εξής εντολή: Update Dr Set specialty = P Where specialty = I 6/11

Με τι μισθούς μπορεί να καταλήξουν οι γιατροί του πίνακα μετά την εκτέλεση της ανανέωσης και την ολοκλήρωση της/των εκτέλεσης/εκτελέσεων του εναύσματος; (Σημείωση: Όταν μια εντολή ανανέωσης μεταβάλλει περισσότερες από μια πλειάδες, η σειρά με την οποία ανανεώνει της εν λόγω πλειάδες είναι απροσδιόριστη οι αλλαγές μπορούν να γίνουν με οποιαδήποτε σειρά.) Α) Jane: 100, Mary: 120, Bill: 105 B) Bill 129, Mary 120, Sam 60 C) Bill 120, Mary 129, George 90 D) Bill 129, Mary 129, Jane 100 E) Bill 120, Mary 135, Sam 60 Υπάρχουν δυο σωστές απαντήσεις (2 μονάδες η κάθε μια). Κάθε σωστή απάντηση παίρνει 2 μονάδες, κάθε λάθος απάντηση ακυρώνει μια σωστή (δηλαδή σημειώνοντας τέσσερις ή περισσότερες απαντήσεις ως σωστές θα πάρετε σίγουρα μηδέν μονάδες, σημειώνοντας τρεις απαντήσεις ως σωστές θα πάρετε το πολύ 2 μονάδες.). Ερώτημα 12: Θεωρήστε XML αρχείο που συμμορφώνεται με το ακόλουθο DTD: <!DOCTYPE a [ <!ELEMENT a (b, c+, d?)> <!ELEMENT b (c*, d)> <!ELEMENT c (d)> <!ATTLIST c e ID> <!ELEMENT d (#PCDATA)> ]> Ποιος είναι ο ελάχιστος αριθμός XML στοιχείων (elements) σε ένα τέτοιο XML αρχείο; Α) 3 Β) 5 C) 7 D) 8 E) Κανένας από αυτούς Eρώτημα 13 Θεωρήστε ένα πίνακα R(A,B) χωρίς NULL τιμές. Ποιός περιορισμός επιβάλλεται από το πιο κάτω ASSERTION; Create Assertion Easy Check(Not Exists (Select A From R Group By A Having Count(*) > 1)) (A) Ο πίνακας R δεν είναι κενός (B) Ο πίνακας R έχει ακριβώς 2 πλειάδες (C) Το χαρακτηριστικό Α είναι κλειδί (D) Κανένας από τους ανωτέρω 7/11

Ερώτημα 14: Θεωρήστε τη σχέση ΑΕΚ, με τρία χαρακτηριστικά η col1,col2, col3. Υποθέστε ότι εκτελούνται οι παρακάτω εντολές από τους ανθρώπους που αναφέρονται στις παρενθέσεις. Υποθέστε ότι δεν εκτελούνται άλλες εντολές σχετικές με ασφάλεια. GRANT SELECT ON ΑΕΚ TO Original WITH GRANT OPTION (executed by Demis) GRANT UPDATE ON AEK(col1, col2) TO Ferrer WITH GRANT OPTION (executed by Demis) GRANT SELECT ON AEK TO Manolas WITH GRANT OPTION (executed by Original) Υποθέστε ότι ο Δ/ντής της Σουπερλίγκας κ. Κυριακός έχει όλα τα δικαιώματα, και εκτελεί την εντολή: REVOKE SELECT ON ΑΕΚ FROM Demis CASCADE. Ποιος χάνει ποιά δικαιώματα στη σχέση AEK; A) Demis (SELECT) B) Demis (SELECT), Original (SELECT) C) Demis (SELECT), Original (SELECT), Manolas (SELECT) D) Demis (SELECT), Original (SELECT), Manolas (SELECT), Ferrer (UPDATE) E) Kανένα από τα ανωτέρω Ερώτημα 15: Θεωρήστε το ακόλουθο διάγραμμα Οντοτήτων Συσχετίσεων όνομα δήμαρχος όνομα πρόεδρος ΠΟΛΕΙΣ ΣΕ ΧΩΡΕΣ Ποιο από τα παρακάτω είναι οπωσδήποτε σωστό για τα σύνολα οντοτήτων Πόλεις και Χώρες και τη συσχέτιση Σε; Α) Δυο Πόλεις δεν μπορούν ποτέ να έχουν το ίδιο όνομα. Β) Κάθε Πόλη είναι Σε ακριβώς μια Χώρα Γ) Δυο Πόλεις με το ίδιο όνομα δεν μπορούν να είναι Σε διαφορετικές Χώρες Δ) Κανείς δεν μπορεί να είναι δήμαρχος και πρόεδρος ταυτόχρονα Για τα επόμενα 2 ερωτήματα θεωρήστε το παρακάτω XML έγγραφο, το οποίο αποθηκεύει τα άρθρα ενός μηνιαίου περιοδικού ανά τεύχος. Κάθε τεύχος έχει μοναδικό αύξοντα αριθμό κυκλοφορίας (το γνώρισμα number στα στοιχεία issue). Το περιεχόμενο των τευχών 1,2 και 4 παραλείπεται για λόγους οικονομίας χώρου. <issue number= 1 month= June year= 2007 > 8/11

</issue> <issue number= 2 month= July year= 2007 > </issue> <issue number= 3 month= August year= 2007 > <article> <authors> <author>aa</author> <author>bb</author> </authors> <title>cc</title> <title>dd</title> <body>ee</body> <title>ff</title> <body>gg</body> <title>hh</title> <body>ii</body> </section> </section> <title>jj</title> <body>kk</body> </section> <title>ll</title> <body>mm</title> </section> <article> </issue> <issue number= 4 month= September year= 2007 > </issue> Ερώτημα 16: Βρείτε το αποτέλεσμα που επιστρέφει η πιο κάτω XPath επερώτηση για το παραπάνω XML έγγραφο /issue[@number=3]//section[not ancestor::section]/title Με (α,β,γ) συμβολίζουμε την ακολουθία των α,β,γ. Α) (dd,ff,hh,jj) 9/11

Β)(hh,ll) C) (cc) D) (dd,ll) Ερώτημα 17: Πως πρέπει να συμπληρωθεί η παρακάτω XPath επερώτηση για να απαντά ακριβώς στην ερώτηση Επίστρεψε όλους τους συγγραφείς του άρθρου του τρίτου τεύχους που έχει ενότητα (section) με τίτλο Χ : /issue[@number=3] «συμπληρώστε» /authors/author A) [/article //section/title= X ] B) /article[//section/title= X ] C) [//title= X ]/article D) /article//section[title= X ] Για το επόμενο ερώτημα, υποθέστε ότι έχουμε τη σχέση R(A,B,C,D,E,F) και τις συναρτησιακές εξαρτήσεις F={AC->B, B->DΕ, ACF->D,CE->AF}. Ερώτημα 18: Ποια τα κλειδιά της σχέσης και σε ποια κανονική μορφή βρίσκεται; A) ACF, και σε 3NF B) AC, AD, και σε ΒCNF C) ABC, και δε βρίσκεται σε καμιά από τις δυο κανονικές μορφές D) Κανένα από τα ανωτέρω δεν είναι σωστό. Ερώτημα 19 (5 μονάδες): Θεωρήστε τον πίνακα TA(name, class, salary) που καταγράφει πληροφορία για τους βοηθούς μαθημάτων (συμπεριλαμβανομένου και μισθού). Θεωρήστε ότι το name είναι κλειδί, και τις παρακάτω δυο δοσοληψίες: T1: Begin Transaction S1: Update TA Set salary = (3 * salary) Where name = Haris S2: Update TA Set salary = (2 * salary) Where name = Haris Commit T2: Begin Transaction S3: Select salary From TA Where name = Haris S4: Select salary From TA Where salary > 10 and name = Haris Commit Υποθέστε ότι η κάθε εντολή S1, S2, S3,S4 έχει την ιδιότητα της ατομικότητας στην εκτέλεσή της. Υποθέστε ότι ο μισθός του Χάρη είναι 10 πριν εκτελεστεί οποιαδήποτε δοσοληψία. 10/11

Α. Υποθέστε ότι και οι δυο δοσοληψίες εκτελούνται μέχρι τέλους σε επίπεδο απομόνωσης Serializable. Ποια τα πιθανά αποτελέσματα των S3 και S4; H απάντησή σας πρέπει να είναι ένα ή περισσότερα ζευγάρια (αποτ. S3, αποτ. S4), όπου αποτ. είναι ένας ακέραιος ή το κενό. Β. Υποθέστε ότι η δοσοληψία T1 εκτελείται σε επίπεδο απομόνωσης Read-committed και η T2 σε επίπεδο απομόνωσης Read uncommitted, και οι δυο δοσοληψίες εκτελούνται μέχρι τέλους. Ποια τα πιθανά αποτελέσματα των S3 και S4; H απάντησή σας πρέπει να είναι ένα ή περισσότερα ζευγάρια (αποτ. S3, αποτ. S4), όπου αποτ. είναι ένας ακέραιος ή το κενό. C. Υποθέστε ότι και οι δυο δοσοληψίες εκτελούνται σε επίπεδο απομόνωσης Serializable, η Τ2 μέχρι τέλους, αλλά η Τ1 κάνει rollback πριν ολοκληρωθεί και δεν ξαναεκτελείται. Ποια τα πιθανά αποτελέσματα των S3 και S4; H απάντησή σας πρέπει να είναι ένα ή περισσότερα ζευγάρια (αποτ. S3, αποτ. S4), όπου αποτ. είναι ένας ακέραιος ή το κενό. Ερώτημα 20 (15 μονάδες): Θεωρήστε το ακόλουθο σχεσιακό σχήμα (τα κλειδιά είναι υπογραμμισμένα): Product(pid, name, price, maker), Buys(cid, pid), Customer(cid, cname, age) Α. (7 μονάδες) Γράψτε την ακόλουθη επερώτηση σε σχεσιακή άλγεβρα: «Βρείτε τα ονόματα όλων των πελατών που έχουν αγοράσει όλα τα προϊόντα που είναι κατασκευασμένα από την Νike.» Β. (8 μονάδες) Γράψτε την ακόλουθη επερώτηση σε SQL: «Βρείτε τα ονόματα και τους κωδικούς (cid) όλων των πελατών που έχουν αγοράσει το δεύτερο πιο ακριβό προϊόν.» Μπορείτε να υποθέσετε ότι δεν υπάρχουν δυο προϊόντα με την ίδια τιμή. 11/11