Εφαρμογές Βάσεων Δεδομένων ΚΕΦΑΛΑΙΟ 1

Σχετικά έγγραφα
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΔΙΑΧΕΙΡΙΣΗ ΑΠΟΘΗΚΗΣ

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

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

Πληροφορική 2. Βάσεις Δεδομένων (Databases)

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων

Διαχείριση Δεδομένων

Κεφάλαιο 4: Λογισμικό Συστήματος

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Για ποιους λόγους είναι απαραίτητη η μηχανογράφηση; Λόγω του όγκου της λογιστικής εργασίας. Των απαιτήσεων της φορολογικής νομοθεσίας

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις

Συστήματα Πληροφοριών Διοίκησης

Βάσεις δεδομένων και Microsoft Access

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

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

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

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

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

Ηλεκτρονικό Κατάστημα

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Δεδομένα και Πληροφορίες

Τ.Ε.Ι. ΚΡΗΤΗΣ, Σ.Δ.Ο., Τμήμα Λογιστικής. ERP Systems

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

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

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2

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

Λιβανός Γιώργος Εξάμηνο 2017Β

Γεωγραφικά Συστήµατα Πληροφοριών και Αρχές Τηλεπισκόπησης

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

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

Πληροφοριακού Συστήματος Ενημέρωσης Καιρικών Συνθηκών

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 1: Ορισμοί βασικών εννοιών: Μια πρώτη μοντελοποίηση. Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής

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

Τίτλος Ειδικού Θεματικού Προγράμματος: «Διοίκηση, Οργάνωση και Πληροφορική για Μικρομεσαίες Επιχειρήσεις»

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Α. Ερωτήσεις Ανάπτυξης

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Linux Terminal Server Project

ΠΡΟΣΟΧΗ Η έκδοση 5.40 δεν απαιτεί Convert μετά την εγκατάσταση.

Έννοιες Διαχείρισης Βάσεων Δεδομένων και Αρχιτεκτονική

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

Ζητείται: Ζητείται: Άσκηση 7

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Πληροφορική 2. Γλώσσες Προγραμματισμού

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ. Πρόγραμμα Διαχείρισης Α.Π.Δ.

Παρουσίαση Συστήματος Ωρομέτρησης

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο

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

Εγκατάσταση της έκδοσης 5.30

Ωρομέτρηση. Ωρομέτρηση - 'Αδειες / Απουσίες (Time & Attendance Absences / Leaves).

Λίγα λόγια από το συγγραφέα Βάσεις δεδομένων και Microsoft Access Microsoft Access... 22

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

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

ΛΟΓΙΣΜΙΚΟ (software)

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

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

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΙΣΑΓΩΓΗ

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

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων

Information Technology for Business

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

Παρουσίαση της λύσης Dnet Mobile Terminal

Σχεδιασμός Επεξεργασίας και Τηλεπεξεργασίας

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

ΠΛΗ10 Κεφάλαιο 2. ΠΛΗ10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή

Δομή Ηλεκτρονικού υπολογιστή

Επιµέλεια Θοδωρής Πιερράτος

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

ΑΕΠΠ Ερωτήσεις θεωρίας

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

Information Technology for Business

Academia Financials Γενική Λογιστική ΠΕΡΙΕΧΟΜΕΝΑ

ΣΗΜΕΙΩΣΕΙΣ ΓΡΑΦΙΣΤΙΚΗ ΜΕ Η/Υ 1. Του Αποστόλου Παπαποστόλου Επίκουρου Καθηγητή του ΤΕΙ Αθήνας

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

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

CASE STUDY. Το Έργο της Εγκατάστασης του ΟΠΣ. «Διαχείριση Παραγωγής & Διαχείριση. Διανομής Εκπαιδευτικών Βιβλίων, στον ΟΕΔΒ :

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

Αυτοματοποιημένη χαρτογραφία

Transcript:

ΚΕΦΑΛΑΙΟ 1 Συστήματα Αρχείων και Βάσεις Δεδομένων Η σημασία των Μηχανογραφημένων Εφαρμογών είναι καίρια για τη λειτουργία επιχειρήσεων και οργανισμών. Όλες σχεδόν οι λειτουργίες ενός οργανισμού η μιας επιχείρησης καθημερινές ή περιοδικές υλοποιούνται με χρήση Η/Υ όπου εκτελείται (τρέχει) ένα σύστημα Μηχανογραφημένων Εφαρμογών. Παραδείγματα Οι συναλλαγές σε μια Τράπεζα γίνονται αποκλειστικά με τη βοήθεια μηχανογραφημένων εφαρμογών π.χ καταθέσεις, αναλήψεις, ενημέρωση λογαριασμών, μεταφορές χρημάτων, πληρωμές δανείων, υπολογισμός τόκων κ.λ.π Οι εργασίες σε μια βιομηχανική επιχείρηση βασίζονται στη χρήση Η/Υ π.χ προγραμματισμός παραγωγής, εφοδιασμός γραμμής παραγωγής, διαχείριση αποθήκης παραγγελίες πρώτων Υλών, μισθοδοσία προσωπικού, λογιστικές καταχωρήσεις Η διοίκηση μιας Βιβλιοθήκης π.χ. εισαγωγή βιβλίων, δημιουργία καταλόγων βιβλίων, Ανεύρεση βιβλίου, Δανεισμός και επιστροφή βιβλίων, παραγγελίες βιβλίων Η διαχείριση σπουδαστικών θεμάτων σ ένα εκπαιδευτικό ίδρυμα, π.χ καταχώρηση σπουδαστών, ανεύρεση στοιχείων σπουδαστού, δηλώσεις μαθημάτων, κατάλογοι παρακολούθησης και βαθμολόγια μαθημάτων, καταχώρηση βαθμολογίας σπουδαστού, αναλυτική και συγκεντρωτική βαθμολογία σπουδαστού, υπολογισμός πτυχίου, αποφοίτηση-μεταγραφή-διαγραφή σπουδαστού Διοίκηση μιας αεροπορικής Εταιρείας π.χ. Τεχνική συντήρηση αεροπλάνων, προγραματισμός πτήσεων, πρόγραμμα πτήσεων προσωπικού, κράτηση θέσεων, κοστολόγηση λειτουργίας Διοίκηση νοσηλευτικών ιδρυμάτων Λειτουργία εφοριών Διενέργεια εκλογών Διοίκηση δήμων και δημοτικών επιχειρήσεων Διοίκηση και διαχείριση εταιριών τηλεπικοινωνιών Σελίδα -1

Σύστημα Διαχείρισης Βιομηχανικής Επιχείρησης 1 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΩΝ ΣΧΕΔΙΑΣΜΟΣ ΕΡΓΟΥ ΧΡΟΝΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΑΘΕΣΗ ΠΟΡΩΝ 2 ΤΕΧΝΙΚΗ ΤΕΚΜΗΡΙΩΣΗ ΔΗΜΙΟΥΡΓΙΑ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΚΑΤΑΣΤΑΣΗΣ ΣΥΣΤΑΤΙΚΩΝ ΜΕΡΩΝ 3 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΙΑΣ ΗΜΕΡΟΛΟΓΙΟ ΕΡΓΑΣΙΩΝ ΗΜΕΡΟΛΟΓΙΟ ΚΑΤΑ ΕΡΓΟ 4 ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ 5 ΔΙΑΧΕΙΡΙΣΗ ΥΛΙΚΩΝ ΤΡΟΦΟΔΟΣΙΑ ΓΡΑΜΜΗΣ ΔΙΑΧΕΙΡΙΣΗ ΑΠΟΘΗΚΗΣ ΠΑΡΑΓΩΓΗΣ ΠΡΟΜΗΘΕΙΑ ΥΛΙΚΩΝ ΕΝΤΥΠΑ ΤΡΟΦΟΔΟΣΙΑΣ 6 ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΠΑΡΑΓΩΓΗΣ 7 ΛΟΓΙΣΤΗΡΙΟ ΚΟΣΤΟΛΟΓΗΣΗ Σελίδα -2

Συστήματα Αρχείων Η μετατροπή της χειρόγραφης διαχείρισης σε μηχανογραφημένη άρχισε με συστηματικό τρόπο στη δεκαετία του 60. Βασικό γεγονός που επέτρεψε αυτή την εξέλιξη υπήρξε η ανακάλυψη του σκληρού δίσκου, ενός αποθηκευτικού μέσου μεγάλης ταχύτητας και χωρητικότητας και η ανάπτυξη λειτουργικών Συστημάτων πολλών χρηστών (Multiuser Operating Systems) Η υλοποίηση των μηχανογραφημένων εφαρμογών άρχισε να γίνεται με τη χρήση συστημάτων αρχείων ( files Systems) Κεντρικό στοιχείο αυτών των συστημάτων είναι η ανάπτυξη μεγάλου αριθμού προγραμμάτων γραμμένων σε γλώσσες προγραμματισμού 3ης γενιάς (διαδικαστικές γλώσσες) π.χ BASIC, COBOL, PASCAL. Τα προγράμματα αυτά διαχειρίζονται τα δεδομένα του οργανισμού Χαρακτηριστικά στοιχεία των συστημάτων αρχείων ( files Systems) είναι τα ακόλουθα: 1. Βασική σημασία δίνεται στα προγράμματα και όχι στα δεδομένα 2. Τα προγράμματα περιέχουν και λεπτομερή περιγραφή ορισμό των δεδομένων 3. Κάθε τμήμα μιας επιχείρησης αναπτύσσει ένα σύνολο από δικές του μηχανογραφημένες εφαρμογές που δεν επικοινωνούν άμεσα με τις εφαρμογές των άλλων τμημάτων της επιχείρησης 4. Κατά την ανάπτυξη των εφαρμογών πρέπει να λαμβάνεται υπ όψιν και η φυσική οργάνωση του αρχείου (δηλ. π.χ αρχείο κατακερματισμού, απλό σειριακό, δεικτοδοτημένο αρχείο κ.τ.λ.) 5. Είναι αναγκαίος ένας σημαντικός αριθμός εξειδικευμένων προγραμματιστών στο τμήμα επεξεργασίας δεδομένων οι οποίοι ασχολούνται με την συντήρηση της εφαρμογής και την ανάπτυξη νέων προγραμμάτων Τα συστήματα αρχείων υπήρξαν ο μοναδικός τρόπος υλοποίησης μηχανογραφημένων εφαρμογών για μεγάλο χρονικό διάστημα με πάρα πολύ καλά αποτελέσματα και συνεχίζει να χρησιμοποιείται εν μέρει και σήμερα. Επίσης είναι αναγκαία η ανάπτυξη εφαρμογών με τη χρήση της μεθόδου συστημάτων αρχείων σε ειδικές περιπτώσεις όπου απαιτείται πολύ μεγάλη ταχύτητα απάντησης (real time systems). Σελίδα -3

