Αποθήκευση και Οργάνωση αρχείων. Βάσεις Δεδομένων Μάθημα 2ο Διδάσκων: Μαρία Χαλκίδη

Σχετικά έγγραφα
Αποθήκευση και Οργάνωση αρχείων. Βάσεις Δεδομένων Μάθημα 2ο Διδάσκων: Μαρία Χαλκίδη

Αποθήκευση και Οργάνωση αρχείων

9. Φυσική Οργάνωση Αρχείων στο Δίσκο & Ευρετήρια

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων.

Αποθήκευση Δεδομένων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Αποθήκευση εδομένων. ομή ενός Σ Β. Εισαγωγή Το «εσωτερικό» ενός ΜΕΡΟΣ Β : Η (εσωτερική) αρχιτεκτονική ενός Σ Β είναι σε επίπεδα

Αποθήκευση εδοµένων. Μαγνητικοί ίσκοι. Μαγνητικές ταινίες για. Εισαγωγή

Αποθήκευση Δεδομένων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Αποθήκευση Δεδομένων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Αποθήκευση εδοµένων. Εισαγωγή. Σχεδιασµό και υλοποίηση µιας βάσης δεδοµένων χρησιµοποιώντας ένα Σ Β

Αποθήκευση Δεδομένων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Αποθήκευση εδομένων. Μαγνητικές ταινίες για. Εισαγωγή. Μέχρι σήμερα, είδαμε το σχεδιασμό και υλοποίηση μιας βάσης δεδομένων χρησιμοποιώντας ένα Σ Β

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Αποθήκευση εδομένων. Μαγνητικοί ίσκοι. Μαγνητικές ταινίες για. Εισαγωγή

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Οργάνωση Αρχείων. Διάγραμμα Σχεσιακού σχήματος. Ευρετήρια. Ταξινομημένα ευρετήρια B + δένδρα Ευρετήρια κατακερματισμού

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Αποθήκευση εδοµένων. Μαγνητικοί ίσκοι. Μαγνητικές ταινίες για. Εισαγωγή. Σχεδιασµό και υλοποίηση µιας βάσης δεδοµένων χρησιµοποιώντας

Ευρετήρια. Βάσεις Δεδομένων. Διδάσκων: Μαρία Χαλκίδη

Οργάνωση Αρχείων. Ευρετήρια. Ταξινοµηµένα ευρετήρια B + -δένδρα Ευρετήρια κατακερµατισµού. Αρχεία σωρού ιατεταγµένα αρχεία Αρχεία κατακερµατισµού

Κεφ.11: Ευρετήρια και Κατακερματισμός

Εισαγωγή στις βασικές έννοιες των Βάσεων Δεδομένων

Λειτουργικά Συστήματα (Λ/Σ)

Αποθήκευση Δεδοµένων

Τεχνολογία μνημών Ημιαγωγικές μνήμες Μνήμες που προσπελαύνονται με διευθύνσεις:

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Κεφ. 10: Δομές Αποθήκευσης

Θέμα: Σκληρός Δίσκος

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη

Οργάνωση Αρχείων. Βάσεις Δεδομένων : Οργάνωση Αρχείων 1. Blobs

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Οργάνωση Υπολογιστών (IΙI)

Αποθήκευση Δεδοµένων

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

Κύρια & Περιφερειακή Μνήµη

Κεφάλαιο 13. Αποθήκευση σε ίσκους, Βασικές οµέςαρχείων, και Κατακερµατισµός. ιαφάνεια 13-1

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ

Φροντιστήριο Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία

Βασικές συσκευές Ε/Ε. Είσοδος Έξοδος στον υπολογιστή. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (IΙI) Μ.

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Οργάνωση Αρχείων. Βάσεις Δεδομένων : Οργάνωση Αρχείων 1. Blobs

Εισαγωγή στις βασικές έννοιες των Βάσεων εδοµένων

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Βάσεις Δεδομένων ΙΙ Ενότητα 5

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Βάσεις Δεδομένων. Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων, κατακερματισμός και δομές ευρετηρίων για αρχεία. Φροντιστήριο 7 o

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο

Τα µπιτ και η σηµασία τους. Σχήµα bit. ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας

Βάσεις Περιβαλλοντικών Δεδομένων

Μόνιμη Αποθήκευση Δεδομένων στον Η/Υ

Διαχείριση Πολιτισμικών Δεδομένων

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ


Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI)

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης

Μέσα Αποθήκευσης. Ιεραρχία μνήμης Μαγνητικοί δίσκοι Συστοιχίες δίσκων RAID Οπτικοί δίσκοι Μαγνητικές ταινίες Άλλα μέσα αποθήκευσης

Αρχιτεκτονική υπολογιστών

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός)

Πληροφορική 2. Δομές δεδομένων και αρχείων

Σύστηµα Αρχείων και Καταλόγων

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ B.2.M3 Κύρια και Βοηθητική Μνήμη

Οργάνωση Υπολογιστών (ΙI)

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Αποκατάσταση συστήματος Βάσεις Δεδομένων

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

ΠΛΗΡΟΦΟΡΙΚΗ I. 3 η ΔΙΑΛΕΞΗ Περιφερειακές Μνήμες

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

Μνήμη Διευθύνσεις Δείκτες. Προγραμματισμός II 1

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Κεφάλαιο 2.4: Εργασία με εικονίδια

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Λειτουργικό Σύστημα: διαχείριση πόρων. Διαχείριση αρχείων. Τι είναι ένα αρχείο ; Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Μνήμη. Μνήμη. Κύρια μνήμη Δευτερεύουσα ή βοηθητική

Δυναμικός Κατακερματισμός

TEI Ιονίων Νήσων Τμήμα Τεχνολογίας Τροφίμων Πληροφορική Σημειώσεις Τεύχος 2. Μάκης Σταματελάτος

