Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 :...

90
Τα δεδομένα και ο Η/Υ σελ. 1 ΚΕΦΑΛΑΙΟ 1 ΤΑ ΔΕΔΟΜΕΝΑ Εισαγωγή: Στο κεφάλαιο αυτό γίνεται συνοπτική αναφορά στις βασικές έννοιες που έχουν να κάνουν με την μελέτη των δεδομένων – πληροφοριών ενός Η/Υ. Περιγράφεται το τι είναι δεδομένο, πληροφορία, τα είδη τους και οι μορφές τους, η επεξεργασία δεδομένων - πληροφοριών και οι βασικές λειτουργίες στα δεδομένα. 1.1 Ορισμός δεδομένων: Τα δεδομένα (data), είναι γεγονότα, μηνύματα, κωδικοποιημένα ή όχι και αποτελούν ακατέργαστο πληροφοριακό υλικό. (data: είναι ο πληθυντικός της λατινικής λέξης datum που σημαίνει γεγονός) Παραδείγματα δεδομένων: Το όνομα μιας πόλης π.χ. Κόρινθος, Ο αριθμός της ταυτότητας ενός προσώπου π.χ. Μ1937154, Το όνομα ενός προσώπου π.χ. Νίκος, Το όνομα ενός μέλους του ζωικού βασιλείου π.χ. λιοντάρι. και Το χρώμα ενός συγκεκριμένου εξωφύλλου βιβλίου π.χ. πράσινο 1.2 Ορισμός πληροφορίας:

Transcript of Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 :...

Page 1: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 1

ΚΕΦΑΛΑΙΟ 1

ΤΑ ΔΕΔΟΜΕΝΑ

Εισαγωγή:

Στο κεφάλαιο αυτό γίνεται συνοπτική αναφορά στις βασικές έννοιες που έχουν να κάνουν με την μελέτη των δεδομένων – πληροφοριών ενός Η/Υ. Περιγράφεται το τι είναι δεδομένο, πληροφορία, τα είδη τους και οι μορφές τους, η επεξεργασία δεδομένων - πληροφοριών και οι βασικές λειτουργίες στα δεδομένα.

1.1 Ορισμός δεδομένων:

Τα δεδομένα (data), είναι γεγονότα, μηνύματα, κωδικοποιημένα ή όχι και αποτελούν ακατέργαστο πληροφοριακό υλικό.

(data: είναι ο πληθυντικός της λατινικής λέξης datum που σημαίνει γεγονός)

Παραδείγματα δεδομένων: Το όνομα μιας πόλης π.χ. Κόρινθος, Ο αριθμός της ταυτότητας ενός προσώπου π.χ. Μ1937154, Το όνομα ενός προσώπου π.χ. Νίκος, Το όνομα ενός μέλους του ζωικού βασιλείου π.χ. λιοντάρι.

και Το χρώμα ενός συγκεκριμένου εξωφύλλου βιβλίου π.χ.

πράσινο

1.2 Ορισμός πληροφορίας:

Η πληροφορία (information) είναι το αποτέλεσμα που προκύπτει από κάποια κατάλληλη επεξεργασία δεδομένων.

(πληροφορία: γνώση)

1.3 Δεδομένα, πληροφορίες και επεξεργασία:

Από τον ορισμό της πληροφορίας προκύπτει το παρακάτω σχήμα που παρουσιάζει την χρησιμοποίηση των δεδομένων και των πληροφοριών για την λήψη αποφάσεων:

Page 2: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 2

Σχμ 1 : Παρουσίαση επεξεργασίας δεδομένων.

(α) Γραμμική (β) Ιεραρχική

Σχμ 2 : Παρουσίαση επεξεργασίας δεδομένων παραδειγμάτων παραρτήματος, (α) Γραμμική, (β) Ιεραρχική.

Η πληροφορία που παίρνουμε από την επεξεργασία των δεδομένων μπορεί να χρησιμοποιηθεί ως νέο δεδομένο για περαιτέρω επεξεργασία και το αποτέλεσμα είναι νέες πληροφορίες.

Ο όρος επεξεργασία πληροφοριών χρησιμοποιείται ως ταυτόσημος της επεξεργασίας δεδομένων μια και οι Η/Υ μπορούν πλέον

Page 3: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 3

να επεξεργάζονται πληροφορίες αντί των στοιχειωδών δεδομένων. Επεξεργασία είναι η διαδικασία κατά την οποία κατεργάζομαι σύμφωνα με τις διαθέσεις μου την πρώτη ύλη (δηλ. τα δεδομένα), σε διάφορα στάδια, προκειμένου να επιτύχω κάποιο σκοπό (πχ. να πάρω κάποιες αποφάσεις όπως παρουσιάζεται στο παράδειγμα του σχμ. 1. Η έννοια αυτή παρουσιάζεται στο παράρτημα, που ακολουθεί το θεωρητικό μέρος, με παραδείγματα απλά και σύνθετα σχμ. 2.

(Information processing: Επεξεργασία Πληροφοριών Data processing: Επεξεργασία Δεδομένων)

(Θα μπορούσαμε να μιλήσουμε για την βιομηχανία της επεξεργασίας των δεδομένων σε διάφορα στάδια από τις σύγχρονες ηλεκτρονικές, ψηφιακές υπολογιστικές μηχανές οποιουδήποτε τύπου και μεγέθους (έστω και σε μέγεθος μικρότερο από ένα κινητό τηλέφωνο) και προφανώς τα ίδια τα προγράμματα επεξεργασίας τους είτε εμφανή είτε όχι. Το παραγόμενο προϊόν πρέπει να ικανοποιεί τις ανάγκες μας.)

1.4 Καταγραφή δεδομένων:

Τα δεδομένα τα οποία χρησιμοποιούνται από τους υπολογιστές είναι κωδικοποιημένα.

(Κωδικοποίηση: μετατροπή των δεδομένων από μια πρωτογενή μορφή σε μια άλλη, που γίνεται για πολλούς και διαφόρους λόγους π.χ. σωστή μεταφορά δεδομένων μέσω δικτύων Η/Υ- επικοινωνιών σε Η/Υ Ή σε διάφορες τηλεπικοινωνιακές συσκευές οποιουδήποτε μεγέθους και οποιονδήποτε δυνατοτήτων.)

Όλοι όμως οι κώδικες έχουν ένα κοινό χαρακτηριστικό, το ότι χρησιμοποιούν δύο μόνο ψηφία: το 0 και το 1, που αντιστοιχούν στις καταστάσεις των τρανζίστορ, False (Λάθος) και True (Σωστό), των Η/Υ.

Τα δεδομένα αποθηκεύονται και υφίστανται επεξεργασία από τους Η/Υ με την μορφή κωδικοποιημένων χαρακτήρων.

(Κωδικοποίηση χαρακτήρων: ένα σύνολο από δυαδικά ψηφία, συνήθως 6 (BCD - Binary Coded Decimal), 7 (ASCII – American Standard Coded for Information Interchange) ή 8 (EBCDIC – Extended Binary Coded Decimal Interchange Code, ΕΛΟΤ 928), τα οποία

Page 4: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 4

απαιτούνται για την κωδικοποίηση κάθε χαρακτήρα. Το σύνολο των χαρακτήρων αυτών αποτελεί το σύνολο των χαρακτήρων του Η/Υ).

1.5 Βασικές λειτουργίες δεδομένων:

Οι βασικές λειτουργίες δεδομένων που τα πρώτα χειρόγραφα συστήματα δεδομένων παρείχαν στους χρήστες τους, και που υιοθετήθηκαν και επεκτάθηκαν στα σύγχρονα ηλεκτρονικά συστήματα (Ηλεκτρονικοί Υπολογιστές – Η/Υ) είναι:

Εισαγωγή νέων δεδομένων. Διαγραφή δεδομένων. Ανάκληση δεδομένων. Ενημέρωση δεδομένων.

1.6 Αποθήκευση:

Το δυαδικό ψηφίο bit (διφύο) που μπορεί να πάρει δύο τιμές 0 ή 1 // Λογική κατάσταση: σωστό (true) /αναμμένος ηλεκτρικός/ηλεκτρονικός λαμπτήρας ή λάθος (false)/σβηστός ηλεκτρικός/ηλεκτρονικός λαμπτήρας αποτελεί την πιο στοιχειώδη πληροφορία που μπορεί να αποθηκεύσει ο υπολογιστής.- σε ένα τρανζίστορ. Τώρα για την αναπαράσταση ενός χαρακτήρα πληροφορίας στο Η/Υ απαιτούνται συνήθως 8 bit τα οποία αποτελούν την στοιχειώδη μονάδα αποθήκευσης, τον χαρακτήρα ή διφυοσυλλαβή (byte). Η χωρητικότητα των μέσων αποθήκευσης του Η/Υ (δευτερεύουσας – πρωτεύουσας μνήμης), προσδιορίζεται από τον αριθμό των bytes που μπορούν να αποθηκευτούν.

Τα πολλαπλάσια μεγέθη του byte είναι: Kbyte (Kilobyte): 1024 bytes Mbyte (Megabyte): 1024 x 1024 bytes Gbyte (Gigabyte): 1024 x 1024 x 1024 bytes Tbyte (Terabyte): 1024 x 1024 x 1024 x1024 bytes Pbyte (Petabyte): 1024 x 1024 x 1024 x 1024 x 1024 bytes Ebyte (Exabyte): 1024 x 1024 x 1024 x 1024 x 1024 x 1024 bytes

Γιατί 1024 και όχι 1000; Τα μέσα αποθήκευσης είναι ηλεκτρονικά (περνά δεν περνά ρεύμα-ψηφιακός / ηλεκτρονικός μικρόκοσμος), άρα έχουμε δύο καταστάσεις για κάθε στοιχειώδη / μονολιθική πληροφορία. Συνεπώς για N αποθηκευμένες δυνατότητες έχω2xN καταστάσεις.

Page 5: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 5

Η λέξη (word) δείχνει πόσο ισχυρός είναι ένας Η/Υ.

(Πρωτεύουσα μνήμη : RAM, ROMΔευτερεύουσα μνήμη : Σκληρός δίσκος, δισκέτα, CD-ROM1 Terabyte = 750.000 εύκαμπτοι δίσκοι.

= 300 εκατομμύρια σελίδες κειμένου.= 100.000 ιατρικές ακτινογραφίες= 250 ταινίες

Μια μεγάλη δημόσια ηλεκτρονική βιβλιοθήκη (βιβλιοθήκη του Κονγκρέσου 1999) πιθανόν να καταλαμβάνει τον ισοδύναμο αποθηκευτικό χώρο των 20-25 Terabytes.)

Πόση είναι η συνολική αποθηκευμένη ηλεκτρονική πληροφορία στις 10:45:χυ:ζβνμ…… μ.μ.; Δεν γνωρίζουμε το σύνολο των συστημάτων που μπορούμε να δούμε διαισθητικά η κάτω από κάποιο δικτυακό μοντέλο. Τι θα γίνονταν στις 10:46:ςερρ μ.μ. ή στις 10:44:ξκλξλ μ.μ.;Θα μπορούσε να παρουσιάζεται σε κάποιο τέτοιο σχήμα, χωρίς προσδιορισμό:

Σχμ 3: Παρουσίαση πιθανής ποσότητας ηλεκτρονικής πληροφορίας.

Το παραπάνω σχήμα αντιπροσωπεύει την ηλεκτρονική πληροφορία που υπάρχει σε ένα τοπικής εμβέλειας δίκτυο τηλεπικοινωνιών, όπως το παρακάτω.

Page 6: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 6

Σχμ 4: Υποτιθέμενο δίκτυο επικοινωνιών στις 10:35.

bit byte Kbyte Mbyte Gbyte Tbyte Pbyte Ebyte

Σχμ 5: Παρουσίαση υπαρχουσών μονάδων μέτρησης δεδομένων κατά αύξουσα σειρά

Page 7: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 7

1.7 Κατάταξη δεδομένων – Ταξινόμηση:

Τα δεδομένα κατηγοριοποιούνται σε δύο μορφές και σε έναν αριθμό από είδη:

1.7.1 Μορφές:

Οι μορφές είναι δύο:1. Αναλογική (Analog) μορφή: Η μορφή των δεδομένων του

φυσικού κόσμου που αισθάνεται και αναγνωρίζει ο άνθρωπος.2. Ψηφιακή (Digital) μορφή: Η μορφή αποθήκευσης, μετάδοσης,

εκπομπής, λήψης, και επεξεργασίας των σύγχρονων ψηφιακών ηλεκτρονικών συσκευών, ανάμεσα τους και ο Η/Υ.

1.7.2 Είδη:

Με βάση τις τιμές που μπορούν να δεχθούν, μπορούμε να διακρίνουμε τα δεδομένα σε διαφορετικά είδη. Τα κυριότερα από αυτά είναι οι εξής:

Αλφαριθμητικά (string), όταν περιέχουν αλφαβητικούς χαρακτήρες, αριθμούς, ή συνδυασμούς αυτών. (π.χ. Ν123ΑΚ2577)

Αριθμητικά (numeric), όταν περιέχουν μόνο αριθμούς. (π.χ. 123 / 123562,1234 / 3,14159 / 1000000000/ 123+j123)

Αλφαβητικά (alphabetic), όταν περιέχουν μόνο αλφαβητικούς χαρακτήρες. (π.χ. ΝΙΚΟΣ)

Ημερομηνία (date), όταν έχουν την δυνατότητα αποθήκευσης ημερομηνιών. (π.χ. 01/04/2002)

Δυαδικά (binary), ειδική μορφή για αποθήκευση ειδικού τύπου δεδομένων. (π.χ. ήχος)

Λογικά (logical), επιτρέπονται δύο τιμές 0 ή 1 – χρήση άλγεβρας boole, βάση της οποίας σχεδιάζονται όλες οι μοντέρνες ψηφιακές ηλεκτρονικές συσκευές, όπως οι Η/Υ).

