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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

Οδηγίες Χρήσης της MySQL

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

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

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

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

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

PHPMyAdmin: Σύντομος οδηγός για αρχάριους

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

Οδηγίες Χρήσης της MySQL

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

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

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

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

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

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

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

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

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

Φυσική Σχεδίαση Υλοποίηση βάσης

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

databases linux - terminal (linux / windows terminal)

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

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

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

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

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

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

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

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

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

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

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


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

Παράδειγμα Εμφιαλωτήριο. Διάγραμμα Οντοτήτων - Συσχετίσεων

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

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

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

Βασικές Εντολές SQL. Θεωρία & Εντολές SQL. Γραμμή Εντολών MS-DOS (MySQL)

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

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

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

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

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

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

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

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

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

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

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

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

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

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

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

DELETE, UPDATE, INSERT

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

DELETE, UPDATE, INSERT.

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.

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

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

1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL

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

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

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

Θέματα Προγραμματισμού Διαδικτύου ~ MySQL & PHP ~

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures):

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

ΕΠΛ 342 Βάσεις εδοµένων


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

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

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

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

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

Προγραμματισμός Διαδικτύου Ασκήσεις Εργαστηρίου

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

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

Transcript:

Εργαστήριο Βάσεων Δεδομένων Άσκηση 2 Σκοπός της άσκησης είναι: 1. Με δεδομένο το σχεσιακό διάγραμμα, η υλοποίηση μιας βάσης σε MySQL. 2. Η εισαγωγή δεδομένων στη βάση. 3. Η υλοποίηση απλών ερωτημάτων mysql στη βάση. Βήμα 1: Υλοποίηση της βάσης Με δεδομένα το κείμενο προδιαγραφών, το ER και το σχεσιακό που δόθηκαν ως λύσεις στην προηγούμενη άσκηση (τις λύσεις που ανακοινώθηκαν και όχι την δική σας), υλοποιήστε ένα script σε MySQL το οποίο θα περιέχει: Την εντολή Create για τη βάση Τις εντολές Create για τους πίνακες της βάσης Το script θα πρέπει να τρέχει απευθείας και χωρίς λάθη σε MySQL. Θα το αποθηκεύσετε σε ένα αρχείο με όνομα create.txt, το οποίο αποτελεί το παραδοτέο του βήματος αυτού. Παράδειγμα ενός script για τη δημιουργία βάσης: CREATE DATABASE test; USE test; CREATE TABLE tbl1( col1 INT NOT NULL AUTO_INCREMENT, col2 VARCHAR(20), col3 INT, PRIMARY KEY (col1) )ENGINE=InnoDB DEFAULT CHARSET=greek; CREATE TABLE tbl2( st1 INT NOT NULL AUTO_INCREMENT, st2 INT NOT NULL, PRIMARY KEY (st1), FOREIGN KEY (st2) REFERENCES tbl1(col1) ON DELETE CASCADE ON UPDATE CASCADE )ENGINE=InnoDB DEFAULT CHARSET=greek; Σημείωση: Για τις δηλώσεις ENGINE και DEFAULT CHARSET δείτε το Παράρτημα 3. Για τη χρήση scripts δείτε το Παράρτημα 2. Βήμα 2: Εισαγωγή στη βάση Για τη βάση που υλοποιήσατε στο προηγούμενο βήμα, υλοποιήστε ένα script σε MySQL το οποίο θα περιέχει 2 Insert εντολές για κάθε πίνακα της βάσης.