Περιορισμοί των συστημάτων αρχείων Η εκτεταμένη χρήση των συστημάτων αρχείων (files Systems) ανέδειξε και μια σειρά από προβλήματα, μειονεκτήματα και περιορισμούς Α) Διαχωρισμός και απομόνωση δεδομένων Η τάση ανάπτυξης απομονωμένων εφαρμογών από τα τμήματα μιας επιχείρησης οδήγησε στο διαχωρισμό των δεδομένων και στη δύσκολη επικοινωνία μεταξύ των εφαρμογών των διαφόρων τμημάτων Παράδειγμα 1 Το τμήμα προγραμματισμού παραγωγής χρειάζεται τα μισθολογικά ενός αριθμού εργαζομένων για τη κοστολόγηση ενός σταδίου της παραγωγής. Τα στοιχεία αυτά δεν τα διαθέτει στη δική του μηχανογραφημένη εφαρμογή και πρέπει να τα πάρει από την εφαρμογή του τμήματος προσωπικού. Αυτό όμως είναι δύσκολο διότι δεν υπάρχει άμεση επικοινωνία εφαρμογών. Πρέπει λοιπόν να δημιουργηθεί ένα νέο πρόγραμμα μεταφοράς δεδομένων μισθοδοσίας ή να πληκτρολογηθούν τα δεδομένα από την αρχή στην εφαρμογή του τμήματος προγραμματισμού παραγωγής. Β) Επανάληψη δεδομένων Τα ίδια δεδομένα καταχωρούνται σε πολλαπλά αντίτυπα στις εφαρμογές των διαφόρων τμημάτων. Στο προηγούμενο παράδειγμα έχουμε επανάληψη δεδομένων των τμημάτων προγραμματισμού παραγωγής και προσωπικού. Η επανάληψη δεδομένων είναι μια χρονοβόρα διαδικασία με αρκετό κόστος (απαιτείται χρόνος και κόστος για τη καταχώρηση και απασχόληση προγραμματιστών για ανάπτυξη προγραμμάτων μεταφοράς). Το βασικό όμως μειονέκτημα της επανάληψης δεδομένων είναι η δημιουργία αναξιόπιστων (λανθασμένων) δεδομένων όπως θα διαπιστώσουμε στη στο παράδειγμα που ακολουθεί. Παράδειγμα 2 Η γραμματεία ενός εκπαιδευτικού ιδρύματος διατηρεί ένα αρχείο Σπουδαστών με τα βασικά τους στοιχεία Παράλληλα η Φοιτητική Λέσχη διατηρεί ένα ανάλογο αρχείο Σπουδαστών το οποίο ενημερώνεται κατά μήνα από το αρχείο Σπουδαστών της γραμματείας. Στο διάστημα που μεσολαβεί από τη μία ενημέρωση του αρχείου της Φοιτητικής Λέσχης έως την επόμενη ενημέρωση του ένας αριθμός Σπουδαστών αποφοιτά, μετεγγράφεται η διαγράφεται χωρίς όμως να έχει ενημερωθεί το αρχείο των Σπουδαστών της Φοιτητικής Λέσχης με αποτέλεσμα το παραπάνω αρχείο να είναι αναξιόπιστο. Σελίδα -4

Γ) Εξάρτηση Δεδομένων Προγραμμάτων Τα συστήματα αρχείων (files Systems) απαιτούν την ανάπτυξη ενός σημαντικού αριθμού προγραμμάτων τα οποία χειρίζονται τα δεδομένα της εφαρμογής. Τα προγράμματα αυτά περιέχουν μέσα στο κώδικά τους και μια λεπτομερή περιγραφή του ορισμού των αρχείων (λογικές εγγραφές και πεδία τους) καθώς και περιγραφή του τρόπου φυσικής οργάνωσης και πρόσβασης σ αυτά. Ο τρόπος πρόσβασης εξαρτάται άμεσα από το είδος οργάνωσης. Η ενσωμάτωση των παραπάνω (ορισμός δεδομένων και τρόπος πρόσβασης στο κώδικα των προγραμμάτων) δημιουργεί σοβαρό πρόβλημα σε περίπτωση αλλαγής της δομής η του τρόπου φυσικής οργάνωσης του αρχείου. Στη περίπτωση αυτή θα πρέπει να γίνουν αλλαγές σε όλα τα προγράμματα που χειρίζονται δεδομένα στα οποία έγινε αλλαγή δομής η οργάνωσης αρχείου. Παράδειγμα 3 Στο αρχείο Σπουδαστών της Γραμματεία ενός εκπαιδευτικού ιδρύματος θέλουμε να αλλάξουμε το μήκος του πεδίου Επώνυμο από 25 σε 30 χαρακτήρες. Τι θα συμβεί στο Μηχανογραφικό Σύστημα; Το Σύστημα θα παραμείνει εκτός λειτουργίας έως ότου γίνουν οι ακόλουθες αλλαγές Α) Μετατροπή του παλιού αρχείου σε νέο τροποποιημένο ως προς το πεδίο Επώνυμο. Για το σκοπό αυτό θα πρέπει να αναπτυχθεί από το Μηχανογραφικό Κέντρο πρόγραμμα μιας χρήσης που θα τρέξει μια μόνο φορά και θα δημιουργήσει ένα καινούργιο άδειο κατ αρχή αρχείο με τη νέα δομή και κατόπιν θα αντιγράψει τις εγγραφές του παλιού αρχείου στο νέο. Β) Θα πρέπει να εντοπισθούν όλα τα προγράμματα που χειρίζονται δεδομένα από το αρχείο Σπουδαστών και να τροποποιηθούν έτσι ώστε στο κώδικά τους να περιέχουν τη νέα δομή των δεδομένων, δηλαδή στη συγκεκριμένη αυτή περίπτωση το πεδίο Επώνυμο με μήκος 30 χαρακτήρες. Γ) Θα πρέπει να ελεγχθεί εάν η λειτουργία των τροποποιημένων προγραμμάτων είναι σωστή. Γίνεται λοιπόν φανερό ότι και η ελάχιστη αλλαγή στη δομή δεδομένων η στη φυσική τους οργάνωσης οδηγεί σε τεράστια επιβάρυνση εργασίας των προγραμματιστών του Μηχανογραφικού κέντρου της επιχείρησης, οι οποίοι θα πρέπει να αλλάξουν και να ελέγξουν ένα μεγάλο αριθμό προγραμμάτων κάτω από μεγάλη πίεση χρόνου. Η εργασία αυτή είναι ιδιαίτερα επίπονη και καθόλου δημιουργική. Σελίδα -5

Δ) Σταθερός αριθμός Λειτουργιών η ανεξέλεγκτος αριθμός Προγραμμάτων Κάθε νέα λειτουργία μιας εφαρμογής σε σύστημα αρχείων οδηγεί στη δημιουργία ενός νέου προγράμματος από τους προγραμματιστές του Μηχανογραφικού κέντρου της επιχείρησης. Οι ευκολίες που προσφέρει μια αυτοματοποιημένη εφαρμογή με χρήση Η/Υ οδηγεί πολλούς χρήστες της στην απαίτηση και νέων λειτουργιών όπως αναφορές, συλλογή νέων δεδομένων, έντυπα καταχώρησης.κ.λ.π. Το γεγονός αυτό οδηγεί στον ανεξέλεγκτο πολλαπλασιασμό των προγραμμάτων της εφαρμογής με τελικό αποτέλεσμα τον υπερβολικά μεγάλο φόρτο εργασίας του Μηχανογραφικού κέντρου. Έτσι λοιπόν μερικές επιχειρήσεις επιλέγουν να έχουν σταθερό αριθμό λειτουργιών στο μηχανογραφικό τους σύστημα ώστε ν αποφύγουν την ανεξέλεγκτη αύξηση των προγραμμάτων του. Παράδειγμα 4 Σε μια βιομηχανική επιχείρηση ο υπεύθυνος αγορών επιθυμεί να έχει μια κατάσταση των αγορών ενός συγκεκριμένου Υλικού κατά αξία και μόνο για το προηγούμενο έτος. Η κατάσταση αυτή είναι πολύ εξειδικευμένη και χρησιμοποιείται από ένα μόνο χρήστη και για μια φορά. Υπάρχει επομένως το δίλημμα εάν πρέπει να αναπτυχθεί από το μηχανογραφικό Κέντρο ένα νέο πρόγραμμα. Η ιδανική λύση θα ήταν εάν υπήρχε η δυνατότητα ο χρήστης μόνος του να καλύψει τις ανάγκες του δημιουργώντας την κατάσταση των αγορών που χρειάζεται. Η δυνατότητα αυτή δεν προσφέρεται σ ένα Σύστημα Αρχείων. E) Το θέμα της ασφάλειας των Δεδομένων μηχανογραφικού συστήματος από αναρμόδιους χρήστες αντιμετωπίζεται ελάχιστα από τα συστήματα αρχείων, διότι δεν υπάρχει κάποιο ενσωματωμένο υποσύστημα ασφάλειας το οποίο να καθορίζει τα δικαιώματα πρόσβασης στα δεδομένα των χρηστών της Β.Δ και να ελέγχει συνεχώς τις ενέργειες τους. Παράδειγμα 5 Στο Μηχανογραφικό Σύστημα της Γραμματείας ενός εκπαιδευτικού ιδρύματος το πρόγραμμα καταχώρησης και αλλαγής βαθμολογίας των σπουδαστών θα πρέπει να χρησιμοποιείται από ελάχιστους Υπεύθυνους και εξουσιοδοτημένους γι αυτό Υπαλ-λήλους. Τι θα συμβεί στο Σύστημα εάν η χρήση των παραπάνω προ-γραμμάτων δεν ελέγχεται από ένα υποσύστημα ασφάλειας της Β.Δ και διάφοροι αναρμόδιοι χρήστες μπορούν να τα χρησιμοποιήσουν; Ποιος θα είναι τελικά υπεύθυνος για την αξιοπιστία των δεδομένων; Σελίδα -6

