Προηγμένα Πληροφοριακά Συστήματα. Ακαδημαϊκό Έτος

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

2. Εισαγωγή Δεδομένων σε Σχεσιακή Βάση Δεδομένων

Διαχείριση Έργων Πληροφορικής Εργαστήριο

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

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

Data Warehouse Refreshment via ETL tools. Panos Vassiliadis

Δημιουργώντας τον πίνακα διάστασης

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

1. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ

Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub

Αποθήκες Δεδομένων. Αρχιτεκτονική, Μοντέλο Δεδομένων και Σχεδίαση

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

Κεφάλαιο 6. Προετοιμασία Δεδομένων ενόψει της Διαδικασίας Εξόρυξης

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

2 η Εργαστηριακή Άσκηση

Μια ολοκληρωμένη, διαχρονική και μόνιμη συλλογή δεδομένων οργανωμένη κατά αντικείμενο ανάλυσης με στόχο τη διαδικασία υποστήριξης λήψης αποφάσεων -

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

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

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

Διαχείριση Έργων Πληροφορικής Εργαστήριο

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

Συστήματα Διαχείρισης Βάσεων Δεδομένων

Κεφάλαιο 1. Εγκατάσταση και Περιβάλλον του SQL Server 2014

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

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

Άμεση Αναλυτική Επεξεργασία (OLAP)

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

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

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

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

Εξόρυξη Γνώσης από εδοµένα (Data Mining)

4. Διαχείριση ανθρώπινου δυναμικού και κόστους του έργου

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

Επίλυση προβλήματος με Access

5. ΠΟΛΥΔΙΑΣΤΑΤΗ ΑΝΑΛΥΣΗ ΔΕΔΟΜΕΝΩΝ

Εισαγωγή σε SQL Server Reporting Services

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

ΣΤΡΑΤΗΓΙΚΟ MANAGEMENT KAI EΠΙΧΕΙΡHΜΑΤΙΚΗ ΕΥΦΥΙΑ. Παρουσίαση 2 ο μέρος:

ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΗΜ/ΝΙΑ: / /2016. Δραστηριότητα 1 Δημιουργήστε με το gantter.com ένα διάγραμμα Gantt ακολουθώντας τα παρακάτω βήματα:

Αφού δώσουμε όνομα χρήση και password μπορούμε να επιλέξουμε ημερομηνία εισόδου στο σύστημα, εταιρία και υποκατάστημα

Δημιουργία ερωτηματολογιου με την πλατφόρμα Limesurvey

Κεφάλαιο 1. Τι θα μάθουμε σήμερα: Μη μου τους κύκλους τάραττε Αρχιμήδης

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

4 ο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΓΕΝΙΚΟΣ ΣΚΟΠΟΣ :

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

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

Ανάκτηση Δεδομένων (Information Retrieval)

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

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

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

4 η Εργαστηριακή Άσκηση

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

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

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

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

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

Ολοκληρωµένη λύση επιλεκτικής συγκέντρωσης, αναδιοργάνωσης δεδοµένων και παραγωγής πληροφορίας

Άμεση Αναλυτική Επεξεργασία (OLAP)

Bizagi Modeler: Συνοπτικός Οδηγός

Πανεπιστήμιο Αιγαίου Τμήμα πληροφοριακών και Επικοινωνιακών συστημάτων Ολοκληρωμένη Μεθοδολογία Υλοποίησης Έργων Επιχειρηματικής Ευφυίας An

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

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

Προκαταρκτικά. Όταν εκτελέσουμε για πρώτη φορά το power wabit, πρώτη δουλειά μας είναι να φέρουμε τον driver που θα κάνει τη διασύνδεση με τη mysql.

Οδηγός Εγκατάστασης

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Σύγχρονες Εφαρμογές Τεχνολογιών της Πληροφορίας και των Επικοινωνιών

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

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

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

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

8. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ

7. ΣΥΣΤΗΜΑΤΑ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ

Vodafone Business Connect

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

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

Εγγραφή στο Portal για νέους συνδρομητές

JLR EPC. Οδηγός γρήγορης εκκίνησης. Περιεχόμενα. Greek Version 2.0. Αναλυτικός οδηγός Οδηγός οθόνης

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