Το παραδοτέο του βήματος 2 είναι το αντίστοιχο script, το οποίο θα το αποθηκεύσετε σε αρχείο insert.txt. Παράδειγμα ενός script για την εισαγωγή δεδομένων στην προηγούμενη βάση: INSERT INTO tbl1(col2,col3) VALUES ('test_col1_1', 10); INSERT INTO tbl1(col2,col3) VALUES ('test_col1_2', 20); INSERT INTO tbl2(st2) VALUES (1); INSERT INTO tbl2(st2) VALUES (2); Βήμα 3: Ερωτήματα στη βάση Για τη βάση που υλοποιήσατε στο πρώτο βήμα, υλοποιήστε ένα script σε MySQL το οποίο θα περιέχει τα SQL queries που απαντούν στα ακόλουθα ερωτήματα: 1. Όλα τα στοιχεία των παιχνιδιών που έχουν εκδοθεί φέτος και περιέχουν τη λέξη Χ στον τίτλο τους ταξινομημένα κατά ημερομηνία έκδοσης, όπου Χ όποια λέξη θέλετε. 2. Όλα τα στοιχεία των παιχνιδιών που περιέχουν στην περιγραφή τους τη λέξη Χ ή τη λέξη Υ ή και τις δύο με οποιαδήποτε σειρά, όπου Χ,Υ όποιες λέξεις θέλετε. 3. Οι τίτλοι όλων των παιχνιδιών που ανήκουν σε κατηγορία με όνομα Χ και ο κωδικός της κατηγορίας που ανήκει το κάθε παιχνίδι, όπου Χ όποιο όνομα θέλετε. 4. Ο τίτλος, το path, η γλώσσα και ο τύπος αρχείου των Walkthroughs του παιχνιδιού/παιχνιδιών με τίτλο Χ, όπου Χ όποιος τίτλος θέλετε. 5. Τα ονόματα όλων των κατηγοριών που είναι θυγατρικές της κατηγορίας με κωδικό Χ, όπου Χ όποιος κωδικός θέλετε. 6. Το όνομα κάθε κατηγορίας και το όνομα της γονικής της κατηγορίας. 7. Το όνομα, επώνυμο και email των κριτικών. 8. Όλα τα στοιχεία των patches των παιχνιδιών με τίτλο Χ και ο κωδικός του παιχνιδιού στο οποίο αναφέρεται κάθε patch, όπου Χ όποιος τίτλος θέλετε. 9. Το όνομα και επώνυμο του κριτικού, ο τίτλος του παιχνιδιού, το κείμενο της review και η ημερομηνία στην οποία έγινε, για όλα τα reviews που έχουν γίνει. 10. Ο μέσος όρος βαθμολογίας κάθε παιχνιδιού και ο κωδικός του παιχνιδιού. 11. Ο κωδικός κάθε παιχνιδιού και ο αριθμός των reviews που έχουν γίνει γι αυτό. Το παραδοτέο του βήματος 3 είναι το αντίστοιχο script, το οποίο θα αποθηκεύσετε σε αρχείο select.txt. Παράδειγμα ενός script για την απάντηση ερωτημάτων στην προηγούμενη βάση: SELECT * FROM tbl1; SELECT * FROM tbl2; SELECT * FROM tbl1 INNER JOIN tbl2 on tbl1.col1=tbl2.st2; Σημείωση: Όταν αναφέρεται «όλα τα στοιχεία» εννοούμε select όλων των πεδίων του αντίστοιχου πίνακα.

Παραρτήματα Παράρτημα 1: Εγκατάσταση MySQL Windows: Μπορείτε να εγκαταστήσετε τη MySQL είτε μόνη της, είτε ως μέρος του πακέτου WampServer. Προτείνεται το δεύτερο, καθώς εγκαθιστά εργαλεία που μπορούν να σας βοηθήσουν. Linux:Συνήθως η MySQL είναι εγκατεστημένη με το λειτουργικό. Χρήσιμα Links: Downloads της Mysql: http://dev.mysql.com/downloads/ WampServer: http://www.wampserver.com/en/ Παράρτημα 2: Ζητήματα χρήσης scripts Ένα script της MySQL περιέχει εντολές sql. Το δημιουργείτε με έναν οποιονδήποτε editor txt αρχείων (notepad, textpad κλπ). Οι πιο απλοί τρόποι για να το τρέξετε είναι οι ακόλουθοι: 1. Copy & Paste : Κάνετε copy τα περιεχόμενα του script και μετά paste στην κονσόλα της MySQL. 2. Εντολή source: Η εντολή source παίρνει σαν όρισμα το path του αρχείου στο οποίο έχετε αποθηκεύσει το script και εκτελεί τις εντολές που περιέχονται μία προς μία. πχ. mysql> source C:\sql.txt Προσοχή: το path δεν περικλείεται σε αυτάκια, οπότε αν έχετε κενό στο path του script μπορεί να δημιουργηθούν προβλήματα. Παράρτημα 3: ENGINE και DEFAULT CHARSET επιλογές δημιουργίας πίνακα Η MySQL περιλαμβάνει δύο storage engines. Την MyISAM που είναι και η default όταν το ENGINE δεν καθορίζεται στην create και την InnoDB. Η MyISAM δεν υποστηρίζει foreign keys. Αν στην create υπάρχει δήλωση foreign key, δεν παρουσιάζει λάθος, απλά το αγνοεί, με αποτέλεσμα οι περιορισμοί στις INSERT, UPDATE και DELETE να μην εφαρμόζονται. Για την άσκηση θα δηλώνετε ρητά το ENGINE InnoDB, το οποίο εφαρμόζει τους περιορισμούς ξένων κλειδιών. Το DEFAULT CHARSET ενός πίνακα πρέπει να το δηλώσετε greek αν θέλετε να αποθηκεύσετε δεδομένα με ελληνικούς χαρακτήρες και να υποστηρίζετε ταξινόμηση σε αυτά. Το greek charset υποστηρίζει τόσο ταξινόμηση λατινικών χαρακτήρων, όσο και ελληνικών. Για τους σκοπούς της άσκησης δεν κρίνεται απαραίτητο, αν θέλετε όμως μπορείτε να το συμπεριλάβετε. Παράρτημα 4: Κείμενο προδιαγραφών, ER και σχεσιακό Το κείμενο προδιαγραφών είναι το ίδιο με το κείμενο στην εκφώνηση της πρώτης άσκησης, το ER και το σχεσιακό διάγραμμα είναι τα ίδια με αυτά που δόθηκαν ως προτεινόμενη λύση στην πρώτη άσκηση.

