Ορισμοί (Definitions)
Δεδομένα (Data)
Ορισμός
Συλλογή από πρωτογενείς κυρίως τιμές όπως: αριθμοί, χαρακτήρες, συμβολοσειρές κλπ. που αντιστοιχούν σε μετρήσιμες ή απαριθμήσιμες ποσότητες (απαριθμητός τύπος), χαρακτηριστικά, μεγέθη ή ιδιότητες που έχει μια οντότητα.
Διαφορά ανάμεσα σε Δεδομένα, Πληροφορία, Γνώση και Σοφία
Τα δεδομένα είναι πολύ αφηρημένα και από μόνα τους δεν προσφέρουν κάτι χρήσιμο (π.χ. ο αριθμός 5). Αν όμως προστεθεί σε μια πρόταση όπως η παρακάτω:
Η μέση ημερήσια ηλιοφάνεια στην πόλη της Λαμίας είναι 5 ώρες.
Τότε έχουμε μια πλήρη συντακτικά και σημασιολογικά πρόταση άρα και μια πληροφορία.
Όταν κατανοώ την πληροφορία και μπορώ να την χρησιμοποιήσω, τότε έχω γνώση. Αν στη συνέχεια μπορέσω να βγάλω ένα χρήσιμο συμπέρασμα από την παραπάνω γνώση όπως για παράδειγμα ότι: Με την παραπάνω ηλιοφάνεια μπορώ να εκμεταλλευτώ την εγκατάσταση ενός φωτοβολταϊκού συστήματος. Τότε έχω Σοφία.
Τύπος Δεδομένων (Data type)
Τα δεδομένα ταξινομούνται σε τύπους έτσι ώστε να τα διακρίνουμε μεταξύ τους και να μπορούμε να τα επεξεργαζόμαστε καλύτερα. Έτσι έχουμε αριθμητικούς τύπους δεδομένων, τύπο Boolean, date κ.λπ.
Μοντέλο Δεδομένων (Data model)
Ένα μοντέλο σύμφωνα με το οποίο αποθηκεύουμε και ανακτούμε δεδομένα.
Βάση Δεδομένων (Database)
Είναι μια οργανωμένη συλλογή από σχετιζόμενα δεδομένα.
Μοντέλα Βάσης Δεδομένων
Ως μοντέλο βάσης δεδομένων ονομάζουμε τη θεωρία και τις προδιαγραφές που περιγράφουν πως μια ΒΔ είναι δομημένη.
Έχουν προταθεί πολλά διαφορετικά μοντέλα αλλά αυτό που κυριάρχησε είναι το σχεσιακό μοντέλο.
Σχεσιακό Μοντέλο (Relational model)
Το μοντέλο αυτό επινοήθηκε από τον E.F. Codd το 1970 και είναι ένα μαθηματικό μοντέλο και το προϊόν καλείται σχεσιακή βάση δεδομένων.
Είναι το μοντέλο που έχει επικρατήσει και είναι αυτό με το οποίο θα ασχοληθούμε.
Μοντέλο οντοτήτων/Συσχετίσεων (Entity-Relationship Data model)
Είναι ένα αφηρημένο μοντέλο και χρησιμοποιείται για να απεικονίσει διαγραμματικά τη βάση η οποία αποτελείται από οντότητες και συσχετίσεις.
Χρησιμοποιείται σε συνδυασμό με το σχεσιακό μοντέλο για να κάνει την γραφική απεικόνιση. Θεωρείται ένα εννοιολογικό Μοντέλο σε αντίθεση με το σχεσιακό που θεωρείται λογικό μοντέλο ή μοντέλο υλοποίησης.
Το διάγραμμα, το οποίο χρησιμοποιεί συγκεκριμένα διαγραμματικά στοιχεία, καλείται διάγραμμα οντοτήτων συσχετίσεων ή ERD.
Αντικειμενοστραφή μοντέλα (Object-oriented)
Τελευταία έχει υιοθετηθεί η ιδέα της αντικειμενοστρέφειας και στις βάσεις δεδομένων και πλέον μιλάμε για αντικειμενοστραφείς βάσεις δεδομένων. (δεν θα ασχοληθούμε).
XML data model (XML)
Ακολουθεί ένα ιεραρχικό μοντέλο. Χρησιμοποιείται περισσότερο για αποθήκευση και μεταφορά δεδομένων από διαφορετικά συστήματα. (Ajax, Googlemaps)
Παλιότερα μοντέλα:
Άλλα παλιότερα μοντέλα είναι τα: Network model και Hierarchical model
Σύστημα Διαχείρισης ΒΔ (Database management system)
Το ΣΔΒΔ είναι λογισμικό (σύνολο από προγράμματα-πακέτο) που επιτρέπει την δημιουργία, συντήρηση και χρήση (διαχείριση) μιας ΒΔ.
Βασικές λειτουργίες ενός ΣΔΒΔ
- Ορίζει μια βάση δεδομένων: προδιαγραφή των τύπων, των δομών και των περιορισμών των δεδομένων που θα αποθηκευτούν στη ΒΔ.
- Κατασκευάζει μια βάση δεδομένων: αποθήκευση των ίδιων των δεδομένων.
- Χειρίζεται (manipulation) μια βάση δεδομένων: υποβολή ερωτήσεων για την ανάκτηση δεδομένων, ενημέρωση (νέες εισαγωγές, διαγραφές ή τροποποιήσεις).
- Υποστηρίζει διαφορετικά μοντέλα ΒΔ όπως σχεσιακά κλπ.
- Υποστηρίζει διαμοιρασμό.
- Παρέχει προστασία από αστοχίες υλικού και λογισμικού.
- Παρέχει ασφάλεια.
- Επιτρέπει ταυτόχρονη πρόσβαση στα δεδομένα από διαφορετικούς χρήστες.
- Υποστηρίζει γλώσσες ερωτημάτων όπως η sql.
- Διατηρεί τα δεδομένα ανεξάρτητα.
Η θέση των ΣΔΒΔ στη στοίβα του λογισμικού συστημάτων
Πακέτα ΣΔΒΔ
Εμπορικά πακέτα
- Oracle
- IBM/DB2
- MS SQL-server
- Sybase
- Informix
- MS Access
- ...
Ανοικτού λογισμικού και ελεύθερα
- mySQL, mSQL
- Postgres (UCB)
- miniBase (Wisc)
- Predator (Cornell)
Χρήστες ΣΔΒΔ (εμπλεκόμενοι)
- Απλοί ή τελικοί χρήστες (end users)
- Σχεδιαστής ΒΔ (data base designer)
- Διαχειριστής ΒΔ (data base Administrator)
- Προγραμματιστής εφαρμογών
Σχεσιακό σύστημα διαχείρισης βάσεως δεδομένων (RDBMS)
Είναι ένα ΣΔΒΔ κατασκευασμένο να λειτουργεί ή έστω να υποστηρίζει σχεσιακά μοντέλα όπως το περιέγραψε ο Codd.
Σύστημα Βάσεων Δεδομένων (Data Base System)
Το σύστημα βάσεων δεδομένων αποτελείται από το ΣΔΒΔ και τις ΒΔ
Αρχιτεκτονικές
Πρώτου επιπέδου (One Tier Architectures)
Πρόσβαση αρχείων δεδομένων τοπικά ή από διαμοιρασμένο δίσκο.
Δεύτερου επιπέδου (Two Tier Architectures)
Αρχιτεκτονική Client-Server. Ο χρήστης τρέχει την εφαρμογή και ο σέρβερ χειρίζεται τα δεδο- μένα.
Τρίτου επιπέδου (Three Tier Architectures)
Ανάμεσα στον χρήστη και τον σέρβερ βρίσκεται το middle tier ένα application server.
Οντότητες Συσχετίσεις
Διαβάστε αυτό το pdf: 02_erd.pdf
Σχεσιακό μοντέλο (Relational model)
Διαβάστε αυτό το pdf: 03_relational.pdf
Σχεσιακή άλγεβρα (Relational algebra)
Διαβάστε αυτό το pdf: 04_relational_algebra.pdf
SQL
Μπορείτε να δείτε την ξεχωριστή ενότητα:
http://www.tutor.edu.gr/index.php/starting
Συναρτησιακές εξαρτήσεις (Functional dependencies)
Διαβάστε αυτό το pdf: 06_functional dependencies.pdf
Κανονικοποίηση (Normalization)
Διαβάστε αυτό το pdf: 07_normalization.pdf
Αποσύνθεση (decomposition)
Διαβάστε αυτό το pdf: 08_decomposition.pdf
Ευρετήρια (indices)
Διαβάστε αυτό το pdf: 09_indeces.pdf
Δοσοληψίες (Transaction)
Διαβάστε αυτό το pdf: 10_transactions.pdf