Εργαστήριο #10 (Ε10) 1

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

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

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

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

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

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

Μενού Προβολή. Προβολές εγγράφου

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

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

ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2018 Project

Νέες δυνατότητες εφαρμογών PRISMA Win

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

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

Παρατηρητήριο Εγνατίας Οδού: Βασικός Εξοπλισµός και ικτύωση. Workstations: PCs: Server: Κτήριο 1 Κτήριο 2 Κτήριο 3. Κυκλοφορίας & Τηλεµατικής

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

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

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής. Αποθήκες εδοµένων και Εξόρυξη Γνώσης. (Data Warehousing & Data Mining) Γιάννης Θεοδωρίδης, Νίκος Πελέκης

SilverPlatter WebSPIRS 4.1.

JOOMLA CMS ΒΑΣΙΚΗ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ (PART I)

Transcript:

Προηγμένα Πληροφοριακά Συστήματα Ακαδημαϊκό Έτος 2016-2017 Ομάδα: 1. Κανούτος Κωνσταντίνος ΑΜ: 5775 2. Καραχάλιος Αθανάσιος ΑΜ: 5784 3. Κυριακού Ανδρόνικος ΑΜ: 5806 4. Ντενέζος Παναγιώτης ΑΜ: 5853 5. Παρασκευόπουλος Γεώργιος ΑΜ: 5874 6. Πλούμης Θωμάς ΑΜ: 5880 1

Α. Σχεδιασμός Data Warehouse Αρχικά, αποφασίσαμε να παρακολουθήσουμε τα δεδομένα, σχετικά με τα ατυχήματα τις χρονιές 2009-2014. Για το λόγο αυτό, επιλέξαμε από τα αρχεία csv Accidents (DfTRoadSafety_Accidents) για τις χρονιές που αναφέρθηκαν, ένα σύνολο στηλών τις οποίες και ομαδοποιήσαμε με βάση κοινά τους γνωρίσματα για να ορίσουμε διαστάσεις και να δημιουργήσουμε τους ακόλουθους πίνακες: Conditions Light Conditions Weather Conditions Road Surface Conditions Date Date Day of Week Time Location 1st Road Class 2nd Road Class Severity Accident Severity Number of Vehicles Number of Casualties Σε καθέναν από τους παραπάνω πίνακες προσθέσαμε στο SQL Server μία στήλη με το Accident Index του ατυχήματος, καθώς και άλλη μια με ένα μοναδικό ID (Id Conditions, Id Date, Id Location και Id Severity αντίστοιχα) η οποία, ορισμένη ως auto increment, λειτουργεί ως αύξοντας αριθμός και αποτελεί το primary key για τους συγκεκριμένους πίνακες. Επιπλέον, δημιουργήθηκε ένας ακόμα πίνακας, που χρησιμοποιείται ως Fact Table (πίνακας συμβάντων) και περιέχει σαν Primary Key το Accident Index και άλλες 4 στήλες με τα μοναδικά κλειδιά των παραπάνω 4 πινάκων (δηλωμένα ως ξένα κλειδιά). Μέσω αυτών των κλειδιών (στηλών) γίνεται η σύνδεσή του πίνακα συμβάντων με τους πίνακες διαστάσεων. Τέλος, υλοποιήσαμε άλλους 7 πίνακες, οι οποίοι είναι επεξηγηματικοί των 4 Dimension Tables, δηλαδή αντιστοιχίζεται η αριθμητική τιμή της κάθε στήλης με την πραγματική της έννοια επεξήγηση (Light Conditions, Weather Conditions, Road Surface Conditions επεξηγηματικοί του 2

Conditions - Day of Week του Date - 1st Road Class, 2nd Road Class του Location και Accident Severity του Severity). Tο αντίστοιχο διάγραμμα (Database Diagram) που δημιουργήθηκε στον SQL Server, παρουσιάζεται ακολούθως: Εικόνα 1: Σχεδιάγραμμα Βάσης Δεδομένων που αναπτύχθηκε 3