και άλλα….

Μοντέρνοι τύποι δεδομένων, με επαυξημένες δυνατότητες περιγραφής της πληροφορίας, βασίζονται στις βασικές αυτές κατηγορίες. (π.χ. memo: κείμενο, complex: μιγαδικοί αριθμοί<=φανταστικοί αριθμοί [προκύπτουν στις μοντέρνες γλώσσες με γραφή κώδικα και συνδιασμό 2 num: x + j*y ])

Page 8: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 8

1.7.3 Ταξινόμηση και πολυμέσα.

Ειδικά για τα πολυμέσα (multimedia) οι παραπάνω κατηγοριοποιήσεις φαίνονται στο παρακάτω σχήμα (σχμ. 5):

Σχμ 6 : Παρουσίαση ταξινόμησης σε πολυμέσα.

1.7.4 Ταξινόμηση και παγκόσμιος Ιστός:

Εδώ διακρίνουμε δύο κατηγορίες που προκύπτουν από την σύνθεση των απλών τύπων:

1. Πρωτογενή δεδομένα (περιεχόμενο και δόμηση του Ιστού): Κυρίως κείμενο, με αυξανόμενες ποσότητες

πολυμεσικού υλικού (ήχος/εικόνα) Εντολές μορφοποίησης (mark-up), Υπερσύνδεσμοι (hyperlinks), και Υποστηρικτικές Β.Δ, (μόνο έμεσα προσβάσιμες).

Page 9: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 9

2. Δευτερογενή δεδομένα (χρήση Ιστού): Αρχεία καταγραφής σε εξυπηρετητές (Web servers), Δεδομένα πλοήγησης από τους πελάτες (Web

clients).

Το μέλλον>>

Σήμερα μιλάμε για τα διαδικτυακά πολυμέσα επαυξημένων δυνατοτήτων, με πιθανή σύνθεση τους από στοιχεία, έστω και στοιχειώδη, που πιθανόν να βρίσκονται σε συστήματα ευρείας γεωγραφικής κατανομής με χρήση μακροκοσμικών επικοινωνιακών συστημάτων. Το σύνολο των επιμέρους στοιχείων παρουσιάζεται στον χρήστη ως ενιαία εφαρμογή, με σύνθεση αυτών, χωρίς αυτός να αντιλαμβάνεται την σύνθεση τους χρονικά ή αισθητικά

1.8 Ειδικά χαρακτηριστικά:

1.8.1 Επικοινωνία:

Τα δεδομένα πρέπει πάντα να βρίσκονται στη σωστή μορφή για την επεξεργασία τους ή την ασφαλή μεταφορά τους από τα σύγχρονα επικοινωνιακά συστήματα. Επικοινωνία δεδομένων σημαίνει την δυνατότητα τους να χρησιμοποιούνται και να μεταδίδονται στα σύγχρονα δίκτυα Η/Υ- επικοινωνιών οποιασδήποτε γεωγραφικής κατανομής.

1.8.2 Αναπαραγωγή:

Η αναπαραγωγή δεδομένων είναι η εμφάνιση και η παρουσίαση τους, έτσι ώστε ο χρήστης να πάρει την ποσότητα πληροφορίας που κρύβουν. (π.χ. Αναπαραγωγή ήχου – κειμένου – εικόνας – κ.α., δηλ. μορφών πληροφορίας που επεξεργάζονται οι μοντέρνοι Η/Υ)

1.8.3 Μετατρεψιμότητα:

Είναι η δυνατότητα μετατροπής των δεδομένων στην καταλληλότερη μορφή προς εξειδικευμένη επεξεργασία.

Page 10: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 10

1.8.4 Μεταφερσιμότητα:

Είναι η δυνατότητα ανταλλαγής δεδομένων – πληροφοριών σε ένα επικοινωνιακό μοντέλο, για παράδειγμα ένα σύγχρονο δίκτυο επικοινωνιών, Η/Υ.

1.8.5 Εξόρυξη δεδομένων:

Με τον πολλαπλασιασμό των αποθηκευμένων πληροφοριών, τα εργαλεία εξόρυξης δεδομένων εξαπλώθηκαν στην αγορά. Το αντικείμενο τους είναι να ανακαλύπτουν χρυσό από τα δεδομένα σας. Πολλά παραδοσιακά εργαλεία ερωτημάτων και αναφορών και συστήματα στατιστικής ανάλυσης χρησιμοποιούν τον όρο "εξόρυξη δεδομένων" (data mining) στους τίτλους των αναφοράς τους. Εξωτικά τεχνητής νοημοσύνης συστήματα επίσης αναφέρονται ως εργαλεία εξόρυξης δεδομένων. Τι είναι όμως ένα εργαλείο εξόρυξης δεδομένων και τι δεν είναι;

Το βασικό αντικείμενο της εξόρυξης δεδομένων είναι η ανακάλυψη πληροφοριών.

Η μεθοδολογία εξόρυξης δεδομένων εξαγάγει κρυμμένη πληροφορία από μεγάλες βάσεις δεδομένων. Ένα προϊόν απευθείας αναλυτικής επεξεργασίας (OLAP) και ένα στατιστικό πακέτο μπορούν να προσδιοριστούν ως εργαλείο εξόρυξης δεδομένων.

Η εξόρυξη δεδομένων έγινε δυνατή επειδή υποστηρίχτηκε από τρείς τεχνολογίες::

Μαζικής αποθήκευσης και ανάκλησης πληροφοριών. Ισχυρούς Η/Υ πολλών επεξεργαστών. Εξελιγμένων αλγορίθμων εξόρυξης. Βοηθητικά συστήματα επικοινωνίας/συνεργασίας των

παραπάνω και υποστήριξης της διαδικασίας.

Η μεθοδολογία εξόρυξης δεδομένων εξαγάγει πληροφορίες κρυμμένες από μεγάλες βάσεις δεδομένων.

Επίσης είναι τεχνολογία αιχμής για την αποτελεσματικότερη ανάλυση των δεδομένων και την αποκάλυψη των μεταξύ τους σχέσεων π.χ. συμπεριφοράς των πελατών. Στοχεύει στην υποστήριξη στρατηγικών αποφάσεων.

Page 11: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 11

Χρησιμοποιεί τεχνικές: μηχανικής μάθησης (machine learning), επαγωγικής εξαγωγής συμπερασμάτων (inductive

inference), και διαχείρισης μεγάλων και ετερογενών βάσεων δεδομένων

πιθανόν συστημάτων με μεγάλη γεωγραφική κατανομή και ποικιλία.

1.8.5.1 Εξελικτικά βήματα της εξόρυξης δεδομένων:

Εξελικτικά βήματα

Επιχειρηματικά ερωτήματα

Επιχειρούσα

τεχνολογία

Παροχείς προϊόντω

ν

Χαρακτηριστικά

Συλλογή δεδομένων

1960

Ποια ήταν τα μέσα έσοδα τα τελευταία 5 χρόνια;

Η/Υ, Κασέτες, δίσκοι

IBM, CDC Αναδρομικότητα, παροχή στατικών δεδομένων

Πρόσβαση στα

δεδομένα

1980

Ποιες ήταν οι πωλήσεις στην Νέα Αγγλία τον προηγούμενο Μάρτη;

Σχεσιακές βάσεις δεδομένων (RDBMS), γλώσσα δομημένων ερωτημάτων (SQL), ODBC

Oracle, Sybase, Informix, IBM, Microsoft

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

Πλοήγηση στα δεδομένα

1990

Ποιες ήταν οι πωλήσεις στην Νέα Αγγλία τον προηγούμενο Μάρτη; Τι γίνεται στην Βοστόνη;

Απ' ευθείας αναλυτική επεξεργασία (OLAP), πολυδιάστατες βάσεις δεδομένων, αποθήκες δεδομένων

Pilot, IRI, arbor, Redbrick, Evolutionary Technologies

Αναδρομικότητα, παροχή δυναμικών δεδομένων σε πολλαπλά επίπεδα

Εξόρυξη δεδομένων

2000

Ποιες πωλήσεις είναι πιθανόν να γίνουν στην Βοστόνη τον επόμενο μήνα; Γιατί;

Εξελιγμένοι αλγόριθμοι, συστήματα πολλών επεξεργαστών, μαζικές βάσεις δεδομένων

Lockheed, IBM, SGI, numerous startups

Πιθανότητα, παροχή πιθανών ενεργών πληροφοριών

Page 12: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 12

Το μέλλον>>

Η συνεργασία (χρονική και αισθητική) των παραπάνω συστημάτων (σχμ. Αναπαράσταση στο τέλος του κεφαλαίου).

1.8.5.2. Πλεονεκτήματα της τεχνολογίας που μας επιτρέπουν να συλλέγουμε αυξανόμενες ποσότητες δεδομένων:

Τα επιστημονικά δεδομένα συλλέγονται από:1. Πειράματα2. Παρατηρήσεις3. Προσομοιώσεις4. Συνδιασμό διαδικασιών

Η συλλογή δεδομένων έγινε δυνατή χάρις :1. Τα όργανα παρατήρησης (τηλεσκόπια, δορυφόροι, μικρόφωνα

κινητών τηλεφώνων, αισθητήρες…)2. Τους ηλεκτρονικούς Υπολογιστές οποιουδήποτε μεγέθους

(γρηγορότεροι, περισσότερη μνήμη, παράλληλες αρχιτεκτονικές, εξελιγμένα προγράμματα….)

3. Τις μονάδες αποθήκευσης . (δίσκους, κασέτες, …)4. Των ασύρματων ή ενσύρματων τεχνολογικών δικτύων

επικοινωνιών που τροφοδοτούν ή τροφοδοτούνται από τις συσκευές αυτές.

Χρειαζόμαστε γρήγορες και ακριβείς τεχνικές ανάλυσης δεδομένων για να καταλάβουμε την δυναμική των δεδομένων μας.

1.8.6. Σύντηξη:

Σύντηξη δεδομένων (data fusion) καλούμε την διαδικασία εξαγωγής πληροφορίας μετά την παρατήρηση της από πολλούς και διαφορετικούς παρατηρητές.

Για παράδειγμα σε ένα ενεργό πλέγμα κεραιών RADAR, εθνικής περιφερειακής ή τοπικής εμβέλειας, σύντηξη γίνεται όταν στον κεντρικό σταθμό ελέγχου του δικτύου εντοπισμού, και πιθανόν σε εφεδρικό, που δέχεται δεδομένα από το κυρίως-ασφαλές μακροκοσμικό τηλεπικοινωνιακό δίκτυο και προφανώς και από δευτερεύον-εφεδρικό (περίπτωση κατάρρευσης για οποιονδήποτε λόγο, είτε φυσική είτε τεχνητή καταστροφή) από το σύνολο των κεραιών, με την βέλτιστη

Page 13: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 13