ΣΤ) Το θέμα της ανάκαμψης του μηχανογραφικού συστήματος δεν διασφαλίζεται με ικανοποιητικό τρόπο. Όταν συμβεί κάποια δυσλειτουργία η ζημιά στο Μηχανογραφικό Σύστημα μιας επιχείρησης πρέπει να υπάρχει η δυνατότητα γρήγορης επαναφοράς της εφαρμογής σε ορθή κατάσταση χωρίς την απώλεια σημαντικού αριθμού δεδομένων. Η συνηθισμένη αντιμετώπιση του προβλήματος αυτού σε συστήματα αρχείων είναι η συχνή περιοδική ασφάλιση (Backup) πράγμα όμως που μπορεί να οδηγήσει σε σημαντικές απώλειες δεδομένων. Παράδειγμα 6 Στο Μηχανογραφικό Σύστημα μιας Τράπεζας έχει γίνει ασφάλιση δεδομένων (Backup) στις 8π.μ και μέχρι τις 10π.μ έχουν γίνει αρκετές χιλιάδες συναλλαγές. Στις 10π.μ συμβαίνει μια σοβαρή ζημιά στο Μηχανογραφικό Σύστημα, έτσι ώστε γίνεται αναγκαστική επανεκκίνηση του Συστήματος από την τελευταία ασφάλιση δεδομένων (Backup).Το γεγονός αυτό έχει σαν συνέπεια την απώλεια των χιλιάδων συναλλαγών που έγιναν από τις 8π.μ και μέχρι τις 10π.μ και την ιδιαίτερα δύσκολη και ακριβή σε χρόνο και χρήμα επαναεισαγωγή τους στο Μηχανογραφικό Σύστημα της Τράπεζας. Ζ) Το θέμα του ελέγχου Ταυτοχρονισμού (concurrency control) Όταν πολλοί χρήστες επεξεργάζονται τα ίδια δεδομένα στον ίδιο χρόνο πρέπει να υπάρχει έλεγχος της πρόσβασης τους στα δεδομένα αυτά έτσι ώστε να μη δημιουργούνται λάθη από τη σύγχρονη πρόσβαση πολλών χρηστών στα ίδια δεδομένα. Το πρόβλημα αυτό δεν αντιμετωπίζεται με ικανοποιητικό τρόπο σε συστήματα Αρχείων. Παράδειγμα 7 Στο Μηχανογραφικό Σύστημα μιας Τράπεζας ο πελάτης Α ζητά να γίνει μεταφορά χρημάτων (1000 ΕΥΡΩ) από το λογαριασμό 12345 (ο οποίος πριν από τη συναλλαγή έχει υπόλοιπο 1500 ΕΥΡΩ) στο λογαριασμό 23456.Την ίδια χρονική στιγμή και πριν τελειώσει η πρώτη συναλλαγή, από άλλο τερματικό της Τράπεζας ο πελάτης Β ζητά ανάληψη επίσης 1000 ΕΥΡΩ από το λογαριασμό 12345. Είναι επιτρεπτή αυτή η δεύτερη συναλλαγή ή θα πρέπει το υποσύστημα ελέγχου ταυτοχρονισμού να μη την επιτρέψει; Διάφορα ταξιδιωτικά γραφεία προσπαθούν την ίδια χρονική στιγμή να κλείσουν την ίδια θέση σε μια πτήση αεροπορικής εταιρείας. Εάν δεν υπάρχει σωστός έλεγχος ταυτοχρονισμού υπάρχει περίπτωση να διατεθεί η ίδια θέση σε περισσότερους επιβάτες. Σελίδα -7

Σχηματική παράσταση μηχανογραφημένης Εφαρμογής με τη χρήση Συστημάτων Αρχείων (FILES SYSTEMS) Τμήμα Πωλήσεων Η/Υ Προγράμματα εφαρμογής Τμήματος Πωλήσεων Αρχείο Προσωπικού Αρχείο Λογαριασμών Αρχείο Πωλήσεων Τμήμα Λογιστήριο Η/Υ Προγράμματα εφαρμογής Τμήματος Λογιστηρίου Αρχείο Προσωπικού Αρχείο Λογαριασμών Τμήμα Προσωπικού Αρχείο Πωλήσεων Η/Υ Προγράμματα εφαρμογής Τμήματος Προσωπικού Αρχείο Προσωπικού Αρχείο Λογαριασμών Αρχείο Πωλήσεων Σελίδα -8

Βάσεις Δεδομένων Από τις αρχές της δεκαετίας του 70 άρχισε να μελετάται η υλοποίηση Μηχανογραφημένων Εφαρμογών με τη μεθοδολογία και τη χρήση Βάσεων Δεδομένων. Μεγάλη ανάπτυξη στη πράξη γνώρισε η μέθοδος αυτής λόγω της τεχνολογικής ανάπτυξης του υλικού (Hardware ταχύτατοι επεξεργαστές, μεγάλη και γρήγορη κεντρική μνήμη τεράστια χωρητικότητα και ταχύτητα πρόσβασης στους σκληρούς δίσκους) των Η/Υ και της χρήσης μικροϋπολογιστών και δικτύων. Με τη χρήση των Β.Δ αντιμετωπίσθηκαν με επιτυχία τα αρκετά βασικά προβλήματα των συστημάτων αρχείων 1) Το πρόβλημα της ανεξαρτησίας προγραμμάτων δεδομένων. Η περιγραφή της δομής των δεδομένων αποθηκεύεται και αυτή στη Β.Δ και δεν είναι ενσωματωμένη στα προγράμματα. Ο χώρος αποθήκευσης της δομής των δεδομένων ονομάζεται λεξικό δεδομένων (Data Dictionary). Με τον τρόπο αυτό κάθε πρόγραμμα διαβάζει από τη Β.Δ τη δομή των δεδομένων και κατόπιν αρχίζει τη λειτουργία του. Έτσι λοιπόν οι περισσότερες αλλαγές στη δομή των δεδομένων δεν επηρεάζουν καθόλου τα προγράμματα της εφαρμογής, αποφεύγονται τα προβλήματα μετατροπής μεγάλου αριθμού προγραμμάτων και διευκολύνεται με αυτό τον τρόπο η συντήρηση των εφαρμογών ενώ αποφεύγεται η επιβάρυνση του Μηχανογραφικού Κέντρου της επιχείρησης. 2) Κεντρική αποθήκευση δεδομένων Τα δεδομένα αποθηκεύονται κεντρικά για όλη την επιχείρηση και παύουν να υπάρχουν δεδομένα κατά τμήματα και εφαρμογές, έτσι αποφεύγεται το πρόβλημα του διαχωρισμού δεδομένων και εφαρμογών, παύει να υπάρχει επανάληψη και πλεονασμός δεδομένων. 3) Αξιόπιστο σύστημα έλεγχου ασφαλείας της πρόσβασης χρηστών στα δεδομένα το οποίο διοικείται κεντρικά από τον Υπεύθυνο διαχειριστή της Β.Δ 4) Σύστημα ελέγχου ταυτοχρονισμού έτσι ώστε να μη δημιουργούνται λάθη από τη σύγχρονη πρόσβαση πολλών χρηστών στα ίδια δεδομένα την ίδια χρονική στιγμή 5) Σύστημα ανάκαμψης της Β.Δ έτσι ώστε σε περίπτωση βλάβης να γίνεται χωρίς σημαντικές απώλειες δεδομένων επαναφορά της βάσης σε σωστή κατάσταση λειτουργίας στο μικρότερο δυνατό χρόνο. Σελίδα -9

Η Αρχιτεκτονική Μηχανογραφημένων Εφαρμογών με τη μεθοδολογία και τη χρήση Βάσεων Δεδομένων είναι η ακόλουθη. Τα δεδομένα αποθηκεύονται κεντρικά και τη διαχείριση τους αναλαμβάνει ένα μεγάλο σύνολο προγραμμάτων (πακέτο λογισμικού) που ονομάζεται Σύστημα Διαχείρισης Βάσεων Δεδομένων (Σ.Δ.Β.Δ Database Management System DBMS). Το λογισμικό αυτό δημιουργείται από ειδικές εταιρείες ανάπτυξης λογισμικού διαχείρισης Βάσεων Δεδομένων και πρέπει να αγορασθεί και να εγκατασταθεί στην επιχείρηση. Υπάρχουν εκδόσεις Πλήρους Ανάπτυξης Εφαρμογών και φθηνότερες εκδόσεις Εκτέλεσης Εφαρμογών (Run-Time). DBMS Εταιρεία Λογισμικού ACCESS Microsoft SQL- SERVER Microsoft ORACLE Oracle INGRESS Ingress INFORMIX Computers Asc Τα Συστήματα Διαχείρισης Βάσεων Δεδομένων (Σ.Δ.Β.Δ Database Management System DBMS) περιλαμβάνουν τα ακόλουθα υποσυστήματα λογισμικού. 1) Γλώσσες Ορισμού Δεδομένων με τη βοήθεια των οποίων περιγράφεται (ορίζεται) και τροποποιείται, η δομή των δεδομένων π.χ στο Σ.Δ.Β.Δ Microsoft ACCESS η δημιουργία και η τροποποίηση πίνακα ανήκει στις λειτουργίες της Γ.Ο.Δ. 2) Γλώσσες Χειρισμού Δεδομένων που επιτρέπουν τη συλλογή και τροποποίηση δεδομένων Πρότυπη γλώσσα Γ.Χ.Δ είναι η SQL (Structured Query Language) που είναι ενσωματωμένη σε όλα τα σχεσιακά Σ.Δ.Β.Δ. Άλλη γλώσσα Γ.Χ.Δ είναι η QBE (Query by Example-Ερώτηση μέσο παραδείγματος) π.χ η ανάπτυξη ερωτημάτων στο Σ.Δ.Β.Δ Microsoft ACCESS γίνεται με τη βοήθεια του πλέγματος της QBE η οποία αυτομάτως μεταφράζεται σε γλώσσα SQL. Η χρήση των παραπάνω γλωσσών Χειρισμού Δεδομένων επιτρέπει την ανάπτυξη ερωτημάτων συλλογής και τροποποίησης πληροφοριών από εξειδικευμένους χρήστες, οι οποίοι μετά από βραχυπρόθεσμη εκπαίδευση και χωρίς να είναι ειδικοί της Πληροφορικής χειρίζονται αποδοτικά την Γλώσσα Χειρισμού Δεδομένων. Έτσι δεν επιβαρύνονται οι προγραμματιστές του Μηχανογραφικού Κέντρου και αποφεύγονται τα προβλήματα της ανεξέλεγκτης ανάπτυξης προγραμμάτων. Σελίδα -10