Β. Διαδικασία ETL (Extract, Transform, Load) Όπως προαναφέρθηκε, αποφασίσαμε να ασχοληθούμε με δεδομένα από τα αρχεία που περιέγραφαν ατυχήματα και προκειμένου να επιτελέσουμε την ETL διαδικασία δημιουργήσαμε ένα Integration Services Project από το πακέτο SQL Server Data Tools του Microsoft Visual Studio. Αρχικά, δημιουργήσαμε ένα Connection Manager, ο οποίος συνέδεσε τον server που φιλοξενούσε τη βάση μας με το project του Visual Studio. Έπειτα, εφόσον επιλέξαμε να εισάγουμε δεδομένα από τα αρχεία Accidents έπρεπε να δημιουργήσουμε κάποια επαναληπτική δομή η οποία να μας εισάγει δεδομένα από όλα τα αρχεία για τις χρονολογίες που επιλέξαμε (2009-2014). Πριν γίνει αυτό, όμως, και δεδομένου του σχήματος Data Warehouse (χιονονιφάδα) έπρεπε να εισάγουμε δεδομένα πρώτα στους πίνακες οι οποίοι περιείχαν τις επεξηγήσεις και ύστερα στους πίνακες διαστάσεων (δεδομένης της σχέσης primary keys με foreign keys). Κατά την εισαγωγή των δεδομένων στον πίνακα Location παρατηρήσαμε ότι υπήρξε μια παραβίαση των δυνατών τιμών που μπορούσε να πάρει το πεδίο. Αφού αναλύσαμε τόσο τα δεδομένα των ατυχημάτων όσο και τα δεδομένα του ευρετηρίου (αρχείο csv Road-Accident-Safety-Data-Guide), εντοπίσαμε ότι στα μεν δεδομένα η επεξήγηση «Not at junction or within 20 metres» της στήλης 2nd Road αντιστοιχίζεται με -1 ενώ στο ευρετήριο αντιστοιχίζεται με 0. Έτσι, καθώς οι πίνακες επεξηγήσεων γεμίζουν από το ευρετήριο και οι πίνακες διαστάσεων γεμίζουν από τα πραγματικά δεδομένα, υπήρχε σύγκρουση τιμών, η οποία επιλύθηκε με την αλλαγή των πιθανών τιμών που δέχεται ο πίνακας 2nd Road (Alter 2nd Road Class Task). Παρατίθεται ο μικρού μεγέθους κώδικας που υλοποιήθηκε ως SQL Execution Task στα πλαίσια του data flow για να γίνει η παραπάνω μετατροπή. 4

Όσον αφορά τα tasks που παρουσιάζονται στην Εικόνα 2, αποτελούν ένα σύνολο από data flows τα οποία σκοπό έχουν να φορτώσουν δεδομένα στο data warehouse μας. Εικόνα 2: Data Flow Πιο συγκεκριμένα, επιλέχθηκαν για τους περιγραφικούς πίνακες οι σελίδες από το ευρετήριο (αρχείο csv Road-Accident-Safety-Data-Guide) και αφού έγιναν convert οι τύποι δεδομένων για να είναι συμβατοί με αυτούς που είχαν δηλωθεί στην βάση, φορτώθηκαν σε αυτή (εικόνα 3). Για τα υπόλοιπα δεδομένα που ουσιαστικά γεμίζουν τους πίνακες διατάσεων επιλέχθηκαν οι κατάλληλες στήλες από τα csv αρχεία και με την χρήση ενός foreach loop container, το οποίο παραμετροποιήθηκε κατάλληλα, φορτώθηκαν τα αντίστοιχα δεδομένα. Εικόνα 3: Πρότυπο Data Flow Task (Accident Severity) 5

Τέλος, όσον αφορά τον fact table, όπως φαίνεται και στην εικόνα 4, φορτώθηκαν όλα τα πιθανά accident id s και με χρήση lookup tasks (ουσιαστικά join με βάση το accident id) αναζητήθηκαν τα keys των πινάκων διαστάσεων τα οποία και περάστηκαν στον τελικό πίνακα και αυτά επαναληπτικά με την σειρά τους. Εικόνα 4: Data Flow Task Accidents_Fact_Table 6