γεωγραφική κατανομή, παρουσιάζεται η ζητούμενη πληροφορία, δηλ. το αναγνωρισμένο αεροπλάνο (πολιτικό / πολιτική αεροπορία/ αεροπλοΐα ή εχθρικό / πολεμική αεροπορία) παρότι κάθε ένα RADAR παράγει την ίδια πληροφορία εντοπισμού, ανάλογα με την εμβέλεια του, και την απεικονίζει κατά διαφορετικό τρόπο, σύμφωνα με την γεωγραφική θέση του ηλεκτρονικού συστήματος εντοπισμού (πομπός-δέκτης / τοπικό σύστημα απεικόνισης). Δεδομένης της μεγάλης ταχύτητας του στόχου και της τεχνολογικά μη επιτευχθείσας ακρίβειας εντοπισμού, ο εντοπισμός περιορίζεται σε περιοχή (κυκλικό σφάλμα που αυξάνει με την ταχύτητα). Γιαυτό λόγω μη ακριβών μετρήσεων του φωρατή (δέκτη) του RADAR, τα όπλα κατάρριψης επικίνδυνων στόχων ενσωματώνουν αισθητήρες και συστήματα επεξεργασίας για την τελική φάση προσέγγισης του στόχου με ίδια μέσα πράγμα που αυξάνει τον όγκο τους, το βάρος τους και την πολυπλοκότητα τους αλλά ταυτόχρονα αυξάνει και την αποτελεσματικότητα τους. Πιθανόν μικροκυματικά όπλα, δηλ. εκπομπή ηλεκτρομαγνητικού παλμού υψηλής ενέργειας (dE=h*df, df: ζώνη συχνοτήτων παλμού) που θα κατάστρεφε την ηλεκτρονική υποδομή του στόχου ή θα την έκανε αναξιόπιστη θα μπορούσε να αποτρέψει επικίνδυνες καταστάσεις.

Πλήρης και ακριβής σύντηξη στο παράδειγμα αυτό δεν γίνεται σε πραγματικό χρόνο, μόνο κατά προσέγγιση υπό χωρική κλίμακα λόγω υψηλών ταχυτήτων και πιθανόν να χρησιμοποιείται εφεδρικό σύστημα (πχ. GPS IIr/Galileo/Glonass OEMV-3/Compass ή επίγειο σύστημα ανάλογης αξίας δεδομένων) σε παράξενο ανάγλυφο όπως η Ελλάδα (ορεινοί όγκοι – νησιά / τυφλές περιοχές, θάλασσα / αντανακλάσεις ακτινοβολίας, ανθρώπινη δραστηριότητα/ επίδραση στην απόδοση και αξιοπιστία των συστημάτων (ηλεκτρομαγνητική ρύπανση / φυσική ακτινοβολία / εκρήξεις ηλιακών κηλίδων), φυσική θερμοκρασία / επίδραση στην απόδοση των συστημάτων (θερμική ρύπανση, αντοχές στρατιωτικών προδιαγραφών ολοκληρωμένων κυκλωμάτων, έμεση επίδραση στις καιρικές συνθήκες που αλιώνουν το σήμα) / ποιότητα σήματος και κατάσταση εξοπλισμού και προφανώς μη ομογενές ανάγλυφο - θάλασσα, ξηρά / επίδραση στην γεωγραφική τοποθέτηση των μονίμων συστημάτων (κεραιών εκπομπής - λήψης και καλωδίων σύνδεσης / καθυστερήσεις μικρές στις ηλεκτρονικές τερματικές διατάξεις επεξεργασίας και μετατροπής, μικρές καθυστερήσεις στις τηλεπικοινωνιακές γραμμές μεταφοράς δεδομένων προκειμένου να γίνει η απεικόνιση αλλά σημαντικές στην εκτίμηση της αξίας των δεδομένων και των παραγόμενων πληροφοριών / εξόρυξη δεδομένων) για βέλτιστη απόδοση, σύμφωνα με τις κατασκευαστικές προδιαγραφές τους. Τα παραπάνω συστήματα (ραντάρ μονολιθικά-συμβατικά είτε ραντάρ ενεργών ή παθητικών στοιχειοκεραιών διάταξης φάσης σήματος) έχουν

Page 14: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 14

συχνότητες στην περιοχή των >=0,5 GHz (από UHF, Rayheon AN/FPS-115/PAVE PAWS, έως την Ku περιοχή συχνοτήτων). Και τέλος στα RADAR στοιχειοκεραιών η αποκάλυψη των στόχων, ακόμη και αεροσκαφών τεχνολογίας stealth, ή πυραύλων cruise, γίνεται από την αρχή της σύγκλισης ενός μερικού συνόλου μετρήσεων στο υπολογιστικό σύστημα που τα υποστηρίζει σύμφωνα με τις πολλαπλές μετρήσεις που φτάνουν στον δέκτη (παθητικό σύστημα) ή στους δέκτες στοιχεία (ενεργητικό σύστημα) από την ανάκλαση της πολλαπλά εκπεμπόμενης δέσμης, διαμορφωμένης κατά φάση, στον στόχο. Παρόλα αυτά η απεικόνιση της συνολικής κατάστασης γίνεται κατά προσέγγιση και με κυκλικό σφάλμα για απεικονισμένο στόχο, σε πραγματικό χρόνο κυρίως λόγω των υψηλών ταχυτήτων που κινούνται τα αεροπλάνα και οι πύραυλοι. Η δε λύση είναι γεωμετρική και εξαρτάται από τις θέσεις των κεραιών RADAR και τις θέσεις των αναγνωρισμένων στόχων (εφαρμογή της Ευκλείδειας Γεωμετρίας). Στους στόχους που δεν απεικονίζονται η ανακλώμενη ακτινοβολία πάνω τους δεν διεγείρει τους φωρατές (δέκτες) των RADAR.

Σχμ 7 : Παράδειγμα σύντηξης δεδομένων (data fusion).

Page 15: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 15

1.8.7. Συνδυασμός εννοιών:

Σχμ 8: Συνδυασμός εννοιών δέκτης υποτιθέμενου συστήματος.

Παραπάνω παρουσιάζεται η δομή ενός υποτιθέμενου συστήματος (δέκτης τηλ/κού συστήματος) που συνδυάζει τις έννοιες που αναφέραμε. Στην δομή αυτή γίνεται «πιο πολύπλοκη» επεξεργασία

Page 16: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 16

Λέξεις που πρέπει να θυμάμαι:

Δεδομένα Πληροφορία Επεξεργασία δεδομένων Καταγραφή δεδομένων. Αποθήκευση Επικοινωνία δεδομένων Εξόρυξη δεδομένων Σύντηξη δεδομένων

ΚΕΦΑΛΑΙΟ 2

Page 17: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 17

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝΕισαγωγή:

Σκοπός της ενότητας αυτής είναι η παρουσίαση συνοπτικά των εννοιών των δομών δεδομένων καθώς και των συναφών προς αυτές έννοιες. Αναφέρονται οι βασικοί τύποι δεδομένων και η αναπαράσταση τους στην μνήμη του Η/Υ. Στο τέλος του κεφαλαίου παρουσιάζονται σχηματικά οι πιο συνηθισμένοι τύποι δομών δεδομένων και σε ορισμένους από αυτούς δίνεται η υλοποίηση του προγράμματος σε γλώσσα προγραμματισμού Pascal.

2.1 Βασικοί τύποι δεδομένων στις γλώσσες προγραμματισμού:

Δηλ. οι απλοί τύποι: Ακέραιος (integer) π.χ.:523 Πραγματικός (real) π.χ.:0,418 Χαρακτήρας (char) π.χ.: 'Α' Λογικός (boolean) π.χ.: ΑΛΗΘΕΙΑ –TRUE

2.2 Αναπαράσταση απλών τύπων δεδομένων στην μνήμη του H/Y:

2.2.1 Ακέραιοι:

Είναι γνωστό ότι ο αριθμός 523 μπορεί να εκφραστεί στο δεκαδικό σύστημα ως: 5*102+2*101+3*100. Ομοίως ο αριθμός 101 του δυαδικού συστήματος εκφράζεται ως 1*22+0*21+1*20 που είναι ο αριθμός 5 του δεκαδικού συστήματος. Έτσι ο 5 του δεκαδικού συστήματος είναι ο 101 του δυαδικού, ο οποίος καταχωρείται σε μια 16 bit λέξη ως εξής:

0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1

Όλοι οι ακέραιοι αριθμοί μετατρέπονται στους αντίστοιχους αριθμούς του δυαδικού συστήματος και στην συνέχεια καταχωρούνται όπως φαίνεται από το παραπάνω παράδειγμα.

2.2.2 Πραγματικοί αριθμοί:

Page 18: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 18

Είναι γνωστό ότι ο πραγματικός αριθμός 0,418 μπορεί να εκφραστεί ως 4*10-1+1*10-2+8*10-3. όμοια ο πραγματικός αριθμός 110,101 του δυαδικού συστήματος εκφράζεται ως : 1*22+1*21+0*20+1*2-

1+0*2-2+1*2-3 που έχει την τιμή 6,625. Συνήθως χρησιμοποιείται η λεγόμενη μορφή κινητής υποδιαστολής που είναι: 0,110101x23. Αν υποθέσουμε ότι οι αριθμοί αποθηκεύονται σε μια λέξη μνήμης 32 bit, τα 24 bit χρησιμοποιούνται για την αναπαράσταση του (Α) και τα υπόλοιπα για τον εκθέτη του (Β):

…………………. …………

--------------------------- (Α) ---------------- --εκθέτης του (Β) ---

2.2.3 Χαρασκτήρες:

Υπάρχουν διάφορες μέθοδοι για την κωδικοποίηση χαρακτήρων χρησιμοποιώντας έναν αριθμητικό κώδικα για κάθε ένα χαρακτήρα (ASCII, EBCDIC). Μια λέξη μνήμης με 16 bits συνήθως διαιρείται σε 2 bytes κάθε ένα από τα οποία μπορεί να αποθηκεύσει την δυαδική παράσταση ενός χαρακτήρα.

2.2.4 Λογικές τιμές:

Υπάρχουν μόνο δυο λογικές τιμές, που παριστάνουν τις καταστάσεις του τρανζίστορ (βασικό δομικό στοιχείο των σύχρονων ψηφιακών ηλεκτρονικών), οι: true και false. Οι τιμές αυτές μπορούν να παρασταθούν με ένα bit, 0 για το false και 1 για το true (χρήση άλγεβρας boole).

(Στις γλώσσες προγραμματισμού υψηλού επιπέδου ορίζονται οι λογικές πράξεις: and, or και not. )

2.3 Αφηρημένος Τύπος Δεδομένων (ΑΤΔ):

΄Ενας ΑΤΔ είναι ένα μαθηματικό μοντέλο που ορίζει ένα τύπο δεδομένων, που όπως αναφέρθηκε είναι το είδος των τιμών που λαμβάνουν οι μεταβλητές σε μια γλώσσα προγραμματισμού: π.χ. Pascal, όπου είναι βασικά οι τέσσερις τύποι, παρ. 2.1)

Page 19: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 19

2.4 Δομές Δεδομένων:

Εκτός από τους βασικούς τύπους δεδομένων, οι περισσότερες γλώσσες προγγραμματισμού διαθέτουν και δομημένους τύπους δεδομένων, δηλ. τύπους που χτίζονται χρησιμοποιώντας τους βασικούς τύπους δεδομένων.

2.5 Συνηθησμένοι τύποι δομημένων τύπων δεδομένων:

Πίνακας (array). Εγγραφή (record). Σύνολο (set). Αρχείο (file). Λίστα (list). Δένδρα (tree). Γράφημα-Δίκτυο (graph – net). Ούρα (queue). Στοίβα (stack) κ.α.

2.6 Κατηγορίες δομημένων τύπων δεδομένων:

Οι δομημένοι τύποι δεδομένων χωρίζονται σε δύο κατηγορίες: Στατικοί δομημένοι τύποι δεδομένων, που έχουν σταθερό

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

Δυναμικές δομές, που το μέγεθος και η χωρητικότητα τους, ως προς την δυνατότητα αποθήκευσης δεδομένων, μεταβάλλεται δυναμικά (θεωρητικά χωρίς όριο). Η κατηγορία αυτή περιλαμβάνει ΑΤΔ όπως: Αρχεία, Λίστες, Δένδρα, Γράφημα-Δίκτυο, Ουρά Στοίβα, κ.α.

Οι παραπάνω δομημένοι τύποι δεδομένων χρησιμοποιούν για την υλοποίηση τους τους 4 βασικούς τύπους δεδομένων που για παράδειγμα για την γλώσσα προγραμματισμού Pascal είναι: integer, real, char και boolean. Όσο αναφορά πιο μοντέρνες γλώσσες όσο η C++, οι δυναμικές δομές μπορεί να περιλαμβάνουν και άλλους ΑΤΔ.

2.6.1 Παραδείγματα στατικών δομημένων τύπων δεδομένων:

Page 20: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 20

2.6.1.1 Πίνακας

Θεωρούμε ότι υλοποιούμε τον παρακάτω πίνακα, ο οποίος έχει 3 γραμμές, 3 στήλες και τα στοιχεία του είναι ακέραιοι αριθμοί:

123 0 2215 1 70 0 2

Ο κώδικας σε γλώσσα προγραμματισμού Pascal είναι ο παρακάτω:

var c2:array [1..3,1..3] of integer;

Ο παραπάνω τρισδιάστατος πίνακας με 3x3x3=18 στοιχεία (μοιάζει με τον κύβο του Rubic), θα δηλώνονταν σε Pascal ως εξής:

var c3:array [1..3,1..3,1..3] of boolean;

Ένας πίνακας τρισδιάστατος με 1024x1024x1024 στοιχεία (μοιάζει με τον κύβο του Rubic), θα μπορούσε να περιέχει την πληροφορία της επιφάνειας ενός αντικειμένου, στον τρισδιάστατο χώρο (καρτεσιανές συντεταγμένες) με περιεχόμενο στοιχείου το αν ανήκει

Page 21: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 21

στην επιφάνεια ένα δεδομένο στοιχείο ή όχι. Οι δηλώσεις σε Pascal είναι οι παρακάτω:

var typos_stoixeiou=boolean;

c3sp: array [1..1024,1..1024,1..1024] of typos_stoixeiou;

Ένας πίνακας τετραδιάστατος με 1024x1024x1024x36000 που θα μπορούσε να προσομοιώσει τον χρονοχώρο (αντικείμενα και την χρονική μεταβολή) θα δηλώνονταν σε Pascal ως εξής:

var typos_stoixeiou=………;

c4sp: array [1..1024, 1..1024, 1..1024, 0..36000] of typos_stoixeiou;

Ένας πίνακας τετραδιάστατος, που έχει δοθεί η τιμή 0 στο στοιχείο [0,0,0,0], σε κώδικα Javascript είναι ο παρακάτω:

max_ar1 = … ; // μέγιστος αριθμός στοιχείωνmax_ar2 = … ; // μέγιστος αριθμός στοιχείωνmax_ar3 = … ; // μέγιστος αριθμός στοιχείωνmax_ar4 = … ; // μέγιστος αριθμός στοιχείων

var c4 = new Array(max_ar1,max_ar2,max_ar3, max_ar4);

c4[0,0,0,0]=0;

(προσομοίωση: διαδικασία κατά προσέγγιση παράστασης, με όσο το δυνατό λιγότερο σφάλμα)

2.6.1.2 Εγγραφή:

Page 22: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 22

Θεωρούμε ότι θέλουμε να κρατήσουμε τα δεδομένα για μερικούς μαθητές του Ι.Ε.Κ. Τα δεδομένα που κρατάμε είναι ΑΜ, Όνομα, Επώνυμο, Τμήμα, Βαθμός. Έτσι για δύο μαθητές έχουμε:

1ος

Μαθ

ητής ΑΜ: 124

Όνομα: ΓΙΩΡΓΟΣΕπώνυμο: ΔΙΑΜΑΝΤΗΣΤμήμα: ΠΛΒαθμός: 16 2ο

ς Μ

αθητ

ής ΑΜ: 100Όνομα: ΑΝΝΑΕπώνυμο: ΣΥΝΟΔΙΝΟΥΤμήμα: ΝΟΣΒαθμός: 17

Ο κώδικας σε γλώσσα προγραμματισμού Pascal είναι ο παρακάτω:

typeegrafhmath = recordam : integer;onoma : array [1..10] of char;eponymo : array [1..10] of char;tmhma : array [1..3] of char;bathmos : integer

end;

varegr : egrafhmath;

2.6.1.3 Σύνολο:

Page 23: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 23

Θεωρούμε ότι έχουμε το παρακάτω υποσύνολο (σχμ.8) από συγκεκριμένους αριθμούς (5 αριθμοί και συγκεκριμένα τους 1, 2, 7, 8, 9).

Σχμ 9 : Σύνολο.

Ο κώδικας υλοποίησης σε γλώσσα προγραμματισμού Pascal είναι ο παρακάτω:

typear=(1,2,7,8,9);synolo = set of ar;

var syn : synolo;

Ο κώδικας υλοποίησης σε γλώσσα προγραμματισμού Javascript είναι ο παρακάτω:

ar = …. \\ αριθμός που ελένχω var xar = ar==1 || ar==2 || ar==7 ||ar==8 || ar==9;

if (xar==true) {alert("Ο αριθμός περιέχεται στο σύνολο.");};if (xar ==false) {

Page 24: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 24

alert("Ο αριθμός δεν περιέχεται στο σύνολο.");};

2.6.2 Παραδείγματα δυναμικών δομημένων τύπων:

Θα παρουσιαστούν σχηματικά μερικές από αυτές τις δομές, όπως:

(α) Λίστα (β) Δένδρο

(γ) Γράφος – Δίκτυο

Σχμ 10 : Παρουσίαση γραφική των δυναμικών δομών δεδομένων.

(α) Ο κώδικας υλοποίησης σε γλώσσα προγραμματισμού Pascal είναι ο παρακάτω, όπου κάθε κόμβος περιέχει έναν πραγματικό αριθμό και τον ακολουθεί ένας μόνο επόμενος κόμβος:

typetypos_stoixeiou =real;

Page 25: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 25

typos_deikti = ^ typos_komvou;typos_komvou = record

dedomena : typos_stoixeiou;epomenos : typos_deikti

end;

varlista : typos_deikti;

Χρησιμοποιήθηκε η τεχνική του δείκτη.

(β) Πολύ χρήσιμη αυτή η κατηγορία. Γνωστές δενδρικές δομές είναι τα δυαδικά δένδρα Β, Β+ και Β* αλλά και άλλες.

Στο δένδρο κάθε κόμβος περιέχει δεδομένα και οι συνδεδεμένοι κόμβοι στο πιο κάτω επίπεδο λέγονται παιδιά του. Ρίζα ονομάζεται ο αρχικός κόμβος στο πάνω-πάνω επίπεδο. Στις υλοποιήσεις στις γλώσες προγραμματισμού συνήθως κάθε κόμβος περιέχει συγκεκριμένου τύπου δεδομένα εκτός αν έχει ορισμένες και τις εντολές επεξεργασίας αυτών και το πολύ συγκεκριμένο αριθμό παιδιών, στο κάτω επίπεδο.

Ο κώδικας υλοποίησης ενός δένδρου, με λίστα, με κάθε κόμβο να περιέχει δεδομένα αριθμητικά (ακέραιους) και να έχει 3 παιδιά σε γλώσσα προγραμματισμού Pascal είναι ο παρακάτω:

typetypos_stoixeiou =integer;typos_deikti = ^typos_komvou;typos_komvou = record

dedomena : typos_stoixeiou;paidi1, paidi2, paidi3: typos_deikti

end;var

criza : typos_deikti;

(γ) Η υλοποίηση της απαιτεί πολύπλοκη μελέτη. Ενδεικτικά αναφέρουμε μια μορφή της στην Pascal για αριθμητικά (ακέραια) δεδομένα:

Page 26: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 26

typetypos_stoixeiou =integer;kdktis = ^korifi;adktis = ^akmi;korifi = record

dedomena : typos_stoixeiou;akro : kdktis;kefali : adktis

end;akmi = record

dedomena : typos_stoixeiou;akro : kdktis;epomenos : adktis

end;graphima = kdktis;

Παράδειγμα μικροεφαρμογής (Ψηφιακό ημερολόγιο) Javascript σε ένα ΗΤΜL έγγραφο.

Το παρακάτω παράδειγμα είναι πλήρως λειτουργικό και εμφανίζει στην ιστοσελίδα υπολογισμούς που γίνονται στην τρέχουσα ημερομηνία του υπολογιστής σας. Τα δεδομένα που εμφανίζονται είναι αριθμητικά, αλφαριθμητικά και προκύπτουν από την επεξεργασία τρεχουσών ημερολογιακών δεδομένων.

ιστοσελίδα – αρχείο: x_calendar.htm

<html><head><meta http-equiv="Content-Type"content="text/html; charset=iso-8859-7"><meta name="Author"

Page 27: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 27

content="Νίκος Α. Πανουσόπουλος ΠΕ19">

<title>ΨΗΦΙΑΚΟ ΗΜΕΡΟΛΟΓΙΟ.</title></head>

<script><!-- τρέχων ημερολογιακό φύλλο / current callendar paperday2=""; // WeekDay in Greek

today = new Date(); // Init dateweekday = today.getDay(); // Day

month=today.getMonth(); // Month

date=today.getDate(); // date

switch (weekday) {case 0 :day2 = 'Sunday...';break;case 1 :day2 = 'Monday...';break;case 2 :day2 = 'Tuesday...';break;case 3 :day2 = 'Wednesday...';break;case 4 :day2 = 'Thursday...';break;case 5 :day2 = 'Friday...';break;case 6 :day2 = 'Saturday...';

break;default:

Page 28: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 28

break;}

switch (month) {case 11 :month2 = 'DECEMBER';document.fgColor="blue";break;case 0 :month2 = 'JANUARY';document.fgColor="blue";break;case 1 :month2 = 'FEBRUARY';document.fgColor="blue";break;case 2 :month2 = 'MARCH';document.fgColor="green";break;case 3 :month2 = 'APRIL';document.fgColor="green";break;case 4 :month2 = 'MAY';document.fgColor="green";break;case 5 :month2 = 'JUNE';document.fgColor="cyan";break;case 6 :month2 = 'JULY';document.fgColor="cyan";break;case 7 :month2 = 'AUGUST';document.fgColor="cyan";break;case 8 :month2 = 'SEPTEMBER';document.fgColor="yellow";

Page 29: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 29

break;case 9 :month2 = 'OCTOBER';document.fgColor="yellow";break;case 10 :month2 = 'NOVEMBER';document.fgColor="yellow";break;default:break;}

if(date>=4){if((date!=21)||(date!=31)||(date!=22)||(date!=23)){ext="th";}}

if ((date==1)||(date==21)||(date==31)){ext="st";}

if ((date==2)||(date==22)){ext="nd";}

if ((date==3)||(date==23)){ext="rd";}

// -->

</script>

<script><!-- τρέων ημερολογιακό φύλλο / current callendar papergday=""; // WeekDay in Greek

today = new Date(); // Init date

Page 30: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 30

weekday = today.getDay(); // Day

month=today.getMonth(); // Month

date=today.getDate(); // date

switch (weekday) {case 0 :gday = 'Κυριακή...';break;case 1 :gday = 'Δευτέρα...';break;case 2 :gday = 'Τρίτη...';break;case 3 :gday = 'Τετάρτη...';break;case 4 :gday = 'Πέμπτη...';break;case 5 :gday = 'Παρασκευή...';break;case 6 :gday = 'Σάββατο...';

break;default:break;}

switch (month) {case 11 :gmonth = 'ΔΕΚΕΜΒΡΙΟΥ';document.fgColor="blue";break;case 0 :gmonth = 'ΙΑΝΟΥΑΡΙΟΥ';document.fgColor="blue";break;

Page 31: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 31

case 1 :gmonth = 'ΦΕΒΡΟΥΑΡΙΟΥ';document.fgColor="blue";break;case 2 :gmonth = 'ΜΑΡΤΙΟΥ';document.fgColor="green";break;case 3 :gmonth = 'ΑΠΡΙΛΙΟΥ';document.fgColor="green";break;case 4 :gmonth = 'ΜΑΊΌΥ';document.fgColor="green";break;case 5 :gmonth = 'ΙΟΥΝΙΟΥ';document.fgColor="cyan";break;case 6 :gmonth = 'ΙΟΥΛΙΟΥ';document.fgColor="cyan";break;case 7 :gmonth = 'ΑΥΓΟΥΣΤΟΥ';document.fgColor="cyan";break;case 8 :gmonth = 'ΣΕΠΤΕΜΒΡΙΟΥ';document.fgColor="yellow";break;case 9 :gmonth = 'ΟΚΤΩΒΡΙΟΥ';document.fgColor="yellow";break;case 10 :gmonth = 'ΝΟΕΜΒΡΙΟΥ';document.fgColor="yellow";break;default:break;}

Page 32: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 32

// -->

</script>

<script src="x_calengr.js"></script>

<bodylink="white" vlink="gray" alink="gray" bgcolor="black">

<bgsound src="http://users.sch.gr/nikpanous/use/guit.wav" loop="3">

<marquee behavior="slide" direction="up" scrolldelay="7" scrollamount="3" width=100% height=100%>

</br></br><center><font size=+4>Ψηφιακό ημερολόγιο.</font></center>

<center></br></br><table border="0" width="100%"> <tr><td width="25%" bgcolor="yellow" align="center"><font

color="gray">Ουρανός:</br><script>document.write(pan);</script></br><script>document.write(panb);</script></br><script>document.write(pan2);</script></br></font>

</td><td width="25%" bgcolor="brown" align="center"><font