3) Σύστημα ασφαλείας πρόσβασης το οποίο δίνει στους χρήστες δικαιώματα πρόσβασης στα δεδομένα της Βάσης Δεδομένων Ο χειρισμός των διαφόρων δυνατοτήτων του Συστήματος γίνεται με τη χρήση ειδικών εντολών της γλώσσας Γ.Χ.Δ. Παράδειγμα 8 Ένας γενικός χρήστης του συστήματος της Γραμματείας μπορεί να βλέπει το πρόγραμμα των μαθημάτων της Σχολής αλλά όχι τις Βαθμολογίες των σπουδαστών Ένας χρήστης σπουδαστής μπορεί να βλέπει μόνο τις δικές του Βαθμολογίες μέσω ενός κωδικού αλλά όχι και τις Βαθμολογίες των άλλων σπουδαστών Ο γραμματέας του τμήματος μπορεί να βλέπει, να καταχωρεί και να τροποποιεί τις Βαθμολογίες όλων των σπουδαστών. Η ενέργειες όλων των παραπάνω χρηστών ελέγχονται συνεχώς από το Σύστημα ασφαλείας της Β.Δ. 4) Σύστημα ανάκαμψης της Βάσης Δεδομένων το οποίο φροντίζει για την ορθή και γρήγορη επαναλειτουργία του συστήματος. 5) Σύστημα ταυτοχρονισμού το οποίο ελέγχει συνεχώς την ταυτόχρονη πρόσβαση πολλών χρηστών στα δεδομένα. 1 6) Εκτεταμένο σύστημα φυσικής αποθήκευσης των δεδομένων το οποίο αναλαμβάνει: 1. Το σχηματισμό των εγγραφών (μήκος και αριθμός πεδίων, πεδία σταθερού ή μεταβλητού μήκους, μέθοδος υλοποίησης π.χ. στίξης, ή υποπεδίου μήκους, εγγραφές με επαναλήψεις). 2. Την οργάνωση των αρχείων (π.χ. κατακερματισμού, αλυσωτού δεσμού, αντεστραμμένης λίστας, δεικτοδοτειμένης οργάνωσης, Β-δένδρα). Όλα αυτά τα θέματα (περίπτωση 6) ανήκουν σε μία κατηγορία που ονομάζεται εσωτερικό επίπεδο της Β.Δ και παραμένει αόρατο σχεδόν σ όλους τους χρήστες της Β.Δ για να μη περιπλέκει την εργασία τους. Χρησιμοποιείται και ο όρος η Β.Δ είναι διαφανής ως προς το εσωτερικό της επίπεδο. 2 7) Οι ορισμοί των δεδομένων αποθηκεύονται σ ένα ιδιαίτερο χώρο της Β.Δ που ονομάζεται Λεξικό δεδομένων (Data Dictionary) απ όπου και τα ερωτήματα η προγράμματα ενημερώνονται για τη δομή και οργάνωση των πινάκων(αρχείων) που επεξεργάζονται. 1 Τα δύο αυτά υπο-συστήματα ελέγχονται από εξειδικευμένες εντολές της γλώσσας Γ.Χ.Δ. 2 Η δημιουργία του εσωτερικού επιπέδου της Β.Δ που αφορά την φυσική οργάνωση των δεδομένων είναι θέμα που αφορά αποκλειστικά την εταιρεία κατασκευής του λογισμικού Σ.Δ.Β.Δ και αναπτύσσεται από αυτή. Αναβαθμίζεται και βελτιώνεται συνεχώς με συνεχείς νέες εκδόσεις του. Σελίδα -11

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

Πότε δεν πρέπει να χρησιμοποιείται η προσέγγιση των Βάσεων Δεδομένων στην υλοποίηση μιας μηχανογραφημένης εφαρμογής σ ένα οργανισμό ή επιχείρηση; Η χρησιμοποίηση της προσέγγισης των βάσεων Δεδομένων για τη μηχανογράφηση ενός οργανισμού συνεπάγεται και μεγάλο οικονομικό κόστος που οφείλεται στους εξής λόγους: Υψηλή αρχική επένδυση σε υλικό (Hardware), διότι πρέπει να υπάρξει ένα υψηλών προδιαγραφών σύστημα Η/Υ το οποίο θα επιτρέψει την εγκατάσταση και λειτουργία μιας εφαρμογής βασισμένης σε Βάσεις Δεδομένων. Υψηλό κόστος αγοράς λογισμικού ΣΔΒΔ (Σύστημα Διαχείρισης Βάσης Δεδομένων).Για να μειωθεί το κόστος ενός ΣΔΒΔ οι εταιρείες παραγωγής ΣΔΒΔ προσφέρουν και εκδόσεις run time οι οποίες επιτρέπουν τη λειτουργία των μηχανογραφημένων εφαρμογών αλλά όχι και την ανάπτυξη νέων εφαρμογών. Αρχικό κόστος για την εκπαίδευση του προσωπικού που θ αναλάβει την επίβλεψη της λειτουργίας της εφαρμογής. Επομένως υπάρχουν αρκετές περιπτώσεις στις οποίες θα ήταν προτιμότερη η ανάπτυξη εφαρμογών με τα συστήματα αρχείων. Καθοριστικοί παράγοντες είναι οι ακόλουθοι: Εάν η επιχείρηση είναι μικρή και δεν μπορεί να διαθέσει μεγάλους οικονομικούς πόρους για τη λειτουργία ενός συστήματος Β.Δ. Εάν οι εφαρμογές είναι απλές, καλά ορισμένες και δεν αναμένεται να υπάρξουν συχνές αλλαγές στα προγράμματά τους και στη δομή των δεδομένων. Δεν απαιτείται η προσπέλαση πολλών χρηστών. Υπάρχουν απαιτήσεις λειτουργίας σε πραγματικό χρόνο οι οποίες δεν μπορούν να ικανοποιηθούν από το ΣΔΒΔ. Παράδειγμα 9 Ένα φαρμακείο χρειάζεται Μηχανογραφικό Σύστημα για την έκδοση αποδείξεων λιανικής πώλησης και για τη διαχείριση των αποθεμάτων του. Πρόκειται για μικρή επιχείρηση με μικρές και απλές απαιτήσεις επεξεργασίας. Επίσης δεν πρόκειται να γίνουν αλλαγές στα προγράμματα, ενώ την εφαρμογή θα την χρησιμοποιούν ένας ή λίγοι χρήστες. Η επιχείρηση δεν θέλει να διαθέσει υψηλά ποσά για το μηχανογραφικό σύστημα. Επομένως προτιμότερη είναι η λύση των συστημάτων αρχείων. Σελίδα -13

Συγκριτικός Πίνακας Συστημάτων Αρχείων και Βάσεων Δεδομένων Συστήματα Αρχείων Files Systems Αυτόνομες Εφαρμογές και δεδομένα ανά Τμήμα. Απομόνωση Εφαρμογών και δεδομένων. Πρόσβαση στα δεδομένα απ ευθείας από τα προγράμματα της εφαρμογής. Υψηλό κόστος ανάπτυξης νέων προγραμμάτων και συντήρησης εφαρμογής. Χαμηλός δείκτης αξιοπιστίας δεδομένων. Βάσεις Δεδομένων Data Bases Ενιαία εφαρμογή, όλα τα δεδομένα αποθηκεύονται μαζί. Έλεγχος πρόσβασης στα δεδομένα από το Σ.Δ.Β.Δ. Φυσική Ανεξαρτησία δεδομένων κάνει εύκολη την συντήρηση και αλλαγές δεδομένων. Ενσωματωμένη SQL, QBE κάνει εύκολη την πρόσβαση στα δεδομένα. Το ΣΔΒΔ φροντίζει για την ακεραιότητα των δεδομένων άρα υψηλός δείκτης αξιοπιστίας. Χαμηλός δείκτης ασφαλείας. Αναρμόδιοι χρήστες μπορεί να έχουν πρόσβαση στη πληροφορία. Μεγάλη ασφάλεια στην πρόσβαση στη πληροφορία. Χαμηλή προστασία από καταστροφή των δεδομένων. Σύστημα ανάκαμψης της Β.Δ. Προβληματικός συντονισμός της πρόσβασης διαφόρων χρηστών στην ίδια πληροφορία την ίδια στιγμή. Σύστημα ταυτοχρονισμού πρόσβασης στην πληροφορία. Χαμηλό αρχικό κόστος ανάπτυξης νέων εφαρμογών. Οικονομική επιβάρυνση από την αγορά λογισμικού ΣΔΒΔ. Μεγαλύτερη ταχύτητα στη πρόσβαση κρίσιμων δεδομένων. Ανάγκη χρήσης ισχυρών Η/Υ (Hardware) για να επιτευχθούν ικανοποιητικές ταχύτητες εκτέλεσης. Μικρές ανάγκες αναβάθμισης λογισμικού εφαρμογής. Επιπλέον κόστος από έξοδα ανανέωσης του ΣΔΒΔ μέσω εκδόσεων αναβάθμισης. Σελίδα -14

Ερωτήσεις 1. α) Αναπτύξτε με λεπτομέρειες τις πιθανές λειτουργίες ενός συστήματος διοίκησης εφοριών (π.χ. TAXIS). β) Απαριθμήστε μερικές αναφορές (καταστάσεις) σε πληροφορίες που αντλούνται από το σύστημα. γ) Που νομίζετε ότι βρίσκονται αποθηκευμένα τα δεδομένα. δ) Ποιοι είναι οι χρήστες του συστήματος. Να καταταχθούν σε κατηγορίες. 2. Σε μια εταιρεία υπάρχει η ακόλουθη κατάσταση. α) Το τμήμα Μισθοδοσίας χρειάζεται τα στοιχεία των προστατευομένων μελών των μισθοδοτούμενων. Τα στοιχεία αυτά βρίσκονται στο σύστημα Η/Υ του γραφείου προσωπικού. β) Για τη μεταφορά των δεδομένων αυτών απαιτείται να γραφεί ένα πρόγραμμα (σε BASIC) από τους προγραμματιστές του μηχανογραφικού κέντρου. γ) Οι προγραμματιστές είναι ιδιαίτερα επιβαρημένοι με την συγγραφή άλλων προγραμμάτων και επομένως το πρόγραμμα μεταφοράς θα καθυστερήσει. δ) Μήπως πρέπει να περαστούν τα στοιχεία των προστατευομένων στο σύστημα Η/Υ του τμήματος Μισθοδοσίας με το χέρι; ε) Το επόμενο μήνα θα χρειαστεί να γίνει και νέα μεταφορά δεδομένων προστατευομένων μελών και γιατί; Τι σύστημα Μηχανογράφησης χρησιμοποιεί η επιχείρηση; Πού οφείλονται τα προβλήματα α,β,γ,δ,ε και ποιοι παράγοντες τα προκαλούν; Η αλλαγή του συστήματος Μηχανογράφησης ποια προβλήματα θα μπορούσε να βελτιώσει ή να απαλείψει; 3. Έγινε μία μικρή ξαφνική διακοπή ρεύματος στο σύστημα Η/Υ μιας εταιρείας. Η εταιρεία χρησιμοποιεί ένα προηγμένο ΣΔΒΔ για τις εφαρμογές της. Ποιες ενέργειες θα πρέπει να γίνουν για ν αρχίσει και πάλι η κανονική λειτουργία της μηχανογραφικής εφαρμογής; Ποιοι εργαζόμενοι θα κάνουν τις κατάλληλες ενέργειες; Περιγράψτε τη χειρότερη κατάσταση που μπορεί να προκύψει; 4. Ένας οργανισμός σχεδιάζει να μετατρέψει το μηχανογραφικό σύστημα που διαθέτει σε σύγχρονο το οποίο θα βασίζεται σε Σ.Δ.Β.Δ. Ποιες ενέργειες θα πρέπει να κάνει; Ποιος πρέπει ν αναλάβει τη μετατροπή αυτή; Τι κόστος θα έχει η νέα αυτή μηχανογραφική εφαρμογή; Αναφέρατε τα επιμέρους έξοδα. Σελίδα -15

