Αυδίκου Χριστίνα Γιουμούκης Παναγιώτης Κιντσάκης Θάνος Πάπιστας Γιάννης
Η Β.Δ. είναι μια αυστηρά τυποποιημένη συλλογή από σχετικά μεταξύ τους δεδομένα, που παρέχει έναν αυτόματο, κεντρικό και κοινό τρόπο χειρισμού τους. Σκοπός της είναι να απεικονίσει στον Η/Υ ένα πρόβλημα και να διευκολύνει την λύση του. Τα δεδομένα που χειρίζεται δεν είναι στατικά, αλλά δυναμικά, δηλαδή αλλάζουν συνεχώς.
Είναι το λογισμικό που επιτρέπει στους χρήστες να δημιουργούν και να χρησιμοποιούν τη Β.Δ. Οι δυνατότητες που παρέχει στους χρήστες Ορισμός Β.Δ. Κατασκευή Β.Δ. Διαγραφή Β.Δ. Χρήση/Προσπέλαση Β.Δ. Το Σ.Δ.Β.Δ επιτρέπει την επικοινωνία του χρήστη με το υλικό του υπολογιστή (π.χ. για αποθήκευση δεδομένων).
Μια Β.Δ. μπορεί να υλοποιηθεί και αυτόνομα χωρίς να χρησιμοποιηθεί ένα Σ.Δ.Β.Δ., όμως οι παροχές του οδηγούν τους χρήστες στην επιλογή του : Ευκολία στη σχεδίαση και υλοποίηση Επίπεδα χρηστών και έλεγχος πρόσβασης Προστασία από βλάβες υλικού Δυνατότητα περιγραφής περιορισμών ορθότητας Δυνατότητα ελέγχου πλεονασμών
Ο χειρισμός των δεδομένων στο υλικό του Η/Υ γίνεται από το Λογισμικό Αποθήκευσης και Ανάκλησης Δεδομένων, το οποίο αναλαμβάνει να μεταφέρει όλες τις εντολές του χρήστη προς το υλικό.
Όλα τα Σ.Δ.Β.Δ. παρέχουν μια γλώσσα υποβολής ερωτήσεων προς τη Β.Δ. Αυτές οι ερωτήσεις επεξεργάζονται από το Λογισμικό Χειρισμού Ερωτήσεων και στη συνέχεια μετατρέπονται σε εντολές για ανάκληση δεδομένων από το υλικό και μεταφέρονται στο Λογισμικό Αποθήκευσης και Ανάκλησης Δεδομένων.
Είναι όσοι χρησιμοποιούν τη Β.Δ. είτε για απόκτηση πληροφορίας είτε για συντήρηση της βάσης δεδομένων. Διαχειριστής Συστήματος Ιδιοκτήτης Β.Δ. Χρήστες Υψηλής Διαβάθμισης Χρήστες Κατώτερης Διαβάθμισης
Διαιρείται σε 3 επίπεδα Εξωτερικό επίπεδο : ορίζεται το επίπεδο στο οποίο τα δεδομένα της Β.Δ. παρουσιάζονται στο χρήστη. Επίπεδο αντίληψης : συνδέει το φυσικό επίπεδο με τις όψεις των διαφόρων χρηστών στο εξωτερικό επίπεδο. Επεξεργάζεται τις εντολές του χρήστη και εντοπίζει το συγκεκριμένο τμήμα του χώρου αποθήκευσης που βρίσκεται η πληροφορία που ζητάει. Στη συνέχεια παρουσιάζει την απάντηση στο χρήστη με κατανοητό τρόπο. Βασική λειτουργία του είναι η μετάφραση των εντολών του χρήστη από κάποια γλώσσα εντολών στις αντίστοιχες εντολές του μηχανισμού ανάκλησης και αποθήκευσης δεδομένων.
Φυσικό επίπεδο : Ορίζεται το επίπεδο στο οποίο τα δεδομένα αποθηκεύονται και οργανώνονται υπό τη μορφή bytes και σελίδων στο μηχανισμό αποθήκευσης της Β.Δ. Περιλαμβάνει τις έννοιες : Τύποι δεδομένων Πεδία Εγγραφές Αρχεία
Οι σχεσιακές βάσεις αποτελούνται από ένα σύνολο από πίνακες, όπου κάθε πίνακας περιέχει σε 2Δ μορφή δεδομένα για κάθε χαρακτηριστικό διαφόρων αντικειμένων. Παραδείγματα: Κρατήσεις θέσεων Τραπεζικές συναλλαγές Διαχείριση εταιρικών δεδομένων
Οι σύγχρονες εφαρμογές παρουσιάζουν σημαντικές διαφορές σε σχέση με τις παραδοσιακές που δεν μπορούν να τις υποστηρίξουν οι σχεσιακές Β.Δ. διότι: Τα δεδομένα χαρακτηρίζονται από μεγαλύτερο όγκο και μεγαλύτερη πολυπλοκότητα. Η διαχείριση των δεδομένων απαιτεί την υλοποίηση πολύπλοκων αλγορίθμων (π.χ. την εύρεση της συντομότερης διαδρομής σε ένα χάρτη). Τα ερωτήματα είναι πιο πολύπλοκα με αποτέλεσμα να απαιτούν περισσότερο χρόνο για την επεξεργασία τους.
Την αδυναμία αυτή των σχεσιακών βάσεων καλύπτει το αντικειμενοστραφές μοντέλο. Τα αντικειμενοστραφή συστήματα βάσεων δεδομένων απευθύνονται σε πεδία εφαρμογών στα οποία τα αντικείμενα έχουν κεντρικό ρόλο.
Η υλοποίησή του γίνεται με μια αντικειμενοστραφή γλώσσα προγραμματισμού (π.χ. C++, Java). Οι αντικειμενοστραφείς βάσεις δεδομένων είναι σχεδιασμένες κατά τέτοιο τρόπο ώστε να διαχειρίζονται την πληροφορία ως ανεξάρτητα αντικείμενα, τα οποία μπορεί είτε να ανήκουν σε κάποια ομάδα με κοινές ιδιότητες και μεθόδους επεξεργασίας, είτε να αποτελούν εξαίρεση κληρονομώντας κάποιες ιδιότητες από συγγενείς ομάδες, ενώ ταυτόχρονα να παρουσιάζουν μοναδικές ιδιότητες που δεν εμφανίζονται σε άλλα αντικείμενα. Για τον ορισμό ενός αντικειμενοστραφούς μοντέλου απαιτούνται συνήθως πολλές κλάσεις αντικειμένων.
Multimedia εφαρμογές (ήχος, εικόνα, βίντεο) Διαχείριση γεωγραφικών δεδομένων Αποθήκες δεδομένων και αναλυτική επεξεργασία Ανάκτηση πληροφορίας από το web Data mining Διαχείριση κινούμενων αντικειμένων
Class User ID (Πρωτεύον κλειδί) Age Sex Interests Favorite places Login details Current location Friends Class Place ID (Πρωτεύον κλειδί) Description Currently Active Users Location Accessibility Class Tips User ID Place ID Comment Class Place_Status User ID Place ID Date
Έστω ότι έχουμε μια υπηρεσία κοινωνικού δικτύου που επιτρέπει να τη συμβουλευόμαστε σα χρήσιμο οδηγό πόλης και να βλέπουμε που βρίσκονται οι φίλοι μας. Ορίζουμε την κλάση User και την κλάση Place με τις ιδιότητές τους αντίστοιχα. Κάθε User ή Place έχει μοναδικό ID βάση του οποίου ορίζεται η αλληλεπίδραση μεταξύ ομοειδών ή διαφορετικών αντικειμένων.
Ενδεικτικά αναφέρουμε : ◦ Δυνατότητα σχολιασμού Place από Users. Για να γίνει αυτό χρησιμοποιούμε την κλάση Tips, η οποία αποθηκεύει τα ID’s των Users (vector) και το ID του Place καθώς και το αντίστοιχο σχόλιο. ◦ Δυνατότητα προβολής των Users που βρίσκονται σε ένα Place. Με τη χρήση της κλάσης Place_Status αποθηκεύουμε τα ID’s των Users (vector) και το ID του Place καθώς και τη χρονική στιγμή.
Στην υλοποίησή μας θα περιλαμβάνονται μέθοδοι που θα αφορούν: ◦ Αναζήτηση σχέσεων friendship μεταξύ των Users ◦ Προβολή θέσης των friends του User ◦ Εύρεση βέλτιστης διαδρομής για δεδομένο Place από την παρούσα θέση του User (check-in) ◦ Αναζήτηση και προβολή δεδομένων ανάλογα με επιθυμητά κριτήρια