ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 6 ΧΡΟΝΙΚΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ 6-1 ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΟΜΙΛΙΑΣ Εισαγωγή Φύση του χρόνου TSQL-2 SQL/Temporal 6-2
ΕΙΣΑΓΩΓΗ Ποια η ανάγκη για χρονικές εφαρµογές; εξαγωγή χρονικών συµπερασµάτων σε βάσεις γνώσεων εξαγωγή συµπερασµάτων σχετικά µε την ιστορία γεγονότων στο παρελθόν, σχεδιασµός µελλοντικών πράξεων και πρόβλεψη συνεπειών, λογισµός πάνω στην περίοδο εγκυρότητας της τιµής των δεδοµένων. 6-3 ΦΥΣΗ ΤΟΥ ΧΡΟΝΟΥ Τα µοντέλα χρόνου ταξινοµούνται ανάλογα µε: την πυκνότητα του χρόνου, το είδος και το µέγεθος των στοιχειωδών χρονικών µονάδων, το µοντέλο εξέλιξης του χρόνου, τις διαστάσεις του χρόνου, τις πράξεις στο χρόνο. 6-4
ΠΥΚΝΟΤΗΤΑ ΧΡΟΝΟΥ Στοιχειώδες χρονικό σηµείο(chronon): η µικρότερη διάρκεια χρόνου που υποστηρίζεται από ένα χρονικό Σ Β ιακριτός χρόνος: ισοµορφικός στους ακέραιους. Πυκνός χρόνος: ισοµορφικός στους ρητούς. Συνεχής χρόνος: ισοµορφικός στους πραγµατικούς. Φραγµένος/Άπειρος χρόνος. 6-5 ΕΙ ΟΣ ΤΟΥ ΧΡΟΝΟΥ Γεγονός: µια αποµονωµένη στιγµή στο χρόνο. ιάστηµα (interval): ο χρόνος µεταξύ δύο γεγονότων. ιάρκεια (duration): ένα ποσό χρόνου µε σταθερό µήκος, αλλά χωρίς καθορισµένα άκρα. Περιορισµένο χρονικό διάστηµα (span): µια κατευθυνόµενη διάρκεια χρόνου (θετική ή αρνητική). 6-6
ΜΟΝΤΕΛΟ ΕΞΕΛΙΞΗΣ ΧΡΟΝΟΥ Γραµµικά (linearly) εξελισσόµενος χρόνος: ανάµεσα σε δύο σηµεία υπάρχει πάντα µια σχέση ολικής διάταξης. ιακλαδιζόµενος (branching time) χρόνος: υπάρχει µια µερική διάταξη µεταξύ δύο διαφορετικών σηµείων. Κυκλικός (circular) χρόνος: σε εφαρµογές που γεγονότα και διαδικασίες επαναλαµβάνονται -7 ΙΑΣΤΑΣΕΙΣ ΤΟΥ ΧΡΟΝΟΥ- ΧΡΟΝΟΣ ΕΓΚΥΡΟΤΗΤΑΣ Χρόνος εγκυρότητας (valid time): ο χρόνος κατά τον οποίο το γεγονός αυτό είναι αληθές στον υπό µοντελοποίηση κόσµο. Παράδειγµα: Ο χρόνος εγκυρότητας για το γεγονός "Ο Πωλ Σεζάν είναι ζωντανός" είναι το διάστηµα [1839-1906]. -8
ΙΑΣΤΑΣΕΙΣ ΤΟΥ ΧΡΟΝΟΥ- ΧΡΟΝΟΣ ΟΣΟΛΗΨΙΑΣ Χρόνος δοσοληψίας (transaction time): το διάστηµα κατά το οποίο το γεγονός είναι αποθηκευµένο στη βάση δεδοµένων. Ο χρόνος δοσοληψίας είναι τύπου διαστήµατος και είναι πάντα συνεπής µε τη σειρά εκτέλεσης των δοσοληψιών στο σύστηµα. Κανείς δεν µπορεί να αλλάξει το χρόνο δοσοληψίας ενός γεγονότος. -9 ΙΑΣΤΑΣΕΙΣ ΤΟΥ ΧΡΟΝΟΥ- ΧΡΟΝΟΣ ΟΡΙΣΜΕΝΟΣ ΑΠΟ ΧΡΗΣΤΗ Χρόνος ορισµένος από το χρήστη (user-defined time): ένα πεδίο (attribute) µε πεδίο ορισµού χρονικής φύσεως (date, time). Παράδειγµα: "ηµεροµηνία γέννησης", "ηµεροµηνία πρόσληψης" κλπ. Ο χρόνος που είναι ορισµένος από το χρήστη δεν µπορεί να αντιµετωπιστεί από τη γλώσσα ερωτήσεων ισοδύναµα µε τους χρόνους εγκυρότητας και δοσοληψίας. -10
ΙΑΣΤΑΣΕΙΣ ΤΟΥ ΧΡΟΝΟΥ- ΣΧΕΣΕΙΣ ΣΤΗ ΒΑΣΗ Ε ΟΜΕΝΩΝ Σχέση χρόνου εγκυρότητας (valid-time relation). Σχέση χρόνου δοσοληψίας (transaction-time relation). Σχέσεις στιγµιοτύπου (snapshot relations) Σχέση διπλού χρόνου (bitemporal relation): µια σχέση που είναι και σχέση χρόνου εγκυρότητας και σχέση χρόνου δοσοληψίας. -11 ΙΑΣΤΑΣΕΙΣ ΤΟΥ ΧΡΟΝΟΥ- ΑΛΛΟΙ ΟΡΙΣΜΟΙ Χρονόσηµο (timestamp): µια οποιαδήποτε τιµή χρόνου που σχετίζεται µε κάποιο από τα αντικείµενα της βάσης (πλειάδες, πίνακες). Χρόνος ζωής (lifespan): ο χρόνος στον οποίο το αντικείµενο έχει οριστεί. -12
ΠΡΑΞΕΙΣ ΣΤΟ ΧΡΟΝΟ - ΣΧΕΣΕΙΣ ΤΟΥ ALLEN Y before Y equals Y meets Y overlaps Y during Y starts Y finishes Y -13 TSQL-2 Bitemporal Conceptual Data Model (BCDM): διακριτός χρόνος, κάτω φραγµένος, σχέσεις διπλού χρόνου. Επιπλέον διάκριση: Σχέσεις κατάστασης: αναφέρονται σε περιόδους. Σχέσεις Συµβάντος: αναφέρονται σε γεγονότα. -14
ΠΑΡΑ ΕΙΓΜΑΤΑ TSLQ-2 Έστω οι σχέσεις: ΥΠΑΛΛΗΛΟΣ(ΟΝΟΜΑ#, ΜΙΣΘΟΣ, ΤΜΗΜΑ) και ΤΜΗΜΑΤΑ(ΤΜΗΜΑ#, ΙΕΥΘΥΝΤΗΣ). Ερώτηση: ώσε το ιστορικό του Μακρή. SELECT Y.* FROM ΥΠΑΛΛΗΛΟΣ Y WHERE Y.ΟΝΟΜΑ = Μακρής Κάθε εγγραφή συνοδεύεται από το χρόνο εγκυρότητάς της. Ισοδύναµο θα ήταν να είχαµε προσθέσει και την πρόταση VALID VALID(Y). -15 ΠΑΡΑ ΕΙΓΜΑΤΑ TSLQ-2 (συνέχεια) Ερώτηση: Πόσο καιρό εργάζεται ο Μακρήςστα Αθλητικά ; SELECT SNAPSHOT ΟΝΟΜΑ, CAST(VALID(Y) TO INTERVAL DAY) FROM ΥΠΑΛΛΗΛΟΣ(ΟΝΟΜΑ, ΤΜΗΜΑ) AS Y WHERE ΟΝΟΜΑ = Μακρής AND ΤΜΗΜΑ = Αθλητικά Η δεσµευµένη λέξη SNAPSHOT δηλώνει ότι δεν επιθυµούµε το αποτέλεσµα να είναι µια χρονική σχέση. Η συνάρτηση CAST µετατρέπει το όρισµά της, που εδώ είναι ένα χρονικό στοιχείο, σε ένα διάστηµα µε διακριτότητα DAY. Η σύνταξη ΥΠΑΛΛΗΛΟΣ(ΟΝΟΜΑ, ΤΜΗΜΑ) στοfrom, υποδηλώνει ότι προβάλουµε τη σχέση ΥΠΑΛΛΗΛΟΣ στα πεδία ΟΝΟΜΑ και ΤΜΗΜΑ. -16
ΠΑΡΑ ΕΙΓΜΑΤΑ TSLQ-2 (συνέχεια) Ερώτηση: Ποιοι υπάλληλοι δουλεύουν συνέχεια τα τελευταία 3 χρόνια στα Αθλητικά ; SELECT SNAPSHOT Y.ΟΝΟΜΑ FROM ΥΠΑΛΛΗΛΟΣ(ONOMA, TMHMA)(PERIOD) AS Y WHERE VALID(Y) MEETS CURRENT_DATE AND CAST(VALID(Y) TO INTERVAL YEAR) >= INTERVAL 3 YEAR -17 ΠΑΡΑ ΕΙΓΜΑΤΑ TSLQ-2 (συνέχεια) Ερώτηση (Χρονική Οµαδοποίηση): ώσε το άθροισµα µισθών ανά µήνα για το τµήµα Αθλητικών, για τα τελευταία 2 χρόνια. SELECT ΤΜΗΜΑ, sum(μισθοσ) FROM ( SELECT Y.* VALID INTERSECT(VALID(Y), INTERVAL( now - 2 years, now)) FROM ΥΠΑΛΛΗΛΟΣ Y WHERE Y.ΤΜΗΜΑ = Αθλητικά AND VALID(Y) OVERLAPS INTERVAL( now - 2 years, now)) GROUP BY VALID(Y) USING MONTH -18
SQL/Temporal - ΣΗΜΑΣΙΟΛΟΓΙΑ Η απουσία της λέξης-κλειδί VALID (TRANSACTION) σηµαίνει συµβατότητα µε το σχεσιακό µοντέλο που δεν έχει χρονικά χαρακτηριστικά. Το αποτέλεσµα δεν περιλαµβάνει χρόνο εγκυρότητας (δοσοληψίας). Η λέξη-κλειδί VALID (TRANSACTION) σηµαίνει ακολουθιακή σηµασιολογία χρόνου εγκυρότητας (δοσοληψίας). Το αποτέλεσµα περιλαµβάνει χρόνο εγκυρότητας (δοσοληψίας). Η λέξη-κλειδί NONSEQUENCED υποδηλώνει µηακολουθιακή σηµασιολογία. Μια προαιρετική έκφραση περιόδου µετά από NONSEQUENCED VALID παρέχει χρονοσήµανση χρόνου εγκυρότητας. -19 SQL/Temporal - ΟΡΙΣΜΟΙ Aρχικό όριο (beginning bound) µιας περιόδου: η µικρότερη τιµή σε µια περίοδο. Στοιχειώδης τύπος (element type): Ο τύπος δεδοµένων των στοιχείων µιας τιµής µιας συλλογής ή µιας περιόδου. Τελικό όριο (ending bound) µιας περιόδου: η µικρότερη τιµή ενός στοιχειώδους τύπου που είναι µεγαλύτερη από το τελευταίο στοιχείο της περιόδου. Επίπεδο διακριτότητας (granule): µια περίοδος ελάχιστης διάρκειας που αναπαρίσταται µε µια συγκεκριµένη ακρίβεια, δηλ. περιέχει ένα µόνο στοιχείο. -20
SQL/Temporal Τελευταίο στοιχείο (last element) µιας περιόδου: Το στοιχείο που είναι µεγαλύτερο από κάθε άλλο στοιχείο στην περίοδο. Περίοδος (Period): Ένα συµπαγές σύνολο τιµών P ενός καλώς ταξινοµήσιµου τύπου (ηµ/νιας-ώρας) -γνωστού ως στοιχειώδους τύπου. Π.χ. αν δυο τιµές V1 και V2 είναι στην P και υπάρχει µια τιµή V3 τέτοια ώστε V1<V3<V2 τότε το V3 ανήκει στην P. -21 SQL/Temporal - Παραδείγµατα Ερώτηση: Πόσοι υπάλληλοι υπήρξαν σε κάθε τµήµα ; VALID SELECT Dept, COUNT(*) FROM Employee GROUP BY Dept Ερώτηση: Πότε άρχισαν τα τµήµατα να είναι υπερβολικά µεγάλα; TRANSACTION SELECT Dept, COUNT(*) FROM Employee GROUP BY Dept HAVING COUNT(*) > 25-22
ΕΠΙΛΟΓΟΣ Τρέχοντα θέµατα ενδιαφέροντος / έρευνας indexing σε χρονικές βάσεις δεδοµένων µοντελοποίηση χρονικών εφαρµογών Μελλοντικά θέµατα ενδιαφέροντος / έρευνας real time systems αντιµετώπιση µεγάλων χρονοσειρών. 6-23 Επιλεγµένη βιβλιογραφία J. F. Allen. Maintaining knowledge about temporal intervals. Communications of the ACM, vol 26, no 11, November 1983. J. F. Allen. Towards a general theory of action and time. Artif. Intell, vol 23, 1984 C.S. Jensen, J. Clifford, S.K. Gadia, A. Segev, R.T. Snodgrass. A Glossary or Temporal Database Concepts. SIGMOD RECORD, vol 21, no. 3, September 1991 R. Maiocchi, B. Pernici. Temporal Data Management Systems: A Comparative View. IEEE Transactions on Knowledge and Data Engineering, Vol. 3, no. 4, December 1992 Κ. Βασιλάκης. Σχεδιασµός και Βελτιστοποιηµένη Υλοποίηση ενός Συστήµατος ιαχείρισης Βάσεων εδοµένων Ιστορικού Τύπου, ιδακτορική ιατριβή (Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθήνας, Τµήµα Πληροφορικής), Οκτώβριος 1995. Στάϊκος, Χρονικές Βάσεις εδοµένων, τεχνική αναφορά, ΕΜΠ, Τµήµα Ηλεκτρολόγων Μηχανικών, Εργαστήριο Βάσεων εδοµένων, 1995 6-24