5. Ο πύργος ελέγχου ενός αεροδρομίου χρειάζεται ένα μηχανογραφικό σύστημα παρακολούθησης και ενημέρωσης των αεροπλάνων. Θα πρέπει ν αναπτύξει την εφαρμογή αυτή σε μορφή Βάσης Δεδομένων ή σε σύστημα αρχείων (Files System); Ένα εμπορικό κατάστημα θέλει να εγκαταστήσει μια μηχανογραφημένη εφαρμογή λογιστηρίου. Τι σύστημα πρέπει να εγκαταστήσει και γιατί; Ασκήσεις Άσκηση 1 Μία μηχανογραφημένη εφαρμογή Γραμματείας σε σύστημα αρχείων περιέχει την πληροφορία Επώνυμο και Όνομα Σπουδαστή στο αρχείο Σπουδαστών αλλά και στο αρχείο βαθμολογιών Σπουδαστών. Το πεδίο επώνυμο καταλαμβάνει 35 χαρακτήρες (bytes) και το πεδίο όνομα 15 χαρακτήρες. Το αρχείο βαθμολογιών περιέχει 100.000 εγγραφές και κάθε εγγραφή του καταλαμβάνει 100 χαρακτήρες. α) Να ευρεθεί πόσος χώρος (σε ΜΒ) διατίθεται για το αρχείο βαθμολογιών και πόσο χώρο καταλαμβάνουν συνολικά τα δύο προαναφερόμενα πεδία (τα οποία και αποτελούν πλεονάζουσα πληροφορία). Ποιο ποσοστό του αρχείου πλεονάζει; β) Εξ αιτίας λάθους στη καταχώρηση επιθυμούμε ν αλλάξουμε το επώνυμο ενός σπουδαστού από Βασιλείου σε Βασιλειάδης. Ο σπουδαστής αυτός έχει και 50 καταχωρήσεις βαθμολογίας. Σε πόσες συνολικά εγγραφές πρέπει να γίνει αλλαγή; Εάν δεν υπάρχει ευρετήριο ως προς επώνυμο στο αρχείο βαθμολογιών πόσες εγγραφές πρέπει συνολικά να ελεγχθούν; γ) Εάν για κάθε αλλαγή εγγραφής στην οθόνη απαιτούνται 20 δευτερόλεπτα, πόσος χρόνος θα χρειαστεί για την αλλαγή επωνύμου; Άσκηση 2 Σ ένα Σύστημα διαχείρισης Βιομηχανικής Επιχείρησης (ανάλογο σχήμα) το τμήμα 7 χρειάζεται στοιχεία απασχόλησης από το τμήμα 4 (παραγωγής). Επειδή τα μηχανογραφικά τους συστήματα δεν επικοινωνούν πρέπει να πληκτρολογηθούν από το τμήμα 7 500 εγγραφές με μήκος εγγραφής 100 χαρακτήρες. Για την καταχώρηση μιας εγγραφής απαιτούνται 2 λεπτά. Η ωριαία αμοιβή του υπαλλήλου που καταχωρεί είναι 3 Ευρώ και το τμήμα διαθέτει 2 υπαλλήλους για την καταχώρηση. α) Πόσα bytes καταλαμβάνει η πληροφορία που πρέπει να καταχωρηθεί; β) Πόσες ανθρωποώρες απαιτούνται για τη καταχώρησή τους; γ) Πόσο θα στοιχίσει η καταχώρηση και ποια η διάρκειά της εάν κάθε υπάλληλος εργάζεται 8 ώρες ημερησίως; Σελίδα -16

ΚΕΦΑΛΑΙΟ 2 Περιβάλλον μίας Βάσης Δεδομένων Οι διάφοροι χρήστες μιας Β.Δ τη βλέπουν με τελείως διαφορετικό τρόπο. Ο ταμίας της Τράπεζας π.χ. βλέπει μόνο τα μέρη της Β.Δ που τον ενδιαφέρουν. Ένα στέλεχος της Τράπεζας βλέπει ένα μεγάλο μέρος των πληροφοριών της που τις χειρίζεται μάλιστα μέσω της γλώσσας SQL. Ο υπεύθυνος δεδομένων μπορεί να βλέπει ολόκληρη τη δομή της Β.Δ και όλες τις πληροφορίες της. Ο υπεύθυνος ΔΒΔ μπορεί να βλέπει επιπλέον τον τρόπο φυσικής οργάνωσης των αρχείων της ΒΔ, να μεταβάλει την οργάνωση και τη δομή των αρχείων, και να τροποποιεί το περιεχόμενό της. Ανάλογες δικαιοδοσίες αλλά σε μικρότερη κλίμακα έχουν και η ομάδα των προγραμματιστών εφαρμογών. Μία Βάση Δεδομένων χωρίζεται σε τρία επίπεδα: 1) Το εσωτερικό επίπεδο όπου περιλαμβάνονται με κάθε λεπτομέρεια ο τρόπος οργάνωσης αρχείων και η δομή των εγγραφών τους. Ο ΥΔΒΔ και οι αναλυτές προγραμματιστές ασχολούνται με τα θέματα αυτά. 2) Το εννοιολογικό ή λογικό επίπεδο περιλαμβάνει θέματα που έχουν σχέση με τη λογική της μηχανογραφημένης εφαρμογής που υλοποιείται, χωρίς όμως να γίνεται αναφορά σε τεχνικά θέματα. Με το επίπεδο αυτό ασχολούνται ο Υπεύθυνος δεδομένων και οι Σχεδιαστές Β.Δ. 3) Το εξωτερικό επίπεδο. Υπάρχουν πολλά εξωτερικά επίπεδα (όψεις) που απευθύνονται σε ομάδες χρηστών της Β.Δ και αποτελούν το τρόπο με τον οποίο κάθε χρήστης βλέπει τη Β.Δ. Τα υπόλοιπα επίπεδα της Β.Δ είναι αόρατα στους χρήστες (διαφανή). Παράδειγμα 10 Σ ένα σύστημα Διαχείρισης Βιομηχανικής Επιχείρησης (Σχήμα 1) το τμήμα 7 Λογιστήριο «βλέπει» από τη Β.Δ τις κινήσεις λογαριασμών αλλά δεν έχει καμία πρόσβαση στη τεχνική περιγραφή της δομής ενός προϊόντος που έχει στη διάθεσή του το τμήμα 2. Συνολικά υπάρχουν 7 όψεις της Β.Δ. Ολοκληρωμένη εικόνα της Β.Δ (όλων των όψεων μαζί) έχουν μόνο κάποια εξειδικευμένα στελέχη της επιχείρησης τα οποία και γνωρίζουν το εννοιολογικό επίπεδο της Β.Δ. Σελίδα -17

Σχηματική Παράσταση μίας Βάσης Δεδομένων Χρήστης 1 Χρήστης 2 Χρήστης 3 Εξωτερικό επίπεδο ΟΨΗ 1 Προμήθειες ΟΨΗ 2 Πωλήσεις ΟΨΗ 3 Προσωπικό Λογικό επίπεδο Εννοιολογικό Σχήμα ΕΤΑΙΡΕΙΑ Υπεύθυνος Δεδομένων Σχεδιαστής Εσωτερικό επίπεδο Φυσική Οργάνωση Αρχείων Υπεύθυνος Δ.Β.Δ Προμηθευτές Παραγγελίες Προσωπικό Σελίδα -18

Τα είδη (μοντέλα) Βάσεων Δεδομένων Τα ΣΔΒΔ μπορούν να καταταχθούν στις ακόλουθες κατηγορίες: 1) Ιεραρχικά ΣΔΒΔ. Είναι τα πρώτα Συστήματα Βάσεων Δεδομένων. Τα δεδομένα παρίστανται στο λογικό επίπεδο με τη βοήθεια δενδροειδών ή ιεραρχικών δομών. Με βάση το ιεραρχικό μοντέλο (IMS της ΙΒΜ) έχει υλοποιηθεί μία μεγάλη σειρά εφαρμογών στο παρελθόν. Σήμερα όμως δεν χρησιμοποιείται για την ανάπτυξη νέων εφαρμογών. 2) Δικτυωτά Σ.Δ.Β.Δ. Αναπτύχθηκαν μετά τα ιεραρχικά συστήματα. Η βασική δομή τους είναι οι λίστες. Η αποδοχή τους στην αρχή ήταν μεγάλη, η ανάπτυξη όμως των σχεσιακών μοντέλων συρρίκνωσε την σημασία τους και την εφαρμογή τους. Οι δύο αυτές κατηγορίες είχαν μερικά σοβαρά μειονεκτήματα. Δεν υπήρχε απομόνωση μεταξύ λογικού και φυσικού επιπέδου πράγμα που δυσκόλευε το χειρισμό τους, τη συντήρησή τους και την ανάπτυξη νέων εφαρμογών. Πρόκειται για μοντέλα που αναπτύχθηκαν στο παρελθόν και σήμερα η χρήση τους είναι μικρή, ενώ δεν χρησιμοποιούνται πλέον για την ανάπτυξη νέων εφαρμογών. 3) Κατανεμημένες Βάσεις Δεδομένων Σ.Κ.Δ.Β.Δ. Η ανάπτυξη αξιόπιστων δικτύων Η/Υ και η χρήση της αρχιτεκτονικής πελάτη εξυπηρετητή επιτρέπει την φυσική αποθήκευση μερών της Β.Δ σε διαφορετικούς Η/Υ (Servers) π.χ. η Β.Δ μιας Τράπεζας με υποκαταστήματα διασπάται και οι λογαριασμοί των πελατών αποθηκεύονται τοπικά κατά υποκατάστημα. Τα συστήματα αυτά έχουν τη δυνατότητα να συνεχίζουν τη λειτουργία κανονικά, ακόμη και αν παρουσιασθεί βλάβη σ ένα τοπικό σύστημα. 4) Αντικειμενοστραφείς Β.Δ. Πρόκειται για συστήματα (ΑΣΔΒΔ) όπου εφαρμόζονται έννοιες που πλησιάζουν προς τον ανθρώπινο τρόπο σκέψης (αντικείμενα, μέθοδοι που εφαρμόζονται σ αυτά και συμβάντα που εκκινούν τις μεθόδους). Πεδίο εφαρμογής των ΑΣΔΒΔ είναι συστήματα μηχανολογικού σχεδιασμού (CAD), συστήματα παραγωγής (CAM), Γεωγραφικά Σελίδα -19