size=+1 color="white">Αριθμός</br>εβδομάδας:</br><font size=+3><script>document.write(weeks);</script>

</td>

Page 33: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 33

<td width="25%" bgcolor="gray" align="center"><font size=+1 color="white">Τρέχουσα

ημέρα:</br><script>document.write(sumdays);</script><font size=-1> (<script>document.write(year);</script><script>document.write(der);</script>)</font></br>Αρ. ημέρας:</br><script>document.write(sdays);</script><font size=-1> μ.Χ.</font></font>

</td><td width="25%" bgcolor="peachpuff" bgcolor="white"

align="center"><font size=+1><b><script>document.write(gday);</script></br>

<font size=+3><script>document.write(date);</script><sup>η</sup></font>

</br><script>document.write(gmonth);</script></b></font></td> </tr></table></br></br><table><tr><td width="25%" bgcolor="peachpuff" align="center"><font

size=+1><b><script>document.write(day2);</script></br><font size=+3><script>document.write(date);</script><sup><script>document.write(ext);</script></sup></font></br>of<script>document.write(month2);</script></b></font></td> </tr></table>

</center>

<p align=right><img

Page 34: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 34

src="http://users.sch.gr/nikpanous/use/mag.jpg" width="70" height="70"></p>

</marquee>

</body></html>

Αρχείο - επεξεργασίας: x_calengr.js

<!-- Υπολογισμός της τρέχουσας ημέρας από το 00 και την αρχή του χρόνου

today = new Date(); // Init dateweekday = today.getDay(); // Day

month=today.getMonth(); // Month

date=today.getDate(); // date

year=today.getYear();day=today.getDay();

yearst=""+year;

ndays=0;dd=0;

if (yearst.length==2){year+=1900;}

der="";i=eval(year);if (((((i%4)==0)&&((i%100)!=0))^(((i%4)==0)&&((i%100)==0)&&((i%400)==0)))&&(i!=0)){

Page 35: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 35

der="/δίσεχτο";}

for(i=0;i<=(year-1);i++){

if (((((i%4)==0)&&((i%100)!=0))^(((i%4)==0)&&((i%100)==0)&&((i%400)==0)))&&(i!=0)){

dd=1;}ndays+=365+dd;dd=0;}

sumdays=date;

for(j=0;j<(month);j++){dd=0;

switch (j) {case 11 :sumdays+=31break;case 0 :sumdays+=31break;case 1 :if (((((i%4)==0)&&((i%100)!=0))^(((i%4)==0)&&((i%100)==0)&&((i%400)==0)))&&(i!=0)){

dd=1;

}sumdays+=28+dd;

break;case 2 :sumdays+=31;break;case 3 :sumdays+=30;

Page 36: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 36

break;case 4 :sumdays+=31;break;case 5 :sumdays+=30;break;case 6 :sumdays+=31;break;case 7 :sumdays+=31;break;case 8 :sumdays+=30;break;case 9 :sumdays+=31;break;case 10 :sumdays+=30;break;default:break;}}sdays=sumdays+ndays;

pan2="";panb="";pan="";

pa=sdays%29.53;pa=Math.floor(pa)+1;

switch (pa) {case 7 :pan="νέα σελήνη";panb="αποχή 0°";break;case 14 :pan="α΄ τετ. σελήνης";

Page 37: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 37

panb="αποχή 90°";break;case 21 :pan="πανσέληνος";panb="αποχή 180°";break;case 29 :pan="β΄ τετ. σελήνης";panb="αποχή 270°";break;default:pan="μέρος σελήνης";break;}

panb3=0;d1=0;d2=0;d3=0;

if ((pa>14)&&(pa<21)) {

for (i=(sdays-8);i<=(sdays+8);i++) {if ((Math.floor(i%29.53)+1)==14) {d1=i;}if ((Math.floor(i%29.53)+1)==21) {d2=i;}}d3=d2-d1;panb3=90+((90/d3)*(sdays-d1));

}

if ((pa>21)&&(pa<29)) {

for (i=(sdays-8);i<=sdays+8;i++) {if ((Math.floor(i%29.53)+1)==21) {d1=i;}

Page 38: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 38

if ((Math.floor(i%29.53)+1)==29) {d2=i;}}d3=d2-d1;panb3=180+((90/d3)*(sdays-d1));

}

if ((pa>29)||(pa<7)) {

for (i=(sdays-8);i<=(sdays+8);i++) {if ((Math.floor(i%29.53)+1)==29) {d1=i;}

if ((Math.floor(i%29.53)+1)==7) {d2=i;}}d3=d2-d1;panb3=270+((90/d3)*(sdays-d1));}

if ((pa>7)&&(pa<=14)) {

for (i=(sdays-8);i<=(sdays+8);i++) {if ((Math.floor(i%29.53)+1)==7) {d1=i;}

if ((Math.floor(i%29.53)+1)==14) {d2=i;}}d3=d2-d1;panb3=((90/d3)*(sdays-d1));

}

Page 39: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 39

if (((pa>7)&&(pa<14))^((pa>14)&&(pa<21))^((pa>21)&&(pa<29))^((pa>29)||(pa<7))) {ch="";s6="";panb4=panb3-Math.floor(panb3);s4=""+panb4;if (panb4>=0) {panb5=Math.floor(panb3)+eval(s4.substring(0,5));

s5=""+panb5;lens5=s5.length;for (i=0;i<=lens5;i++) {ch=s5.substring(i,i+1);if (ch==".") {ch=",";};s6=s6+ch;

};panb="αποχή "+s6+"°";}}

if ((pa>7)&&(pa<=14)) {pan2="δρέπανο +";}if ((pa>29)||(pa<7)) {pan2="δρέπανο -";}if ((pa>14)&&(pa<21)){pan2="αμφίκυρτη αύξουσα";}if ((pa>21)&&(pa<29)) {pan2="αμφίκυρτη φθίνουσα";}

fday=ndays+1;

Page 40: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 40

j=fday%7;

