- ΜπαμπούλαςWeb MasterΤα έκανες 100!Όποιος γράφει τα πρώτα 100 μηνύματα!Για πάντα εδώ!Για τους Θαμώνες του Φόρουμ!
- FRole : Σχεδίαση Φόρουμ
GRole : Coach Specialist
Αριθμός μηνυμάτων : 384
Ηλικία : 48
Τόπος : Θεσσαλονίκη
001 Εισαγωγή στις Βάσεις Δεδομένων
Τρι 30 Δεκ 2014, 14:04
Εισαγωγή στις Βάσεις Δεδομένων
• Τα δεδομένα σήμερα υπάρχουν παντού και σχεδόν τα πάντα καταγράφονται. Χρησιμοποιούνται σε κάθε κυβερνητική, στρατιωτική, παραγωγική, εμπορική, επιστημονική δραστηριότητα.
• Οι μεγάλες ποσότητες δεδομένων επιβάλλουν την εύρεση αποτελεσματικών μεθόδων αποθήκευσης. Τα δεδομένα πρέπει να είναι οργανωμένα ώστε να διευκολύνεται η αναζήτηση και η ενημέρωσή τους.
• Δεδομένα χωρίς συγκεκριμένη δομή επιφέρουν προβλήματα. Η Διαχείριση Δεδομένων (data management) ασχολείται με τα προβλήματα αυτά. Ανάγκη Διαχείρισης Δεδομένων
• Πριν την εμφάνιση των βάσεων δεδομένων, η αποθήκευση και η διαχείριση των δεδομένων ήταν στην ευθύνη των προγραμμάτων εφαρμογής.
• Η αποθήκευση των δεδομένων γινόταν σε αρχεία του λειτουργικού συστήματος.
• Η ανάγνωση, αποθήκευση και ενημέρωση των δεδομένων ανήκε στην ευθύνη του προγραμματιστή της εφαρμογής.
Συστήματα Αρχείων: η αρχική προσέγγιση
Αρχεία: Πρόγραμμα Εφαρμογής: εντολές υπολογισμού και εντολές επεξεργασίας δεδομένων
Μειονεκτήματα – η ευθύνη του προγραμματιστή
• Ο προγραμματιστής της εφαρμογής είναι υπεύθυνος για τη σωστή ενημέρωση των αρχείων των δεδομένων, ανάλογα με τις εισαγωγές και τις διαγραφές που πραγματοποιούνται.
• Κατά την αναζήτηση στοιχείων θα πρέπει σε πρώτο στάδιο να προσδιοριστούν τα αρχεία που απαιτούνται και σε δεύτερο στάδιο να γίνει προσεκτική ανάγνωση των δεδομένων, συνδυάζοντας κατάλληλα τις πληροφορίες που περιέχουν τα διαφορετικά αρχεία.
• Η κατάσταση δυσκολεύει όσο αυξάνεται ο αριθμός των αρχείων δεδομένων και όσο αυξάνεται η πολυπλοκότητα των ερωτημάτων.
Μειονεκτήματα – η δομή των αρχείων
• Η δομή των αρχείων καθορίζεται από την εφαρμογή. Αυτό έχει ως αποτέλεσμα να είναι δύσκολη η αλλαγή της δομής ενός αρχείου.
• Πολλές φορές παρουσιάζεται η ανάγκη να προστεθεί ένα νέο χαρακτηριστικό στα δεδομένα. Σε μια τέτοια περίπτωση πρέπει αφενός να μεταβληθεί η δομή του αρχείου ώστε να δημιουργηθεί χώρος για το νέο πεδίο, και αφετέρου να μεταβληθεί η λογική της εφαρμογής ώστε να ληφθεί το νέο πεδίο υπόψη κατά την αναζήτηση, εισαγωγή και διαγραφή δεδομένων.
• Οι αλλαγές αυτές είναι χρονοβόρες και επικίνδυνες για την ακεραιότητα των δεδομένων.
Μειονεκτήματα – επικίνδυνη χρήση πολλών εφαρμογών και τεχνικών, «πλουραλισμός»
• Εφόσον ο τρόπος δημιουργίας των αρχείων καθορίζεται από την εφαρμογή, η μορφοποίηση των αρχείων εξαρτάται από την εκάστοτε γλώσσα προγραμματισμού.
• Το γεγονός αυτό δημιουργεί δυσκολίες όταν απαιτείται η χρήση των αρχείων από διαφορετικές εφαρμογές ή όταν απαιτείται η κατασκευή των αρχείων από διαφορετικούς προγραμματιστές που χρησιμοποιούν διαφορετικές γλώσσες προγραμματισμού σε διαφορετικά λειτουργικά συστήματα.
• Το πρόβλημα είναι ιδιαίτερα έντονο όταν τα δεδομένα αποθηκεύονται σε δυαδική (binary) μορφή και όχι σε αλφαριθμητική (alphanumeric, text) μορφή.
Μειονεκτήματα – ταυτόχρονες πράξεις
•Σε πολλές περιπτώσεις η εφαρμογή εξυπηρετεί πολλούς χρήστες ταυτόχρονα. Η διασφάλιση της προστασίας και της ακεραιότητας των δεδομένων κατά την ταυτόχρονη αναζήτηση, εισαγωγή και διαγραφή στοιχείων είναι αρκετά περίπλοκη (πχ. κρατήσεις θέσεων).
• Επίσης, σε συγκεκριμένες λειτουργίες πρέπει να διασφαλίζεται η ατομικότητα της εκτέλεσης (πχ. Τραπεζικές συναλλαγές).
Μειονεκτήματα – δικαιώματα χρηστών
• Στη γενική περίπτωση, κάθε χρήστης της εφαρμογής έχει διαφορετικά δικαιώματα σχετικά με την προσπέλαση των δεδομένων.
• Η εφαρμογή των κανόνων προστασίας των δεδομένων ώστε να αποφεύγονται δυσάρεστες καταστάσεις απώλειας δεδομένων (είτε κατά λάθος, είτε εσκεμμένα) στηριζόμενοι στα εργαλεία του λειτουργικού συστήματος είναι δύσκολα κατορθωτό.
• Επιπλέον, είναι πολύ δύσκολο να ορίσουμε διαφορετικά δικαιώματα μέσα στο ίδιο αρχείο.
Μειονεκτήματα – δυσκαμψία στα ερωτήματα
• Εφόσον η λογική της αναζήτησης στοιχείων από τα αρχεία δεδομένων υλοποιείται στον κώδικα της εφαρμογής, οι διαφορετικοί τύποι ερωτημάτων που μπορεί να δεχθεί η εφαρμογή είναι περιορισμένοι και πρέπει να υλοποιηθούν εκ των προτέρων.
• Αυτό αποτελεί αρκετά δεσμευτικό παράγοντα λαμβάνοντας υπόψη ότι είναι σχεδόν αδύνατο να προβλέψουμε όλα τα δυνατά ερωτήματα που μπορεί να επιθυμεί να θέσει ένας χρήστης.
•Τι είναι μια Βάση Δεδομένων (database):
αποτελεί μία συλλογή στοιχείων σχετικών μεταξύ τους τα οποία είναι δομημένα και καταχωρισμένα με κατάλληλο τρόπο.
• Σύστημα Διαχείρισης Βάσεων Δεδομένων (database management system): είναι μία συλλογή λογισμικού, η οποία υλοποιεί όλες οι λειτουργίες που πρέπει να υποστηριχθούν, όπως αναζήτηση, εισαγωγή, διαγραφή, συγχρονισμός προσπελάσεων, προστασία και πολλές ακόμη.
• Σύστημα Βάσης Δεδομένων (database system): είναι μια Β∆ μαζί µε το αντίστοιχο λογισμικό Σ∆Β∆.
Βάσεις Δεδομένων: η εναλλακτική προσέγγιση – Πλεονεκτήματα
• Περιγραφή Δεδομένων (μεταδεδομένα = δεδομένα για τα δεδομένα, κατάλογος συστήματος).
• Ανεξαρτησία Δεδομένων και Λειτουργιών (δεν αλλάζουν τα προγράμματα εφαρμογής όταν αλλάζουν τα δεδομένα).
• Αποδοτικότερη Διαχείριση Δεδομένων (ο προγραμματιστής επικεντρώνεται στην εφαρμογή και όχι στα δεδομένα και τους αλγορίθμους επεξεργασίας τους).
• Προστασία Δεδομένων και Δικαιώματα Χρηστών (για κάθε σύνολο δεδομένων ξεχωριστά).
• Μηχανισμοί Ταυτόχρονης Προσπέλασης (προσφέρονται από το σύστημα μηχανισμοί κλειδαριών).
• Τα δεδομένα σήμερα υπάρχουν παντού και σχεδόν τα πάντα καταγράφονται. Χρησιμοποιούνται σε κάθε κυβερνητική, στρατιωτική, παραγωγική, εμπορική, επιστημονική δραστηριότητα.
• Οι μεγάλες ποσότητες δεδομένων επιβάλλουν την εύρεση αποτελεσματικών μεθόδων αποθήκευσης. Τα δεδομένα πρέπει να είναι οργανωμένα ώστε να διευκολύνεται η αναζήτηση και η ενημέρωσή τους.
• Δεδομένα χωρίς συγκεκριμένη δομή επιφέρουν προβλήματα. Η Διαχείριση Δεδομένων (data management) ασχολείται με τα προβλήματα αυτά. Ανάγκη Διαχείρισης Δεδομένων
• Πριν την εμφάνιση των βάσεων δεδομένων, η αποθήκευση και η διαχείριση των δεδομένων ήταν στην ευθύνη των προγραμμάτων εφαρμογής.
• Η αποθήκευση των δεδομένων γινόταν σε αρχεία του λειτουργικού συστήματος.
• Η ανάγνωση, αποθήκευση και ενημέρωση των δεδομένων ανήκε στην ευθύνη του προγραμματιστή της εφαρμογής.
Συστήματα Αρχείων: η αρχική προσέγγιση
Αρχεία: Πρόγραμμα Εφαρμογής: εντολές υπολογισμού και εντολές επεξεργασίας δεδομένων
Μειονεκτήματα – η ευθύνη του προγραμματιστή
• Ο προγραμματιστής της εφαρμογής είναι υπεύθυνος για τη σωστή ενημέρωση των αρχείων των δεδομένων, ανάλογα με τις εισαγωγές και τις διαγραφές που πραγματοποιούνται.
• Κατά την αναζήτηση στοιχείων θα πρέπει σε πρώτο στάδιο να προσδιοριστούν τα αρχεία που απαιτούνται και σε δεύτερο στάδιο να γίνει προσεκτική ανάγνωση των δεδομένων, συνδυάζοντας κατάλληλα τις πληροφορίες που περιέχουν τα διαφορετικά αρχεία.
• Η κατάσταση δυσκολεύει όσο αυξάνεται ο αριθμός των αρχείων δεδομένων και όσο αυξάνεται η πολυπλοκότητα των ερωτημάτων.
Μειονεκτήματα – η δομή των αρχείων
• Η δομή των αρχείων καθορίζεται από την εφαρμογή. Αυτό έχει ως αποτέλεσμα να είναι δύσκολη η αλλαγή της δομής ενός αρχείου.
• Πολλές φορές παρουσιάζεται η ανάγκη να προστεθεί ένα νέο χαρακτηριστικό στα δεδομένα. Σε μια τέτοια περίπτωση πρέπει αφενός να μεταβληθεί η δομή του αρχείου ώστε να δημιουργηθεί χώρος για το νέο πεδίο, και αφετέρου να μεταβληθεί η λογική της εφαρμογής ώστε να ληφθεί το νέο πεδίο υπόψη κατά την αναζήτηση, εισαγωγή και διαγραφή δεδομένων.
• Οι αλλαγές αυτές είναι χρονοβόρες και επικίνδυνες για την ακεραιότητα των δεδομένων.
Μειονεκτήματα – επικίνδυνη χρήση πολλών εφαρμογών και τεχνικών, «πλουραλισμός»
• Εφόσον ο τρόπος δημιουργίας των αρχείων καθορίζεται από την εφαρμογή, η μορφοποίηση των αρχείων εξαρτάται από την εκάστοτε γλώσσα προγραμματισμού.
• Το γεγονός αυτό δημιουργεί δυσκολίες όταν απαιτείται η χρήση των αρχείων από διαφορετικές εφαρμογές ή όταν απαιτείται η κατασκευή των αρχείων από διαφορετικούς προγραμματιστές που χρησιμοποιούν διαφορετικές γλώσσες προγραμματισμού σε διαφορετικά λειτουργικά συστήματα.
• Το πρόβλημα είναι ιδιαίτερα έντονο όταν τα δεδομένα αποθηκεύονται σε δυαδική (binary) μορφή και όχι σε αλφαριθμητική (alphanumeric, text) μορφή.
Μειονεκτήματα – ταυτόχρονες πράξεις
•Σε πολλές περιπτώσεις η εφαρμογή εξυπηρετεί πολλούς χρήστες ταυτόχρονα. Η διασφάλιση της προστασίας και της ακεραιότητας των δεδομένων κατά την ταυτόχρονη αναζήτηση, εισαγωγή και διαγραφή στοιχείων είναι αρκετά περίπλοκη (πχ. κρατήσεις θέσεων).
• Επίσης, σε συγκεκριμένες λειτουργίες πρέπει να διασφαλίζεται η ατομικότητα της εκτέλεσης (πχ. Τραπεζικές συναλλαγές).
Μειονεκτήματα – δικαιώματα χρηστών
• Στη γενική περίπτωση, κάθε χρήστης της εφαρμογής έχει διαφορετικά δικαιώματα σχετικά με την προσπέλαση των δεδομένων.
• Η εφαρμογή των κανόνων προστασίας των δεδομένων ώστε να αποφεύγονται δυσάρεστες καταστάσεις απώλειας δεδομένων (είτε κατά λάθος, είτε εσκεμμένα) στηριζόμενοι στα εργαλεία του λειτουργικού συστήματος είναι δύσκολα κατορθωτό.
• Επιπλέον, είναι πολύ δύσκολο να ορίσουμε διαφορετικά δικαιώματα μέσα στο ίδιο αρχείο.
Μειονεκτήματα – δυσκαμψία στα ερωτήματα
• Εφόσον η λογική της αναζήτησης στοιχείων από τα αρχεία δεδομένων υλοποιείται στον κώδικα της εφαρμογής, οι διαφορετικοί τύποι ερωτημάτων που μπορεί να δεχθεί η εφαρμογή είναι περιορισμένοι και πρέπει να υλοποιηθούν εκ των προτέρων.
• Αυτό αποτελεί αρκετά δεσμευτικό παράγοντα λαμβάνοντας υπόψη ότι είναι σχεδόν αδύνατο να προβλέψουμε όλα τα δυνατά ερωτήματα που μπορεί να επιθυμεί να θέσει ένας χρήστης.
•Τι είναι μια Βάση Δεδομένων (database):
αποτελεί μία συλλογή στοιχείων σχετικών μεταξύ τους τα οποία είναι δομημένα και καταχωρισμένα με κατάλληλο τρόπο.
• Σύστημα Διαχείρισης Βάσεων Δεδομένων (database management system): είναι μία συλλογή λογισμικού, η οποία υλοποιεί όλες οι λειτουργίες που πρέπει να υποστηριχθούν, όπως αναζήτηση, εισαγωγή, διαγραφή, συγχρονισμός προσπελάσεων, προστασία και πολλές ακόμη.
• Σύστημα Βάσης Δεδομένων (database system): είναι μια Β∆ μαζί µε το αντίστοιχο λογισμικό Σ∆Β∆.
Βάσεις Δεδομένων: η εναλλακτική προσέγγιση – Πλεονεκτήματα
• Περιγραφή Δεδομένων (μεταδεδομένα = δεδομένα για τα δεδομένα, κατάλογος συστήματος).
• Ανεξαρτησία Δεδομένων και Λειτουργιών (δεν αλλάζουν τα προγράμματα εφαρμογής όταν αλλάζουν τα δεδομένα).
• Αποδοτικότερη Διαχείριση Δεδομένων (ο προγραμματιστής επικεντρώνεται στην εφαρμογή και όχι στα δεδομένα και τους αλγορίθμους επεξεργασίας τους).
• Προστασία Δεδομένων και Δικαιώματα Χρηστών (για κάθε σύνολο δεδομένων ξεχωριστά).
• Μηχανισμοί Ταυτόχρονης Προσπέλασης (προσφέρονται από το σύστημα μηχανισμοί κλειδαριών).
Δικαιώματα σας στην κατηγορία αυτή
Δεν μπορείτε να απαντήσετε στα Θέματα αυτής της Δ.Συζήτησης