συστήματα Πληροφοριών (G.I.S). Τα συστήματα 3), 4) βρίσκονται σε πειραματική φάση και προβλέπεται σημαντική μελλοντική ανάπτυξή του. 5) Τα σχεσιακά συστήματα. Μελετήθηκαν από τις αρχές της δεκαετίας του 1970 (E.F. Codd) έγιναν αποδεκτά και άρχισαν να κυριαρχούν από τη δεκαετία 1980. Με την ανάπτυξη της τεχνολογίας των Η/Υ κυριάρχησαν στην αγορά των Β.Δ και σήμερα μονοπωλούν απόλυτα το χώρο των Σ.Δ.Β.Δ. Τα βασικά χαρακτηριστικά που πρέπει να έχει ένα Σ.Δ.Β.Δ για να καταταχθεί στη κατηγορία των σχεσιακών συστημάτων διαχείρισης Βάσεων Δεδομένων είναι τα ακόλουθα: 1) Όλα τα δεδομένα βρίσκονται καταχωρημένα σε πίνακες και μόνο πίνακες. Άρα στο λογικό επίπεδο όλες οι πληροφορίες γίνονται αντιληπτές υπό μορφή πινάκων (στο εσωτερικό επίπεδο οι πίνακες μπορεί να έχουν διάφορες μορφές οργάνωσης αρχείων). Όταν πληρούται μόνο αυτή η προϋπόθεση τότε έχουμε συστήματα ημι-σχεσιακά. Τέτοια συστήματα στο χώρο των μικροϋπολογιστών είναι η Dbase και ο Clipper. 2) Εάν το Σ.Δ.Β.Δ υποστηρίζει και τη χρήση των τριών τελεστών της σχεσιακής άλγεβρας. Επιλογή (Select) Προβολή (Project) και Σύζευξη (Join) τότε χαρακτηρίζεται σαν επαρκώς σχεσιακό. 3) Εάν υποστηρίζονται επιπλέον τελεστές και υπάρχουν και άλλες ιδιότητες το σύστημα λέγεται πλήρως σχεσιακό. Τέτοια συστήματα στο χώρο των μικροϋπολογιστών είναι η Access της εταιρείας Microsoft και η Oracle. Επιπλέον σχεσιακοί τελεστές είναι το Καρτεσιανό γινόμενο η Ένωση, η Τομή, η διαφορά, η διαίρεση. Άλλες ιδιότητες είναι: Υποστήριξη Όψεων. Γλώσσα Επικοινωνίας 4 γενιάς π.χ. SQL ή QBE. Ενσωματωμένο Λεξικό δεδομένων. Σελίδα -20

Συγκριτικός Πίνακας μοντέλων ΣΔΒΔ Ιεραρχικό Δικτυωτό Σχεσιακό Λογικές δομές Ανεξαρτησία δεδομένων Δενδροειδείς Λίστες Πίνακες Μικρή Μικρή Πολύ καλή Ευκολία στη συντήρηση εφαρμογών δύσκολη Σχετικά δύσκολη Πολύ καλή Φιλικότητα στο χρήστη Χαμηλή Χαμηλή Μεγάλη Γλώσσα ανεξαρτησίας Γλώσσα 3GL διαδικαστική Γλώσσα 3GL διαδικαστική Γλώσσα 4GL Μη διαδικαστική Ταχεία ανάπτυξη εφαρμογών Όχι Όχι Ναι Ταχύτητα επεξεργασίας Μεγάλη Μεγάλη Μικρή Θέση στην αγορά Συρρικνώνεται Μεσαία Υψηλή Ηλικία Παλιό Μεσαίο Νέο Σελίδα -21

Αρχιτεκτονική ΣΔΒΔ Πολλών χρηστών Τα συστήματα Β.Δ πολλών χρηστών υλοποιούνται σε συστήματα Η/Υ που είναι δομημένα με τους παρακάτω τρόπους α) Αρχιτεκτονική χρονομερισμού (time sharing) είναι η παλαιότερη μορφή συστημάτων πολυεπεξεργασίας. Υπάρχει ένας κεντρικός υπολογιστής (Mainframe) υψηλών προδιαγραφών με ισχυρή δύναμη επεξεργασίας (ισχυρή CPU), μεγάλη χωρητικότητα κεντρικής μνήμης (RAM) και μεγάλη χωρητικότητα δευτερεύουσας μνήμης. Υπάρχει ένας μεγάλος αριθμός τερματικών που χρησιμοποιούνται από τους χρήστες της Β.Δ. Τα τερματικά δεν έχουν δική τους δυνατότητα επεξεργασίας και διαθέτουν μόνο οθόνη προβολής και πληκτρολόγιο για την εισαγωγή δεδομένων. Ο κεντρικός υπολογιστής (mainframe) διαθέτει κυκλικά χρόνο (της τάξης του ns) για τις απαιτήσεις των τερματικών, τις επεξεργάζεται σταδιακά και στέλνει τα αποτελέσματα στις οθόνες τους. Σύστημα time sharing - χρονομερισμού ΤΕΡΜΑΤΙΚΟ χωρίς CPU Η/Υ ΚΕΝΤΡΙΚΟΣ Η/Υ Main frame Αποστολή Λήψη Δεδομ ΤΕΡΜΑΤΙΚΟ χωρίς CPU Η/Υ ΤΕΡΜΑΤΙΚΟ χωρις CPU ΤΕΡΜΑΤΙΚΟ χωρις CPU Η/Υ Αποστολή Λήψη Δεδομ Η/Υ Κεντρική Επεξεργασία Κάθε χρονική στιγμή Ένα πρόγραμμα μόνο ενεργό Τα άλλα Προγράμματα σε αναμονή Σελίδα -22

Στα συστήματα αυτά η επεξεργασία γίνεται αποκλειστικά και μόνο στο κεντρικό Η/Υ ενώ τα τερματικά έχουν δυνατότητα μόνο να προβάλουν δεδομένα στην οθόνη και να δέχονται εισαγωγή δεδομένων από το πληκτρολόγιο. Η αρχιτεκτονική αυτή κυριαρχούσε απόλυτα κατά την εποχή που δεν είχαν ανακαλυφθεί οι προσωπικοί Η/Υ (PC) και ήταν ο μοναδικός τρόπος υλοποίησης συστημάτων πολλών χρηστών (Multiuser Systems). Στα συστήματα (time sharing) η επιβάρυνση του κεντρικού Η/Υ είναι τεράστια. Πρέπει να τρέχει την εφαρμογή της Β.Δ. Πρέπει να ελέγχει και να συντονίζει τη λειτουργία των τερματικών. Πρέπει να στέλνει και να δέχεται συνεχώς δεδομένα από και προς τα τερματικά. β) Αρχιτεκτονική εξυπηρετητή αρχείων (file server) Με την ανακάλυψη και χρήση των προσωπικών Η/Υ (PC) δόθηκε η δυνατότητα αντικατάστασης των τερματικών (χωρίς επεξεργαστή και μέσα αποθήκευσης) με προσωπικούς Η/Υ οι οποίοι διαθέτουν υπολογιστική ισχύ και μέσα αποθήκευσης. Αυτό έγινε εφικτό επίσης διότι το κόστος των προσωπικών υπολογιστών έγινε πολύ χαμηλό. Ένα σύστημα εξυπηρετητή αρχείων αποτελείται από ένα κεντρικό υπολογιστή με ισχυρή υπολογιστική δύναμη και μεγάλες αποθηκευτικές δυνατότητες (server) στον οποίο και είναι αποθηκευμένη η Β.Δ η οποία ελέγχεται από το ΣΔΒΔ. Ο εξυπηρετητής αρχείων είναι σαφώς χαμηλότερων προδιαγραφών του κεντρικού υπολογιστού (mainframe) της αρχιτεκτονικής χρονομερισμού time sharing. Ένας μεγάλος αριθμός προσωπικών Η/Υ (PC) είναι συνδεδεμένος με τον εξυπηρετητή σε τοπικό δίκτυο. Σε κάθε PC τρέχει ένα κομμάτι του ΣΔΒΔ. Όταν υπάρχει μία απαίτηση άντλησης πληροφορίας από ένα PC (χρήστης) τότε μεταφέρονται ολόκληρα αντίγραφα των αρχείων που περιέχουν αυτές τις πληροφορίες στο PC και εκεί γίνεται η επεξεργασία. π.χ. εάν ζητήσουμε από ένα PC τα στοιχεία και τη βαθμολογία ενός σπουδαστή θα πρέπει να μεταφερθεί αντίγραφο αρχείου σπουδαστών από τον εξυπηρετητή στο PC (πιθανώς με 10.000 εγγραφές) και ένα πλήρες αντίγραφο του αρχείου βαθμολογιών (πιθανώς με 200.000 εγγραφές) και η τελική επεξεργασία θα γίνει στο προσωπικό Η/Υ. Σελίδα -23

ΕΞΥΠΗΡΕΤΗΤΗΣ ΑΡΧΕΙΩΝ File Server PC CPU ΑΙΤΗΣΗ ΔΕΔΟΜΕΝΩΝ ΑΝΤΙΓΡΑΦΟ ΑΡΧΕΙΟΥ PC CPU ΤΟΠΙΚΟ ΔΙΚΤΥΟ Files Server ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ PC CPU ΑΙΤΗΣΗ ΔΕΔΟΜΕΝΩΝ ΑΝΤΙΓΡΑΦΟ ΑΡΧΕΙΟΥ Σ ένα τέτοιο σύστημα ένα μεγάλο μέρος της επεξεργασίας γίνεται στους τοπικούς προσωπικούς Η/Υ (PC). Ο εξυπηρετητής αρχείων (file server) ασχολείται με την αποστολή και λήψη αρχείων, τον έλεγχο ακεραιότητας δεδομένων και το ταυτοχρονισμό. Στα συστήματα αυτά υπάρχει μεγάλη επιβάρυνση του δικτύου διότι υπάρχει διακίνηση τεράστιου όγκου δεδομένων μεταξύ εξυπηρετητή (file server) και τοπικών σταθμών εργασίας (PC). Είναι δύσκολος ο ταυτοχρονισμός των εργασιών στους σταθμούς εργασίας που ελέγχονται από τον εξυπηρετητή. Επιβαρύνεται ο εξυπηρετητής από συνεχή αποστολή και λήψη αρχείων. Σελίδα -24

γ) Αρχιτεκτονική πελάτη εξυπηρετητή (client-server) Η αρχιτεκτονική του συστήματος αυτού είναι όμοια ως προς το υλικό (Hardware) με το σύστημα εξυπηρετητή αρχείων (file-server). Αποτελείται από ένα κεντρικό Η/Υ υπολογιστή (server) και από σταθμούς εργασίας που αποτελούνται από προσωπικούς Η/Υ (PC) συνδεδεμένους με τον server σε τοπικό δίκτυο. Το λογισμικό διαχείρισης δεδομένων είναι διαφορετικό Client Server System PCClient PCClient PCClient Front End CPU CPU CPU Front End Front End ΤΟΠΙΚΟ ΔΙΚΤΥΟ Αίτηση δεδομένων Επιλεγμένα Δεδομένα ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Server Back end Σελίδα -25