Ψηφιακά Κυκλώματα (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

ΠΛΗΡΟΦΟΡΙΚΗ I. 3 η ΔΙΑΛΕΞΗ Περιφερειακές Μνήμες

Εισαγωγή στα Λειτουργικά

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 3

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

ΕΙ Η ΜΝΗΜΩΝ ΠΤΥΤΙΚΕΣ ΜΗ ΠΤΥΤΙΚΕΣ

Εισαγωγή στην Πληροφορική

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

Εισαγωγή στα Λειτουργικά Συστήματα

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Transcript:

Αποθήκευση και Οργάνωση αρχείων Βάσεις Δεδομένων Μάθημα 2ο Διδάσκων: Μαρία Χαλκίδη

Κατηγοριοποίηση των φυσικών μέσων αποθήκευσης Ταχύτητα με την οποία προσπελαύνονται τα δεδομένα Κόστος ανά μονάδα δεδομένων Αξιοπιστία Απώλεια δεδομένων στην περίπτωση διακοπής ρεύματος ή καταστροφή του συστήματος Φυσική αποτυχία των μονάδων αποθήκευσης Μπορούμε να διαφοροποιήσουμε την αποθήκευση σε: Ευμετάβλητη (volatile storage): τα περιεχόμενα χάνονται όταν δεν υπάρχει παροχή ρεύματος Μη- μεταβλητή (non-volatile storage): Το περιεχόμενο παραμένει ακόμα και εάν σταματήσει η παροχή ρεύματος. Περιλαμβάνει δευτερεύουσα και τριτογενή αποθήκευση Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 2

Φυσικά μέσα αποθήκευσης Μόνιμη (nonvolatile storage) vs. ευμετάβλητη (volatile storage) αποθήκευση Μόνιμη: το περιεχόμενο παραμένει ακόμη κι όταν σταματήσει η παροχή ρεύματος Μονάδες δευτερεύουσας αποθήκευσης Ευμετάβλητη: υπάρχει απώλεια δεδομένων όταν διακοπεί η παροχή ρεύματος Κύρια μνήμη Άμεση (online access) vs. έμμεση (offline access) προσπέλαση Άμεση: Τα δεδομένα είναι διαθέσιμα ανά πάσα στιγμή Μαγνητικοί δίσκοι Έμμεση: Αργή πρόσβαση στα δεδομένα (προηγείται φόρτωμα) Ταινίες Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 3

Πρωτεύων Αποθηκευτικός Χώρος: Μνήμη Σε περίπτωση απώλειας ρεύματος, τα δεδομένα χάνονται Κρυφή μνήμη (cache) Γρηγορότερη και ακριβότερη μορφή αποθήκευσης Κύρια μνήμη Γρήγορη προσπέλαση Τυπική ταχύτητα πρόσβασης 100ns (=10-7 s) Περιορισμένη χωρητικότητα Σήμερα χρησιμοποιούνται ευρέως μερικά GB Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 4

Δευτερεύων Αποθηκευτικός Χώρος: Flash Memory Σε περίπτωση απώλειας ρεύματος, τα δεδομένα παραμένουν (δε χάνονται) Η ανάγνωση γίνεται αρκετά γρήγορα Όχι όμως τόσο γρήγορα όσο στην κύρια μνήμη Η εγγραφή και η διαγραφή είναι αργές Το κόστος ανά μονάδα αποθήκευσης είναι σχεδόν συγκρίσιμο με της κύριας μνήμης (αλλά πέφτει!) Χρησιμοποιείται ευρέως σε ψηφιακές συσκευές (φωτογραφικές μηχανές, κάμερες, κτλ) Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 5

Δευτερεύων Αποθηκευτικός Χώρος: Μαγνητικός Δίσκος Τα δεδομένα παραμένουν αναλλοίωτα σε περίπτωση διακοπής τροφοδοσίας ρεύματος Τα δεδομένα αποθηκεύονται σε περιστρεφόμενους δίσκους Η ανάγνωση και η εγγραφή γίνεται μαγνητικά Πρόσβαση στα δεδομένα, προϋποθέτει μεταφορά από το δίσκο στην κύρια μνήμη Αποθήκευση στο δίσκο σημαίνει μεταφορά δεδομένων από την κύρια μνήμη στο δίσκο Άμεση προσπέλαση Είναι δυνατή η πρόσβαση στα δεδομένα με οποιαδήποτε σειρά (δεν απαιτείται σειριακή πρόσβαση) Σπάνια χάνονται τα δεδομένα, ακόμη και σε περίπτωση καταστροφής του δίσκου Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 6

Τριτεύων Αποθηκευτικός Χώρος: Ταινίες Μόνιμη αποθήκευση δεδομένων Χρησιμοποιείται κυρίως για λόγους backup (αντίγραφο ασφαλείας), recovery (επαναφορά από βλάβη) και αρχειοθέτηση δεδομένων Ακολουθιακή (σειριακή) προσπέλαση Πιο αργή από το δίσκο Δεν επιτρέπει την πρόσβαση σε ένα συγκεκριμένο σημείο της ταινίας Πολύ υψηλή χωρητικότητα Τυπικές τιμές (40 300 GB) Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 7

Ιεραρχία αποθήκευσης Πρωτογενής Δευτερογενής Τριτογενής Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 8

Βάσεις Δεδομένων και Δευτερεύουσες Αποθηκευτικές Μονάδες Οι περισσότερες Βάσεις Δεδομένων αποθηκεύονται σε δευτερεύουσες αποθηκευτικές μονάδες, διότι Είναι πολύ μεγάλες για να χωρέσουν στην κύρια μνήμη Σπάνια οδηγούν σε μόνιμη απώλεια αποθηκευμένων δεδομένων (συγκριτικά με την πρωτεύουσα αποθήκευση) Το κόστος αποθήκευσης είναι κατά μία τάξη μεγέθους μικρότερο για τους δίσκους από ότι για την πρωτεύουσα αποθήκευση Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 9

Άτρακτος (track): ένας κύκλος/τροχιά Κύλινδρος (cylinder): άτρακτοι με την ίδια διάμετρο σε διαφορετικές επιφάνειες Μπλοκ (blocks) ή τομείς (sectors): τμήμα της ατράκτου απέναντι από σταθερή γωνία από το κέντρο του δίσκου (τυπικές τιμές 4ΚΒ ή 8ΚΒ) Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 10

Μέτρα απόδοσης δίσκων Χρόνος προσπέλαση(access time) ο χρόνος που απαιτείται από τη στιγμή που εκδοθεί ένα αίτημα εγγραφής/διαγραφής μέχρι τα δεδομένα να να αρχίσουν να μεταφέρονται. Αποτελείται Χρόνος αναζήτησης (Seek time) Χρόνος που απαιτείται για να αλλάξει η θέση της κεφαλής πάνω από τη σωστή άτρακτο (track) Λανθάνων χρόνος περιστροφής χρόνος που απαιτείται για τον τομέα που πρόκειται να προσπελαστεί να είναι κάτω από την κεφαλή. Κλίμακα μεταφοράς δεδομένων κλίμακα κατά την οποία τα δεδομένα μπορούν να ανακτηθούν ή να αποθηκευτούν στο δίσκο. Βάσεις Δεδομένων, Παν. Πειραιώς 11

Μέτρα απόδοσης Μέσος χρόνος αποτυχίας (ΜΧΑ) ο μέσος χρόνος που περιμένουμε να λειτουργεί το σύστημα χωρίς αποτυχία. Τυπικά 3 με 5 χρόνια Πιθανότητα αποτυχίας των νέων δίσκων είναι πολύ χαμηλή ΜΧΑ μειώνεται με την ηλικία των δίσκων Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 12

Επιπτώσεις στην απόδοση εξαιτίας της δομής του δίσκου Ο χρόνος που απαιτείται για τις λειτουργίες της ΒΔ επηρεάζεται σημαντικά από τον τρόπο που τα δεδομένα είναι αποθηκευμένα στο δίσκο Πρέπει να προσέχουμε πώς τοποθετούμε εγγραφές πάνω στο δίσκο Π.χ. όταν δύο εγγραφές χρησιμοποιούνται μαζί, θα πρέπει να τις αποθηκεύσουμε κοντά στο δίσκο (δηλ. στο ίδιο μπλοκ) Γενικά αφού διαβαστεί μια τροχιά, μια άλλη κεφαλή γίνεται ενεργή και μια άλλη τροχιά στον ίδιο κύλινδρο διαβάζεται ή γράφεται Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 13

Οργάνωση Αρχείων Η βάση δεδομένων αποθηκεύεται σαν μία συλλογή αρχείων. Κάθε αρχείο είναι μία συλλογή από εγγραφές. Μία εγγραφή είναι μία ακολουθία από πεδία. Μία προσέγγιση: Το μέγεθος εγγραφής είναι καθορισμένο Κάθε αρχείο έχει εγγραφές ενός συγκεκριμένου τύπου μόνο Διαφορετικά αρχεία χρησιμοποιούνται για διαφορετικές σχέσεις Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 14

Σταθερού μήκους εγγραφές Απλή προσέγγιση: Αποθήκευση εγγραφής i ξεκινώντας από το n (i 1), όπου n είναι το μέγεθος κάθε εγγραφής Η προσπέλαση εγγραφών είναι απλή αλλά οι εγγραφές μπορεί να βρίσκονται σε διαφορετικά blocks Τροποποίηση: δεν επιτρέπουμε εγγραφές να αποθηκεύονται σε διαφορετικά blocks Διαγραφή εγγραφής ι εναλλακτικές προσεγγίσεις Μετακίνηση των εγγραφών i + 1,..., n στις θέσεις i,..., n 1 Μετακίνηση της εγγραφής n στην i type deposit = record account-number : char (10); branch-name : char (22); balance : real; end Δεν μετακινούμε τις εγγραφές αλλα συνδέουμε όλες τις ελεύθερες εγγραφές σε μία ελεύθερη λίστα (free list) Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 15

File Containing account Records: Record Deleted and All Records Moved Record 2 Deleted and All Records Moved Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 16

File Containing account Records: A record deleted and Final Record Moved Record 2 deleted and Final Record Moved Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 17

Ελεύθερες Λίστες (Free Lists) Αποθήκευσε τη διεύθυνση της πρώτης διεγραμμένης εγγραφής στην επικεφαλίδα του αρχείου. Χρησιμποποιούμε την πρώτη εγγραφή για να αποθηκεύσουμε τη διεύθυνση της δεύτερης διεγραμμένης εγγραφής κ.ο.κ Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 18

Μεταβλητού μήκους εγγραφές Οι μεταβλητού μήκους εγγραφές εμφανίζονται στα συστήματα βάσεων δεδομένων με διάφορους τρόπους: Αποθήκευση πολλαπλών τύπων εγγραφών σε ένα αρχείο. Τύποι εγγραφών που επιτρέπουν μεταβλητού μήκους πεδία. Τύποι εγγραφών που επιτρέπουν επαναλαμβανόμενα πεδία Αναπαράσταση συμβολοσειρών με Byte type account-list = record branch-name : char (22); account-info : array[1 ] of record account-number; balance : real; end Επισύναψη ενός end-of-record ( ) χαρακτήρα ελέγχου στο τέλος της κάθε εγγραφής Δυσκολία με τη διαγραφή Δυσκολία επαναχρησιμοποιήσης του χώρου πριν τη διαγραμμένη εγγραφή Δυσκολία με την αύξηση μήκους εγγραφών Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 19

Αναπαράσταση συμβολοσειρών με Byte εγγραφών μεταβλητού μήκους Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 20

Μεταβλητού Μήκους Εγγραφές: Δομή Τεμαχισμένων Σελίδων Η επικεφαλίδα στην αρχή κάθε block περιέχει : Αριθμός στοιχείων στην επικεφαλίδα Τέλος ελεύθερου χώρου στο block θέση και μέγεθος κάθε εγγραφής Οι εγγραφές μπορούν να μετακινούνται μέσα στο block για να τις διατηρούμε συνεχείς χωρίς να υπάρχει κενός χώρος ανάμεσα τους; Η είσοδος στην επικεφαλίδα πρέπει να ενημερώνεται. Οι δείκτες δεν δείχνουν κατευθείαν στις εγγραφές δείχνουν στην είσοδο της εγγραφής στην επικεφαλίδα. Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 21

Εγγραφές μεταβλητού μήκους (συνέχεια...) Αναπαράσταση σταθερού μήκους: Δεσμευμένος χώρος Δείκτες Μέθοδος δεσμευμένου χώρου μπορούμε να χρησιμοποιήσουμε σταθερού-μήκους εγγραφές με συγκεκριμένο μέγιστο μήκος; Μη χρησιμοποιούμενος χώρος γεμίζει με null ή το σύμβολο end-of-record. Χρήσιμη όταν οι εγγαρφές έχουν μήκος κοντά στο μέγιστο Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 22

Μέθοδος δεικτών Μία εγγραφή μεταβλητού μήκους αναπαριστάται από μία λίστα εγγραφών σταθερού μήκους οι οποίες συνδέονται μεταξύ τους μέσω δεικτών. Μπορεί να χρησιμοποιηθεί ακόμα και εάν το μέγιστο μήκος εγγραφών δεν είναι γνωστό Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 23

Μέθοδος δεικτών (συνέχεια...) Μειονέκτημα: χάνεται χώρος σε όλες τις εγγραφές εκτός από την πρώτη στην αλυσίδα. Λύση: επιτρέπουμε δύο είδη block σ ένα αρχείο: Anchor block περιέχει την πρώτη εγγραφή της αλυσίδας Overflow block περιέχει άλλες εγγραφές εκτός της πρώτης στην αλυσίδα. Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 24

Οργάνωση εγγραφών σε αρχεία Σωρός (Heap) μία εγγραφή μπορεί να τοποθετηθεί οπουδήποτε σε ένα αρχείο όπου υπάρχει χώρος Ακολουθιακή αποθήκευση εγγραφών σε ακολουθιακή σειρά, με βάση την τιμή ενός κλειδιού αναζήτησης από κάθε εγγραφή Κατακερματισμός (Hashing) μία συνάρτηση κατακερματισμού υπολογίζεται πάνω σε κάποιο χαρακτηριστικό κάθε εγγραφής τα αποτελέσματα καθορίζουν σε ποιο block του αρχείου θα πρέπει να τοποθετηθεί η εγγραφή Οι εγγραφές κάθε σχέσης μπορεί να αποθηκευτούν σε ένα ξεχωριστό αρχείο. Σε μία οργάνωση αρχείου συμπλέγματος εγγραφές από διαφορετικές σχέσεις μπορούν να αποθηκευτούν στο ίδιο αρχείο Κίνητρο: αποθήκευση σχετικών εγγραφών στο ίδιο block για να ελαχιστοποιήσουμε I/O Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 25

Οργάνωση Αρχείο Συμπλέγματος Κατάλληλο για εφαρμογές που απαιτούν ακολουθιακή επεξεργασία ολόκληρου του αρχείου Οι εγγραφές σε ένα αρχείο ταξινομούνται με βάση ένα κλειδί αναζήτησης Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 26

Οργάνωση Αρχείο Συμπλέγματος (συνέχεια) Διαγραφή χρήση της αλυσίδας δεικτών Εισαγωγή στη θέση που η εγγραφή πρόκειται να εισαχθεί Εάν υπάρχει ελεύθερος χώρος η εισαγωγή γίνεται εκεί Εάν δεν υπάρχει χώρος, εισαγωγή της εγγραφής σ ένα block υπερχείλισης Σε κάθε περίπτωση, η αλυσίδα δεικτών πρέπει να ενημερωθεί Απαιτείται αναδιοργάνωση του αρχείου κατά χρονικά διαστήματα για να αποθηκεύσουμε σε ακολουθιακή σειρά Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 27

Οργάνωση Αρχείο Συμπλέγματος (συνέχεια) Απλή δομή αρχείου αποθηκεύει κάθε σχέση σε ένα ξεχωριστό αρχείο Χρησιμοποιώντας οργάνωση αρχείου συμπλέγματος μπορούμε να αποθηκεύσουμε διαφορετικές σχέσεις σ ένα αρχείο π.χ οργάνωση αρχείου συμπλέγματος των customer και depositor: good for queries involving depositor customer, and for queries involving one single customer and his accounts bad for queries involving only customer Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 28

The depositor Relation The customer Relation select account-number, customer-name, customer-street, customer-city from depositor, customer where depositor.customer-name = customer.customer-name Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 29

Clustering File Structure select account-number, customer-name, customer-street, customer-city from depositor, customer where depositor.customer-name =customer.customer-name Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 30

Clustering File Structure With Pointer Chains select * from customer Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 31

Αποθήκευση Λεξικού Δεδομένων Το λεξικό δεδομένων (ή κατάλογος συστήματος) αποθηκεύει μεταδεδομένα Πληροφορίες για τις σχέσεις Ονόματα σχέσεων Ονόματα και τύποι χαρακτηριστικών κάθε σχέσης Ονόματα και ορισμοί όψεων Περιορισμοί ακεραιότητας Πληροφορίες για τους λογαριασμούς χρηστών Στατιστικά δεδομένα Αριθμός εγγραφών ανά σχέση Πληροφορίες για τη φυσική οργάνωση των αρχείων Πληροφορίες για αρχεία δεικτοδότησης (επόμενο μάθημα) Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 32

Λεξικό Δεδομένων (συνέχεια...) Πιθανή αναπαράσταση ενός λεξικού δεδομένων: Relation-metadata = (relation-name, number-of-attributes, storage-organization, location) Attribute-metadata = (attribute-name, relation-name, domain-type, position, length) User-metadata = (user-name, encrypted-password, group) Index-metadata = (index-name, relation-name, index-type, index-attributes) View-metadata = (view-name, definition) Βάσεις Δεδομένων ΙΙ, Παν. Πειραιώς 33