ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής Χειμερινό Εξάμηνο 2011



Σχετικά έγγραφα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

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


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

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

Μάθημα: Συστήματα Διαχείρισης Βάσεων Δεδομένων Αναλυτικό Διάγραμμα Μελέτης

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

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

Η εκπόνηση της εργασίας θα γίνει σε ομάδες των 2-3 ατόμων

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

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

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

ΜΙΚΤΕΣ ΙΠΠΟΔΡΟΜΙΕΣ ΓΙΑ ΤΟ ΕΤΟΣ 2016

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

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

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

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

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

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

Οδηγός Διεξαγωγής Εργαστηρίου Ακ. Έτος

Ανάλυση & Σχεδιασµός Πληροφοριακών Συστηµάτων Ι (Εργαστήριο) Σύστημα Διαχείρισης Πληροφοριακού υλικού της Δημοτικής επιχείρησης «Αναπτυξιακή ΑΕ»

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

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

ΟΔΗΓΟΣ ΧΡΗΣΗΣ ONLINE APPLICATION SYSTEM ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΚΥΠΡΟΥ ΔΙΑΧΕΙΡΙΣΤΕΣ ΤΜΗΜΑΤΟΣ

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

ER Diagram Συσχετίσεις Ασθενείς Οντότητες Παράδειγμα ER.. Εργαστήριο Βάσεων Δεδομένων. Entity-Relationship Diagram (ER)

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

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό

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

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

Εισαγωγή στους Υπολογιστές

Οδηγός χρήσης του συστήματος αξιολόγησης μαθημάτων

«Διαδικτυακό Σύστημα Ηλεκτρονικής Διαχείρισης και Διάθεσης Μαθημάτων»

ΠΛΑΤΦΟΡΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΙΝΤΕΟΔΙΑΛΕΞΕΩΝ ΔΗΛΟΣ delos.uoa.gr. Εγχειρίδιο Χρήσης Μελών ΔΕΠ

Εργαστήριο Βάσεων Δεδομένων. Entity-Relationship Diagram (ER)

ΟΝΟΜΑΤΕΠΩΝΥΜΟ : Αντικείμενα: Βάσεις δεδομένων, σχέσεις μεταξύ πινάκων, ερωτήματα, φόρμες και αναφορές.

Βελτιώνω μια λεπτομέρεια, σε σχέση με την Ανακοίνωση από 22/6/2009 (1.4.3)

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

Α ΠΛΗΡΟΦΟΡΙΑΚΟ ΣΥΣΤΗΜΑ ΜΟΥΣΕΙΩΝ ΤΗΣ ΛΕΣΒΟΥ. Στόχος της εργασίας είναι ο σχεδιασμός και υλοποίηση μιας βάσης δεδομένων των Μουσείων της Λέσβου.

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

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

Διάγραμμα Οντοτήτων Συσχετίσεων (ΔΟΣ) Entity Relationship Diagram (ERD)

Πληροφοριακού Συστήματος Ενημέρωσης Καιρικών Συνθηκών

Ιπποδρομίες ενισχυμένων επάθλων (30/8/ /12/2016)

Μοντελοποίηση Συστημάτων

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model

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