switch(j) {case 1: // Sundayl=1;break;case 2:l=7;break;case 3:l=6;break;case 4: l=5;break;case 5:l=4;break;case 6:l=3;break;case 0:l=2;break;}

if ((j==2)&&(sdays%7==1)) {weeks=Math.floor((sumdays)/7);}

if ((j==2)&&(sdays%7!=1)) {weeks=Math.floor((sumdays)/7)+1;}

if ((j!=2)&&(sumdays<=l)) {weeks=1;}

if ((j!=2)&&(sumdays>l)&&(sdays%7!=1)) {weeks=Math.floor((sumdays-l)/7)+2}

Page 41: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 41

if ((j!=2)&&(sumdays>l)&&(sdays%7==1)) {weeks=Math.floor((sumdays-l)/7)+1}

// -->

Αν η τρέχουσα ημερομηνία είναι 13/06/09 (ρολόι του Η/Υ) η ιστοσελίδα θα περιέχει τις παρακάτω πληροφορίες:

Σχμ 11 :Παρουσίαση επεξεργασίας ημερολογιακών δεδομένων

Μπορείτε να προσθέσετε τον κώδικα Javascript σε οποιαδήποτε σελίδα θέλετε εσείς.

(Αν έχετε σε ηλεκτρονική μορφή τις σημειώσεις, μπορείτε να δημιουργήσετε τα αρχεία x_calendar.htm και x_calengr.js

Page 42: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 42

μεταφέροντας τον αντίστοιχο κώδικα στο σημειωματάριο των Windows και βέβαια σώζοντας τα αρχεία με το αντίστοιχο όνομα.)

Λέξεις που πρέπει να θυμάμαι:

Page 43: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 43

Βασικοί τύποι δεδομένων. Αφηρημένος τύπος δεδομένων. Δομές δεδομένων. Στατικές κ' δυναμικές δομές. Πίνακας. Εγγραφή. Σύνολο. Αρχείο. Λίστα. Δένδρα. Γράφημα-Δίκτυο.

ΚΕΦΑΛΑΙΟ 3

ΟΡΓΑΝΩΣΗ ΑΡΧΕΙΩΝ

Page 44: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 44

Εισαγωγή:

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

3.1 Αρχείο:

3..1.1 Ορισμός αρχείου:

Αρχείο (file) είναι ένα σύνολο δεδομένων που είναι αποθηκευμένα σε μια συσκευή βοηθητικής-δευτερεύουσας μνήμης (δισκέτα, σκληρός δίσκος, μαγνητική ταινία, οπτικός δίσκος κ.λ.π.)

(Τα αρχεία αποθηκεύονται αποκλειστικά στην δευτερεύουσα μνήμη για τους παρακάτω λόγους:

Το πλήθος των εγγραφών είναι πολύ μεγάλο, οπότε η κύρια μνήμη δεν επαρκεί.

Κάθε φορά μόνο ένα κομμάτι χρησιμοποιείται κατά την επεξεργασία του αρχείου, και τέλος

πολλά προγράμματα εφαρμογών μπορούν να προσπελάσουν ταυτόχρονά το ίδιο αρχείο.)

3.1.2 Εναλλακτικός ορισμός αρχείου:

Αρχείο θα μπορούσε να χαρακτηριστεί ένα σύνολο οργανωμένων ομοειδών στοιχείων, π.χ. ονόματα φυσικών προσώπων: ΝΙΚΟΣ, ΓΙΩΡΓΟΣ, ΑΝΝΑ, ΘΑΝΑΣΗΣ, ΠΑΝΤΕΛΗΣ, ΚΩΣΤΑΣ…

3.1.3 Ονοματολογία αρχείου:

Πολλές φορές από το όνομα του αρχείου παίρνουμε πληροφορίες για το είδος του, π.χ.: το όνομα ERGASIA.TXT δηλώνει ότι αυτό το αρχείο είναι αρχείο κειμένου που έχει σχέση με την εργασία που αναλάβαμε.

3.2.1 Ορισμός εγγραφής:

Εγγραφή (record) ενός αρχείου (file) είναι το σύνολο των πεδίων που ανήκουν στην ίδια λογική ενότητα π.χ.:

Page 45: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 45

ΑΜ ΟΝΟΜΑ ΕΠΩΝΥΜΟ ΤΗΛΕΦΩΝΟ

Η παραπάνω λογική ενότητα μπορεί να χαρακτηρίζει ένα φυσικό πρόσωπο π.χ.: έναν μαθητή σε ένα αρχείο δεδομένων.

3.2.2 Λογική εγγραφή:

Η δομή της συλλογής πληροφοριών που έχει σχεδιαστεί από τον προγραμματιστή για καταχώριση στοιχείων.

3.2.3 Ουσιαστική εγγραφής

Ο τρόπος με τον οποίο αποθηκεύονται τα δεδομένα στην δευτερεύουσα μνήμη, ο οποίος ακολουθείται από την γλώσσα προγραμματισμού που χρησιμοποιεί ο προγραμματιστής.

3.3 Ορισμός πεδίου:

Πεδίο (field) είναι ένα από τα επιμέρους στοιχεία-πληροφορίες (information) που συνθέτουν-αποτελούν την εγγραφή (record), όπως αυτή έχει καταχωρηθεί- αποθηκευτεί σε ένα αρχείο (file). π.χ.: Στο πιο πάνω παράδειγμα κάθε κομμάτι της εγγραφής: ΑΜ, ΟΝΟΜΑ, ΕΠΩΝΥΜΟ, ΤΗΛΕΦΩΝΟ είναι ένα πεδίο, δηλ:

1o πεδίο: ΑΜ

2ο πεδίο: ΟΝΟΜΑ

3ο πεδίο: ΕΠΩΝΥΜΟ

4ο πεδίο: ΤΗΛΕΦΩΝΟ

(Κάθε πεδίο μπορεί να πάρει τους τύπους των τιμών που γνωρίσαμε στις δομές δεδομένων.)

(Το πεδίο, καθώς γίνεται η επεξεργασία του από τον Η/Υ, δεσμεύει κάποιο χώρο στην κεντρική ή στην δευτερεύουσα μνήμη του υπολογιστή, χώρο που μετριέται σε bytes.)

Page 46: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 46

3.4 Είδη αρχείων :

Τα αρχεία διακρίνονται στα παρακάτω είδη: Σειριακά (sequential), όπου οι εγγραφές είναι αποθηκευμένες

διαδοχικά στην μνήμη και προσπελώνται κατά τον ίδιο τρόπο. Τυχαία (random) ή άμεσα (direct), όπoυ η διεύθυνση μιας

εγγραφής στην μνήμη προκύπτει με μετασχηματισμό του πρωτεύοντος κλειδιού (πεδίο που χαρακτηρίζει την εγγραφή). Υποπερίπτωση είναι τα σχετικά (relative) αρχεία, όπoυ η θέση κάθε εγγραφής προσδιορίζεται σχετικά με την πρώτη εγγραφή του αρχείου.

σειριακά με δείκτη (index sequential), που από άποψη χρόνου προσπέλασης είναι ένας συμβιβασμός μεταξύ σειριακού και τυχαίου αρχείου.

δενδρικά (tree sequential), που χρησιμοποιούνται κατά κόρο στα εμπορικά πακέτα.

ανάκτησης με βάση δευτερεύον κλειδί – πεδίο (secondary key retrieval), που συνήθως στηρίζονται στη δομή της συνδεδεμένης λίστας ή στις δομές δένδρων. Στην κατηγορία αυτή ανήκει και η δομή του δικτυωτού αρχείου, που συχνά αποτελεί μια αποτελεσματική λύση.

3.5 Τύποι αρχείων:

Κάθε συλλογή δεδομένων μιας εφαρμογής αποθηκεύεται σε κάποιον από τους πολλούς τύπους αρχείων. Τα αρχεία αυτά ταξινομούνται με βάση την λειτουργία τους. Οι κυριότεροι τύποι αρχείων παρουσιάζονται παρακάτω:

Το κύριο ή βασικό αρχείο (master file) περιέχει τα μόνιμα δεδομένα και πρέπει να είναι πάντα ενημερωμένο όσο αναφορά τις εισαγωγές, διαγραφές και ενημερώσεις των εγγραφών. Για παράδειγμα, το κύριο αρχείο σε μια εφαρμογή μισθοδοσίας μεταξύ των άλλων θα περιέχει τα εξής πεδία: ο κωδικός αριθμός υπαλλήλου, η οικογενειακή κατάσταση, επιδόματα, τωρινός μισθός, έσοδα από την αρχή της χρονιάς κ.λ.π.

Το αρχείο συναλλαγών ή κινήσεως (transaction file) περιέχει τις εγγραφές (ή τμήματα εγγραφών) του κυρίου αρχείου που έχουν εισαχθεί, διαγραφεί ή ενημερωθεί. Για παράδειγμα, ένα αρχείο συναλλαγών σε μια εφαρμογή μισθοδοσίας περιέχει τις ώρες εργασίας κάθε υπαλλήλου για μια περίοδο. Αυτές οι συναλλαγές στο τέλος της περιόδου εφαρμόζονται στο κύριο αρχείο με σκοπό

Page 47: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 47

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

Το βοηθητικό αρχείο ή αρχείο πίνακας (auxiliary, table file) περιέχει μια σειρά στατικών δεδομένων όπου συχνά αναφέρονται τα άλλα αρχεία. Για παράδειγμα, ένα τέτοιο αρχείο μπορεί να περιέχει εγγραφές με τους κωδικούς των προϊόντων, την περιγραφή τους και τις τιμές τους. Αυτό το αρχείο θα συνοδεύει ένα κύριο αρχείο αποθήκης, ένα κύριο αρχείο παραγγελιών και ένα αρχείο παραγωγής. Έτσι γίνεται οικονομία στον χώρο αποθήκευσης επειδή αποφεύγεται η επανάληψη περιττών δεδομένων.

Το αρχείο αναφορών (report file) περιέχει πληροφορίες που έχουν συλλεχθεί και προετοιμαστεί για τον χρήστη. Ένα τέτοιο αρχείο είτε εμφανίζεται στην οθόνη, είτε εκτυπώνεται.

Το αρχείο ελέγχων (control file) συνήθως είναι ένα μικρό αρχείο και περιέχει πληροφορίες σχετικές, για παράδειγμα, με τον αριθμό των εισαγωγών, διαγραφών και ενημερώσεων στο κύριο αρχείο, στο αρχείο συναλλαγών κ.λ.π. Ο αριθμός των εγγραφών στο νέο κύριο αρχείο προκύπτει από το άθροισμα του πλήθους των εγγραφών στο παλιό κύριο αρχείο και του πλήθους των εισαγωγών και διαγραφών στο αρχείο ελέγχων.

Το ιστορικό αρχείο (history file) αποτελείται από όλα τα προηγούμενα κύρια αρχεία, αρχεία συναλλαγών και αρχεία ελέγχων. Τα αρχεία αυτά συνήθως δεν αποθηκεύονται σε μαγνητικό δίσκο αλλά σε μαγνητική ταινία.

Το εφεδρικό αρχείο (bakup file) δεν είναι τίποτε άλλο παρά ένα αντίγραφο του κύριου αρχείου, που χρησιμοποιείται μόνο σε περίπτωση καταστροφής του κύριου αρχείου.

3.6 Διεργασίες εκμετάλλευσης ενός αρχείου.

Οι κυριότερες διεργασίες ή πράξεις επί των αρχείων είναι οι εξής Ερώτηση (query). Διατήρηση (maintenanace) Ταξινόμηση (sorting) Συγχώνευση (merging) Διαχωρισμός (separation)

3.6.1 Ερώτηση:

Είναι η αναζήτηση για εγγραφές που έχουν συγκεκριμένες τιμές σε κάποιο προσδιοριζόμενο πεδίο. Για παράδειγμα, σε ένα αρχείο μισθοδοσίας θα μπορούσαν να υποβληθούν οι εξής ερωτήσεις:

Page 48: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 48

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

3.6.2 Διατήρηση:

Είναι η ανανέωση του αρχείου λόγω εισαγωγών (inserts), διαγραφών (deletes) ή ανανεώσεων (updates) εγγραφών. Το πρόγραμμα διατήρησης του αρχείου εκτελεί σειριακά ή τυχαία τη διατήρηση ανάλογα με την οργάνωση του κύριου αρχείου.

3.6.3 Ταξινόμηση:

Η ταξινόμηση εξωτερικών αρχείων με βάση κάποιο πεδίο είναι σημαντικό πρόβλημα που συναντάται συχνά στην πράξη και είναι ιδιαίτερα χρονοβόρα διαδικασία είτε το αρχείο είναι αποθηκευμένο σε ταινία είτε στο δίσκο. Επειδή το σύνολο του αρχείου δε χωρά στην κύρια μνήμη, όσο μεγάλη και αν είναι αυτή, οι μέθοδοι ταξινόμησης αρχείων διαφοροποιούνται (π.χ. ταξινόμηση φυσαλίδας, εισαγωγής, με σωρό κ.λ.π.). Σε αντίθεση με τις μεθόδους ταξινόμησης δομών κύριας μνήμης το κριτήριο κόστους δεν είναι ο αριθμός των συγκρίσεων ή εναλλαγών των κλειδιών, αλλά ο αριθμός των προσπελάσεων στην δευτερεύουσα μνήμη.

(Κλειδί: πεδίο εγγραφής προσπέλαση : πρόσβαση στην δευτερεύουσα μνήμη)

3.6.4 Συγχώνευση:

Είναι μια διαδικασία που γίνεται συχνά σε εφαρμογές αρχείων, όπως για παράδειγμα όταν το αρχείο συναλλαγών συνδιάζεται με το κύριο αρχείο.

3.6.5 Διαχωρισμός:

Είναι διεργασία αντίθετη της συγχώνευσης. Είναι δηλ. ο επιμερισμός δηλ. των εγγραφών ενός αρχείου σε δύο ή περισσότερα σύμφωνα με κάποιο κριτήριο. Ως διαχωρισμός μπορεί να θεωρηθεί και ο

Page 49: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 49

περιορισμός των διπλοεγγραφών σε ένα αρχείο, πρόβλημα που προκύπτει κατά την διαδικασία της προβολής σς σχεσιακές βάσεις δεδομένων.

(Διπλοεγγραφές : δύο ή περισσότερες φορές αποθηκευμένη η ίδια εγγραφή στο αρχείο, έχουμε δηλ. τα ίδια στοιχεία περισσότερο από μία φορά.

σχεσιακές βάσεις δεδομένων : (RDB) θα συζητηθούν στην ενότητα των βάσεων δεδομένων (DB=ΒΔ))

3.7.1 Σειριακά αρχεία:

Τα σειριακά (sequential) αρχεία είναι ο παλαιότερος τρόπος οργάνωσης αρχείων. Αναπτύχθηκε γύρω στο 1950 σε συνδυασμό με την ύπαρξη των μαγνητικών ταινιών που αποτελούσαν τότε την κυρίαρχη συσκευή δευτερεύουσας αποθήκευσης. Ακόμη και σήμερα χρησιμοποιούνται στην πράξη σειριακά αρχεία, όχι όμως σε ταινίες αλλά σε μαγνητικούς δίσκους. Στα αρχεία αυτά η φυσική σειρά είναι ίδια με την λογική σειρά και διαβάζονται από την αρχή προς το τέλος. Η ν-οστή εγγραφή είναι αναγνώσιμη μόνο αφού προηγηθεί η ανάγνωση των (ν-1) προηγούμενων, στα σειριακά αρχεία. Οι εγγραφές σε ένα σειριακό αρχείο μπορεί να αποθηκεύονται είτε αταξινόμητες είτε ταξινομημένες κατά αύξουσα ή φθίνουσα τάξη του κλειδιού (πεδίο).

3.7.2 Λειτουργίες στα σειριακά αρχεία:

Προσπέλαση εγγραφής. Προσπέλαση επόμενης εγγραφής Εξαντλητική ανάγνωση αρχείου. Εισαγωγή εγγραφής Ανανέωση εγγραφής. Διαγραφή εγγραφής Αναδιοργάνωση αρχείων.

Οι παραπάνω λειτουργίες θα εξηγηθούν αναλυτικά παρακάτω.

3.7.3 Δομή αρχείου:

Κάθε αρχείο αρχίζει με την επικεφαλίδα που περιέχει κάποιες πληροφορίες, όπως αν το αρχείο είναι δεκαεξαδικό, κινητής υποδιαστολής ή ASCII, το μέγεθος του αρχείου, το μήκος και τον αριθμό

Page 50: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 50

των εγγραφών, την διεύθυνση της τελευταίας εγγραφής του αρχείου, αν υπάρχουν κατάλογοι και τι είδους, κ.λ.π.

(διεύθυνση: τοποθεσία στην μνήμη)

Όταν το αρχείο ανοίγεται τότε όλες οι πληροφορίες, από την δευτερεύουσα μνήμη (π.χ. δίσκος), έρχονται στην κύρια μνήμη και βοηθούν στον χειρισμό του αρχείου.

(κύρια μνήμη: πρωτεύουσα μνήμη (RAM))

Κατά το κλείσιμο του αρχείου οι νέες πληροφορίες επανεγγράφονται στον αντίστοιχο χώρο στον δίσκο.

3.7.4 Κατάλογος (index):

Ο κατάλογος είναι μια δομή που συνδέει τις τιμές ενός πεδίου (ή πεδίων) με την διεύθυνση των εγγραφών που περιέχουν τις τιμές.

3.7.5 Κατηγορίες σειριακών αρχείων:

Τα σειριακά αρχεία χωρίζονται σε δύο κατηγορίες: Μη ταξινομημένο σειριακό αρχείο ή αρχείο σωρού (pile file). Ταξινομημένο σειριακό αρχείο.

3.7.5.1 Μη ταξινομημένο σειριακά αρχεία:

Σε ένα τέτοιο αρχείο οι εγγραφές τοποθετούνται η μια μετά την άλλη ανάλογα με την σειρά αφίξεως.

3.7.5.1.1 Προσπέλαση εγγραφής:

Για την προσπέλαση μιας εγγραφής πρέπει η κατάλληλη σελίδα να μεταφερθεί από την δευτερεύουσα στην κύρια μνήμη.

(Σελίδα (page) : το μέρος της μνήμης / η μνήμη χωρίζεται σε ίσα και συνεχόμενα μέρη που ονομάζονται σελίδες)

3.7.5.1.2 Προσπέλαση επόμενης εγγραφής:

Page 51: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 51

Εφόσον οι εγγραφές είναι αταξινόμητες, η αναζήτηση της λογικά επόμενης εγγραφής, με βάση την τιμή κάποιού κλειδιού (πεδίου), δεν είναι παρά η αναζήτηση μιας τυχαίας εγγραφής. Αυτό συμβαίνει γιατί υπάρχει μικρή τοπικότητα.

(Τοπικότητα : πιθανότητα, δύο διαδοχικές λογικές εγγραφές να βρίσκονται σε γειτονικές περιοχές στον δίσκο)

3.7.5.1.3 Εξαντλητική ανάγνωση του αρχείου:

Είναι η ανάγνωση (διάβασμα) όλων των εγγραφών χωρίς απαραίτητα να είναι ταξινομημένες.

3.7.5.1.4 Εισαγωγή εγγραφής:

Αν υποτεθεί ότι δεν γίνεται έλεγχος για διπλοεγγραφές τότε κάθε εγγραφή προσαρτάται στο τέλος του αρχείου χωρίς άλλη επιπλέον ενέργεια.

3.7.5.1.5 Διαγραφή εγγραφής:

Όταν η κατάλληλη σελίδα έρθει στην κύρια μνήμη, τότε η εγγραφή μαρκάρεται και θεωρείται πλέον διαγραμμένη.

3.7.5.1.6 Ανανέωση εγγραφής:

Είναι η ενημέρωση της εγγραφής με τα νέα στοιχεία αν τα προηγούμενα έχουν αλλάξει. Αν το αρχείο έχει εγγραφές μεταβλητού μεγέθους, δηλ. πεδία με διαφορετικό μέγεθος, τότε η ανανέωση είναι ένας συνδυασμός δύο πράξεων: μιας διαγραφής και μιας εισαγωγής.

3.7.5.1.7 Αναδιοργάνωση αρχείου:

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

3.7.5.1.8 Συμπεράσματα για το αρχείο σωρού:

Page 52: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 52

Το αρχείο σωρού είναι: Οικονομικό από άποψη χώρου αν δεν έχουν γίνει στο μεταξύ

πολλές διαγραφές. Βολικό στο χειρισμό εισαγωγών. Αποτελεσματικό για εξαντλητική σάρωση. Αργό για αναζήτηση μιας εγγραφής. Αναποτελεσματικό στην εξαντλητική σάρωση του αρχείου για

ταξινόμηση.

3.7.5.2 Ταξινομημένα σειριακά αρχεία:

Σε ένα τέτοιο αρχείο οι εγγραφές είναι διατεταγμένες σύμφωνα με τις τιμές ενός πεδίου ή συνδυασμού κάποιων πεδίων.

Παράδειγμα:

Αν θεωρήσουμε ένα αρχείο με διευθύνσεις, τότε η ταξινόμηση μπορεί να γίνει σύμφωνα με τον ταχυδρομικό κώδικα, ενώ αν υποθέσουμε ένα αρχείο πελατών, η ταξινόμηση μπορεί να γίνει σύμφωνα με το ονοματεπώνυμο, κατά αύξουσα ή φθίνουσα σειρά

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

3.7.5.2.1 Προσπέλαση εγγραφής:

Γίνεται πρώτα αναζήτηση χρησιμοποιώντας κάποιον αλγόριθμο αναζήτησης π.χ.: δυαδική αναζήτηση (binary search) και κατόπιν γίνεται η απόκτηση στοιχείων της εγγραφής.

(Αλγόριθμος : ακολουθία συγκεκριμένων βημάτων)

3.7.5.2.2 Προσπέλαση επόμενης εγγραφής:

Η ενέργεια είναι ίδια με αυτήν που περιγράφηκε στο αρχείο σωρού, διαφέρει όμως η διαδικασία.

Page 53: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 53

3.7.5.2.3 Διαγραφή ή αναζήτηση εγγραφής:

3.7.5.2.4 Εισαγωγή εγγραφής:

3.7.5.2.5 Εξαντλητική ανάγνωση αρχείου:

3.7.5.2.6Αναδιοργάνωση αρχείου:

Χρησιμοποιούμε την μέθοδο της διπλής απομονωτικής μνήμης, αν υπάρχουν διαθέσιμες δύο συσκευές δίσκων, οπότε οι διεργασίες (μερικές από αυτές) μπορούν να εκτελεστούν παράλληλα.

3.7.5.2.7 Συμπεράσματα για τα ταξινομημένα αρχεία:

Τα ταξινομημένα αρχεία είναι: Χρήσιμα για σχετικά μικρά αρχεία και για στατικά δεδομένα

όπου δεν μπορούν να υπάρξουν πολλές εισαγωγές στην περιοχή υπερχείλισης.

Γρήγορα στην ανάκτηση μιας εγγραφής αν χρησιμοποιηθεί η μέθοδος της δυαδικής αναζήτησης.

Γρήγορα στην ανάκτηση της επόμενης εγγραφής από την τρέχουσα, όπως επίσης και στην εισαγωγή μιας νέας εγγραφής.

(περιοχή υπερχείλισης : νέο αρχείο που περιλαμβάνει μόνο τις εισαγωγές)

3.7.5.3 Σύγκριση αρχείου σωρού με ταξινομημένο αρχείο:

Με το αρχείο σωρού υπάρχει κέρδος σε στατιστικές εφαρμογές αλλά υπάρχουν σημαντικά πλεονεκτήματα με το ταξινομημένο αρχείο στην εύρεση της τομής δύο αρχείων ή στον περιορισμό των διπλοεγγραφών. Όταν η ανάκτηση μεμονωμένων εγγραφών είναι πολύ συχνή, τότε το ταξινομημένο αρχείο δεν ενδείκνυται.

(τομή : κοινό μέρος δύο πραγμάτων)

Page 54: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 54

3.7.5.4 Σειριακά αρχεία με δείκτη:

Τα σειριακά αρχεία είτε ταξινομημένα είτε αταξινόμητα, δεν προσφέρονται για την αποτελεσματική αναζήτηση μιας συγκεκριμένης εγγραφής.

(Αναζήτηση : διαδικασία εύρεσης)

Η οργάνωση των σειριακών αρχείων με δείκτη (index sequential files) είναι παρόμοια προς τα ταξινομημένα σειριακά αρχεία επειδή τα δεδομένα αποθηκεύονται κατά τον ίδιο τρόπο στον δίσκο, δηλ. σειριακά και ταξινομημένα ως προς το πρωτεύων κλειδί.

(Πρωτεύων κλειδί : πεδίο της εγγραφής που χαρακτηρίζει ολόκληρη την εγγραφή και την διακρίνει από τις άλλες)

Συνεπώς, αν κατά την επεξεργασία της νέας αυτής δομής ζητηθεί η ανάκτηση όλων των εγγραφών δεν αλλάζει τίποτα ως προς την αντίστοιχή επεξεργασία των σειριακών αρχείων. Ωστόσο η δομή αυτή συνοδεύεται και από έναν κατάλογο ή δείκτη (index), που αποτελεί ένα μικρότερο αρχείο με σκοπό την υποστήριξη ταχύτερης αναζήτησης μιας συγκεκριμένης εγγραφής.

Στο σημείο αυτό κρίνεται απαραίτητη η επεξήγηση για την αποφυγή παρεξήγησης. Στην Αγγλική ορολογία υπάρχει ο όρος pointer που εύλογα μεταφράζεται ως δείκτης, αλλά υπάρχεί και ο όρος index που μεταφράζεται ως κατάλογος ή ως δείκτης κατά περίπτωση. Έτσι είναι πολύ εύκολο να υπάρξει σύγχυση. Στο εξής λοιπόν, ο όρος index θα μεταφράζεται ως κατάλογος, αλλά τα αντίστοιχα αρχεία θα ονομάζονται σειριακά με δείκτη γιατί αυτός ο όρος έχει επικρατήσει στην Ελληνική βιβλιογραφία καθώς επίσης και ο όρος σειριακά δεικτοδοτημένα αρχεία.

Στην αγορά εδώ και πολλά χρόνια κυκλοφορούν εμπορικά πακέτα που υλοποιούν αυτήν την οργάνωση. Η ανάπτυξη νέων κομψότερων μεθόδων έχει μειώσει τη ζήτηση των πακέτων αυτών. Πάντως είναι γεγονός ότι ακόμη και σήμερα χρησιμοποιούνται αρκετά πλατιά. Τα κυριότερα πακέτα είναι τα αρχεία ISAM (Index Sequential Access Method) και τα αρχεία VSAM (Virtual Storage Access Method) και τα αρχεία SIS (Scope Indexed Sequential). Τα δύο πρώτα παρουσιάστηκαν με το σύστημα 370 της IBM, ενώ το τρίτο χρησιμοποιείται σε μεγάλα συστήματα υπολογιστών της CDC. Τα αρχεία ISAM χρησιμοποιούν την μέθοδο των καταλόγων κυλίνδρων και επιφανειών, ενώ τα αρχεία VSAM και SIS την μέθοδο των σελίδων καταλόγων και δεδομένων.

Page 55: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 55

3.7.5.4.1 Αρχεία και μέθοδοι που ακολουθούνται:

αρχεία ISAM μέθοδος καταλόγων κυλίνδρων και επιφανειών αρχεία VSAM μέθοδος σελίδων καταλόγων και δεδομένων αρχεία SIS μέθοδος σελίδων καταλόγων και δεδομένων

3.7.5.4.2 Διεργασίες επεξεργασίας σειριακών με δείκτη αρχείων:

Προσπέλαση εγγραφής. Προσπέλαση επόμενης εγγραφής. Εισαγωγή εγγραφής. Ανανέωση εγγραφής. Διαγραφή εγγραφής. Εξαντλητική ανάγνωση αρχείου. Αναδιοργάνωση αρχείου.

3.7.5.4.3 Δημιουργία ISAM αρχείου:

Κατά την δημιουργία ενός αρχείου ISAM οι εγγραφές, αφού πρώτα ταξινομηθούν κατά αύξουσα (ή φθίνουσα) τάξη μεγέθους του κλειδιού τους, αποθηκεύονται σειριακά στις διαδοχικές ατράκτους ενός κυλίνδρου αφήνοντας συνήθως κενές την πρώτη και μερικές από τις τελευταίες ατράκτους. Ο πρώτος και μερικοί από τους τελευταίους κυλίνδρους αφήνονται κενοί. Όταν ο δεύτερος κύλινδρος γεμίσει, τότε η φόρτωση συνεχίζεται στους επόμενους. Ο χώρος που μέχρι στιγμής έχει καταληφθεί ονομάζεται κύρια περιοχή δεδομένων (prime data area). Όταν οι εγγραφές έχουν φορτωθεί στους κυλίνδρους τότε το σύστημα δημιουργεί τον κατάλογο που είναι μια στατική δενδρική δομή που συνήθως αποτελείται από τρία επίπεδα όπως στο σχήμα:

Σχμ 12 : Παρουσίαση καταλόγου αρχείου ISAM.3.7.5.4.4 Δημιουργία αρχείου VSAM της IBM και SIS της CDC:

κατάλογος

κύριος κατάλογος (main index)(δημιουργείται αν είναι ογκώδης ο κατάλογος κυλίνδρων)κατάλογος κυλίνδρων (cylinder index)(αποτελείται από τον αριθμό των κυλίνδρων του αρχείου)κατάλογος ατράκτων (track index)(αποτελείται από τις ατράκτους)

Page 56: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 56

Η οργάνωση αυτή δεν στηρίζεται στα φυσικά χαρακτηριστικά του δίσκου, σε αντίθεση με την οργάνωση ISAM. Απαρτίζεται από τις παρακάτω τέσσερις περιοχές:

Διαστήματα ελέγχου (control intervals), που περιέχουν τις εγγραφές με τα δεδομένα

Περιοχές ελέγχου (control areas), που περιέχουν πολλά διαστήματα ελέγχου.

Ακολουθιακές ομάδες (sequence sets), που είναι οι κατάλογοι για κάθε μια περιοχή ελέγχου, και

Ομάδα καταλόγου (index set), που είναι μια δενδρική δομή με το πολύ τρία επίπεδα. Οι σελίδες του κατωτέρου επιπέδου δεικτοδοτούν προς το επίπεδο των ακολουθιακών ομάδων.

Σχμ 12: Δομή αρχείου VSAM.

3.7.5.4.5 Σύγκριση αρχείων VSAM και ISAM:

Τα αρχεία VSAM είναι πιο αποτελεσματικά από τα ISAM.

3.7.5.5 Στατικά τυχαία αρχεία:

Τα τυχαία ή άμεσα (random, direct) αρχεία είναι μια πολύ σπουδαία κατηγορία αρχείων. Αν τα αρχεία αυτά είναι σωστά σχεδιασμένα τότε αποτελούν την ιδανική οργάνωση για on-line εφαρμογές, γιατί εντοπίζουν την ζητούμενη εγγραφή με πολύ λίγες προσπελάσεις στον δίσκο (ίσως και μόνο μία). Το βασικό μειονέκτημα

Ομάδα καταλόγων

Ακολουθιακή Ομάδα

Ακολουθιακή Ομάδα

Διάσ

τημα

Ε

λέγχ

ου

Διάσ

τημα

Ε

λέγχ

ου

Διάσ

τημα

Ε

λέγχ

ου

Διάσ

τημα

Ε

λέγχ

ου

Διάσ

τημα

Ε

λέγχ

ου

Διάσ

τημα

Ε

λέγχ

ου

Page 57: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 57

της μεθόδου αυτής είναι ότι δεν προσφέρεται για σειριακή ανάκτηση όλων των εγγραφών διατεταγμένων κατά οποιοδήποτε κλειδί. Η μέθοδος στηρίζεται στην εύρεση της απόλυτης διεύθυνσης της εγγραφής στο αρχείο από την τιμή του κλειδιού της εφαρμόζοντας μια απλή αντιστοιχία ή κάποιο μετασχηματισμό.

(μετασχηματισμός : μετατροπή)

Η απόλυτη διεύθυνση εξαρτάται από το υλικό. Ωστόσο η μέθοδος είναι δυνατό να εφαρμοστεί κατά τρόπο που να μην εξαρτάται από το υλικό (δίσκο).

3.7.5.6 Το μέλλον.

Τα αρχεία ISAM αντικαταστάθηκαν από σχεσιακές Βάσεις Δεδομένων (R-DB) με το σύστημα Jet database Engine και από το Ms Office 2007 ειδικά για την Access από την Access Database Engine.

Λέξεις που πρέπει να θυμάμαι:

Αρχείο Εγγραφή Πεδίο Λογική και ουσιαστική εγγραφή Είδη αρχείων (σειριακά, τυχαία, σειριακά με δείκτη, δενδρικά,

ανάκτησης με βάση το δευτερεύον κλειδί,…) Τύποι αρχείων (κύριο, συναλλαγών, βοηθητικό, αναφορών,

ελέγχων, ιστορικό, εφεδρικό,…) Διεργασίες εκμετάλλευσης αρχείων (Ερώτηση, Διατήρηση,

Ταξινόμηση, Συγχώνευση, Διαχωρισμός,…)

Page 58: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 58

ISAM, VSAM και SIS

ΠΑΡΑΡΤΗΜΑ

Π.1 Η έννοια της επεξεργασίας με ένα παράδειγμα:

Παράδειγμα:

Από το σύνολο των "μεζέδων" μιας ποικιλίας σε ένα εστιατόριο, διαλέγω κάποιους από αυτούς που έχουν λίγα λιπαρά για να κατευνάσω την όρεξη μου, όπως στο σχήμα:

Page 59: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 59

Σχμ: Ποικιλία με "μεζεδάκια"

Αν οι μεζέδες είναι οι: Α, Β, Γ, Δ, Ε, Ζ, Η, Θ και αυτοί που έχουν λίγα λιπαρά είναι οι : Α, Γ, Ε, Θ, διαλέγω τους Α, Ε, Θ και καταναλώνω τους Α, Ε.

Άρα:

1ο στάδιο επεξεργασίας:

Α, Β, Γ, Δ, Ε, Ζ, Η, Θ Α, Γ, Ε, Θ

2ο στάδιο επεξεργασίας:

Α, Γ, Ε, Θ Α, Ε, Θ

3ο στάδιο επεξεργασίας:

Α, Ε, Θ Α, Ε

Δηλαδή:Επεξεργασία είναι η διαδικασία που κατεργάζομαι σύμφωνα με τις

διαθέσεις μου την πρώτη ύλη, σε διάφορα στάδια, προκειμένου να επιτύχω κάποιον σκοπό.

Στο παραπάνω παράδειγμα:πρώτη ύλη: "μεζέδες",στάδια: 1ο, 2ο, 3ο στάδιο επεξεργασίας,

Page 60: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 60

σκοπός: κατεύναση της όρεξης μου

Π.2 Παραδείγματα επεξεργασίας πληροφοριών:

Π.2.1 Παράδειγμα 1 (εφορία):

Ονοματεπώνυμα κατοίκων Ελλάδας.

Ονοματεπώνυμα κατοίκων Ελλάδας με ηλικία >18.

Ονοματεπώνυμα εργαζομένων κατοίκων.

Ονοματεπώνυμα εργαζομένων με εισόδημα > αφορολόγητου.

Αποστολή εκαθαριστικού.

Η παραπάνω μορφή επεξεργασίας είναι γραμμική και πραγματοποιείται στα μηχανογραφικά κέντρα των εφοριών του Υπουργείου Οικονομικών

Ο αριθμός των σταδίων παίζει σημαντικό ρόλο για τα προς επεξεργασία υποσύνολα της πληροφορίας: π.χ. μπορούν να υποστούν επεξεργασία διαφορετική όπως στο παράδειγμα 2 που ακολουθεί.

(Υποσύνολο πληροφορίας: μικρότερο κομμάτι της αρχικής πληροφορίας)

Π.2.2 Παράδειγμα 2 (εφορία-διαφορετική επεξεργασία υποσυνόλων πληροφορίας):

Το σύστημα που περιγράφεται ακολουθεί ιεραρχική-δενδρική δομή κατά την επεξεργασία της πληροφορίας.

Page 61: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 61

Ονοματεπώνυμα κατοίκων Ελλάδας

Ονοματεπώνυμα κατοίκων Ελλάδας με ηλικία >18

Ονοματεπώνυμα αυτών που απασχολούνται

Ονοματεπώνυμα ανδρών Π(Γ), γυναικών Π(Δ)

Αποστολή εκκαθαριστικού στους άνδρες Α(Α), γυναίκες Α(Β)

Πολύπλοκα συστήματα επεξεργασίας δεδομένων-πληροφοριών ακολουθούν συνθετότερες δομές από αυτήν που παρουσιάζεται στο παράδειγμα 2.

Π.3 Ποιες διαδικασίες γίνονται στον Η/Υ κατά την επεξεργασία των δεδομένων-πληροφοριών;

Στο παρακάτω σχήμα βρίσκεται η απάντηση στο ερώτημα:

Page 62: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 62

(1) ανάκληση

(2) προς επεξεργασία

(3) αποτέλεσμα επεξεργασίας

(4) αποθήκευση

ν-στάδιο επεξεργασίας

Παράδειγμα: (Ταιριάζει με το παράδειγμα 1)

Περισσότερα στάδια επεξεργασίας:

(1) (2) (3) (2) (3) (2) (3) (4)

ανάκληση 1ο στάδιο 2ο στάδιο 3ο στάδιο αποθήκευση ή σχηματικά η επεξεργασία των πληροφοριών μπορεί να γίνει με το σχήμα που συναντήσαμε στις σημειώσεις:

Page 63: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 63

ανάκληση

1ο στάδιο επεξεργασίας

2ο στάδιο επεξεργασίας

3ο στάδιο επεξεργασίας

αποθήκευση

Αν πρόκειται για ένα κύκλο επεξεργασίας δηλ. μόνο ένα στάδιο τότε έχουμε την εξής ροή:

(1) (2) (3) (4) ανάκληση 1 στάδιο αποθήκευση

Υποτιθέμενο σενάριο 1.:

Αν πρόκειται για έναν υποτιθέμενο κύκλο επεξεργασίας με ενδιάμεση ανάκληση και μερική αποθήκευση, τότε πιθανόν να έχουμε την εξής ροή:

μερική αποθήκευση (4) (1) ενδιάμεση ανάκληση

(1) (2) (3) (2) (3) (2) (3) (4)

ανάκληση 1ο στάδιο 2ο στάδιο 3ο στάδιο αποθήκευση

Υποτιθέμενο σενάριο2.:

Page 64: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 64

Αν πρόκειται για υποτιθέμενες συνδυασμένες κατευθύνσεις επεξεργασίας με ενδιάμεσες ανακλήσεις και μερικές αποθηκεύσεις, τότε πιθανόν να έχουμε την εξής αναπαράσταση επεξεργασίας:

μερική (4) (1) ενδιάμεση ανάκληση (2,1) αποθήκευση (1,3) (2,1) στ.

μερική (3) (2) (3) (4) μερική αποθήκευση (2,1) αποθήκευση (1,2) (1,1,5) (2,2) στ. (4) (3) (2) στ. (3)(1,1,4) στ. μερική αποθήκευση (1/2,1)(1) (2) (3) (2) (3) (2) (3) (4) ανάκληση (1,1) (1,1,1) στάδιο (1,1,2) στάδιο (1,1,3) στάδιο

Π.4 Η έννοια της χωρητικότητας με ένα παράδειγμα:

Σε ένα ποτήρι, τοποθετημένο σε οριζόντια επιφάνεια, μπορώ να τοποθετήσω μέγιστη ποσότητα νερού όσο το ύψος του για να κατευνάσω την δίψα μου, διαφορετικά μπορώ να το τροφοδοτήσω με λιγότερη ποσότητα, όπως στο σχήμα:

Σχμ: Ποτήρι με "νερό"

Αν τοποθετήσω περισσότερη ποσότητα νερού απ’ την μέγιστη, αυτή θα χαθεί υπερχειλίζοντας την πάνω ανοικτή πλευρά του ποτηριού.

Page 65: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 65

Χωρητικότητα, ενός οποιουδήποτε αποθηκευτικού μέσου (είτε του φυσικού κόσμου, είτε του ψηφιακού-Η/Υ), είναι η μέγιστη ποσότητα που μπορεί να χωρέσει.

Π.5 Η κατανομή 2 διεργασιών σε δεδομένο αποθηκευτικό χώρο με ένα παράδειγμα:

Σε ένα ποτήρι, τοποθετημένο σε οριζόντια επιφάνεια, με δεδομένη χωρητικότητα, μπορώ να τοποθετήσω μία ποσότητα νερού και μία ποσότητα λαδιού, αρκεί να μην ξεχειλίζει, όπως στο σχήμα:

Σχμ: Ποτήρι με Λάδι κ΄ νερό.

Λόγω διαφορετικών πυκνοτήτων, τα δύο υγρά θα μείνουν σε διαφορετικά στρώματα στο ίδιο αποθηκευτικό μέσο συγκεκριμένης χωρητικότητας.

Το ίδιο πράγμα γίνεται και σε 2 διεργασίες που αποθηκεύονται στην μνήμη ενός υπολογιστή. (ιδανικό σενάριο αλλά και πραγματικό…).

Π.6 Η ηλεκτρονική μνήμη (memory) με ένα παράδειγμα:

Το ολοκληρωμένο κύκλωμα (chip) μνήμης αποτελείται εξωτερικά είναι μια οθογώνια κατασκευή από πυρίτιο που τροφοδοτείται με δεδομένα από τα συρματάκια/ακροδέκτες, από ευγενή μέταλλα, με την μορφή ρεύματος. Εσωτερικά μοιάζει με πίνακα στοιχείων. Στο συγκεκριμένο παράδειγμα αποτελείται από 11Χ6=66 στοιχεία αποθήκευσης. Κάθε στοιχείο μπορεί να αποθηκεύσει 1 bit (διφύο) δεδομένων/πληροφορίας και λέγεται flip flop. Κάθε flip flop αποτελείται από (μίκρο/νάνο)

Page 66: Τα δεδομένα - sch.grusers.sch.gr/nikpanous/data/iek.doc · Web viewΣχμ 1 : Παρουσίαση επεξεργασίας δεδομένων. (α) Γραμμική (β)

Τα δεδομένα και ο Η/Υ σελ. 66

ηλεκτρονικά στοιχεία και μπορεί να είναι σε δύο καταστάσεις. Αν με πράσινο χρώμα παραστήσω τα αποθηκευμένα bit και με κίτρινο τα ελεύθερα, τότε έχω αποθηκεύσει 23 bit και συνεπώς μένουν ελέυθερα 43 bit. Η χωρητικότητα του ολοκληρωμένου του παραδείγματος είναι 66 bit όσα και τα αρχικά ελέυθερα κουτάκια. Δεν μπορώ να αποθηκεύσω παραπάνω απο 66 bit. Στην συγκεκριμένη περίπτωση λέμε ότι υπερχειλίζει και χάνεται αριθμός ίσος με την διαφορά των bits που θέλω να αποθηκεύσω και των bits που αντιστοιχούν στην χωρητικότητα του chip. Γι' αυτόν τον λόγο χρησιμοποιώ και άλλα chip. Μάλιστα ο Η/Υ με προειδοποιεί για μια τέτοια κατάσταση, απελευθερώνοντας στοιχεία αποθήκευσης που δεν χρειάζονται άλλο.

Σχμ: Το “chip” μνήμης.

Σημ: bit: διφύο ή μονάδα πληροφορίας με δυνατές δύο καταστάσεις 0,1 ή δεν διαρέεται από ρεύμαΣημ: Η χωρητικότητα, 66, της ηλεκτρονικής μνήμης, είναι υποθετική. Σημ: Η παραπάνω δομή του πίνακα στοιχείων ισχύει και στους επεξεργαστές (processors), μόνο που εδώ δεν έχω flip flop αλλά στοιχειώδεις (μίκρο/νάνο) επεξεργαστές που έχουν προ-προγραμματιστεί (π.χ. τεχνολογίας VLSI FPGA).