Κείμενο Προδιαγραφών: Η βάση δεδομένων που θα σχεδιαστεί περιέχει πληροφορίες για ένα σύστημα παρουσίασης και αξιολόγησης βιντεοπαιχνιδιών. Συγκεκριμένα, το σύστημα θα διαχειρίζεται τις ακόλουθες έννοιες: Χρήστες: Οι χρήστες του συστήματος θα έχουν ένα μοναδικό username, ένα password για το σύστημα και υποχρεωτικά θα καταγράφεται ένα email για κάθε χρήστη. Κριτικοί: Κάποιοι από τους χρήστες του συστήματος θα αναλαμβάνουν το ρόλο του κριτικού και θα έχουν επιπλέον αρμοδιότητες. Για τους κριτικούς εκτός από τα στοιχεία των απλών χρηστών θα καταγράφονται επιπλέον το όνομα, το επώνυμό τους και ένα σύντομο βιογραφικό. Παιχνίδια: Σε κάθε παιχνίδι για το οποίο εισάγονται πληροφορίες στο σύστημα θα δίνεται ένας μοναδικός κωδικός του συστήματος. Επίσης για το παιχνίδι θα καταγράφεται ο τίτλος, μια σύντομη περιγραφή, ένα κείμενο με περισσότερες λεπτομέρειες, η ημερομηνία έκδοσης και οι πλατφόρμες για τις οποίες κυκλοφορεί. Ένα παιχνίδι κυκλοφορεί για περισσότερες από μια πλατφόρμες από το σύνολο τιμών {PC, Xbox, PS3, PS2, PSP, WII}. Resources: Το σύστημα θα υποστηρίζει και resources που γίνονται upload για τα παιχνίδια. Τα resources είναι αρχεία για τα οποία καταγράφεται το path τους, το μέγεθος και ένας τίτλος. Videos: Τα resources μπορεί να είναι videos για τα οποία εκτός από τα χαρακτηριστικά των resources καταγράφεται η ποιότητα (η οποία παίρνει τιμές από το σύνολο {High, Medium και Low}) και ο τύπος του video (ο οποίος παίρνει τιμές από το σύνολο {In-game, Trailer}). Walkthroughs: Τα resources μπορεί να είναι αρχεία κειμένου για τα οποία εκτός από τα γενικά χαρακτηριστικά καταγράφεται η γλώσσα στην οποία είναι γραμμένα και ο τύπος του αρχείου ο οποίος μπορεί να πάρει τιμές από το σύνολο {pdf, txt, doc, docx, ps}. Κατηγορίες: Τα δεδομένα του συστήματος είναι οργανωμένα σε ιεραρχική δομή κατηγοριών (δέντρο κατηγοριών). Για κάθε κατηγορία καταγράφεται ένας μοναδικός κωδικός που της δίνεται κατά την εισαγωγή στο σύστημα, το όνομα της κατηγορίας και μια σύντομη περιγραφή. Patches: Για τα παιχνίδια του συστήματος μπορεί να έχουν εκδοθεί διάφορα patches. Για κάθε patch καταγράφεται ένα σύντομο κείμενο με τα fixed issues που αντιμετωπίζει, άλλο ένα κείμενο με τις οδηγίες εγκατάστασης, το url για το download και ο αριθμός έκδοσης του patch ο οποίος είναι μοναδικός για κάθε patch ενός συγκεκριμένου παιχνιδιού και είναι ένας αριθμός κινητής υποδιαστολής με ένα δεκαδικό ψηφίο (1.0, 1.1 κλπ). Για τις σχέσεις μεταξύ των οντοτήτων ισχύουν οι εξής περιορισμοί: Κάθε κριτικός είναι και χρήστης του συστήματος. Ένας κριτικός μπορεί να έχει γράψει review για πολλά παιχνίδια. Για ένα παιχνίδι μπορεί να έχουν γράψει review πολλοί κριτικοί. Για κάθε κριτική καταγράφεται η