Ένα μέρος του ΣΔΒΔ είναι εγκατεστημένο στον server και ονομάζεται back-end. Ένα άλλο μέρος του ΣΔΒΔ είναι εγκατεστημένο στους προσωπικούς Η/Υ (PC) και ονομάζεται front-end. Κάθε χρήστης σε PC έρχεται σε διάλογο και θέτει τις απαιτήσεις του στο λογισμικό πελάτη (front-end) το οποίο τρέχει μόνο στο PC και δεν απασχολεί τον server. Όταν τελειώσει η διαδικασία εισαγωγής της απαίτησης του πελάτη τότε αυτή στέλνεται στον εξυπηρετητή (server) ο οποίος και την εκτελεί. Το αποτέλεσμα που είναι επιλεγμένα δεδομένα και όχι ολόκληρα αρχεία στέλνεται με συμπαγή μορφή στο πελάτη (PC). Το λογισμικό του πελάτη αναλαμβάνει την παρουσίαση των δεδομένων με τη κατάλληλη μορφοποίηση στην οθόνη του προσωπικού Η/Υ (Πελάτη). Παράδειγμα 11 Ένα σύστημα πελάτη εξυπηρετητή διαθέτει server με το λογισμικό SQL-Server το οποίο είναι ένα εξελιγμένο ΣΔΒΔ. Κάθε πελάτης (client) διαθέτει λογισμικό ΣΔΒΔ. Αccess. Στο σύστημα είναι αποθηκευμένη μία Β.Δ Σπουδαστικών θεμάτων. Ένας χρήστης θέλει να δει τη βαθμολογία και μερικά στοιχεία των σπουδαστών με αριθμό μητρώου 2215 και 2317. Από ένα προσωπικό Η/Υ (PC) ο οποίος διαθέτει λογισμικό ΣΔΒΔ Access και παίζει το ρόλο του πελάτη (client) δημιουργεί ένα ερώτημα με τη βοήθεια του πλέγματος ερωτημάτων. Όλη αυτή η διαδικασία συμβαίνει μόνο στο πελάτη. Όταν τελειώσει η διαδικασία δημιουργίας ερωτήματος στέλνεται το ερώτημα σε μορφή SQL στον εξυπηρετητή (server) ο οποίος διαθέτει λογισμικό SQL-Server. Κατόπιν στο server γίνεται επιλογή των δεδομένων των δύο σπουδαστών τα οποία και αποστέλλονται στο πελάτη. Ο πελάτης αναλαμβάνει να προβάλει αυτά τα δεδομένα, με τη κατάλληλη μορφοποίηση στο τοπικό προσωπικό Η/Υ. Τα συστήματα πελάτη εξυπηρετητή έχουν τα ακόλουθα πλεονεκτήματα: 1) Διαμοιράζεται η επεξεργασία σε πολλούς Η/Υ (server-clients). 2) Τον έλεγχο της επεξεργασίας της Β.Δ τον διατηρεί ο εξυπηρετητής. 3) Η κίνηση δεδομένων στο δίκτυο είναι μειωμένη. Σελίδα -26

Πίνακας λειτουργιών πελάτη (client) και εξυπηρετητή (server) Πελάτης (client) Διαθέτει μονάδα επεξεργασίας (CPU), κεντρική μνήμη και σκληρό δίσκο ως χώρο αποθήκευσης. 1 Α) Διαχειρίζεται την διασύνδεση με το χρήστη της Β.Δ. Β) Λαμβάνει και ελέγχει τον διάλογο με το χρήστη. Γ) Τρέχει την εφαρμογή. Δ) Παράγει αιτήματα για τη βάση δεδομένων που βρίσκεται στο server και τα αποστέλλει προς αυτόν. Ε) Λαμβάνει την απάντηση από το server και τη παρουσιάζει στην οθόνη του χρήστη. Εξυπηρετητής (Server) Διαθέτει ισχυρή μονάδα επεξεργασίας (CPU) μεγάλη κεντρική μνήμη (RAM) και μεγάλους χώρους αποθήκευσης υψηλής ταχύτητας πρόσβασης. 2 A1) Λαμβάνει και επεξεργάζεται τα αιτήματα από τους πελάτες. Α2) Ελέγχει την εξουσιοδότηση και τα δικαιώματα των χρηστών. Α3) Ελέγχει τους κανόνες ακεραιότητας. Α4) Εκτελεί την επεξεργασία των αιτημάτων (ερωτήματα / ενημερώσεις) των πελατών και μεταδίδει την απάντηση στο χρήστη. Α5) Ελέγχει τη ταυτόχρονη προσπέλαση στη βάση δεδομένων. Α6) Φροντίζει για την ανάκαμψη της Β.Δ σε περίπτωση βλάβης. 1 Στο πελάτη (client) βρίσκεται εγκατεστημένο στο σκληρό του δίσκο ένα μέρος του ΣΔΒΔ το οποίο ονομάζεται frond-end. Το λογισμικό αυτό εκτελείται στη μονάδα επεξεργασίας (CPU) του client και παρέχει τα ακόλουθα. 2 Στο server είναι εγκατεστημένο το μεγαλύτερο και σημαντικότερο μέρος του ΣΔΒΔ (back-end) το οποίο εκτελείται και παρέχει τα ακόλουθα. Η λειτουργία του server γίνεται με τη βοήθεια ενός ισχυρού λειτουργικού συστήματος (Operating system) πολυπρογραμματισμού (Multitasking Multiprocessing) που βασίζεται στην αρχιτεκτονική χρονομερισμού (time-shearing). Σελίδα -27

Σύστημα με πολλούς πελάτες και περισσότερους εξυπηρετητές (server) PCClient PCClient PCClient Front End CPU CPU CPU Front End Front End ΤΟΠΙΚΟ ΔΙΚΤΥΟ Αίτηση δεδομένων Επιλεγμένα Δεδομένα ΜΕΡΟΣ ΒΑΣΗΣ ΜΕΡΟΣ ΒΑΣΗΣ Server 1 Back end Server 2 Back end Παράδειγμα 12 Στο παραπάνω σύστημα θα μπορούσε ν αποθηκευθεί η βάση δεδομένων μιας επιχείρησης ως εξής: Στον εξυπηρετητή 1 τα αρχεία προσωπικού και μισθοδοσίας. Στον εξυπηρετητή 2 τα αρχεία παραγγελιών, προϊόντων και πελατών. Πρόκειται για μια κατανεμημένη Βάση. Δεδομένων διότι οι πίνακες της (αρχεία) είναι αποθηκευμένοι σε περισσότερους Εξυπηρετητές (Servers).Ποια πλεονεκτήματα βλέπετε σ αυτό τον τύπο αρχιτεκτονικής; Σελίδα -28

Εργαζόμενοι σε μια Βάση Δεδομένων 1) Τελικοί Χρήστες σε μια Βάση Δεδομένων Είναι η πολυπληθέστερη ομάδα ατόμων που έρχονται σ επαφή με τη Βάση Δεδομένων, την οποία και χρησιμοποιούν για να διεκπεραιώσουν την εργασία τους. Α) Απλοί Χρήστες σε μια Βάση Δεδομένων Πρόκειται για την μεγάλη πλειοψηφία των χρηστών οι οποίοι διεκπεραιώνουν την απόλυτα τυποποιημένη εργασία τους με τη βοήθεια της Β.Δ. Έρχονται σε επαφή με τη Β.Δ με έμμεσο τρόπο χρησιμοποιώντας ένα σύστημα Μενού και ηλεκτρονικών εντύπων οθόνης τα οποία ελέγχουν απόλυτα και περιορίζουν την πρόσβασή τους στη Β.Δ. Παράδειγμα Οι ταμίες μιας Τράπεζας διεκπεραιώνουν τη καθημερινή τους εργασία χρησιμοποιώντας ένα σύστημα μενού και εντύπων οθόνης με τα οποία διεκπεραιώνουν διάφορες εργασίες, όπως ανάληψη από λογαριασμό, κατάθεση σε λογαριασμό, πληρωμή, μεταφορά χρημάτων και άλλες. Ο πελάτης μιας Τράπεζας που χρησιμοποιεί το μηχάνημα αυτομάτου ανάληψης με την χρήση κάρτας είναι και αυτός απλός χρήστης της Β.Δ της Τράπεζας. Β) Εξειδικευμένοι Χρήστες σε μια Βάση Δεδομένων Πρόκειται για στελέχη της επιχείρησης τα οποία ενδιαφέρονται να αντλήσουν πληροφορίες από τη Β.Δ με τρόπο που δεν είναι τυποποιημένος και επαναλαμβανόμενος. Έχουν τη κατάλληλη εκπαίδευση ώστε να χρησιμοποιούν τη γλώσσα ερωτημάτων της Β.Δ (SQL, QBE) για να συγκεντρώνουν τα δεδομένα που χρειάζονται. Παράδειγμα Ο υπεύθυνος δανείων ενός υποκαταστήματος Τραπέζης θέλει να δημιουργήσει μια ετήσια αναφορά που να περιλαμβάνει ένα πίνακα δανείων και ένα ιστόγραμμα σε μορφή πίττας για τις διάφορες κατηγορίες δανείων. Η εργασία αυτή δεν περιλαμβάνεται στις έτοιμες λειτουργίες της εφαρμογής και επιπλέον έχει έκτακτο και μη επαναλαμβανόμενο χαρακτήρα. Το στέλεχος αυτό της Τρά-πεζας δημιουργεί μόνο του την αναφορά του πίνακα δανείων χωρίς να επιβαρύνει το μηχανογραφικό κέντρο. Ο Υπεύθυνος δανείων είναι οικονομολόγος και έχει Σελίδα -29

παρακολουθήσει μία σύντομη εκπαίδευση για τη χρήση του υποσυστήματος δημιουργίας αναφορών του Σ.Δ.Β.Δ. 2) Υπεύθυνος Δεδομένων (Data Administrator) Πρόκειται για ανώτερο διοικητικό στέλεχος της επιχείρησης που έχει άριστη γνώση των λειτουργιών και επιχειρηματικών κανόνων της. Επίσης έχει τη δυνατότητα καλής κατανόησης και τεχνικών θεμάτων της Β.Δ. Βασική του εργασία είναι ο καθορισμός των δεδομένων που θα τηρεί η επιχείρηση, η βελτίωση και η επέκταση των υπαρχόντων δεδομένων και ο τρόπος πρόσβασης των χρηστών. Παράδειγμα Ένα εκπαιδευτικό ίδρυμα θέλει να επεκτείνει το σύστημα Γραμματείας ώστε να περιλαμβάνει και ένα υποσύστημα (module) υποτροφιών σπουδαστών. Ένα στέλεχος του Ιδρύματος που έχει άριστη γνώση της διαδικασίας των υποτροφιών καθορίζει τα δεδομένα που θα πρέπει να τηρούνται, πως θα γίνεται ο χειρισμός τους και από ποιους. 3) Υπεύθυνος Διαχείρισης Βάσης Δεδομένων (Data Base Administrator) Πρόκειται για ειδικό της Πληροφορικής με άριστη γνώση του συγκεκριμένου ΣΔΒΔ (DBMS) που χρησιμοποιεί η επιχείρηση. Βασικές εργασίες του είναι: Η τεχνική υλοποίηση στη ΒΔ των κατευθύνσεων του υπευθύνου δεδομένων. Η παρακολούθηση της λειτουργίας (σε αποδεκτούς χρόνους) της Β.Δ και διόρθωση προβλημάτων ταχύτητας στη πρόσβαση στα δεδομένα. Ο τρόπος εσωτερικής οργάνωσης των δεδομένων (φυσική οργάνωση αρχείων). Η ασφάλιση (backup) των δεδομένων και η ανάκαμψη της Β.Δ σε περίπτωση βλάβης. Συνήθως οι εργασίες αυτές γίνονται από ομάδα ειδικών που αποτελούν το προσωπικό χειρισμού και συντήρησης της Β.Δ υπό την εποπτεία του υπευθύνου διαχείρισης Β.Δ. Παράδειγμα: Παρατηρείται πρόβλημα καθυστέρησης στη ταχύτητα απόκρισης στα τερματικά του ταμείου ενός Τραπεζικού καταστήματος. Το πρόβλημα πρέπει έγκαιρα να εντοπισθεί και να Σελίδα -30