( Η/Υ ΙΙ 22/2/ / 24

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

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ. Οδηγός χρήσης του συστήματος αξιολόγησης μαθημάτων

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

Μοντέλο Οντοτήτων-Συσχετίσεων

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό

Πληροφορική 2. Βάσεις Δεδομένων (Databases)

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

Tech village School. Ακολουθούν δομές και σχέδια του εκπαιδευτικού προγράμματος: Σελίδα 1 από 7

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

Ενδεικτικές λύσεις ασκήσεων διαγραμμάτων περίπτωσης χρήσης (1 ο επαναληπτικό μάθημα)

Δομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων

Διάγραμμα Οντοτήτων - Συσχετίσεων

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

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

Άσκηση. Εξοικείωση με διαδικασία εγγραφής μαθητών σε κάποιο μάθημα και διαδικασία μεταφοράς μαθημάτων μεταξύ διαφορετικών συστημάτων moodle

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

Μοντελοποίηση Συστημάτων

Διαχείριση Δεδομένων

Εγχειρίδιο Χρήσης για Διαχειριστές. Πλατφόρμα Μεταφόρτωσης και Μετατροπής Βίντεο

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

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό

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

Τ.Ε.Ι ΘΕΣΣΑΛΟΝΙΚΗΣ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΔΒΔ (ΕΡΓΑΣΤΗΡΙΟ 4) Τελευταία ενημέρωση: 11/2011. Μετασχηματισμός διαγράμματος ER σε σχεσιακό σχήμα ΒΔ

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 5 Ανάπτυξη Προγράμματος Συμπίεσης/Αποσυμπίεσης Αρχείων

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΜΕΣΟΛΟΓΓΙ ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ ΕΡΓΑΣΤΗΡΙΟ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ Διαδικασία Κατάρτησης Επιχειρηματικού Σχεδίου

$./jms console -w <jms in> -r <jms out> -o <operations file> namedpipe. (standard input).

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Μετατροπή Διαγράμματος Οντοτήτων Συσχετίσεων (E-R) σε σχεσιακό. Φροντιστήριο 3 ο

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

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

Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ

Περιπτώσεις Χρήσης για το Π.Σ. ΜΟ.ΔΙ.Π. Κρήτης

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ:

Οδηγίες Χρήσης της εφαρμογής Class-Web

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

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

13 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

Βάσεις Δεδομένων. Σταύρος Βαλσαμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1

ΕΡΓΑΣΙΑ 3. Παίζοντας Sudoku. Ημερομηνία Ανάρτησης: 16/03/2018 Ημερομηνία Παράδοσης: 03/04/2018, 09:00

Δεδομένα και Πληροφορίες

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση.

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Κέντρο Επαγγελματικής Κατάρτισης. Σταδίου 5, Σύνταγμα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ231: ομές εδομένων και Αλγόριθμοι

ΔΙΑΧΕΙΡΙΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ ΚΑΙ ΧΑΡΤΟΦΥΛΑΚΙΩΝ ΕΡΓΩΝ. Διάλεξη 1 η Εισαγωγικές έννοιες και ορισμοί Δημήτρης Τσέλιος

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις

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

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

Εργαστήριο 5 ο. Α. Τεχνικές επεξεργασίας δεδομένων Α1. Ταξινόμηση Δεδομένων, Α2. Φιλτράρισμα Εγγραφών. Β. Ερωτήματα. Β1. Ερωτήματα Επιλογής

Transcript:

- ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής Χειμερινό Εξάμηνο 2011 ΕΠΛ 342 Βάσεις Δεδομένων Ομαδική Εργασία Εξαμήνου Διδάσκων: Καθ. Γεώργιος Σαμάρας Ημερομηνία Ανάθεσης: Πέμπτη 06/10/2010 Ημερομηνία Παράδοσης Φάσης Α*: Πέμπτη 27/10/2010 και ώρα 11:00 Ημερομηνία Παράδοσης Φάσης Β*: Πέμπτη 01/12/2010 και ώρα 11:00 * Διευκρίνηση: Η παράδοση των επί μέρους φάσεων θα πρέπει να γίνει μέσω του Moodle στη προκαθορισμένη ημερομηνία και ώρα. Η κάθε φάση θα πρέπει επίσης να παραδίδεται εκτυπωμένη όπως περιγράφεται στο έγγραφο αυτό. Ι. Στόχος Εργασίας Στόχος της ομαδικής εργασίας εξαμήνου του μαθήματος των Βάσεων Δεδομένων, είναι να επιτρέψει σε ομάδες μέχρι 4 ατόμων να εξοικειωθούν με τον κύκλο ανάπτυξης εφαρμογής βάσεων δεδομένων (δηλ., εννοιολογική σχεδίαση, λογική σχεδίαση, εκλέπτυνση σχήματος, φυσική σχεδίαση και υλοποίηση εφαρμογής χρήσης της βάσης και των σχετικών μηχανισμών ασφάλειας). Στο παρόν κείμενο, σας δίνεται η ανάλυση απαιτήσεων του υποθετικού συστήματος «Διαχείρισης Ιπποδρομιών (CyprusHorseRacing)». Το σύστημα θα διαχειρίζεται θα αναλύει τα δεδομένα που χρειάζονται για την λειτουργία του CyprusHorseRacing. Οι ομάδες καλούνται να μοντελοποιήσουν εννοιολογικά την περιγραφόμενη εφαρμογή και στη συνέχεια να την υλοποιήσουν κάνοντας χρήση της εμπορικής σχεσιακής βάσης δεδομένων Oracle Database. Η υλοποίηση της εφαρμογής που θα επικοινωνεί με τη βάση δεδομένων μπορεί να γίνει με τις πιο κάτω τεχνολογίες: JAVA Visual Basic.NET Visual C#.NET Η υλοποίηση του project θα χωριστεί στις ακόλουθες δυο φάσεις: Φάση Α - Σχεδίαση Βάσης (30%): Εννοιολογική Σχεδίαση με Χρήση του Διαγράμματος Chen ER Λογική Σχεδίαση Σχεσιακού Σχήματος (ANSI) Φάση B - Υλοποίηση Βάσης (70%): Υλοποίηση του Σχεσιακού Σχήματος σε Oracle σε ANSI SQL, PL/SQL - DDL. Υλοποίηση Λειτουργιών (επερωτήσεων, εισαγωγών, τροποποιήσεων και αναφορών) σε ANSI SQL, PL/SQL - DML. Υλοποίηση Συστήματος Διαπροσωπείας (γραφικού ή μη) σε μία από τις προαναφερθείσες τεχνολογίες για την πρόσβαση στα δεδομένα της βάσης δεδομένων. Φυσική Σχεδίαση για τη βελτιστοποίηση της απόδοσης. Τεκμηρίωση (όπως περιγράφεται στο τμήμα ΙV αυτού του έγγραφου) 1

ΙΙ. Εισαγωγή Το σύστημα CyprusHorseRacing είναι μια υπηρεσία διαχείρισης ιπποδρομιών όπου στόχος του είναι ή διαχείριση και ανάλυσης δεδομένων των ιπποδρομιών που διεξάγονται στην Κύπρο και να αποθηκεύει και αναλύει τις πληροφορίες των χρηστών που συμμετέχουν στο CyprusHorseRacing. Μετά την επιτυχή αποφοίτηση σας από το Πανεπιστήμιο Κύπρου, η Ιπποδρομιακή Αρχή Κύπρου έχει αποφασίσει να προσφέρει στην ομάδα σας την πλήρη υλοποίηση της βάσης δεδομένων που θα υποστηρίξει την πιο πάνω εφαρμογή. Συνεπώς, θα λειτουργείτε τόσο σαν Διαχειριστές της Βάσης (DBA - Database Administrator) όσο και σαν Σχεδιαστές της Βάσης και Προγραμματιστές Εφαρμογών. Μέρος των καθηκόντων σας είναι η σχεδίαση και η υλοποίηση της βάσης δεδομένων αλλά και του συστήματος διαπροσωπείας το οποίο θα υλοποιεί τις λειτουργίες όπως περιγράφονται στη συνέχεια αυτού του εγγράφου. ΙΙI. Περιγραφή Δεδομένων/Λειτουργιών Στην CyprusHorseRacing υπάρχουν τρεις τύποι χρηστών. Κάθε χρήστης πρέπει να δώσει ένα σύνολο δεδομένων. Επίσης για κάθε χρήστη το σύστημα πρέπει να εξακριβώνει τις ταυτότητες των χρηστών κατά την πρόσβαση στην εφαρμογή (μέσω username / password). Συγκεκριμένα, το σύστημα πρέπει να υποστηρίζει διαφορετικούς ρόλους ασφαλείας στους οποίους θα ανάγονται οι χρήστες του συστήματος. Οι ρόλοι θα είναι ιεραρχικοί, δηλαδή ένας ρόλος ο οποίος βρίσκεται σε πιο ψηλό επίπεδο κληρονομεί τα (άμεσα και όχι κληρονομούμενα) δικαιώματα ασφαλείας ρόλων σε χαμηλότερα επίπεδα. Οι ρόλοι και οι αρμοδιότητες τους περιληπτικά είναι οι πιο κάτω: Ρόλος R2 - Χρήστες/ Data Users: Οι χρήστες που ανήκουν σε αυτό το ρόλο μπορούν να προβούν σε εισαγωγή, ενημέρωση, αναζήτηση και προβολή δεδομένων, και δημιουργία αναφορών. Ρόλος R1 - Διαχειριστές: Χρήστες σε αυτό το ρόλο έχουν πρόσβαση σε αναφορές που έχουν σχέση με τον έλεγχο των ενεργειών κάθε χρήστη και μπορούν να δημιουργήσουν και να διαχειριστούν άλλους χρήστες που ανήκουν στο ρόλο R2 καθώς επίσης και τη δημιουργία αντιγράφου ασφαλείας (backup). Ρόλος SA - Διαχειριστές Συστήματος/ System Administrator: Σε αυτή τη κατηγορία υπάρχει μόνο ένας χρήστης του οποία τα δεδομένα δεν εισάγονται από το σύστημα διεπαφής αλλά προϋπάρχουν στη βάση δεδομένων. Τα στοιχεία του χρήστη ΔΕΝ πρέπει να αλλάζουν από το σύστημα διεπαφής. Ο χρήστης μπορεί να δημιουργήσει και να διαχειριστεί άλλους χρήστες που ανήκουν στο ρόλο R1. Τέλος μπορεί να επαναφέρει το σύστημα από το αυτοματοποιημένο αντίγραφο ασφαλείας (restore). Επιπρόσθετα για κάθε χρήστη πρέπει να κρατούνται οι ακόλουθες πληροφορίες: Ταυτότητα, Ονοματεπώνυμο, Ρόλος, Όνομα χρήστη (username) και κωδικός (password). Σημειώνετε ότι ο κάθε χρήστης μπορεί να αλλάξει τον κωδικό του αλλά και ότι χρήστες ρόλων ψηλότερου επιπέδου μπορούν να αλλάξουν τους κωδικούς χρηστών χαμηλότερου επιπέδου. Νοείται ότι το σύστημα πρέπει να γνωρίζει το χρήστη που δημιούργησε κάποια εγγραφή και τον τελευταίο χρήστη που ενημέρωσε κάποια εγγραφή καθώς και τη χρονική στιγμή της δημιουργίας/ενημέρωσης (μόνη εξαίρεση αποτελούν τα στοιχεία του διαχειριστή συστήματος που προϋπάρχουν). 2

Πέρα από τους χρήστες το σύστημα πρέπει να κρατεί και να διαχειρίζεται πληροφορίες για τους Αναβάτες, Προπονητές, Ιπποπαραγωγούς, Ιδιοκτήτες αλόγων και τις οικογένειες τους, Άλογα, Ιπποδρομιακές Συναντήσεις, Ιπποδρομίες και τα αποτελέσματα τους. Συνοπτικά πρέπει να γνωρίζει (τουλάχιστον) τις ακόλουθες πληροφορίες: Αναβάτες: Ταυτότητα, ονοματεπώνυμο αναβάτη, συμπιεσμένο όνομα αναβάτη Ιδιοκτήτες Αλόγων: Ταυτότητα, ονοματεπώνυμο, συμπιεσμένο όνομα ιδιοκτήτη, τίτλος ιδιοκτήτη (Mr., Dr., Miss., Mrs.), περιγραφή της στολή του, τα άλογα που ανήκουν στο ιδιοκτήτη καθώς και ο αριθμός του. Για τις οικογένειες ιδιοκτητών αλόγων πρέπει να γνωρίζει το όνομα της οικογένειας, το συμπιεσμένο όνομα οικογένειας, τους ιδιοκτήτες που ανήκουν στην οικογένεια καθώς και τον αριθμό Ιδιοκτητών στην οικογένεια. Προπονητές: Ταυτότητα, ονοματεπώνυμο, συμπιεσμένο όνομα προπονητή Ιπποπαραγωγοί: Ταυτότητα, ονοματεπώνυμο ιπποπαραγωγού, συμπιεσμένο όνομα ιπποπαραγωγού Άλογα: Όνομα αλόγου, συμπιεσμένο όνομα αλόγου, ημερομηνία γέννησης, ηλικία, χρώμα (τα οποία είναι τυποποιημένα), κατηγορία αλόγου (καθαρόαιμο, ή μη), φύλο αλόγου (επιβήτορας, φοράδα), χώρα προέλευσης, τρέχον κιλά, ιπποπαραγωγός, τρέχον προπονητής, τρέχον αναβάτης, ιστορικό αλόγου. Επίσης το σύστημα πρέπει να γνωρίζει τον πατέρα και την μητέρα του αλόγου σε περίπτωση που το άλογο πατέρας/μητέρα είναι στο σύστημα. Ιπποδρομίες: Σε πια συνάντηση υπάγετε η ιπποδρομία (μία συνάντηση μπορεί να περιλαμβάνει πολλές ιπποδρομίες την ίδια μέρα ενώ μια μέρα μπορεί να έχει πολλές συναντήσεις), τον αριθμός ιπποδρομίας εντός της συνάντησης (π.χ. 3 η ιπποδρομία της 73 ης συνάντησης, την ημερομηνία και ώρα, την απόσταση (1200, 1400, 1600, 1800, 2000), το είδος ιπποδρομίας (απλή, κύπελλο, άλλα), το είδος στίβου (χόρτο, άμμο, συνθετικό, άλλο), τα χρηματικά έπαθλα ανά θέση (σημ. το έπαθλο για τη θέση Χ είναι μεγαλύτερο από το έπαθλο για την θέση Χ+1), και το συνολικό χρηματικό ποσό των επάθλων. Τέλος για κάθε ιπποδρομία το σύστημα πρέπει να γνωρίζει και τα αποτελέσματα της τα οποία περιλαμβάνουν τα άλογα που συμμετείχαν, τους αναβάτες και προπονητές, τις θέσεις εκκίνησης και τερματισμού, την ηλικία και τα κιλά των αλόγων κατά τη διεξαγωγή της ιπποδρομίας. Σημειώστε σε κάθε ιπποδρομία συμμετέχουν 8 άλογα ενώ έπαθλα δίνονται για τις 3 πρώτες θέσεις μόνο. Γενική σημείωση: Το συμπιεσμένο όνομα θα χρησιμοποιηθεί για την εξαγωγή κάποιων αναφορών και ορίζετε ως το πρώτο γράμμα ονόματος +. + το επίθετο (όπου εφαρμόζετε) και αποτελείτε το πολύ από 15 χαρακτήρες. Νοείται ότι το σύστημα εκτός από την εισαγωγή των πιο πάνω πληροφοριών πρέπει να μπορεί να τις διαχειρίζεται (δηλ. να υπάρχει μηχανισμός αναζήτησης και ενημέρωσης τους). Πέρα από τη διαχείριση των πιο πάνω πληροφοριών το σύστημα πρέπει να είναι σε θέση να εκδίδει τις ακόλουθες αναφορές: Λίστα με άλογα με όνομα των οποίων μοιάζει με το όνομα που έδωσε ο χρήστης. Λίστα με τις ιπποδρομίες μιας συνάντησης και το αποτέλεσμα κάθε ιπποδρομίας ταξινομημένο βάσει της θέσης τερματισμού σε φθίνουσα σειρά. 3

Λίστα με άλογα ανά ηλικία (σε έτη) η οποία συμπεριλαμβάνει το πλήθος αλόγων ανά ηλικία. Η λίστα πρέπει να μπορεί να παράγεται και συναρτήσει ορίων ηλικίας (π.χ. δώσε μου λίστα για άλογα μεγαλύτερα των 2 ετών ή για άλογα 2 έως 5 ετών Λίστα με άλογα ανά οικογένεια ιδιοκτητών ταξινομημένη βάσει του αριθμού αλόγων της οικογένειας σε φθίνουσα σειρά. Λίστα με προπονητές οι οποίοι δεν έχουν νίκες στην πρώτη θέση. Λίστα αλόγων που συμμετείχαν σε όλες τις συναντήσεις. Λίστα επιτυχημένων αλόγων (δηλ. άλογα που ήρθαν στην πρώτη θέση τουλάχιστον σε 20% των συμμετοχών τους). Αναφορές κατατάξεων (χρησιμοποιώντας ως φίλτρο το έτος, π.χ. 2011): o Άλογα: Στη εν λόγω κατάταξη πρέπει να εμφανίζονται για κάθε άλογο τα συνολικά χρηματικά έπαθλα, ο αριθμός 1 ων, 2 ων και 3 ων θέσεων, ο αριθμός συμμετοχών και το ποσοστό επιτυχίας (αριθμός 1 ων θέσεων/αριθμό συμμετοχών) ταξινομημένα ανά συνολικά χρηματικά έπαθλα. o Αναβάτες: Εμφανίζονται τα ίδια στοιχεία με την κατάταξη αλόγων αλλά για τους αναβάτες και με ταξινόμηση ανά αριθμό 1 ων θέσεων. o Πατέρες: Όπως η κατάταξη των αλόγων αλλά σε έναν «πατέρα» πιστώνονται και οι νίκες/έπαθλα και των παιδιών του. o Παππούδες: Όπως η κατάταξη των αλόγων «πατέρων» αλλά σε έναν «παππού» πιστώνονται και οι νίκες/έπαθλα και των εγγονών του. Αναφορές Προόδου o Άλογα: Για κάθε συμμετοχή του αλόγου σε μια ιπποδρομία πρέπει να εμφανίζονται τα εξής: Ημ. ιπποδρομίας, απόσταση ιπποδρομίας, θέση τερματισμού, αριθμός 1 ων, 2 ων και 3 ων νικών μέχρι και την συγκεκριμένη ιπποδρομία, αριθμός συμμετοχών μέχρι και την συγκεκριμένη ιπποδρομία, ποσοστό επιτυχίας μέχρι και την συγκεκριμένη ιπποδρομία (αριθμός 1 ων θέσεων/αριθμό συμμετοχών). Νοείτε ότι η αναφορά μπορεί να δοθεί με φίλτρο κάποιο άλογο είτε χωρίς το φίλτρο. Παράδειγμα αναφοράς (για κάθε άλογο): START 0 0 0 0 0% 01/01/2011 1400 2 0 1 0 1 0% 01/01/2011 1200 1 1 1 0 2 50% 15/01/2011 1200 1 2 1 0 3 66% o Προπονητές: Το σκεπτικό της αναφοράς είναι το ίδιο με αυτό της αναφοράς προόδου αλόγων (συμπεριλαμβανομένου του φίλτρου που τώρα αφορά τον προπονητή). Το μόνο επιπρόσθετο στοιχείο που πρέπει να εμφανίζεται είναι το όνομα του αλόγου. Παράδειγμα αναφοράς (για κάθε προπονητή): START 0 0 0 0 0 0% 01/01/2011 1400 ΠΕΠΠΟΣ 2 0 1 0 1 0% 01/01/2011 1200 ΕΛΑ XΑBΑH 1 1 1 0 2 50% 11/01/2011 1200 ΠΕΠΠΟΣ 1 2 1 0 3 66% o Ιδιοκτήτες: Όπως η αναφορά προόδου προπονητών αλλά για τους ιδιοκτήτες. o Οικογένειες Ιδιοκτητών: Όπως η αναφορά προόδου προπονητών αλλά για τις οικογένειες ιδιοκτητών. Αναφορά λειτουργιών χρηστών: Λίστα με τις εισαγωγές και ενημερώσεις που έκανε κάποιος (συγκεκριμένος) χρήστης στο σύστημα ομαδοποιημένη ανά πίνακα στοιχείων. Ταξινομημένη ανά εισαγωγές/ενημερώσεις (δηλ. πρώτα να εμφανίζονται οι εισαγωγές και ακολούθως οι ενημερώσεις) και εν συνεχεία ανά χρονική στιγμή. 4

Η εφαρμογή σας θα πρέπει να περιλαμβάνει τα επί μέρους κυρίως μενού με όλες τις πιο πάνω λειτουργίες. Για κάθε λειτουργία, ο χρήστης είναι δυνατό να χρειαστεί να δώσει περαιτέρω πληροφορίες. Για παράδειγμα για τη «επαναφορά αντιγράφου ασφαλείας», ό χρήστης θα πρέπει να καθορίσει το όνομα του αρχείου ασφαλείας. Φυσική Σχεδίαση Παρόλο που έχετε τη δυνατότητα να επιλέξετε όσα και όποια ευρετήρια επιθυμείτε, θα πρέπει να δηλώστε τις τρεις επικρατέστερες περιπτώσεις και να εξηγήστε (στο documentation) ποια ακριβώς ευρετήρια επιλέξατε, γιατί τα επιλέξατε και πως τα υλοποιήσατε Οι πιο πάνω προδιαγραφές ενδέχεται να αποσαφηνιστούν περαιτέρω, εάν απαιτείται, κατά τη διάρκεια της δεύτερης φάσης. ΙV. Διαδικαστικές Πληροφορίες Η άσκηση αυτή θα υλοποιηθεί σε ομάδες των 4 ατόμων τα οποία αναμένεται να συμβάλουν ισομερώς σε χρόνο και ουσιαστική δουλειά. Οι ομάδες έχουν ήδη ανακοινωθεί στην ιστοσελίδα του μαθήματος. Σε καμία περίπτωση δε θα γίνει αποδεκτός τυχόν διαχωρισμός της σχεδίασης ή υλοποίησης της βάσης. Όλα τα μέλη της ομάδας θα πρέπει να ασχοληθούν με όλα τα στάδια της εργασίας. Οι ομάδες που θα ισχύσουν, καθ όλη τη διάρκεια της ομαδικής εργασίες, είναι αυτές που έχουν καθοριστεί ήδη κατά τη διάρκεια του εργαστηρίου. Α) Παραδοτέα Εργασίας Παραδοτέα Φάσης Α Στο Moodle: Eνα αρχείο <team-number>.doc (ή.pdf) το οποίο θα περιέχει τα ακόλουθα: a. Διάγραμμα Οντοτήτων Συσχετίσεων Chen-ER (όχι EER), με χρήση της σημειογραφίας που παρουσιάστηκε στις διαλέξεις. b. Το Σχεσιακό Σχήμα (ANSI) το οποίο θα δηλώνει τις οντότητες, τα γνωρίσματα με τους ANSI τύπους δεδομένων (όπως περιγράφονται στο βιβλίο), τα πρωτεύων και ξένα κλειδιά και άλλους περιορισμούς γνωρισμάτων, αναφορικής ακεραιότητας, κτλ. c. Περιγραφή τυχών υποθέσεων μέχρι και (1/2) μισή σελίδα Στο Εργαστήριο: Nα παραδοθούν εκτυπωμένα τα a-c. Παραδοτέα Φάσης Β Στο Moodle: Eνα αρχείο <team-number>.zip (ή tar.gz) το οποίο θα περιέχει τους ακόλουθους καταλόγους: a. sources/: Σε αυτό τον κατάλογο αποθηκεύστε τον πηγαίο κώδικα της εφαρμογής JAVA καθώς και τυχών συνοδευτικές βιβλιοθήκες οι οποίες απαιτούνται για την επιτυχή μεταγλώττιση της εφαρμογής σας. Συνίσταται η συμπερίληψη ενός Makefile το οποίο θα μεταγλωττίζει την εφαρμογή σας. b. sql/: Σε αυτό τον κατάλογο θα πρέπει να αποθηκεύσετε τα αρχεία.sql τα οποία θα είναι αρχεία κειμένου στα οποία θα αποθηκεύονται όλες οι εντολές (SQL- DML, SQL-DDL και Stored Procedures, κτλ.) τα οποία υλοποιήθηκαν στα πλαίσια της βάσης δεδομένων. Στα αρχεία αυτά δώστε αναγνωριστικά ονόματα όπως create.sql, drop.sql, import.sql, select.sql, indexes.sql, κτλ. 5

c. data/: Σε αυτό τον κατάλογο θα πρέπει να αποθηκεύσετε το/α αρχείο/α.dat τα οποία θα είναι αρχεία κειμένου και θα αποθηκεύουν τα δεδομένα της εφαρμογής σας (αρχείο/α ασφαλείας). Τέτοια αρχεία θα πρέπει να μπορούν να ανακτηθούν (restore) στη βάση σας. Δημιουργήστε όσα άλλα αρχεία επιθυμείτε βάσει του σχήματος της υλοποίησης σας. d. doc/: Ένα εγχειρίδιο χρήστη για την εφαρμογή σας (σε μορφή.doc ή.pdf) το οποίο θα δίδει οδηγίες χρήσης της εφαρμογής σας, τις βασικές επιλογές στο σχεδιασμό της βάσης, περιγραφή των επιπλέων λειτουργιών που υλοποιήθηκαν, διάφορες δυσκολίες, το τελικό διάγραμμα οντοτήτων συσχετίσεων, το λεξικό δεδομένων κτλ. Το έγγραφο αυτό να παρουσιάζει επίσης τους περιορισμούς τους συστήματος και των δυνατοτήτων βελτίωσης του. Στο Εργαστήριο: Nα παραδοθούν εκτυπωμένα τα a-d. B) Εξέταση Εργασίας Κατά τη διάρκεια της τελευταίας εβδομάδας μαθημάτων του εξαμήνου θα γίνει η εξέταση της εργασίας κατά την οποία θα πρέπει να γίνει η επίδειξη της σχεδίασης και της εφαρμογής σας απ όλα τα μέλη της ομάδας. Τυχούσα παράληψη παρουσίασης της εργασίας συνεπάγεται τον μηδενισμό της εργασίας. Στοιχεία τα οποία θα ληφθούν υπόψη στην αξιολόγηση της εργασίας σας περιλαμβάνουν: την ορθότητα του εννοιολογικού και σχεσιακού σχήματος, την ορθότητα λειτουργίας, στοιχεία επίδοσης (π.χ., ελαχιστοποίηση του χρόνου απόκρισης (total response time), έκταση υλοποίησης και στοιχεία πρωτοτυπίας. Νοείται ότι η εκφώνηση της άσκησης δεν σας δεσμεύει ως προς τις επιπλέον λειτουργίες τις οποίες τυχών να υλοποιεί η εφαρμογή σας. Η εκφώνηση απλά θέτει ένα ελάχιστο όριο δυνατοτήτων που θα πρέπει να υλοποιήσετε. Αυτό είναι σκόπιμο για να σας αφήσει αρκετή ελευθερία στη λήψη πρωτοβουλιών και στην εκδήλωση δημιουργικότητας από την πλευρά σας. Γ) Δολίευση Η κάθε ομάδα θα πρέπει να εργαστεί ανεξάρτητα από τις υπόλοιπες. Οι συζητήσεις με άλλες ομάδες θα πρέπει να περιορίζονται γύρω από την κατανόηση της εκφώνησης της εργασίας. Οποιασδήποτε μορφής δολίευση, συμπεριλαμβανομένης και της παραχώρησης της δουλείας σας σε κάποιον άλλο, θα τιμωρείται με μηδενισμό του project, χωρίς να αποκλείεται και η λήψη επιπρόσθετων πειθαρχικών μέτρων. Καλή Επιτυχία! 6