Τεχνικές αρχείων
Διομήδης Σπινέλλης
Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας
Οικονομικό Πανεπιστήμιο Αθηνών
dds@aueb.gr
Εισαγωγή
- Τα δεδομένα στη βοηθητική μνήμη φυλάσσονται ομαδοποιημένα σε
αρχεία (files).
- Η οργάνωση των αρχείων εξαρτάται από την εφαρμογή που τα
δημιουργεί και τα διαβάζει.
Τα παρακάτω αποτελούν παραδείγματα περιεχομένου ενός αρχείου:
- Αδόμητο κείμενο
- Πηγαίος κώδικας (λ.χ. Pascal)
- Εκτελέσιμο πρόγραμμα
- Αρχείο βάσης δεδομένων
- Αρχείο δεδομένων εφαρμογής (λ.χ. Word, Excel)
- Αρχεία τα οποία περιέχουν ομοειδή στοιχεία οργανώνονται με βάση τις
εγγραφές.
- Κάθε εγγραφή περιέχει έναν αριθμό από πεδία τα οποία χαρακτηρίζονται
από το μήκος τους και τον τύπο των δεδομένων που περιέχουν.
Για λόγους ευκολίας αναφερόμαστε στα πεδία με βάση κάποιο όνομα ανάλογα με
τα δεδομένα που περιέχουν (π.χ. ΟΝΟΜΑ, ΥΠΟΛΟΙΠΟ).
- Η διάταξη των πεδίων στην εγγραφή καθώς και το είδος των πεδίων
ενός αρχείου καλείται γραμμογράφηση (layout) του αρχείου.
Βοηθητική μνήμη
- Βασικές τεχνολογίες βοηθητικής μνήμης είναι:
- οι μαγνητικές ταινίες,
- οι μαγνητικοί δίσκοι,
- οι οπτικοί δίσκοι (CD-ROM, DVD),
- οι μαγνητο-οπτικοί δίσκοι.
- Ανάλογα με την τεχνολογία βοηθητικής μνήμης στα
δεδομένα των αρχείων μπορούμε να έχουμε
σειριακή προσπέλαση (serial access) (λ.χ. μαγνητική ταινία) ή
τυχαία προσπέλαση (random access) (λ.χ. μαγνητικός δίσκος).
- Τα δεδομένα στο μαγνητικό δίσκο είναι οργανωμένα σε
κυλίνδρους, (cylinders)
αυλάκια (tracks),
και
τομείς (sectors).
- Πρόσβαση στα στοιχεία ενός αρχείου γίνεται μέσω μιας ιεραρχίας
λογισμικού που μπορεί να περιλαμβάνει:
- το λογισμικό της εφαρμογής,
- το ενδιάμεσο λογισμικό (middleware),
- το λογισμικό της βάσης δεδομένων ή αντίστοιχες βιβλιοθήκες,
- το λειτουργικό σύστημα και συγκεκριμένα το σύστημα αρχείων,
- τον οδηγό συσκευής,
- το λογισμικό ελέγχου της συσκευής (firmware).
- Σημασία στην υλοποίηση του τρόπου χειρισμού των αρχείων έχει η ταχύτητα
των μονάδων βοηθητικής μνήμης.
Αυτή είναι της τάξης των ms σε αντιπαράθεση με την ταχύτητα
της κύριας μνήμης η οποία είναι της τάξης των δεκάδων ns.
Επεξεργασία σειριακών αρχείων
- Εφαρμογές που επεξεργάζονται σειριακά αρχεία (λ.χ. αρχεία που
φυλάσσονται σε μαγνητικές ταινίες) είναι δομημένες με βάση διεργασίες
που διαβάζουν σειριακά ένα ή περισσότερα αρχεία και παράγουν,
σειριακά, νέα αρχεία.
- Ο όγκος των στοιχείων στις εφαρμογές αυτές φυλάσσεται στο
κύριο αρχείο (master file)
ενώ οι συναλλαγές κάθε ημέρας ή περιόδου φυλάσσονται στο
αρχείο μεταβολών (transaction file)
- Στα αρχεία αυτά διακρίνουμε τις παρακάτω διεργασίες:
- Σύζευξη (merge):
ένωση δύο σειριακών ταξινομημένων αρχείων σε τρίτο ταξινομημένο.
- Ταξινόμηση (sort): Ταξινόμηση των εγγραφών του
αρχείου με βάση κάποιο κλειδί της εγγραφής.
Η ταξινόμηση πραγματοποιείται συνήθως στην κύρια μνήμη.
Αν τα δεδομένα δε χωράνε στην κύρια μνήμη ταξινομείται το αρχείο
ανά τμήματα τα οποία στη συνέχεια ενώνονται με σύζευξη.
- Ενημέρωση (update):
ενημέρωση του ταξινομημένου κυρίου αρχείου με βάση το αρχείο μεταβολών.
- Ερώτηση (query)
δημιουργία αρχείου που περιέχει τα δεδομένα που ικανοποιούν κάποιο κριτήριο.
- Αναφορά (report):
δημιουργία μιας διαμορφωμένης αναφοράς από τα στοιχεία του αρχείου.
Αρχεία τυχαίας προσπέλασης
- Τα αρχεία τυχαίας προσπέλασης είναι συνήθως οργανωμένα σε
πίνακες με βάση το σχεσιακό μοντέλο.
- Τα προγράμματα βάσεων δεδομένων επιτρέπουν την οργάνωση μη
προκαθορισμένων στοιχείων σε αρχεία τυχαίας προσπέλασης.
- Για γρήγορη πρόσβαση στα στοιχεία κάθε πίνακα χρησιμοποιούνται
βοηθητικές δομές αναζήτησης με δείκτες στους κυρίους πίνακες.
- Τέτοιες δομές μπορεί να είναι:
- ταξινομημένοι πίνακες για στοιχεία που δε μεταβάλλονται,
- πίνακες κατακερματισμού,
- δένδρα.
- Στα αρχεία αυτά υπάρχει συνήθως σύστημα το οποίο οργανώνει τη
διάθεση του ελεύθερου χώρου που προέρχεται από διαγραφές.
- Οι αλλαγές στο κύριο αρχείο γίνονται συνήθως άμεσα.
Παράλληλα ενημερώνεται και ένα αρχείο συναλλαγών το οποίο επιτρέπει
την ακύρωση συναλλαγών ή την επανεκτέλεσή τους σε παλαιότερο αρχείο
συναλλαγών.
Βιβλιογραφία
- Χρήστος Κοίλιας
Δομές Δεδομένων και Οργανώσεις Αρχείων. σ. 208-221
Εκδόσεις Νέων Τεχνολογιών, 1993.
- Peter Pin-Shan Chen.
The entity-relationship model --- toward a unified view of data.
ACM Transactions on Database Systems, 1(1):9-36, March 1976.
- Henry F. Korth and Abraham Silberschatz.
Database System Concepts.
McGraw-Hill, second edition, 1991.