διορθωθεί από τον Υ.Δ.ΒΔ προτού παραλύσει η λειτουργία της Τράπεζας. Ο Υ.ΔΒΔ διαπιστώνει ότι η μέθοδος οργάνωσης του αρχείου λογαριασμών δεν είναι η κατάλληλη. Το αρχείο λογαριασμών είναι οργανωμένο με τη μέθοδο κατακερματισμού αλλά η περιοχή υπερχείλισης είναι γεμάτη, διότι έχουν δημιουργηθεί πολλές συνώνυμες εγγραφές. Ο Υ.ΔΒΔ αλλάζει τον αλγόριθμο κατακερματισμού και διορθώνει το πρόβλημα. 4) Ομάδα Αναλυτών και Προγραμματιστών εφαρμογών Παραλαμβάνουν τις προδιαγραφές των απαιτήσεων των τελικών χρηστών από τον Υ.ΔΒΔ και υλοποιούν τις απαιτήσεις αυτές γράφοντας προγράμματα σε γλώσσες 3ης γενιάς όπως Pascal, C, Cobal κ.λ.π ή σε γλώσσες 4ης γενιάς SQL Αφού ελεγχθούν ως προς την ορθότητά τους και την καλή απόδοση τα προγράμματά τους ενσωματώνονται στο λογισμικό της Β.Δ.Η ομάδα αυτή αποτελεί μόνιμο προσωπικό του Μηχανογραφικού Κέντρου της επιχείρησης Παράδειγμα: Μια Τράπεζα θέλει να προσθέσει στο μενού των Α.Τ.Μ (Αυτόματων Ταμειολογιστικών Μηχανών της) και ένα πρόγραμμα πληρωμής κινητής τηλεφωνίας. Ο υπεύθυνος δεδομένων καθορίζει τον τρόπο λειτουργίας του προγράμματος. Ο Υπεύθυνος διαχείρισης Β.Δ καθορίζει τις τεχνικές προδιαγραφές του προγράμματος. Οι προγραμματιστές εφαρμογών γράφουν τον κώδικα του προγράμματος και ελέγχουν την λειτουργία του. Ο Υπ.Δ.Β.Δ κάνει τον τελικό έλεγχο του λειτουργίας του προγράμματος και κατόπιν το διαθέτει προς χρήση στα Α.Τ.Μ. Συνεχίζει για ένα διάστημα τον έλεγχο του προγράμματος πληρωμής κινητής τηλεφωνίας σε συνθήκες πραγματικής λειτουργίας. Οι πελάτες της Τράπεζας έχουν στη διάθεσή τους στα ΑΤΜ το πρόγραμμα πληρωμής κινητής τηλεφωνίας το οποίο χρησιμοποιούν σαν απλοί χρήστες. Σελίδα -31

Εργαζόμενοι περιστασιακά σε μια Β.Δ. 5) Εργαζόμενοι περιστασιακά σε μια Βάση Δεδομένων Α) Σχεδιαστές Βάσεων Δεδομένων και Αναλυτές Προγραμματιστές εφαρμογών Πρόκειται για ομάδα σχεδιαστών Β.Δ που αναλαμβάνει την δημιουργία μιας μηχανογραφημένης εφαρμογής σε μια επιχείρηση ή οργανισμό. Επίσης μπορεί να αναλάβει τη βελτίωση ή επέκταση μιας υπάρχουσας εφαρμογής. Ασχολείται με το λογικό σχεδιασμό και τη φυσική υλοποίηση της Β.Δ. Η ομάδα αυτή συνήθως ανήκει σε μια εταιρεία κατασκευής λογισμικού (software house) και όχι στην ίδια την επιχείρηση. Αποχωρεί όταν η εφαρμογή τεθεί σε κανονική λειτουργία. 6) Αναλυτές Προγραμματιστές Εφαρμογών Η εταιρεία κατασκευής του λογισμικού εφαρμογών αναλαμβάνει και τη συνεχή συντήρηση και διόρθωση λαθών της εφαρμογής κάνοντας συμβόλαιο συντήρησης εφαρμογής έναντι κάποιας συμφωνημένης αμοιβής. Έχει την υποχρέωση διόρθωσης του προβλήματος σε σύντομο χρονικό διάστημα. 7) Κατασκευαστές Συστημάτων Διαχείρισης Βάσεων Δεδομένων. Ανήκουν σε μεγάλες εταιρείες κατασκευής λογισμικού ΣΔΒΔ (π.χ. Microsoft, Oracle) και ασχολούνται με την κατασκευή του λογισμικού και τη συνεχή ανανέωσή του μέσω νέων εκδόσεών του. Οι ανανεώσεις λογισμικού ονομάζονται patches, updates, upgrades και έχουν την ακόλουθη σημασία. Σελίδα -32

Ερωτήσεις 1) Το εσωτερικό επίπεδο μιας Β.Δ σε ποιους χρήστες παραμένει διαφανές και γιατί; 2) Οι ομάδες των απλών χρηστών βλέπουν με τον ίδιο τρόπο τη Β.Δ; Υπάρχει περίπτωση να θεωρούν ότι εργάζονται σε τελείως διαφορετικά συστήματα; Δώστε ένα παράδειγμα. Ποιοι καθορίζουν τις ομάδες των χρηστών; 3) Στο σχεσιακό σύστημα πως φαίνονται τα δεδομένα; Γιατί είναι διαφανής η οργάνωση των αρχείων στους χρήστες; 4) Τι είδους γλώσσες επεξεργασίας χρησιμοποιούν τα τρία κύρια μοντέλα δεδομένων; Ποια είναι τα βασικά χαρακτηριστικά τους; Ποια τα πλεονεκτήματα και ποια τα μειονεκτήματά τους; 5) Γιατί το Σχεσιακό Σύστημα παρέχει ευκολία στη συντήρηση εφαρμογών; 6) Ποιο γεγονός επέτρεψε τη δημιουργία συστημάτων με servers (εξυπηρετητές); 7) Τι σημαίνει ο όρος μείωση μεγέθους; (downsizing); Υπάρχει και αντίστοιχη μείωση ισχύος επεξεργασίας; 8) Ποια η βασική διαφορά συστημάτων files servers και clients-servers; 9) Πώς νομίζετε ότι θα έπρεπε να υλοποιήσει τη βάση δεδομένων της μια τράπεζα με κεντρικό κατάστημα στην Αθήνα και 50 υποκαταστήματα σε διάφορες πόλεις; Σελίδα -33

Ασκήσεις Άσκηση 1 (Σύστημα χρονομερισμού time sharing) Τα προγράμματα Ρ1 με χρόνο εκτέλεσης (10 ns), P2 (20 mc), P3 (30ης) αποστέλλονται προς εκτέλεση κατά τη χρονική στιγμή t=0. Nα συμπληρωθεί ο παρακάτω πίνακας την χρονική στιγμή t = 2. t = 2 Xρόνος Εκτέλεσης Υπόλοιπος Χρόνος Συνολικός Χρόνος Εκτέλεσης Σύνολο Υπολοίπου Χρόνου Ενεργό Πρόγραμμα P1 2 3 2 8 Λίστα Ρ2 - - 0 20 Αναμονής Ρ4 - - 0 30 Υποθέτουμε ότι το μερίδιο χρόνου που διατίθεται κυκλικά σε κάθε πρόγραμμα είναι 5ης. α) Να συμπληρωθεί ο πίνακας για τις χρονικές στιγμές t = 6, t = 12. β) Ποια χρονική στιγμή θα τελειώσει η εκτέλεση του προγράμματος Ρ1; Να συμπληρωθεί ο πίνακας αυτή τη χρονική στιγμή. γ) Ποια χρονική στιγμή θα τελειώσει η εκτέλεση του προγράμματος Ρ2; Τι θα συμβεί μετά από αυτή τη χρονική στιγμή; δ) Ποιος είναι ο συνολικός χρόνος που απαιτείται για να τελειώσει κάθε πρόγραμμα; (εκτέλεση και αναμονή;) Σελίδα -34

Άσκηση 2 Τα προγράμματα Ρ1, Ρ2, Ρ3 στέλνονται για εκτέλεση σ ένα σύστημα πελάτη διακομιστή στη χρονική στιγμή t = 0. Ο ακόλουθος πίνακας περιέχει τα βασικά στοιχεία των προγραμμάτων. Χρόνος διατύπωσης Χρόνος Μεταφοράς Χρόνος Εκτέλεσης Χρόνος Επιστροφής Χρόνος Παρουσίαση Πρόγραμμα απαίτησης απαίτησης Δεδομένων Δεδομένων Ρ1 2ns 1ns 4ns 1ns 2ns Ρ2 3ns 2ns 10ns 2ns 3ns Ρ3 6ns 4ns 10ns 4ns 6ns Ο διακομιστής λειτουργεί με το σύστημα χρονομερισμού και διαθέτει μερίδιο χρόνου (time slice) 5ns. α) Να συμπληρωθεί ο παρακάτω πίνακας για t = 4. Χρόνος διατύπωσης Χρόνος Μεταφοράς Χρόνος Εκτέλεσης Χρόνος Επιστροφής Χρόνος Παρουσίαση Πρόγραμμα απαίτησης απαίτησης Δεδομένων Δεδομένων Ρ1 Πλήρης Πλήρης 1-Ενεργό 1ns 2ns Ρ2 Πλήρης 1ης Εκτέλεση Δεν έφθασε Όχι Όχι 1ης Υπόλοιπο Ρ3 4 Εκτέλεση 2-Υπόλοιπο Δεν έγινε Δεν έφθασε Όχι Όχι β) Να συμπληρωθεί ανάλογος πίνακας για t = 9ης. Σε ποιο σημείο του Υλικού (πελάτης, δίκτυο, διακομιστής) βρίσκεται ενεργό το κάθε πρόγραμμα. Σελίδα -35