ημερομηνία της και το κείμενο με τα σχόλια του κριτικού. Ένας κριτικός μπορεί να κάνει review σε ένα συγκεκριμένο παιχνίδι μία φορά μόνο. Ένας χρήστης μπορεί να βαθμολογήσει πολλά παιχνίδια. Ένα παιχνίδι μπορούν να το έχουν βαθμολογήσει πολλοί χρήστες. Η βαθμολογία είναι ένας αριθμός από το 0 έως και το 10. Ένα patch εφαρμόζεται σε ένα μόνο παιχνίδι. Σε ένα παιχνίδι μπορεί να εφαρμόζονται πολλά patches. Για το υποσύνολο των patches του παιχνιδιού το version του patch είναι μοναδικό. Ένα resource πρέπει να αναφέρεται σε ένα μόνο παιχνίδι. Σε ένα παιχνίδι μπορεί να αναφέρονται πολλά resources. Κάθε video είναι και resource. Κάθε walkthrough είναι και resource. Ένα παιχνίδι πρέπει να ανήκει σε μία ακριβώς κατηγορία. Σε μια κατηγορία μπορεί να ανήκουν πολλά παιχνίδια. Κάθε κατηγορία μπορεί να είναι γονική κατηγορία πολλών κατηγοριών. Κάθε κατηγορία μπορεί να έχει μόνο μία γονική κατηγορία. ER:

Σχεσιακό: Παράδοση: Η παράδοση της εργασίας θα γίνει ηλεκτρονικά μέσω της υπηρεσίας υποβολής εργασιών στην οποία έχετε πρόσβαση μέσω της διεύθυνσης http://dblab.ceid.upatras.gr (απαιτείται εγγραφή). Σιγουρευτείτε τώρα ότι οι λογαριασμοί σας δουλεύουν κανονικά. Αυτή τη φορά δεν θα γίνει δεκτή καμία εκπρόθεσμη άσκηση που θα παραδοθεί με email. Το παραδοτέο θα είναι ένα συμπιεσμένο αρχείο με όνομα dbxxxx2010.zip όπου xxxx o AM σας, το οποίο θα περιλαμβάνει: 1. Το script create.txt 2. Το script insert.txt 3. Το script select.txt 4. Ένα αρχείο readme.txt με το όνομα και το AM σας και, αν είναι απαραίτητο, οδηγίες και διευκρινίσεις για την υλοποίησή σας.

Δεν επιτρέπεται να παραδώσετε generated από software scripts. Θα πρέπει να τα δουλέψετε και μόνοι σας σύμφωνα με αυτά που είπαμε στο εργαστήριο. Ως ημερομηνία παράδοσης της εργασίας ορίζεται η Παρασκευή 18/12. Την παράδοση των ασκήσεων θα ακολουθήσει η ανακοίνωση των λύσεων και ακολούθως θα οριστεί ημερομηνία εξέτασης στην άσκηση (παρακολουθείτε το forum για να ενημερωθείτε για τις ημερομηνίες). Η εξέταση της άσκησης θα γίνει στο υπολογιστικό και η ύλη της εξέτασης θα ανακοινωθεί επιγραμματικά μαζί με την ημερομηνία. Γενικά, όπως και στην πρώτη άσκηση, η ύλη που θα εξεταστεί καλύπτεται από την άσκηση. Οι παράδοση των ασκήσεων είναι υποχρεωτική για τα παλαιότερα έτη επίσης. Δικαίωμα παράδοσης της άσκησης και συμμετοχής στην δεύτερη εξέταση έχουν μόνο όσοι έχουν προβιβάσιμο βαθμό στην πρώτη φάση του εργαστηρίου.