C. Δημιουργία Υπερκύβου OLAP Για την δημιουργία του υπερκύβου δημιουργήθηκε ένα Analysis Services Project και αποκαταστάθηκε μια σύνδεση με τον SQL Analysis Server στον οποίο και αποθηκεύτηκε ο κύβος. Πιο συγκεκριμένα, αφού δημιουργήθηκε ένα Data Source View, αναπτύχθηκαν οι διαστάσεις οι οποίες είχαν επιλεγεί (dimension), αλλά και κάποιες επιπλέον έτσι ώστε να μπορέσουμε να αναλύσουμε τα αποτελέσματα στην τελική οπτικοποίηση με βάση τα ονόματα των χαρακτηριστικών που αναλύουμε (label) και όχι τους κωδικούς (code) που έχουμε χρησιμοποιήσει για την εσωτερική ανάπτυξη του Data Warehouse. Τέλος, δημιουργήθηκε ο υπερκύβος και έγινε deploy στον Analysis Server όπου και επεξεργάστηκε για να είναι σε θέση να δεχθεί τα ερωτήματα που παρουσιάζονται παρακάτω. Ακολούθως απαντάται το ερώτημα: «πόσα ατυχήματα έχουν γίνει κατά τη διάρκεια της 6ετίας που έχουμε επιλέξει την ημέρα Σάββατο με κάτω από 10 θύματα και ενώ δεν υπάρχει φωτισμός» που υλοποιήθηκε στην καρτέλα Browse του κύβου μέσα από το εν λόγω project (Η απάντηση στο ερώτημα αυτό είναι 7203 ατυχήματα). 7

D. Οπτικοποίηση Υπερκύβου OLAP Για την οπτικοποίηση χρησιμοποιήθηκε το εργαλείο Powerview το οποίο είναι επέκταση του Microsoft Office Excel. Παρακάτω παρουσιάζονται τα αποτελέσματα μας. Παράδειγμα 1 Ερώτηση 1 η : «Ποιος είναι το αριθμός των ατυχημάτων που συνέβησαν την ημέρα Κυριακή, εντός της 6ετίας που έχει επιλεγεί παραπάνω, όπου και ο πρώτος και ο δεύτερος δρόμος είναι τύπου Α και επικρατούν συνθήκες απόλυτης συσκότισης.» (Η απάντηση είναι 103 ατυχήματα). 8

Παράδειγμα 2 Ερώτηση 2: «Ποια είναι η κατανομή των θυμάτων για τις μέρες Δευτέρα και Τρίτη, εντός της 6ετίας που έχει επιλεγεί παραπάνω, όπου επικρατούν συνθήκες υγρασίας και ο αριθμός των θυμάτων κυμαίνεται μεταξύ των 8 και 16.» (Η απάντηση διαφαίνεται στα παρακάτω διαγράμματα-pies). Παράδειγμα 3 Ερώτηση 3: «Ποια είναι η κατανομή των ατυχημάτων ανάλογα με την σοβαρότητα ατυχήματος (fatal, serious, slight) για τις ημερομηνίες 1/01/2010 και 1/01/2013 αντίστοιχα, ενώ επικρατούσαν ήπιοι άνεμοι.» (Η απάντηση διαφαίνεται στα παρακάτω διαγράμματα-bars). 9

Παράδειγμα 4 Ερώτηση 4: «Ποια είναι η κατανομή των ατυχημάτων με αριθμό οχημάτων 7, 8 και 9 αντίστοιχα για τους διάφορους τύπους του 1 ου δρόμου κατά τη διάρκεια της μέρας και ενώ η επιφάνεια του δρόμου είναι στεγνή.» (Η απάντηση διαφαίνεται στα παρακάτω διαγράμματα-bars). Παράδειγμα 5 Ερώτηση 5: «Ποια είναι η κατανομή των θυμάτων ανάλογα με τον αριθμό των οχημάτων για την ημέρα Παρασκευή, εντός της 6ετίας που έχει επιλεγεί παραπάνω, δεδομένο ότι ο αριθμός των θυμάτων είναι μεγαλύτερος ή ίσος του 20.» (Η απάντηση διαφαίνεται στα παρακάτω διαγράμματαpies). 10