class Movie extend Movies key title {attribute string title; attribute string review; relationship set <Actor> stars inverse Actor::acts_in;}

Σχετικά έγγραφα
EE512: Error Control Coding

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

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

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

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

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

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

2 Composition. Invertible Mappings

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

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

Assalamu `alaikum wr. wb.

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

Section 8.3 Trigonometric Equations

(C) 2010 Pearson Education, Inc. All rights reserved.

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

Test Data Management in Practice

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

Lecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3

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

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-562 Προχωρημένα Θέματα Βάσεων Δεδομένων Βασίλης Χριστοφίδης

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

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016

Matrices and Determinants

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)

6.1. Dirac Equation. Hamiltonian. Dirac Eq.

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

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

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

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

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

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

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

Instruction Execution Times

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

Section 9.2 Polar Equations and Graphs

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

department listing department name αχχουντσ ϕανε βαλικτ δδσϕηασδδη σδηφγ ασκϕηλκ τεχηνιχαλ αλαν ϕουν διξ τεχηνιχαλ ϕοην µαριανι

Lecture 21: Functional Dependencies and Normalization

UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS International General Certificate of Secondary Education

LESSON 12 (ΜΑΘΗΜΑ ΔΩΔΕΚΑ) REF : 202/055/32-ADV. 4 February 2014

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

Every set of first-order formulas is equivalent to an independent set

ST5224: Advanced Statistical Theory II

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006

Strain gauge and rosettes

Physical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible.

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

Συντακτικές λειτουργίες

An Inventory of Continuous Distributions

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

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

4.6 Autoregressive Moving Average Model ARMA(1,1)

The Simply Typed Lambda Calculus

Πληροφοριακά Συστήµατα

Βάσεις Δεδομένων Ι. 2 ο Φροντιστήριο. Πέρδικα Πολίνα [perdika]

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

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

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

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

Overview. Transition Semantics. Configurations and the transition relation. Executions and computation

Inverse trigonometric functions & General Solution of Trigonometric Equations

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

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

DESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0.

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

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

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

Μοντέλο Οντοτήτων-Συσχετίσεων. Η ανάγκη Διαγράμματα ΟΣ Σύνολα Οντοτήτων-Συσχετίσεων Απεικονίσεις Επεκτάσεις

PARTIAL NOTES for 6.1 Trigonometric Identities

Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit

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

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

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

How to register an account with the Hellenic Community of Sheffield.

Fourier Series. MATH 211, Calculus II. J. Robert Buchanan. Spring Department of Mathematics

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

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

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


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

Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά.

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

Main source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1

SOLUTIONS TO MATH38181 EXTREME VALUES AND FINANCIAL RISK EXAM

derivation of the Laplacian from rectangular to spherical coordinates

Writing for A class. Describe yourself Topic 1: Write your name, your nationality, your hobby, your pet. Write where you live.

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

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο ΔΙΑΛΕΞΗ 3: Αλγοριθµική Ελαχιστοποίηση (Quine-McCluskey, tabular method)

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

Approximation of distance between locations on earth given by latitude and longitude

Nowhere-zero flows Let be a digraph, Abelian group. A Γ-circulation in is a mapping : such that, where, and : tail in X, head in

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Οικονομία. Διάλεξη 7η: Consumer Behavior Mαρίνα Μπιτσάκη Τμήμα Επιστήμης Υπολογιστών

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

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

Formal Semantics. 1 Type Logic

SQL Data Manipulation Language

Transcript:

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-562 Προχωρημένα Θέματα Βάσεων Δεδομένων Βασίλης Χριστοφίδης Τελική Εξέταση (3 ώρες) Ημερομηνία: 15 Ιουνίου 2005 Άσκηση 1 (60 μονάδες) Σας δίνεται το παρακάτω αντικειμενοστρεφές σχήμα σύμφωνα με το πρότυπο ODMG που αναπαριστά πληροφορία σχετικά με την 7 η τέχνη. class Movie extend Movies key title {attribute string title; attribute string review;} class Theater {attribute integer number; attribute Movie Movie;} class Cinema extend Cinemas key name {attribute string name; attribute string address; attribute set <Theater> theaters;} class Person extend Persons key name {attribute string name;} class Actor : Person extend Actors key name {attribute set <Movie> acts_in;} class Spectator : Person extend Spectators key name {attribute set <Movie> likes;} class Producer : Person extend Producers key name {attribute: set <Movie> produces;} (α) (5 μονάδες) Το προηγούμενο αντικειμενοστρεφές σχήμα δεν εκμεταλλεύεται πλήρως την εκφραστικότητα του μοντέλου ODMG. Τροποποιήστε τις κλάσεις Actor και Movie, ώστε να δηλώνεται σαφώς ότι η acts_in είναι μία συσχέτιση (Ν επί Μ) των αντικειμένων της πρώτης κλάσης με τα αντικείμενα της δεύτερης (η stars μπορεί να θεωρηθεί ως η αντίστροφη σχέση της). class Movie extend Movies key title {attribute string title; attribute string review; relationship set <Actor> stars inverse Actor::acts_in;}

class Actor : Person extend Actors key name {relationship set <Movie> acts_in inverse Movie::stars;} (β) (25 μονάδες) Λαμβάνοντας υπόψη το αντικειμενοστρεφές σχήμα που σας δίνεται στην εκφώνηση, εκφράστε στη δηλωτική γλώσσα επερωτήσεων OQL τις παρακάτω ερωτήσεις: 1. Ποιοι παραγωγοί είναι επίσης και ηθοποιοί; select a from Actors a, Producers p where a = p 2. Ποιοι είναι οι τίτλοι των ταινιών που προβάλλονται στους κινηματογράφους αυτήν την περίοδο; select t.movie.title from t in (flatten (select c.theaters from c in Cinemas)) 3. Ποιοι ηθοποιοί παίζουν στην ταινία Small Time Crooks ; from Actors a, a.acts_in m where m.title = Small Time Crooks 4. Ποιοι είναι οι τίτλοι και οι κριτικές των ταινιών στις οποίες πρωταγωνιστεί η Victoria Abril και έχουν ως παραγωγό τον Almodovar ; select struct(title:m.title, review:m.review) from Actors a, Producers p, a.acts_in m where a.name = Victoria Abril and p.name = Almodovar and m in p.produces 5. Βρείτε τα ονόματα των ηθοποιών που έχουν πρωταγωνιστήσει στις περισσότερες ταινίες, δηλαδή εκείνων, για τους οποίους ο αριθμός των ταινιών στις οποίες έχουν συμμετάσχει (acts_in) είναι μέγιστος. from Actors a where count(a.acts_in)= max(select count(a1.acts_in) from Actors a1)

(γ) (20 μονάδες) Θεωρήστε την παρακάτω ερώτηση OQL: select t.movie.review from Producers p, Cinemas c, c.theaters t where p.name = Woody Allen and t.movie in p.produces 1. Τι υπολογίζει η παραπάνω ερώτηση; Find the reviews of films produced by Woody Allen, which we can currently see at a Cinema 2. Δώστε την αλγεβρική έκφραση της παραπάνω ερώτησης σύμφωνα με την οντοκεντρική άλγεβρα που παρουσιάστηκε στο μάθημα. πtmr (σpn= Woody Alain and tm in pp ( Maptmr:tm.review (Mappn:p.name (Maptm:t.movie (Mappp:p.produces (Producers[p] X (Cinemas[c] <c->theaters[t]>)))))) 3. Προτείνετε μια βελτιστοποίηση της αλγεβρικής έκφρασης που δώσατε στο προηγούμενο ερώτημα. Δικαιολογήστε την απάντησή σας. πtmr (Maptmr:tf.review (Maptm:t.movie (Cinemas[c]<c->theaters[t]> X tm in pp Mappp:p.produces(σp.name= Woody Alain (Producers[p])))) Steps: 1.Join and Map reordering 2.Push selection on producers. name (index support from extend key) 3.Transform selection into joint condition (δ) (10 μονάδες) Το ζήτημα των κλειδιών και των συναρτησιακών εξαρτήσεων είναι πολύ σημαντικό για τη σχεδίαση σχεσιακών σχημάτων. Είναι εξίσου σημαντικό ζήτημα και στα αντικειμενοστρεφή σχήματα; Δώστε τούς βασικούς λόγους εισαγωγής των κλειδιών και των συναρτησιακών εξαρτήσεων, και εξηγήστε κατά πόσο οι λόγοι αυτοί ισχύουν και στα πλαίσια των αντικειμενοστρεφών βάσεων δεδομένων. Ποιες είναι οι κοινές και ποιες οι διαφορετικές πτυχές του ζητήματος αυτού στα δύο πλαίσια; The keys defined on the table identify unique entities. They assure that every entity appears no more than once in the table, to avoid data duplication. When there are functional dependencies in the schema, anomalies may arise in the database; there are three types of anomalies (insertion, deletion and update anomalies). The schema must be normalized to avoid anomalies, which is achieved with schema decomposition. Keys serve a crucial role in schema decomposition, by allowing attributes in multiple tables to refer to they same entity, identified by its key.

In an OODB, when we insert a new object into the database, the system will automatically generate a unique identifier for it. One can then refer to the same object in many places without any data duplication. Values that serve as keys are not needed for identifying the object in question, because the object identifier serves this role. As for functional dependencies, they are an important consideration in OODB design. Data anomalies are still possible, and the schema designer must be sure that his design decisions (such as which attributes to group together, and where to include copies of references to an object) avoid these anomalies. Άσκηση 2 (40 μονάδες) (α) (15 μονάδες) Δημιουργήστε ένα αντικειμενοστρεφές-σχεσιακό (SQL3) σχήμα σύμφωνα με το σχήμα ODMG της άσκησης 1. Σημειώστε ότι οι τύποι πλειάδας (tuple) του ODMG αντιστοιχούν στους ROW TYPES της SQL3 και ότι η κληρονομικότητα ορίζεται επίσης σε πίνακες. Μπορείτε να αγνοήσετε τις ταυτότητες των αντικειμένων SQL3 για τους σκοπούς αυτής της άσκησης. CREATE ROW TYPE Movie (title: string, review: string); CREATE ROW TYPE Theater (number: integer, movie: Movie); CREATE ROW TYPE Cinema (name: string, address: string, theaters: set (Theater)); CREATE ROW TYPE Person (name: string); CREATE TABLE Movies OF Movie CREATE TABLE Cinemas OF Cinema CREATE TABLE Persons OF Person CREATE TABLE Actors UNDER Persons (acts_in: set (Movie)) CREATE TABLE Spectators UNDER Persons (likes: set (Movie)) CREATE TABLE Producers UNDER Persons (produces: set (Movie)) (β) (25 μονάδες) Λαμβάνοντας υπόψη το αντικειμενοστρεφές-σχεσιακό σχήμα που δημιουργήσατε στο προηγούμενο υποερώτημα, εκφράστε στη δηλωτική γλώσσα επερωτήσεων SQL3 τις παρακάτω ερωτήσεις: 1. Ποιοι παραγωγοί είναι επίσης και ηθοποιοί; from Actors a, Producers p where a.name = p.name

2. Ποιοι είναι οι τίτλοι των ταινιών που προβάλλονται στους κινηματογράφους αυτήν την περίοδο; select m.title from Cinemas c, Movies m where m.title in c.theaters movie.title 3. Ποιοι ηθοποιοί παίζουν στην ταινία Small Time Crooks ; from Actors a, Movies m where m in a.acts_in and m.title = Small Time Crooks 4. Ποιοι είναι οι τίτλοι και οι κριτικές των ταινιών στις οποίες πρωταγωνιστεί η Victoria Abril και έχουν ως παραγωγό τον Almodovar ; select m.title, m.review from Actors a, Producers p, Movies m where a.name = Victoria Abril and p.name = Almodovar and m in p.produces and m in p.acts_in 5. Βρείτε τα ονόματα των ηθοποιών που έχουν πρωταγωνιστήσει στις περισσότερες ταινίες, δηλαδή εκείνων, για τους οποίους ο αριθμός των ταινιών στις οποίες παίζουν (acts_in) είναι μέγιστος. from Actors a where count(a.acts_in)>= all(select count(a1.acts_in) from Actors a1)