Nell Dale John Lewis Chapter 12 Πληροφοριακά Συστήµατα Στόχοι Ενότητας Η κατανόηση της έννοιας «Πληροφοριακό Σύστηµα» Επεξήγηση της οργάνωσης λογιστικών φύλλων (spreadsheets) Επεξήγηση της ανάλυσης δεδοµένων µε χρήση λογιστικών φύλλων Ορισµός και περιγραφή των βασικών στοιχείων ενός συστήµατος διαχείρισης βάσεων δεδοµένων (database management system) Εισαγωγή στη γλώσσα SQL (Structured Query Language) Εισαγωγή στα διαγράµµατα ER (entity-relationship diagrams) 2 ιαχείριση πληροφορίας Πληροφοριακό σύστηµα ονοµάζουµε, γενικά, το λογισµικό το οποίο µας βοηθά να οργανώνουµε και να αναλύουµε δεδοµένα. Λογισµικό εφαρµογών που επιτρέπει στους χρήστες να υπαγορεύουν και να οργανώνουν τα δεδοµένα τους, και παρέχει βασικές δυνατότητες επεξεργασίας και ανάλυσης δεδοµένων µε διάφορες µεθόδους ύο από τις δηµοφιλέστερες κατηγορίες λογισµικού πληροφοριακών συστηµάτων είναι τα λογιστικά φύλλα (electronic spreadsheets) και τα συστήµατα διαχείρισης βάσεων δεδοµένων (database management systems) 3 Λογιστικά Φύλλα (Spreadsheets) Τα λογιστικά φύλλα είναι λογισµικό εφαρµογών το οποίο επιτρέπει στο χρήστη να οργανώνει και αναλύει δεδοµένα χρησιµοποιώντας ένα πλέγµα (grid) από κελιά (cells) Ένα κελί µπορεί να περιέχει δεδοµένα ή µια µαθηµατική σχέση µέσω της οποίας υπολογίζεται µια τιµή Τα δεδοµένα που αποθηκεύονται σε ένα κελί µπορεί να είναι κείµενο, αριθµοί, ή ειδικά δεδοµένα όπως ηµεροµηνίες Αναφορά στα κελιά γίνεται υποδεικνύοντας τη στήλη και τη γραµµή που περιγράφει τη θέση του κελιού A spreadsheet, made up of a grid of labeled cells 4
Παράδειγµα Υποθέστε ότι έχουµε συλλέξει δεδοµένα όσον αφορά τον αριθµό των µαθητών η οποίοι έχουν ζητήσει βοήθεια από συγκεκριµένους καθηγητές σε µία περίοδο πέντε εβδοµάδων: A spreadsheet containing data and computations Μαθηµατικές Σχέσεις (Formulas) Ηισχύς και η χρησιµότητα των λογιστικών φύλλων προκύπτει από τη δυνατότητα µας να δηµιουργούµε και να αποθηκεύουµε µαθηµατικές σχέσεις στα κελιά: Όταν µια µαθηµατική σχέση αποθηκευτεί σε ένα κελί το αποτέλεσµα της σχέσης εµφανίζεται στο κελί Μπορούµε να αλλάζουµε τις τιµές σε κάποια κελιά και το αποτέλεσµα των τιµών των µαθηµατικών σχέσεων να αλλάζει αυτόµατα ανταποκρινόµενο στις αλλαγές 5 6 Μαθηµατικές Σχέσεις (ΙΙ) Μαθηµατικές Σχέσεις (ΙΙΙ) Κατά τον ορισµό των µαθηµατικών σχέσεων χρησιµοποιούµε βασικούς αριθµητικούς τελεστές (+, -, *, και /) Στα λογιστικά φύλλα υπάρχουν ενσωµατωµένες µαθηµατικές συναρτήσεις (functions) όπως sum, std, average, κλπ οι οποίες επενεργούν σε ένα σύνολο από συνεχόµενα κελιά. Το εύρος κελιών ορίζεται µε τη χρήση δύο τελειών, για παράδειγµα C14..C20 The formulas behind some of the cells 7 8
Μαθηµατικές Σχέσεις (ΙV) Κυκλικές αναφορές (circular references) Μια κυκλική αναφορά δεν µπορεί ποτέ να επιλυθεί επειδή το αποτέλεσµα µιας µαθηµατικής σχέσης εξαρτάται από µια άλλη µαθηµατική σχέση που και αυτή µε τη σειρά της εξαρτάται από την πρώτη Some common spreadsheet functions 9 A circular reference situation that cannot be resolved 10 Ανάλυση µε λογιστικά φύλλα Ένας βασικό λόγος που τα λογιστικά φύλλα είναι τόσο διαδεδοµένα είναι η πολλαπλή τους χρησιµότητα Ανάλυση µε χρήση λογιστικών φύλλων εφαρµόζεται σε πεδία όπως: Παρακολούθηση πωλήσεων Ανάλυση στατιστικών για σπορ Τήρηση βαθµολογίας µαθητών Καταγραφή και σύνοψη ταξιδιωτικών εξόδων Παρακολούθηση δραστηριοτήτων και χρονοδιαγραµµάτων σε projects Προγραµµατισµός αγορών 11 Ανάλυση µε λογιστικά φύλλα (ΙΙ) Ένας ακόµη βασικός λόγος της ευρύτατης χρήσης των λογιστικών φύλλων είναι η δυναµική τους υφή Η δυναµική υφή παρέχει τη δυνατότητα µιας µορφής ανάλυσης που ονοµάζεται «τι θα γίνει αν» (what-if analysis) Τι θα συµβεί αν ο αριθµός των συµµετεχόντων αυξηθεί κατά 10%; Τι θα συµβεί αν ανεβάσουµε τη τιµή του εισιτηρίου κατά 5; Τι θα συµβεί αν µειώσουµε το κόστος των υλικών στο µισό; 12
Συστήµατα ιαχείρισης Βάσεων εδοµένων Βάση δεδοµένων (database) ονοµάζουµε ένα σύνολο από δοµηµένα δεδοµένα Ένα σύστηµα διαχείρισης βάσεων δεδοµένων (database management system -DBMS) είναι ο συνδυασµός λογισµικού και δεδοµένων και αποτελείται από: Τη φυσική βάση δεδοµένων, δηλαδή τη συλλογή αρχείων δεδοµένων (datafiles) Τη µηχανή της βάσης δεδοµένων (database engine), δηλαδή το λογισµικό το οποίο υποστηρίζει τη πρόσβαση στα περιεχόµενα της βάσης δεδοµένων (στοιχεία των datafiles) και την τροποποίηση τους Το σχήµα της βάσης δεδοµένων (database schema), δηλαδή Βασικά συστατικά στοιχεία The elements of a database management system τη λογική οργάνωση και δόµηση των δεδοµένων της βάσης 13 14 Πράξεις σε βάσεις δεδοµένων Ειδικές γλώσσες προγραµµατισµού για βάσεις δεδοµένων επιτρέπουν στο χρήστη να: Καθορίσει τη δοµή της βάσης δεδοµένων (database schema) Προσθέσει (insert), τροποποιήσει (change) και διαγράψει (delete) δεδοµένα Υποβάλει ερωτήµατα (queries) στη βάση δεδοµένων για την ανάκληση δεδοµένων από τη βάση δεδοµένων 15 Το συσχετιστικό µοντέλο (relational model) Σε ένα συσχετιστικό σύστηµα διαχείρισης βάσεων δεδοµένων (Relational DataBase Management System) τα δεδοµένα και οι συσχετίσεις τους οργανώνονται σε πίνακες (tables) Ένας πίνακας είναι µια συλλογή από εγγραφές (records) Κάθε εγγραφή είναι µια συλλογή από σχετιζόµενα πεδία (fields) Κάθε πεδίο περιέχει µία µοναδική τιµή δεδοµένων Κάθε εγγραφή σε ένα πίνακα περιέχει τα ίδια πεδία (όχι τιµές πεδίων) 16
Παράδειγµα Πίνακα A database table, made up of records and fields Παράδειγµα Πίνακα (ΙΙ) A database table containing customer data Το σχήµα για τον παραπάνω πίνακα (Movie) εκφράζεται ως: Movie (MovieId:key, Title, Genre, Rating) 17 Το σχήµα για τον παραπάνω πίνακα (Customer) εκφράζεται ως: Customer (CustomerId:key, Name, Address, CreditCardNumber) 18 Συσχετίσεις Μπορούµε ναχρησιµοποιήσουµε τον πίνακα για την αναπαράσταση µιας συλλογής συσχετίσεων ανάµεσα σε κύρια αντικείµενα (objects) όπως οι πελάτες (customers) και ταινίες (movies) Structured Query Language H SQL (Structured Query Language) είναι µια εκτενής γλώσσα για τη διαχείριση συσχετιστικών βάσεων δεδοµένων A database table storing current movie rentals 19 20
SQL => Ερωτήµατα (queries) στην SQL select attribute-list from table-list where condition select Title from Movie where Rating = 'PG' select Name, Address from Customer select * from Movie where Genre like '%action%' select * from Movie where Rating = 'R' order by Title SQL => Τροποποίηση περιεχοµένων βάσης δεδοµένων insert into Customer values (9876, 'John Smith', '602 Greenbriar Court', '2938 3212 3402 0299') update Movie set Genre = 'thriller drama' where title = 'Unbreakable delete from Movie where Rating = 'R' 21 22 Σχεδίαση βάσεων δεδοµένων Μια δηµοφιλής τεχνική σχεδίασης συσχετιστικών βάσεων δεδοµένων είναι η µοντελοποίηση ER (entity-relationship (ER) modeling) Το βασικό στοιχείο της µοντελοποίησης ER είναι τα ER διαγράµµατα (ER diagrams) Σε ένα διάγραµµα ER καθορίζονται, µε γραφικό τρόπο, τα σηµαντικά αντικείµενα, τα βασικά στοιχεία των αντικειµένων, καθώς και οι συσχετίσεις µεταξύ των αντικειµένων Σχεδίαση βάσεων δεδοµένων (ΙΙ) Σε ένα διάγραµµα ER φαίνεται επίσης και το είδος της συσχέτισης (cardinality constraint): Ένα προς ένα (one-to-one) Ένα προς πολλά (one-to-many) Πολλά προς πολλά (many-to-many) 23 An ER diagram for the movie rental database 24