ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Κ.ΑΛΑΦΟΔΗΜΟΣ καθηγητής Δ.Παπαχρήστος μέλος ΕΔΙΠ ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΠΑΝΕΠΙΣΤΗΜΙΟ Α ΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ 8 η Διάλεξη
Σκοπός Διάλεξης η παράθεση βασικών εννοιών & ορισμών των Βάσεων Δεδομένων
Βάσεις Δεδομένων Βάση Δεδομένων (ΒΔ, Data Base): Μία ΟΛΟΚΛΗΡΩΜΕΝΗ συλλογή Δεδομένων που συσχετίζονται, η οποία αναπαριστά ένα υποσύνολο των στοιχείων που μπορούμε να συλλέξουμε για τον μικρόκοσμο (πεδίο αναφοράς) μιας εφαρμογής Μοντελοποιεί τα δεδομένα σε ένα οργανισμό/επιχείριση. – Οντότητες (πχ. Φοιτητές, Μαθήματα, Εργαζόμενοι, Έργο) – Συσχετίσεις (πχ. Ο Δ.Παπαχρήστος εργάζεται στο Έργο Ζ04) Σύστημα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ, Data Base Management System): Σύστημα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ, Data Base Management System): ένα πακέτο λογισμικού σχεδιασμένο να αποθηκεύει και να διαχειρίζεται Βάσεις Δεδομένων. γενικής χρήσης1960 – Πρώτο ΣΔΒΔ γενικής χρήσης: 1960 – Μεγάλη εμπορική επιτυχία
Βάσεις Δεδομένων Όταν υπήρχαν αρχεία και όχι Βάσεις Δεδομένων:
Βάσεις Δεδομένων Μια βάση δεδομένων υπερέχει της χρήσης αρχείων και πινάκων στα εξής: παρέχει τη δυνατότητα αποθήκευσης και διαχείρισης ποικίλων ειδών δεδομένων, παρέχει τη δυνατότητα αποθήκευσης και διαχείρισης ποικίλων ειδών δεδομένων, τη δυνατότητα χρήσης των αποθηκευμένων πληροφοριών από πολλαπλούς χρήστες τη δυνατότητα χρήσης των αποθηκευμένων πληροφοριών από πολλαπλούς χρήστες τη δυνατότητα χρήσης κάποιου εξειδικευμένου τρόπου ανάπτυξης της βάση δεδομένων. τη δυνατότητα χρήσης κάποιου εξειδικευμένου τρόπου ανάπτυξης της βάση δεδομένων.
Βάσεις Δεδομένων Ανεξαρτησία δεδομένων – οι λεπτομέρειες οργάνωσης δεν επηρεάζουν τις εφαρμογές. Γρήγορη πρόσβαση στην πληροφορία – Κατάλληλη αποθήκευση, βελτιστοποίηση Έλεγχος πρόσβασης, περιορισμοί ορθότητας Ταυτόχρονη πρόσβαση, ανάκαμψη – Κάθε χρήστης νομίζει ότι είναι ο μόνος Κεντρική διαχείριση της πληροφορίας Γρηγορότερη και ασφαλέστερη ανάπτυξη εφαρμογών
Βάσεις Δεδομένων Η χρησιμοποίηση Βάσεων Δεδομένων(Databases) εξασφαλίζει ένα γενικό τρόπο αποθήκευσης των δεδομένων Τα δεδομένα είναι ολοκληρωμένα (integrated) και καταμερισμένα (shared) έτσι ώστε, αφενός μεν τα πλεονάζοντα (redundant) δεδομένα να αποθηκεύονται όσο το δυνατόν λιγότερες φορές, αφετέρου δε να είναι προσπελάσιμα, από διάφορους χρήστες, για ποικίλες εφαρμογές Βασικά πλεονεκτήματα από την οργάνωση των δεδομένων της Βάσης με τον τρόπο αυτό είναι ότι μειώνεται ο χώρος αποθήκευσης στο δίσκο καθώς ο χρόνος για ενημέρωση των δεδομένων
Βάσεις Δεδομένων Η γενική ιδέα της Βάσης Δεδομένων Η γενική ιδέα της Βάσης Δεδομένων
Βάσεις Δεδομένων Η Βάση Δεδομένων οργανώνει τα δεδομένα σύμφωνα με κάποιο πρότυπο που χαρακτηρίζει τη δομή της. Οι περισσότερο γνωστές δομές των Βάσεων Δεδομένων είναι: Η ιεραρχική (Hierarchical) Η δικτυωτή (Network) Η δικτυωτή (Network) Η σχεσιακή (Relational) Η σχεσιακή (Relational)
Βάσεις Δεδομένων Πεδίο (field): Πεδίο (field): Μια βάση δεδομένων αποτελείται από μια σειρά στοιχείων με πιο βασικό στοιχείο το πεδίο Το πεδίο αντιστοιχεί σε ένα δεδομένο και είναι το συστατικό στοιχείο μιας εγγραφής (record) Παραδείγματα πεδίων είναι ένα όνομα πελάτη, μια διεύθυνση, μια τιμή, ένας αριθμός τηλεφώνου
Βάσεις Δεδομένων Εγγραφή (record): Εγγραφή (record): Μια ενότητα από συσχετιζόμενα δεδομένα τα οποία επεξεργάζονται σαν μια ολότητα Δηλ. μια εγγραφή είναι μια συλλογή από πεδία Παράδειγμα εγγραφής: σύνολο πληροφοριών που αναφέρονται σε έναν πελάτη όπως όνομα, διεύθυνση, αριθμός φορολογικού μητρώου
Βάσεις Δεδομένων Πίνακας (table): Πίνακας (table): Μια ενότητα από συσχετιζόμενες εγγραφές οι οποίες έχουν τον ίδιο αριθμό πεδίων αποτελούν έναν πίνακα. Ο πίνακας είναι μια λογική δομή Για παράδειγμα, ένας πίνακας πελατών θα περιλαμβάνει κάθε εγγραφή πελάτη η οποία έχει τα ίδια πεδία Στον πίνακα οι εγγραφές αντιστοιχούν στις γραμμές (rows)και τα πεδία στις στήλες του πίνακα (columns) Οι πίνακες μπορούν να συσχετίζονται μεταξύ τους μέσω των πεδίων τα οποία περιέχουν την ίδια πληροφορία
Βάσεις Δεδομένων Σχεσιακή Βάση Δεδομένων (relational data base): Σχεσιακή Βάση Δεδομένων (relational data base): Ένα σύνολο συσχετιζόμενων πινάκων αποτελούν μία σχεσιακή βάση δεδομένων η οποία αποτελεί και τον πιο συνήθη τρόπο δημιουργίας βάσεων δεδομένων σήμερα
Βάσεις Δεδομένων Σύστημα Διαχείρισης Βάσης Δεδομένων Σύστημα Διαχείρισης Βάσης Δεδομένων
Βάσεις Δεδομένων ΠΛΕΟΝΕΚΤΗΜΑΤΑ (+) Επεξεργασία των δεδομένων κατά ένα ολοκληρωμένο και ενιαίο τρόπο Προσπέλαση στα δεδομένα από διάφορους χρήστες και εφαρμογές Εύκολη ενημέρωση και αποφυγή επανάληψης των δεδομένων Ευελιξία στην αξιοποίηση της πληροφορίας αφού τα δεδομένα είναι συγκεντρωμένα και προσπελάσιμα από τους χρήστες
Βάσεις Δεδομένων ΜΕΙΟΝΕΚΤΗΜΑΤΑ (-) Δαπανηρή προμήθεια, οργάνωση και η συντήρηση Απαιτήσεις σε υλικό, όπως πρόσθετη μνήμη, πρόσθετες περιφερειακές μονάδες και, πολλές φορές, ανάγκη προμήθειας νέου ισχυρότερου υπολογιστή απαιτεί στελέχωση με εξειδικευμένο προσωπικό Κίνδυνος πρόσβασης από μη εξουσιοδοτημένα άτομα Υπερβολική ή μη ελεγχόμενη πληροφόρηση
Βάσεις Δεδομένων Ας υποθέσουμε ότι έχουμε μία βάση δεδομένων πελατών η οποία περιέχει τρεις πίνακες CustList Ο πρώτος πίνακας περιέχει πληροφορίες πελατών και ονομάζεται CustList ProductsList Ο δεύτερος πίνακας περιέχει πληροφορίες προϊόντων και ονομάζεται ProductsList και OrdersList ο τρίτος πίνακας περιέχει πληροφορίες παραγγελιών και ονομάζεται OrdersList
Βάσεις Δεδομένων
Το πεδίο Customer_No είναι το πρωτεύον κλειδί για τον πίνακα CustList, διότι κάθε εγγραφή πελάτη εξατομικεύεται από τον αριθμό του πελάτη Επίσης το πεδίο Product_No είναι το πρωτεύον κλειδί για τον πίνακα ProductsList για τον ίδιο λόγο Στον πίνακα OrdersList τα πεδία Customer_No και Product_No είναι το δευτερεύον κλειδί διότι προσδιορίζουν εγγραφές άλλων πινάκων στον πίνακα αυτόν
Βάσεις Δεδομένων Εκτός από τον καθορισμό των πινάκων, των εγγραφών, των πεδίων, του πρωτεύοντος και του δευτερεύοντος κλειδιού και των ευρετηρίων, για τη δημιουργία μιας σχεσιακής βάσης δεδομένων μπορούμε επίσης να καθορίσουμε τις σχέσεις (relationships) μεταξύ των πινάκων ένα προς ένα (one-to-one), ένα προς πολλά (one-to- many) και πολλά προς πολλά (many-to-many) Οι σχέσεις αυτές περιλαμβάνουν τις δομές: ένα προς ένα (one-to-one), ένα προς πολλά (one-to- many) και πολλά προς πολλά (many-to-many)
Βάσεις Δεδομένων ένα προς πολλά Ένα παράδειγμα σχέσεως «ένα προς πολλά» είναι η σχέση μεταξύ πελάτη και παραγγελιών Για κάθε πελάτη αντιστοιχούν περισσότερες από μία παραγγελίες. Επίσης κάθε προϊόν αντιστοιχεί σε περισσότερες από μία παραγγελίες
Βάσεις Δεδομένων Μία βάση δεδομένων συνήθως είναι ήδη δημιουργημένη με κάποιο εργαλείο δημιουργίας βάσεων δεδομένων Εργαλεία δημιουργίας βάσεων δεδομένων οι οποίες μπορούν να διαβαστούν από τη Visual Basic είναι τα ακόλουθα: MySQL, Microsoft Access, Excel, καθώς και ο SQL Server
Βάσεις Δεδομένων Τα εργαλεία δημιουργίας βάσεων δεδομένων διαθέτουν ιδιότητες και μεθόδους οι οποίες επιτρέπουν: εισαγωγή – την εισαγωγή πρόσθεση – την πρόσθεση διόρθωση – την διόρθωση διαγραφή – την διαγραφή και εντοπισμόεγγραφών-δεδομένων – τον εντοπισμό των εγγραφών-δεδομένων της
Βάσεις Δεδομένων
SQL (Structured Query Language) standard είναι μια τυποποιηµένη “standard” γλώσσα στις Σχεσιακές Βάσεις χρησιμοποιείται για τη δημιουργία πινάκων, τον προσδιορισμό σχέσεων μεταξύ πινάκων, καθώς επίσης και για τη διαχείριση δεδομένων σε πίνακες
Βάσεις Δεδομένων Ανάκτηση Ανάκτηση SELECT * FROM Departments WHERE budget > Εισαγωγή Εισαγωγή INSERT INTO Employees(ssn,name) VALUES (83542, ‘Aris’) Ενημέρωση Ενημέρωση UPDATE Departments SET budget = WHERE did = Διαγραφή Διαγραφή DELETE FROM Employees WHERE name = “Aris” Το αποτέλεσµα µιας εντολής / πράξης σε Σχέσεις είναι (πάντα) µια νέα Σχέση
Βάσεις Δεδομένων Τα ερωτήματα αρχίζουν με την εντολή SELECT, η οποία επιτρέπει την επιλογή εγγραφών από μία βάση δεδομένων που εκπληρώνουν κάποιο κριτήριο. Ο γενικός τύπος ενός ερωτήματος SQL είναι: SELECT SELECT πεδία εγγραφών FROM FROM όνομα πίνακα WHERE WHERE κριτήρια
Βάσεις Δεδομένων Για παράδειγμα: SELECT Customer_Name FROM CustList WHERE Customer_No > 100 H χρήση της SQL για δημιουργία ερωτημάτων είναι ιδιαίτερα χρήσιμη μέθοδος για την αναζήτηση εγγραφών σε πολλούς πίνακες
Βάσεις Δεδομένων Μοντέλο Οντότητας - Σχέσης (Entity Relationship) Οντότητα: Οντότητα: αντικείμενο πραγματικού κόσμου γνωρισμάτων – Περιγράφεται σαν ένα σύνολο γνωρισμάτων σύνολο οντότητας – Παρόμοιες οντότητες (ίδια γνωρίσματα): σύνολο οντότητας – Κάθε γνώρισμα έχει ένα πεδίο τιμών κλειδί – Κάθε συνολο οντότητας μπορεί να έχει ένα κλειδί Συσχέτιση: Συσχέτιση: μια σχέση μεταξύ οντοτήτων – Πχ. Ο Κώστας δουλεύει στο τμήμα πωλήσεων – Μια συσχέτιση μπορεί επίσης να έχει γνωρίσματα – Σύνολο συσχετίσεων: – Σύνολο συσχετίσεων: συλλογή παρόμοιων συσχετίσεων
Βάσεις Δεδομένων Δημιουργείται από τα παρακάτω συστατικά Ορθογώνια, που αντιπροσωπεύουν σύνολα οντοτήτων Ρόμβους, που αντιπροσωπεύουν σχέσεις μεταξύ συνόλων οντοτήτων Ελλείψεις, που αντιπροσωπεύουν ιδιότητες Γραμμές, που συνδέουν ιδιότητες με σύνολα οντοτήτων και σύνολα οντοτήτων με σχέσεις
Βάσεις Δεδομένων
ACCESS ACCESS
Βάσεις Δεδομένων Γραμμή των μενού: Γραμμή των μενού: Είναι η βασική γραμμή εντολών. Μας επιτρέπει να δίνουμε εντολές στο πρόγραμμα Περιοχή εργασίας: Περιοχή εργασίας: Ο χώρος στον οποίο γίνονται οι εργασίες μας Γραμμή των εργαλείων: Γραμμή των εργαλείων: Τα κουμπιά εργαλείων, συχνά αντιπροσωπεύουν γρηγορότερους τρόπους για την εκτέλεση των ίδιων λειτουργιών που εκτελούν και οι εντολές των μενού Η γραμμή εργαλείων αλλάζει, ανάλογα με την εργασία που εκτελούμε στη βάση δεδομένων
Βάσεις Δεδομένων
Σας ευχαριστώ για την προσοχή σας…