ΛΕΥΚΗ ΜΟΤΣΟΒΟΛΕΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ ΑΘΗΝΑ [1]

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΛΕΥΚΗ ΜΟΤΣΟΒΟΛΕΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ ΑΘΗΝΑ [1]"

Transcript

1 ΛΕΥΚΗ ΜΟΤΣΟΒΟΛΕΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ ΑΘΗΝΑ [1]

2 ΚΕΦΑΛΑΙΟ 1.Βάσεις Δεδομένων Προσέγγιση με ένα παράδειγμα. Σε ένα σχολείο, ο απουσιολόγος κάθε τάξης έχει ένα τετράδιο στο οποίο έχει καταγράψει όλους τους μαθητές του τμήματός του, με τα εξής στοιχεία: ΚΑΤΑΛΟΓΟΣ ΟΝΟΜΑ ΔΙΕΥΘΥΝΣΗ ΑΡΙΘΜΟΣ_ΤΗΛ Μουρμούρας Ν Σάμου Τσιπούρας Κ Δωδώνης Σπάρος Σ Λέσβου Σε περίπτωση ανάγκης ή αδικαιολόγητης απουσίας κάποιου μαθητή, ο διευθυντής του σχολείου, βρίσκει τον απουσιολόγο και ζητά το τηλέφωνο ή τη διεύθυνση του μαθητή. Ο διευθυντής θεώρησε ότι γίνονταν πολλά λάθη στα στοιχεία των μαθητών και ο κατάλογος πολλές φορές δεν ήταν ενημερωμένος, πράγμα που σημαίνει, ότι ενώ πολλοί μαθητές είχαν αλλάξει τηλέφωνο ή διεύθυνση, οι απουσιολόγοι δεν είχαν ενημερώσει τον κατάλογο, δηλαδή δεν είχαν γράψει τις αλλαγές. Αποφάσισε να αναλάβει ο ίδιος τον έλεγχο του καταλόγου των μαθητών. Έτσι, κατέγραψε στο δίσκο ενός πολογιστή του σχολείου για κάθε έναν μαθητή, το όνομά, τη διεύθυνση και τον αριθμό τηλεφώνου του. Μ' άλλα λόγια, έγραψε κάποια συγκεκριμένα γεγονότα ή δεδομένα που αφορούν κάθε έναν μαθητή. Τα γεγονότα αυτά, όνομα, διεύθυνση και τηλέφωνο, επειδή αφορούν τον ίδιο μαθητή, λέμε ότι είναι συσχετισμένα μεταξύ τους. Στην καθημερινή ζωή, δε λέμε συνήθως γεγονότα το όνομα και τη διεύθυνση κάποιου, αλλά τα αναφέρουμε ως γνωρίσματα ή χαρακτηριστικά (attributes) ή ακόμα ως [2]

3 ιδιότητες. Όταν λέμε για παράδειγμα ότι κάποιος είναι μηχανικός, τότε του προσάπτουμε ένα γνώρισμα (μια ιδιότητα) που τον διαφοροποιεί από άλλους ανθρώπους. Τα γνωρίσματα ενός ανθρώπου ή ενός αντικειμένου ή ακόμα μιας έννοιας, μπορεί να είναι συγκεκριμένα μετρήσιμα μεγέθη ή κάποιες ιδιότητές τους. Ο κατάλογος του σχολείου, όπως είναι στον υπολογιστή, δηλαδή η συλλογή των ονομάτων των διευθύνσεων και των τηλεφώνων των μαθητών που είναι στο δίσκο του υπολογιστή, καλείται βάση δεδομένων (database). Από το παράδειγμα μπορεί να δει κανείς αμέσως κάποια πλεονεκτήματα που προσφέρει η βάση δεδομένων σε σχέση με τον κατάλογο που ήταν σε τετράδιο, όπως ταχύτητα στον εντοπισμό και την ανάκτηση των δεδομένων, ασφάλεια, κ.τ.λ. (Τα πλεονεκτήματα αυτά γίνονται λειτουργικά χαρακτηριστικά κρίσιμης σημασίας, αν αντί για το σχολείο με τους μαθητές του, θεωρήσουμε έναν οργανισμό όπως το ΙΚΑ με τους ασφαλισμένους του). Στις βάσεις δεδομένων, το σύνολο των μαθητών που θέλουμε να γράψουμε στον υπολογιστή, καλείται σύνολο οντοτήτων. Τα μέλη ( δηλαδή τα στοιχεία ) του συνόλου οντοτήτων (οι μαθητές και οι μαθήτριες του σχολείου), καλούνται οντότητες (entities). Κάθε μαθητής ή μαθήτρια είναι μια οντότητα που ανήκει στο σύνολο οντοτήτων Μαθητές. Όπως σε κάθε σύνολο, έτσι και στα σύνολα οντοτήτων τους δίνουμε ονόματα για να αναφερόμαστε σε αυτά και να τα ξεχωρίζουμε μεταξύ τους. Απαιτούμε από ένα σύνολο οντοτήτων, τα μέλη του να έχουν κοινές ιδιότητες. Τα γνωρίσματα που γράψαμε για κάθε μαθητή, δηλαδή οι κοινές τους ιδιότητες που μας ενδιέφεραν στο παράδειγμά μας ήταν: ΟΝΟΜΑ, ΔΙΕΥΘΥΝΣΗ και ΑΡΙΘΜΟΣ_ΤΗΛ Το σημαντικό είναι ότι [3]

4 τα γνωρίσματα αυτά (οι τιμές τους), προσδιορίζουν κατά μοναδικό τρόπο όλα τα μέλη του συνόλου. Ο διευθυντής που είναι υπεύθυνος για τη βάση, καλείται διαχειριστής της βάσης δεδομένων ( database administator), Ας ξαναπάρουμε τώρα τον κατάλογο της τάξης που είχαμε γράψει στο τετράδιο με τη μορφή: ΚΑΤΑΛΟΓΟΣ ΟΝΟΜΑ ΔΙΕΥΘΥΝΣΗ ΑΡΙΘΜΟΣ_ΤΗΛ Μουρμούρας Ν Σάμου Τσιπούρας Κ Δωδώνης Σπάρος Σ Λέσβου Τοποθετώντας την επικεφαλίδα ΟΝΟΜΑ, θέλουμε να δηλώσουμε ότι στη θέση αυτή και προς τα κάτω, θα γράφουμε τα ονόματα των μαθητών, δηλαδή το ΟΝΟΜΑ είναι επικεφαλίδα μιας στήλης στην οποία γράφουμε τα ονόματα των μαθητών, αντίστοιχα, στη θέση "ΔΙΕΥΘΥΝΣΗ" γράφουμε τις διευθύνσεις τους, και στη θέση "ΑΡΙΘΜΟΣ_ΤΗΛ" τους αριθμούς των τηλεφώνων τους. Την επικεφαλίδα ΟΝΟΜΑ, αν τη δούμε σαν θέση στην οποία θα τοποθετήσουμε ομοειδείς τιμές (δηλ. τα ονόματα των μαθητών και μαθητριών), την καλούμε πεδίο (field). Πεδία είναι και η ΔΙΕΥΘΥΝΣΗ, όπως και ο ΑΡΙΘΜΟΣ_ΤΗΛ. Αν δούμε το ΟΝΟΜΑ ως τη μικρότερη μονάδα δεδομένου ή πληροφορίας (δεν μπορούμε να την αποσυνθέσουμε περισσότερο σε `μικρότερες πληροφορίες), τότε καλείται και όρος δεδομένων (data item) ή και στοιχείο δεδομένων (data element). Θα σημειώσουμε ότι, το πεδίο και ο όρος δεδομένων είναι έννοιες ταυτόσημες. [4]

5 Στο προηγούμενο παράδειγμα, κάθε όρος δεδομένων ή πεδίο, παριστάνει ή έχει προσαρτημένο ένα σύνολο από ομοειδείς τιμές που καλείται πεδίο τιμών του πεδίου. Τα στοιχεία του πεδίου τιμών, ή διαφορετικά, οι τιμές που παριστάνει ένα πεδίο τις λέμε, Τιμές δεδομένων του πεδίου. Μαζί με κάθε πεδίο, θεωρούμε δεδομένες και τις τιμές του. Το σύνολο τιμών ενός πεδίου, είναι μια δεξαμενή από απλές και ομοειδείς τιμές, μέσα από την οποία παίρνει τιμές το πεδίο. Το είδος των δεδομένων που θα τοποθετηθεί σ' ένα πεδίο (αριθμοί ή λέξεις από χαρακτήρες κ.λπ. ) ονομάζεται τύπος δεδομένων (data type) του πεδίου. Όταν λέμε ότι οι τιμές του πεδίου είναι ομοειδείς, εννοούμε ότι ανήκουν σε ένα και μόνο τύπο, δηλαδή είναι, είτε λέξεις από χαρακτήρες που καλούνται συμβολοσειρές (strings) είτε ακέραιοι αριθμοί ή πραγματικοί κ.τ.λ. Αν πάρουμε τώρα, μια ομάδα από συσχετισμένους όρους δεδομένων (ή πεδία) οι οποίοι περιγράφουν πλήρως μια οντότητα, (αποτελούν μια ανώτερη μονάδα πληροφορίας από το πεδίο), την καλούμε μια εγγραφή. Για παράδειγμα, τα πεδία { ΟΝΟΜΑ. ΔΙΕΥΘΥΝΣΗ, ΑΡΙΘΜΟΣ_ΤΗΛ} είναι συσχετισμένα μεταξύ τους, είναι ιδιότητες καθενός μαθητή, το δε σύνολο των πεδίων αποτελεί μια εγγραφή και περιγράφει πλήρως την οντότητα "Μαθητής". Για να ξεχωρίζουμε μια ομάδα συσχετισμένων πεδίων από μια άλλη, δηλαδή την μία εγγραφή από την άλλη, δίνουμε στις εγγραφές ονόματα. Την προηγούμενη εγγραφή θα μπορούσαμε να την ονομάσουμε ΜΑΘΗΤΕΣ, ή ΚΑΤΑΛΟΓΟΣ, ή να της δώσουμε ένα οποιοδήποτε άλλο όνομα και να την παραστήσουμε με το σχήμα, ΜΑΘΗΤΕΣ(ΟΝΟΜΑ, ΔΙΕΥΘΥΝΣΗ, ΑΡΙΘΜΟΣ_ΤΗΛ) Αν μαζί με τα ονόματα των πεδίων γράψουμε και τους τύπους δεδομένων τους, τότε παίρνουμε τον τύπο της εγγραφής. [5]

6 Παράδειγμα: Τον τύπο της προηγούμενης εγγραφής "ΜΑΘΗΤΕΣ" τον αναφέρουμε ως εξής: Όνομα Εγγραφής Ονόματα Πεδίων Τύπος Δεδομένων ΜΑΘΗΤΕΣ ΟΝΟΜΑ Λέξη μέχρι 30 χαρακτήρες (Char(30)) ΔΙΕΥΘΥΝΣΗ Λέξη μέχρι 50 χαρακτ. (Char(50)) ΑΡΙΘΜΟΣ_ΤΗΛ Ακέραιοι Οι τιμές των πεδίων που αφορούν την ίδια οντότητα π.χ. 'Σπάρος Κ.' 'Χίου 15' είναι μια στιγμιαία δέσμευση (instance) ή μια εμφάνιση ή και συγκεκριμενοποίηση της εγγραφής. Κάθε γραμμή του παραπάνω πίνακα είναι και μια εμφάνιση της εγγραφής ΚΑΤΑΛΟΓΟΣ. Μια συλλογή από εμφανίσεις μιας εγγραφής του ίδιου τύπου καλείται αρχείο (file). Σύνοψη των εννοιών [6]

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

8 διαχείριση της βάσης πρέπει την έχει αποκλειστικά ο διαχειριστής (ή οι διαχειριστές) της βάσης. Επειδή ο όγκος των δεδομένων σε μια βάση είναι πάρα πολύ μεγάλος και οι απαιτήσεις που έχουμε για πληροφόρηση πολύπλοκες, κάθε βάση δεδομένων περιέχει ένα σύνολο από κατάλληλα προγράμματα με τα οποία γίνεται ο σχεδιασμός της, η αποθήκευση και η διαχείριση των δεδομένων και γενικώτερα η επεξεργασία όλων των πληροφοριών. Το σύνολο αυτό των προγραμμάτων που υπάρχει σε κάθε βάση δεδομένων καλείται Σύστημα Διαχείρισης της Βάσης Δεδομένων (ή ΣΔΒΔ). Το ΣΔΒΔ είναι ένα σύνολο από προγράμματα, με τα οποία απλοποιείται και ταυτόχρονα υλοποιείται ο ορισμός, η κατασκευή και η διαχείριση της βάσης. Είναι το εργαλείο εκείνο, με το οποίο θα σχεδιάσουμε και θα διαχειριστούμε τη βάση δεδομένων. Ο ορισμός της βάσης αφορά τον προσδιορισμό της δομής των αρχείων της και γενικώτερα τον ορισμό ή περιγραφή της δομής της βάσης. Η κατασκευή της βάσης δεδομένων είναι η διαδικασία της αποθήκευσης, πάνω στο δίσκο του υπολογιστή, των δεδομένων της βάσης. Ας υποθέσουμε ότι θέλουμε να τοποθετήσουμε δεδομένα στο αρχείο ΚΑΤΑΛΟΓΟΣ(Όνομα, Διεύθυνση, Αριθμός_Τηλ) το ΣΔΒΔ μας απλοποιεί τη διαδικασία εισαγωγής δεδομένων με την εντολή: Insert Into ΚΑΤΑΛΟΓΟΣ Values(Τσιπούρας Κ, Δωδώνης 25, ); η οποία σημαίνει, Τοποθέτησε_στον_πίνακα ΚΑΤΑΛΟΓΟΣ τιμές(τσιπούρας Κ, Δωδώνης 25, ) ; [8]

9 Διαχείριση της βάσης, σημαίνει, υποβολή επερωτήσεων στη Βάση για την ανάκτηση δεδομένων, ή ενημέρωση της Βάσης, δηλαδή πρόσθεση, διαγραφή ή τροποποίηση δεδομένων. Οι επερωτήσεις και οι τροποποιήσεις της βάσης γίνονται με εντολές της "Γλώσσας Χειρισμού Δεδομένων" (ΓΧΔ) που περιέχεται στο ΣΔΒΔ και τις οποίες θα δούμε σε επόμενο κεφάλαιο Ένας πλήρης ορισμός ενός Συστήματος Βάσης Δεδομένων είναι ο ακόλουθος: Ορισμός Ένα Σύστημα Βάσης Δεδομένων, περιέχει τρία πράγματα: 1) Μια βάση δεδομένων, δηλαδή μια συλλογή από καλά οργανωμένες εγγραφές, τοποθετημένες όλες μαζί σ' ένα μέσο μαζικής αποθήκευσης (δίσκο ή ταινία). 2) Ένα σύνολο από προγράμματα, που καλείται Σύστημα Διαχείρισης της Βάσης Δεδομένων (ΣΔΒΔ), το οποίο, με έναν απλό και τυποποιημένο τρόπο, μας επιτρέπει να Ορίσουμε, να Αποθηκεύσουμε και να Χειριστούμε αποτελεσματικά τα δεδομένα της βάσης 3) Ένα σύνολο από εφαρμογές που αναπτύσσονται και εξυπηρετούνται από το ΣΔΒΔ, με τις οποίες ανακτούμε, προσθέτουμε, διαγράφουμε ή τροποποιούμε δεδομένα. Θα σημειώσουμε ότι το ΣΔΒΔ δεν μπορεί να ικανοποιήσει όλες τις απαιτήσεις μας για πληροφόρηση με απλές εντολές. Μπορούμε όμως με τις εντολές των γλωσσών που περιέχει το ΣΔΒΔ, να γράψουμε προγράμματα για κάποιο συγκεκριμένο σκοπό και να ικανοποιούμε οποιαδήποτε απαίτηση για πληροφόρηση. Τα προγράμματα αυτά τα καλούμε εφαρμογές και τα ενσωματώνουμε στη βάση. Σημειώνεται ακόμα, ότι με τον όρο "Βάση Δεδομένων" εννοούμε ένα "Σύστημα Βάσης Δεδομένων". Θα μπορούσαμε να χαρακτηρίσουμε πολύ απλά ένα ΣΔΒΔ, σαν το μέσον με το οποίο πραγματοποιείται η σύνδεση του χρήστη με το υλικό ή τα μέσα αποθήκευσης στα οποία κρατούνται τα δεδομένα. Εικόνα ενός ΣΔΒΔ [9]

10 [10]

11 ΚΕΦΑΛΑΙΟ 3. Χαρακτηριστικά ενός ΣΔΒΔ Όπως έχουμε αναφέρει και άλλοτε, το ΣΔΒΔ είναι ένα σύνολο από προγράμματα τα οποία μας διευκολύνουν να σχεδιάσουμε τη βάση, δηλαδή να ορίσουμε τα δεδομένα και τον τρόπο σύνδεσή τους, να την κατασκευάσουμε και τέλος να τη διαχειριστούμε. Δεν αρκεί όμως αυτό, για να χαρακτηρίσουμε ένα σύνολο από προγράμματα ως ΣΔΒΔ. Πολλά εμπορικά συστήματα που κυκλοφορούν στην αγορά, διευκολύνουν τους χρήστες να σχεδιάσουν και να αναπτύξουν μια βάση δεδομένων, χωρίς ωστόσο να είναι ΣΔΒΔ. Ένα σύνολο από προγράμματα, χαρακτηρίζεται ΣΔΒΔ, όχι από τον τρόπο κατασκευής τους, αλλά από τις λειτουργικές ιδιότητες που έχουν τα προγράμματα. Στη συνέχεια, θα σχολιάσουμε όλες εκείνες τις ιδιότητες που πρέπει να έχει υποχρεωτικά ένα σύνολο από προγράμματα, για να το χαρακτηρίσουμε ως Σύστημα Διαχείρησης Βάσης Δεδομένων. Ας υποθέσουμε πάλι ότι έχουμε μια μεγάλη βάση δεδομένων, όπως είναι η βάση μιας τράπεζας η οποία έχει π.χ. πέντε εκατομμύρια πελάτες και η εγγραφή για κάθε πελάτη περιέχει εκατοντάδες πεδία. Για να εξυπηρετηθεί κάποιος πελάτης από οποιοδήποτε πόλη, για να είναι δηλαδή η βάση λειτουργική, πρέπει το Σύστημα Διαχείρησης της Βάσης, να προσπελαύνει στα δεδομένα της βάσης και να εντοπίζει, αναγνωρίζει και ανακτά κάποια συγκεκριμένα δεδομένα στον ελάχιστο δυνατό χρόνο. Ο χρόνος προσπέλασης στα δεδομένα, πρέπει να είναι ανεξάρτητος από τον όγκο των δεδομένων. Μια τέτοια προσπέλαση τη χαρακτηρίζουμε αποτελεσματική. Έτσι, το κύριο χαρακτηριστικό ενός ΣΔΒΔ είναι, η ικανότητα προσπέλασης που έχει σε μεγάλες ποσότητες δεδομένων και μάλιστα, με αποτελεσματικό τρόπο. Τα συνήθη προγράμματα δεν μπορούν να μας δώσουν γρήγορη προσπέλαση σε τυχαία τμήματα των δεδομένων [11]

12 Οσο πιο μεγάλο πλήθος δεδομένων έχουμε, τόσο πιο απαραίτητη είναι η χρησιμοποίηση ενός ΣΔΒΔ. Εκτός από τιην παραπάνω σημαντική ιδιότητα ενός ΣΔΒΔ, άλλες ιδιότητες που τα χαρακτηρίζουν (και υπάρχουν σε όλα τα εμπορικά ΣΔΒΔ), είναι: Το μοντέλο δεδομένων Οι γλώσσες επερωτήσεων Η διαχείριση των συναλλαγών Η ασφάλεια των δεδομένων Η ακεραιότητα της βάσης Η συνέπεια της βάσης Το σύστημα καταλόγου [12]

13 3.1 Μοντέλο δεδομένων. Κάθε ΣΔΒΔ έχει ένα σύστημα για να διευκολύνει το χρήστη να βλέπει τα δεδομένα με έναν απλό και τυποποιημένο τρόπο. Το σύστημα αυτό καλείται Μοντέλο Δεδομένων. Σήμερα, όλα σχεδόν τα ΣΔΒΔ της αγοράς, έχουν ως μοντέλο δεδομένων το λεγόμενο Σχεσιακό Μοντέλο. Το μοντέλο αυτό προτάθηκε στη δεκαετία του 70 και επεκράτησε μέχρι σήμερα για την απλότητά του. Σε ένα Σχεσιακό Σύστημα Διαχείρισης Βάσης Δεδομένων, ο χρήστης βλέπει πάντοτε τα δεδομένα με τη μορφή πινάκων. ʼλλα μοντέλα που χρησιμοποιούνται είναι το Ιεραρχικό και το Δικτυωτό μοντέλο. Για να γίνει κατανοητός ο ρόλος του μοντέλου για τον ορισμό, την κατασκευή και τη διαχείριση μιας βάσης δεδομένων, θα αναφέρουμε το ακόλουθο, Παράδειγμα Θεωρείστε ότι κάποιος θέλει να χτίσει ένα σπίτι. Το πρώτο πράγμα που κάνει, είναι να συζητήσει με έναν μηχανικό πως θέλει να είναι το σπίτι του. Κατά τη διάρκεια της συζήτησης, προβάλλει κάποιες απαιτήσεις, τις οποίες ο μηχανικός λαμβάνει υπόψη του και φτιάχνει ένα πρώτο σκίτσο του σπιτιού, το οποίο και δείχνει στον ιδιοκτήτη (χρήστη), όπως θα φαίνεται το σπίτι εξωτερικά. Στη συνέχεια διαμορφώνει τους εσωτερικούς χώρους και αποτυπώνει την εσωτερική δομή του σπιτιού με κάθε λεπτομέρεια σε ένα σχέδιο, στο οποίο φαίνονται τα διάφορα δωμάτια, η σκάλα, οι διάδρομοι κ.λπ. Θα μπορούσαμε να πούμε ότι, το σχέδιο αυτό αποτυπώνει τη «λογική δομή» του σπιτιού. Τη λέμε λογική, γιατί οι έννοιες και τα αντικείμενα που αποτυπώνονται στο σχέδιο, παρουσιάζονται με ένα λογικό τρόπο, κατανοητό από το χρήστη. Αφού συμφωνήσει για τη λογική δομή του σπιτιού ο χρήστης, τότε ο μηχανικός στο επόμενο στάδιο, σχεδιάζει όλες τις λεπτομέρειες υλοποίησης του σπιτιού. Θα αποτυπώσει σε ένα άλλο σχέδιο [13]

14 τις κολόνες, τις δοκούς που θα τις συνδέουν, τα θεμέλια, τα σίδερα που θα πρέπει να τοποθετηθούν σε όλα αυτά, τις σωληνώσεις, θα προσδιορίζει με ακρίβεια τις διαστάσεις όλων αυτών και επιπλέον θα ορίσει ένα σωρό άλλες λεπτομέρειες που ο χρήστης δεν τις καταλαβαίνει από το σχέδιο, αλλά και δεν τον ενδιαφέρουν όλες αυτές οι λεπτομέρειες. Ο μηχανικός εκφράζει πάνω στο σχέδιο όλες τις λεπτομέρειες όχι με λέξεις, αλλά με σύμβολα. Δηλαδή κάνει αφαίρεση δεδομένων. Με τα κατάλληλα σύμβολα, παρουσιάζει σε ένα σχέδιο με έναν απλό και τυποποιημένο τρόπο (όλοι οι μηχανικοί χρησιμοποιούν τα ίδια σύμβολα) το σπίτι και τον τρόπο με τον οποίο θα κατασκευαστεί. Θα μπορούσαμε να το ονομάσουμε το σχέδιο αυτό, σχέδιο υλοποίησης του σπιτιού. Τέλος, ο εργολάβος παίρνει το σχέδιο υλοποίησης και φτιάχνει το σπίτι. Αντίστοιχη διαδικασία ακολουθείται και για το χτίσιμο μιας βάσης δεδομένων για κάποιον οργανισμό. Την όλη διαδικασία, με λεπτομέρειες, θα την αναφέρουμε σε επόμενο κεφάλαιο. Εδώ θα αναφέρουμε μόνο ότι η βάση δεδομένων θα σχεδιαστεί και θα υλοποιηθεί με το ΣΔΒΔ. Δηλαδή το ΣΔΒΔ βοηθά στην απλοποίηση του σχεδιασμού της βάσης και ταυτόχρονα την υλοποιεί. Επισημαίνουμε κάποιες αντιστοιχίες. Κατ αρχήν ο χρήστης ή οι χρήστες της βάσης συζητούν με το σχεδιαστή της βάσης τις απαιτήσεις τους. Για την ακρίβεια, συζητούν τη δουλειά που κάνει καθένας μέσα στον οργανισμό και τον τρόπο με τον οποίο την κάνει. Ο σχεδιαστής συγκεντρώνει τις απαιτήσεις των χρηστών και σύμφωνα με αυτές φτιάχνει ένα σκίτσο - ένα πρώτο σχέδιο - της βάσης δεδομένων που αποτελείται από λογικές έννοιες, όπως ΜΑΘΗΤΕΣ, ΤΑΞΕΙΣ, ΚΑΤΑΛΟΓΟΣ κ.λπ. Στη συνέχεια, μετατρέπει τις λογικές έννοιες σε τύπους εγγραφών (που θα γίνουν αρχεία στο δίσκο) και τις αποτυπώνει σε ένα σχέδιο. Στο σχέδιο αυτό, απεικονίζονται όλα τα πεδία με τους τύπους τους, οι τύποι εγγραφών, αλλά και όλοι οι τρόποι σύνδεσης μεταξύ τους. [14]

15 Πάνω σ αυτό το σχέδιο θα χτιστεί η πραγματική βάση δεδομένων. Γιατί πάνω στο δίσκο δεν τοποθετούμε λογικές έννοιες αλλά αρχεία. Για να κατασκευάσουμε το σχέδιο της βάσης δεδομένων, να το υλοποιήσουμε πάνω στο δίσκο αλλά και για να χειριστούμε τη βάση, πρέπει να εκφράσουμε τα δεδομένα με έναν απλό και τυποποιημένα τρόπο. Για την τυποποίηση και το χειρισμό των δεδομένων, απαιτούνται κατάλληλα σύμβολα. Το μοντέλο δεδομένων που είναι ενσωματωμένο στο ΣΔΒΔ μας παρέχει ακριβώς τα κατάλληλα σύμβολα που χρειαζόμαστε για όλες τις παραπάνω εργασίες. Το μοντέλο δεδομένων σε κάθε ΣΔΒΔ, είναι το κύριο εργαλείο με το οποίο πραγματοποιείται η αφαίρεση των δεδομένων, έτσι ώστε, ο χρήστης βλέπει μόνον τις λογικές έννοιες, όπως τα αντικείμενα, τις ιδιότητές τους καθώς και τις συσχετίσεις τους (τον τρόπο σύνδεσή τους) σε μια απλή και τυποποιημένη μορφή. Ο χρήστης όπως ήδη έχουμε επισημάνει, δε θέλει να βλέπει τα δεδομένα όπως είναι γραμμένα στο δίσκο, σαν λέξεις από 0 και 1, ούτε τον ενδιαφέρουν οι λεπτομέρειες αποθήκευσης των δεδομένων, δηλαδή αν είναι τοποθετημένα σε κατακερματισμένους (hash) πίνακες ή δένδρα κ.λπ., αντίθετα, θέλει να βλέπει τα δεδομένα σε μια απλή και κατανοητή μορφή, όπως ακριβώς τα καταλαβαίνει. Αυτό ακριβώς του προσφέρει το μοντέλο δεδομένων και ιδιαίτερα το σχεσιακό μοντέλο δεδομένων. Έτσι, το μοντέλο δεδομένων είναι το εργαλείο εκείνο, που θα μας διευκολύνει με την τυποποίηση των δεδομένων που μας προσφέρει, 1) στην περιγραφή της δομής της βάσης, επειδή περιέχει τα κατάλληλα σύμβολα για τον ορισμό των δεδομένων, 2) στην κατασκευή της, δηλαδή τη φυσική της υλοποίηση της πάνω στο μέσον αποθήκευσης (π.χ. στο δίσκο) και [15]

16 3) στο χειρισμό της, επειδή περιέχει τον κατάλληλο συμβολισμό για να κάνουμε πράξεις πάνω στα δεδομένα. Μπορούμε να πούμε ότι, σκοπός του μοντέλου, είναι να δώσει τον απαραίτητο συμβολισμό για την αφαίρεση των δεδομένων, αλλά και το συμβολισμό για μια κατάλληλη γλώσσα για τον ορισμό και το χειρισμό των δεδομένων. Σημειώνεται ακόμα, ότι χρησιμοποιώντας το μοντέλο, κάθε πεδίο ή εγγραφή ορίζεται κατά κανόνα μία και μοναδική φορά. Έτσι, στις τροποοιήσεις των δεδομένων αποφεύγονται πιθανά λάθη, δηλαδή η ασυνέπεια των δεδομένων. Παράδειγμα Θεωρούμε μια τράπεζα η οποία έχει μεγάλο πλήθος δεδομένων και παρέχει ένα μεγάλο αριθμό υπηρεσιών. Θα πάρουμε ένα πολύ μικρό μέρος από τις εργασίες της τράπεζας, για να δείξουμε μόνο τις διευκολύνσεις που παρέχει το σχεσιακό μοντέλο δεδομένων ενός ΣΔΒΔ.. Όπως κάθε οργανισμός, έτσι και η τράπεζα είναι οργανωμένη σε τμήματα, κάθε ένα από τα οποία εκτελεί κάποιες συγκεκριμμένες εργασίες. Στο τμήμα ΔΑΝΕΙΩΝ στο οποίο παρέχονται τα πάσης φύσεως δάνεια, όπως βιομηχανικά, στεγαστικά κ.λπ., χρησιμοποιούν μεταξύ άλλων το αρχείο : 1) ΔΑΝΕΙΑ(ΚΩΔΙΚΟΣ_ΔΑΝ, ΤΙΤΛΟΣ, ΠΟΣΟ) Με πεδία ΚΩΔΙΚΟΣ_ΔΑΝ, ΤΙΤΛΟΣ και ΠΟΣΟ και τύπους δεδομένων αντίστοιχα, ακέραιο, συμβολοσειρά και πραγματικό αριθμό για το τρίτο. Μια εγγραφή (για την ακρίβεια μια εμφάνισή της) για κάθε ένα δάνειο, είναι της μορφής, 115 Στεγαστικό και έχει για τιμές πεδίων τον κωδικό του δανείου, τον τίτλο του δανείου και το ανώτατο ποσό που μπορεί να εγκριθεί. Στο τμήμα Συναλλαγών χρησιμοποιούν το αρχείο [16]

17 2) ΠΕΛΑΤΕΣ(ΚΩΔ_ΠΕΛ, ΟΝΟΜΑ, ΔΙΕΥΘΥΝΣΗ, ΤΗΛΕΦ.) με τύπο και για τα τρία πεδία τη συμβολοσειρά. Το πρώτο αρχείο αφορά τη συντήρηση του καταλόγου των δανείων που παρέχει η τράπεζα και το δεύτερο τη συντήρηση του καταλόγου των πελατών της τράπεζας, δηλ. νέες εγγραφές, διαγραφές πελατών κ.λπ. Υποθέτουμε ότι το αρχείο ΠΕΛΑΤΕΣ το χρησιμοποιούν και σε άλλα πέντε τμήματα της τράπεζας, όπως στο τμήμα Καταθέσεων κ.λπ. Όπως είπαμε, το μοντέλο δεδομένων, έχει τα κατάλληλα σύμβολα για να εκφράσουμε τα δεδομένα με ένα λογικό και τυποποιημένο τρόπο (αφαίρεση δεδομένων) πάνω σε ένα σχέδιο, κατανοητό από το χρήστη. Τα σύμβολα αυτά, όπως τα ονόματα σχέσεων (πινάκων), γνωρισμάτων (στηλών) τύπων πεδίων char, real κ.λπ. χρησιμοποιούνται από τις γλώσσες του ΣΔΒΔ για να ορίσουμε, αποθηκεύσουμε και να χειριστούμε τα δεδομένα. Ο σχεδιαστής στο σχεσιακό μοντέλο, θα απεικονίσει στο σχέδιο της βάσης, τα παραπάνω αρχεία με τον εξής απλό τρόπο: ΔΑΝΕΙΑ ΚΩΔΙΚΟΣ_ΔΑΝ ΤΙΤΛΟΣ ΠΟΣΟ ΠΕΛΑΤΕΣ ΚΩΔ_ΠΕΛ ΟΝΟΜΑ ΔΙΕΥΘ ΤΗΛΕΦ ΠΕΛΑΤΕΣ_ΜΕ_ΔΑΝΕΙΑ ΚΩΔΙΚΟΣ_ΔΑΝ ΚΩΔ_ΠΕΛ Την τρίτη σχέση ΠΕΛΑΤΕΣ_ΜΕ_ΔΑΝΕΙΑ(ΚΩΔΙΚΟΣ_ΔΑΝ, ΚΩΔ_ΠΕΛ) τη χρησιμοποιεί ο σχεδιαστής για να εκφράσει τη σύνδεση μεταξύ των δύο άλλων σχέσεων. Οι συνδέσεις όπως θα δούμε αργότερα, υλοποιούνται μέσω των κλειδιών των σχέσεων, μια σημαντική έννοια του μοντέλου δεδομένων. [17]

18 Παίρνουμε τις τρεις παραπάνω σχέσεις, τις μετατρέπουμε σε αρχεία πάνω στο δίσκο, εισάγουμε δεδομένα και στη συνέχεια οι χρήστες υποβάλλουν επερωτήσεις. Η διαδικασία είναι η εξής: Ορίζουμε τη δομή του αρχείου (της γλώσσας Sql): ΠΕΛΑΤΕΣ με την εντολή Create Table ΠΕΛΑΤΕΣ(ΚΩΔ_ΠΕΛ Char(5), Εισάγουμε εγγραφές ΟΝΟΜΑ Char(30), ΔΙΕΥΘΥΝΣΗ Char(50), ΤΗΛΕΦ Char(8) ) ; στο αρχείο με: Insert Into ΠΕΛΑΤΕΣ Values( '115', 'Κ. Μουρμούρας', Δωδώνης100, ) ; Όμοια και για τις άλλες σχέσεις. Στη συνέχεια με την εντολή Select..., οι χρήστες ανακτούν τα αποθηκευμένα δεδομένα. Υπενθυμίζεται ότι οι χρήστες θα βλέπουν τα αρχεία στην οθόνη με τη μορφή πινάκων χωρίς να τους ενδιαφέρει η σειρά εμάνισης των γραμμών ή των στηλών των πινάκων. Η απλότητα στην έκφραση (δηλ. το συντακτικό) των παραπάνω πράξεων, οφείλεται στο ΣΔΒΔ και ιδιαίτερα στα σύμβολα (π.χ. ονόματα στηλών, πινάκων) του σχεσιακού μοντέλου δεδομένων. Επίσης, το γεγονός ότι βλέπουμε ένα αρχείο με τη μορφή πίνακα, οφείλεται αποκλειστικά στο σχεσιακό μοντέλο δεδομένων του ΣΔΒΔ. Όπως βλέπουμε από το παράδειγμα, το αρχείο ΠΕΛΑΤΕΣ το ορίσαμε με την εντολή, Create..., μία και μοναδική φορά, ενώ γνωρίζουμε ότι το αρχείο αυτό θα το χρησιμοποιούν σε πέντε διαφορετικά τμήματα και σε πολλές εφαρμογές. Οι χρήστες θα χρησιμοποιήσουν τις εφαρμογές για όλα τα τμήματα, κυρίως για να εισάγουν νέες εγγραφές, π.χ. να καταγράψουν ένα νέο πελάτη ή ένα δάνειο, ή να διαγράψουν ή να τροποποιήσουν κάποιες εγγραφές που έχουν ήδη καταχωρηθεί στα αρχεία. Το αρχείο θα ενεργοποιείται κάθε φορά που ένας χρήστης τρέχει μια εφαρμογή η οποία το χρειάζεται. [18]

19 Η ιδιότητα αυτή, κάθε αρχείο ή τύπος εγγραφής να ορίζεται μία και μοναδική φορά και στη συνέχεια να καλείται, κάθε φορά που εκτελείται το πρόγραμμα εφαρμογής που τον χρειάζεται, οφείλεται στο μοντέλο δεδομένων του ΣΔΒΔ, το οποίο μας επιτρέπει να έχουμε τα αρχεία της βάσης ενοποιημένα. Η ενοποίηση των αρχείων είναι σημαντική, γιατί αποφεύγουμε να κρατάμε στο χώρο αποθήκευσης αντίγραφα των ίδιων δεδομένων πολλές φορές ή ακόμα και περιττά δεδομένα. Λιγώτερα δεδομένα σημαίνει οικονομία στον αποθηκευτικό χώρο και μεγαλύτερη αποτελεσματικότητα (ταχύτητα). Θα προσθέσουμε ακόμα ότι, επειδή ορίζουμε ένα αρχείο μια μόνο φορά, έχουμε μεγάλη ευελιξία, μπορούμε πιο εύκολα να αλλάξουμε τη δομή του όταν χρειάζεται, π.χ. να προσθέσουμε ένα επιπλέον πεδίο ή να αλλάξουμε τον τύπο δεδομένων σε ένα πεδίο του. Για όσους γνωρίζουν μια γλώσσα προγραμματισμού, θα υπενθυμίσουμε ότι όταν γράφουν μια εφαρμογή που επεξεργάζεται ένα αρχείο, στην αρχή του προγράμματος, στο τμήμα των δηλώσεων, θα αναφέρουν μεταξύ άλλων και τη δομή του αρχείου, δηλαδή τα πεδία του και τον τύπο δεδομένων τους. Αν χρειαστεί να αλλάξει η δομή σε κάποιο αρχείο, τότε θα χρειαστεί να αλλάξει και κάποιο από τα προγράμματα προσπέλασης σε αυτό το αρχείο, τουλάχιστο στο τμήμα των δηλώσεών του. Αντίθετα, τα προγράμματα ενός ΣΔΒΔ που χρησιμοποιούνται για την προσπέλαση στα δεδομένα της βάσης, είναι γραμμένα ανεξάρτητα από οποιοδήποτε συγκεκριμμένο αρχείο και έτσι μπορούν να προσπελαύνουν σε οποιοδήποτε αρχείο με δεδομένα ή σε πεδία αρχείων, ανεξάρτητα από την ονομασία τους, το πλήθος τους ή τον τύπο δεδομένων τους. Η περιγραφή (ή ο ορισμός) της δομής των αρχείων, αποθηκεύεται σε ένα ειδικό τμήμα του ΣΔΒΔ - στο Σύστημα Καταλόγου - ξεχωριστά από τα προγράμματα προσπέλασης. Η σημαντική αυτή ιδιότητα, καλείται ανεξαρτησία προγράμματος - δεδομένων. [19]

20 3.2 Γλώσσες επερωτήσεων. Tο ΣΔΒΔ περιέχει μια γλώσσα πολύ υψηλού επιπέδου, δηλαδή πολύ κοντά στη φυσική μας γλώσσα, με τις εντολές της οποίας ο χρήστης, 1) ορίζει τη δομή των δεδομένων (τον τύπο των πεδίων, τον τρόπο σύνδεσης των εγγραφών), 2) ορίζει τον τρόπο προσπέλασης στα δεδομένα και 3) εκτελεί πράξεις, δηλαδή χειρίζεται τα δεδομένα. Η γλώσσα αυτή καλείται γλώσσα επερωτήσεων (query language) Στο σχεσιακό μοντέλο η γλώσσα επερωτήσεων ονομάζεται SQL (Structure Query Languange). Τις εντολές της SQL θα τις αναπτύξουμε αναλυτικά σε επόμενο κεφάλαιο και θα αναφέρουμε παραδείγματα και για τις τρεις παραπάνω περιπτώσεις. Για λόγους θεωριτικούς κυρίως, συμφωνούμε ότι η γλώσσα του ΣΔΒΔ αποτελείται από δύο επιμέρους γλώσσες: { Τη γλώσσα ορισμού των υποσχημάτων τη θεωρούμε ίδια με τη Γλώσσα Ορισμού Δεδομένων}. 1) Τη Γλώσσα Ορισμού των Δεδομένων 2) Τη Γλώσσα Χειρισμού των Δεδομένων [20]

21 3.3 Διαχείριση Συναλλαγών Ένα σημαντικό πλεονέκτημα ενός ΣΔΒΔ είναι η ικανότητα να διαχειρίζεται ταυτόχρονα έναν μεγάλο αριθμό συναλλαγών. Συναλλαγές είναι διαδικασίες από διαδοχικές πράξεις που δρουν στα δεδομένα της βάσης. Οι βάσεις δεδομένων των μεγάλων οργανισμών είναι κατανεμημένες σε πολλά μέρη, με πολλούς υπολογιστές και εξυπηρετούν ταυτόχρονα χιλιάδες χρήστες. Ας πάρουμε τη βάση δεδομένων μιας μεγάλης αεροπορικής εταιρείας. Στη βάση αυτή, θα έχουμε ταυτόχρονη προσπέλαση στα δεδομένα της, από εκατοντάδες υπαλλήλους από πολλές διαφορετικές πόλεις ή ακόμα και διαφορετικές χώρες. Διαδοχικές προσπελάσεις στα ίδια δεδομένα δεν επιρρεάζουν η μια την άλλη. Υποθέστε όμως ότι για μια συγκεκριμένη πτήση γίνονται κρατήσεις θέσεων την ίδια στιγμή για την ίδια θέση, ή γίνονται κρατήσεις θέσεων τη στιγμή που κάποιος υπάλληλος ελέγχει τον αριθμό των κενών θέσεων. Ανάλογα προβλήματα παρουσιάζονται όταν γίνονται ταυτόχρονα πράξεις στο λογαριασμό ενός πελάτη σε μια τράπεζα. Δύο συναλλαγές που δρουν ταυτόχρονα πάνω στα ίδια δεδομένα, μπορεί να δημιουργήσουν προβλήματα και να μας δώσουν λανθασμένο αποτέλεσμα. Ετσι, κάθε συναλλαγή που τροποποιεί στοιχεία δεδομένων, πρέπει να τα "κλειδώνει", δηλαδή να μην επιτρέπει την ίδια στιγμή σε άλλες συναλλαγές να διαβάσουν ή να γράψουν πάνω σ' αυτά τα δεδομένα, μέχρις ότου ολοκληρωθεί. Το κλείδωμα των εγγραφών και γενικά η διαχείριση των συναλλαγών απαιτεί ιδιαίτερη προσοχή. Το κλείδωμα των εγγραφών ή των πεδίων είναι δύσκολο να υλοποιηθεί γιατί, απαιτείται οι αλγόριθμοι υλοποίησης να μην έχουν επιπτώσεις στην αποτελεσματικότητα του συστήματος ή την ακεραιότητα της βάσης [21]

22 Μπορεί το σύστημα να κλειδώνει εύκολα τα δεδομένα, αλλά να καθυστερεί υπερβολικά να απαντήσει σε μια αναζήτηση, ή μπορεί να οδηγεί τις συναλλαγές σε αδιέξοδα. Θεωρείστε για παράδειγμα μια συναλλαγή η οποία θα χρησιμοποιήσει ή συνδυάσει δεδομένα κατά σειρά από τις εγγραφές Α και Β και μια δεύτερη συναλλαγή η οποία θα συνδυάσει δεδομένα από τις εγγραφές Β και Α. Η πρώτη συναλλαγή θα κλειδώσει την εγγραφή Α για να πάρει τα δεδομένα που αναζητεί και στη συνέχεια θα προσπελάσει στη Β. Η δεύτερη συναλλαγή θα κλειδώσει την εγγραφή Β έως ότου πάρει τα δεδομένα που χρειάζεται, για να προσπελάσει στη συνέχεια στην Α. Όταν η πρώτη συναλλαγή τελειώσει με την εγγραφή Α και πάει στην Β, θα τη βρει κλειδωμένει εξ αιτίας της δεύτερης συναλλαγής. Θα πρέπει έτσι να περιμένει να τελειώσει η δεύτερη. Η δεύτερη συναλλαγή όταν τελειώσει με την εγγραφή Β και προσπαθήσει να πάρει στοιχεία από την Α θα τη βρει κλειδωμένη εξ αιτίας της πρώτης, έτσι κατ ανάγκη θα πρέπει να περιμένει. Είμαστε σε πλήρες αδιέξοδο. Οι αλγόριθμοι υλοποίησης των συναλλαγών είναι αρκετά πολύπλοκοι. Ένα ΣΔΒΔ πρέπει να έχει ένα είδος ελέγχου των ταυτόχρονων συναλλαγών για να προλαβαίνει ανεπιθύμητες προσπελάσεις στα ίδια δεδομένων από περισσότερες από μία συναλλαγές. [22]

23 3.4 Ασφάλεια Δεδομένων Ένα ΣΔΒΔ πρέπει να έχει την ικανότητα να προστατεύει τα δεδομένα της βάσης από οποιαδήποτε μηχανική βλάβη του συστήματος, από λανθασμένες διαγραφές ή τροποποιήσεις των δεδομένων, είτε γίνονται σκόπιμα είτε όχι., να ελέγχει την εγκυρότητα των δεδομένων σε σχέση με τους διάφορους περιορισμούς που έχουν επιβληθεί στα δεδομένα της βάσης και το σημαντικώτερο, να ελέγχει την προσπέλαση στα δεδομένα της βάσης για όλους τους χρήστες και να επιτρέπει να διαβάσουν ή να γράψουν σε κάποια αρχεία ή πεδία της βάσης, μόνον εκείνοι οι χρήστες οι οποίοι έχουν τη σχετική άδεια γι αυτό. Παράδειγμα Αν γίνει μια διακοπή ρεύματος ή μια μηχανική βλάβη στον υπολογιστή, πρέπει να μπορούμε να κάνουμε επαναφορά (recovery) της βάσης στην κατάσταση που είχαμε πριν τη διακοπή. Απ την άλλη μεριά, υποθέστε ότι κάποιος χρήστης εκτελεί μια συναλλαγή που αποτελείται από πέντε εντολές. Τη στιγμή που το σύστημα εκτελεί την τρίτη εντολή διακόπτεται το ρεύμα. Αν ήδη έχει καταγράψει τις δύο εντολές, τότε θα έχουμε λανθασμένα δεδομένα. Γι αυτές τις περιπτώσεις, για να αποφύγουμε την ασυνέπεια των δεδομένων, το σύστημα κλειδώνει τις εγγραφές ή τα σχετικά πεδία και όταν ολοκληρωθεί η συναλλαγή τότε μόνον γίνονται μόνιμες οι τυχόν τροποποιήσεις Στα δεδομένα της βάσης επιβάλλονται πολλοί περιορισμοί για να αποφεύγονται τα λάθη κατά τις διαγραφές ή τροποποιήσεις των εγγραφών. Θεωρούμε ότι έχουμε στο λογιστήριο μιας επιχείρισης μεταξύ άλλων δύο αρχεία. Στο ένα αρχείο κρατάμε όλα τα [23]

24 στοιχεία των εργαζομένων και στο άλλο αρχείο έχουμε τη μισθοδοσία τους. Θα πρέπει να έχουμε επιβάλλει στα δεδομένα κάποιον περιορισμό, ότι για να πληρωθεί κάποιος θα πρέπει να εργάζεται, δηλαδή να είναι στο αρχείο των εργαζομένων. Έτσι, κάθε φορά που πρόκειται να πληρωθεί κάποιος, το σύστημα ελέγχει αν είναι καταχωρημένος στο αρχείο εργαζομένων. Ένας άλλος περιορισμός θα μπορούσε να ήταν ότι, ο μισθός των υπαλλήλων στην επιχείριση δεν υπερβαίνει τις , έτσι δεν είναι δυνατό να γίνει λάθος και να πληρωθεί κάποιος με περισσότερα χρήματα, γιατί το σύστημα θα συγκρίνει κάθε φορά τον μισθό του με το παραπάνω ποσό. Δεν μπορούμε να θέτουμε πάρα πολλούς περιορισμούς στα δεδομένα μας, γιατί ο έλεγχος εγκυρότητας των δεδομένων που θα κάνει το ΣΔΒΔ ως προς τους περιορισμούς, θα έχει αρνητικές επιπτώσεις στην αποτελεσματικότητά του. Όπως είπαμε στην αρχή, το κυριώτερο αντικείμενο της ασφάλειας είναι ο έλεγχος που πρέπει να κάνει το ΣΔΒΔ έτσι ώστε να μην επιτρέπει την προσπέλαση σε αρχεία ή πεδία σε όσους χρήστες δεν έχουν σχετική άδεια. Ο έλεγχος της προσπέλασης στη βάση δεδομένων επιτυγχάνεται εύκολα, επιβάλοντας κωδικούς (συνθηματικά, passwords) σε διάφορα επίπεδα ασφαλείας. Κατ αρχήν όλοι οι χρήστες χρειάζονται ένα κωδικό για να χρησιμοποιήσουν τη βάση δεδομένων. Στη συνέχεια, ανάλογα με την εργασία τους και την ευαισθησία των δεδομένων τα οποία χειρίζονται, χρειάζονται επιπλέον κωδικούς. Επίσης μπορεί να έχουν για κάποια δεδομένα, την άδεια να τα βλέπουν μια συγκεκριμένη ώρα και για περιορισμένη χρονική διάρκεια ή από μια συγκεκριμένη θέση εργασίας κ.λπ. Για να μπορούν οι χρήστες να βλέπουν επιλεγμένα τμήματα από τα αρχεία, κάποια πεδία, αλλά όχι ολόκληρα τα αρχεία, το ΣΔΒΔ μας διευκολύνει με μια δομή που λέγεται "όψη" (view). Η όψη, μας επιτρέπει να συνδυάσουμε πεδία από ένα ή περισσότερα αρχεία και να ορίσουμε τη δομή ενός νέου φανταστικού αρχείου, δηλαδή ενός αρχείου που δεν υπάρχει πάνω στο δίσκο και το οποίο συμπεριφέρεται σα να είναι ένα πραγματικό, αποθηκευμένο αρχείο. [24]

25 Είναι η ιδιότητα που έχει το ΣΔΒΔ, να διατηρεί η βάση όλους τους περιορισμούς που έχουν επιβληθεί στις τιμές των δεδομένων της κάτω από οποιεσδήποτε τροποποιήσεις (πρόσθεση, διαγραφή ή ενημέρωση εγγραφών). Αν υπάρχει ο περιορισμός ότι «ο μισθός του υπαλλήλου δεν υπερβαίνει το μισθό του διευθυντή του» και εισαχθεί μια εγγραφή υπαλλήλου που δεν ικανοποιεί αυτόν τον περιορισμό, τότε η συγκεκριμένη εγγραφή πρέπει αυτόματα να διαγράφεται. Σε κάθε εισαγωγή ή τροποποίηση του πεδίου μισθός, όπως ήδη αναφέρθηκε και στην ασφάλεια των δεδομένων, πρέπει αυτόματα να γίνεται ο έλεγχος της προηγούμενης συνθήκης. [25]

26 3.5 Ακεραιότητα της βάσης Είναι η ιδιότητα που έχει το ΣΔΒΔ, να διατηρεί η βάση όλους τους περιορισμούς που έχουν επιβληθεί στις τιμές των δεδομένων της κάτω από οποιεσδήποτε τροποποιήσεις (πρόσθεση, διαγραφή ή ενημέρωση εγγραφών). Αν υπάρχει ο περιορισμός ότι «ο μισθός του υπαλλήλου δεν υπερβαίνει το μισθό του διευθυντή του» και εισαχθεί μια εγγραφή υπαλλήλου που δεν ικανοποιεί αυτόν τον περιορισμό, τότε η συγκεκριμένη εγγραφή πρέπει αυτόματα να διαγράφεται. Σε κάθε εισαγωγή ή τροποποίηση του πεδίου μισθός, όπως ήδη αναφέρθηκε και στην ασφάλεια των δεδομένων, πρέπει αυτόματα να γίνεται ο έλεγχος της προηγούμενης συνθήκης. [26]

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

28 3.7 Σύστημα καταλόγου Το σύστημα καταλόγου είναι ένα τμήμα του ΣΔΒΔ στο οποίο καταγράφονται όλες οι πληροφορίες που αφορούν τη δομή καθενός αρχείου, τον τύπο δεδομένων και τον τρόπο αποθήκευσης καθενός πεδίου, καθώς και όλοι οι περιορισμοί που επιβάλουμε στα δεδομένα. Οι πληροφορίες αυτές καλούνται μεταδεδομένα και περιγράφουν τη δομή της βάσης δεδομένων. Συνεπώς, ένα ΣΔΒΔ περιέχει όχι μόνον τη βάση δεδομένων, αλλά περιέχει με κάθε λεπτομέρεια και τον πλήρη ορισμό ή περιγραφή της βάσης. Το σύστημα καταλόγου είναι σημαντικό, γιατί με την πάροδο του χρόνου, καθώς αυξάνονται οι απαιτήσεις της επιχείρισης και χρειάζονται νέες εφαρμογές ή τροποποιήσεις στις εφαρμογές που ήδη υπάρχουν, οι προγραμματιστές πρέπει να γνωρίζουν λεπτομερώς τη δομή των δεδομένων και τους διάφορους περιορισμούς για να γράψουν ή να τροποποιήσουν τις εφαρμογές. Απ την άλλη μεριά, οι επιχειρίσεις δεν εξαρτώνται άμεσα από το προσωπικό που υλοποίησε τις τρέχουσες εφαρμογές. [28]

29 ΚΕΦΑΛΑΙΟ 4. Αρχιτεκτονική των Βάσεων Δεδομένων Στα προηγούμενα κεφάλαια, αναφέραμε, τι είναι μια Βάση δεδομένων και τον τρόπο με τον οποίο τη διαχειριζόμαστε, δηλαδή τι είναι το ΣΔΒΔ, ποιος είναι ο σκοπός του και ποια είναι τα σημαντικότερα χαρακτηριστικά του. Όταν λέμε Βάση Δεδομένων ή Σύστημα Βάσης Δεδομένων, εννοούμε, τα δεδομένα της βάσης που είναι μόνιμα στο δίσκο, το λογισμικό με το οποίο την ορίζουμε, την υλοποιούμε και τη διαχειριζόμαστε, δηλαδή το ΣΔΒΔ, καθώς και ένα σύνολο εφαρμογών με τις οποίες επεξεργαζόμαστε τα δεδομένα για να παίρνουμε τις πληροφορίες που θέλουμε. Στη συνέχεια θα εξετάσουμε την αρχιτεκτονική των βάσεων δεδομένων. Θα ταξινομήσουμε το πολύπλοκο λογισμικό του ΣΔΒΔ σε σχέση με τις λειτουργικές ιδιότητες των προγραμμάτων του. Αρχιτεκτονική των τριών Επιπέδων Λογικό επίπεδο της Βάσης Δεδομένων Το Επίπεδο της Όψης Το φυσικό επίπεδο της Βάσης Δεδομένων Σύνοψη Ανεξαρτησία Δεδομένων [29]

30 4.1. Αρχιτεκτονική των τριών Επιπέδων Όπως έχει αναφερθεί, το ΣΔΒΔ είναι το μέσον που συνδέει το χρήστη με το υλικό, δηλαδή το δίσκο του υπολογιστή πάνω στον οποίο είναι καταγραμμένα τα δεδομένα της βάσης. Ο χρήστης με τις εντολές της Γλώσσας Ορισμού δεδομένων, θα ορίσει τα αρχεία (τις δομές αποθήκευσης) που θα χρησιμοποιήσει για τα δεδομένα του, στη συνέχεια θα τοποθετήσει τα δεδομένα στα αρχεία και θα τα διαχειριστεί με τη Γλώσσα Χειρισμού Δεδομένων. Είναι αυτονόητο ότι το λογισμικό του ΣΔΒΔ αποτελείται από πολλά προγράμματα και είναι αρκετά πολύπλοκο. Για να κατανοήσουμε το σχεδιασμό ή την αρχιτεκτονική ενός ΣΔΒΔ και τον τρόπο λειτουργίας του, χωρίζουμε (θεωρητικά) το λογισμικό του σε τρία τμήματα ή τρεις ομάδες προγραμμάτων. Το πρώτο τμήμα, αντιστοιχεί στους χρήστες, οι οποίοι χειρίζονται λογικές έννοιες όπως ΒΙΒΛΙΑ, ΠΕΛΑΤΕΣ, ΥΠΑΛΛΗΛΟΙ, κ.λπ. και στις εφαρμογές τους, το δεύτερο τμήμα στην τυποποίηση, τον ορισμό και τον τρόπο σύνδεσης αυτών των εννοιών που επιτυγχάνεται με το μοντέλο δεδομένων και το τρίτο τμήμα αντιστοιχεί στον τρόπο αποθήκευσης αυτών των εννοιών στο δίσκο. Έτσι, με το λογισμικό του ΣΔΒΔ, από τον τελικό χρήστη που χειρίζεται έννοιες, όπως υπάλληλοι, βιβλία, λογαριασμούς κ.λπ., φτάνουμε στο δίσκο του υπολογιστή ο οποίος χρησιμοποιεί μόνον 0 και 1, τυποποιώντας τις έννοιες και προσθέτοντας λεπτομέρειες. Αν δούμε τη διαδικασία αντίστροφα, για να μετασχηματίσουμε τις συμβολοσειρές από 0 και 1 που είναι στο δίσκο του υπολογιστή, στις αντίστοιχες λογικές έννοιες που βλέπει ο τελικός χρήστης στην οθόνη του υπολογιστή, πρέπει να κάνουμε διαδοχικές αφαιρέσεις. Μπορούμε να θεωρήσουμε πολλά επίπεδα αφαίρεσης. Θα συμφωνήσουμε και θα δεχτούμε, τρία επίπεδα αφαίρεσης, τα οποία αντιστοιχούν στον παραπάνω θεωρητικό [30]

31 διαχωρισμό του λογισμικού του ΣΔΒΔ. Γι' αυτό, η αρχιτεκτονική των βάσεων δεδομένων, αναφέρεται ως αρχιτεκτονική των τριών επιπέδων. Η αρχιτεκτονική των τριών επιπέδων αποδίδεται σχηματικά στην ακόλουθη εικόνα. Στη συνέχεια θα εξετάσουμε ένα προς ένα τα τρία επίπεδα, αρχίζοντας από το λογικό επίπεδο της βάσης, αντίστοιχα με τη διαδικασία που ακολουθούμε για το σχεδιασμό της. [31]

32 4.2 Λογικό επίπεδο της Βάσης Δεδομένων 2.1 Το Εννοιολογικό Σχήμα 2.2 Το Λογικό Σχήμα της Βάσης Δεδομένων [32]

33 4.2.1 Το Εννοιολογικό Σχήμα Όταν αποφασίσουμε να φτιάξουμε τη βάση δεδομένων για έναν οργανισμό, το πρώτο που έχουμε να κάνουμε, είναι, να καταγράψουμε με όλες τις λεπτομέρειες, όλες τις έννοιες και τα αντικείμενα που εμφανίζονται στον οργανισμό, μαζί με τις ιδιότητές του, δηλαδή, να καταγράψουμε τις οντότητες με τα γνωρίσματά τους, αλλά και τον τρόπο με τον οποίον εμπλέκονται μεταξύ τους, καθώς επίσης και τον τρόπο λειτουργίας του οργανισμού με κάθε δυνατή λεπτομέρεια. Ας ξαναπάρουμε το παράδειγμα του καταλόγου των μαθητών που χρησιμοποιήσαμε σε προηγούμενο κεφάλαιο. Υποθέτουμε ότι το σχολείο έχει και μια οργανωμένη βιβλιοθήκη η οποία εξυπηρετείται από τρεις υπαλλήλους, από την οποία οι μαθητές δανείζονται βιβλία για κάποιο χρονικό διάστημα. Θέλουμε να φτιάξουμε μια μικρή βάση δεδομένων, στην οποία θα έχουμε καταχωρήσει τους μαθητές, τους καθηγητές, τα βιβλία και τα στοιχεία των μαθητών ή καθηγητών που δανείζονται βιβλία. Θα καταγράψουμε με κάθε λεπτομέρεια: o o o o o o Τα στοιχεία των μαθητών. Τα στοιχεία των καθηγητών. Τα βιβλία τα οποία θα αναφέρονται με τον τίτλο, τον συγγραφέα κ.τ.λ. Τις διαδικασίες παραγγελίας, καταχώρισης και δανεισμού των βιβλίων. Τους μαθητές, τους καθηγητές και όσους έχουν δανειστεί βιβλία, με όλα τα στοιχεία τους, καθώς επίσης και τους περιορισμούς που επιβάλλονται από τη διαδικασία δανεισμού. Όπως για παράδειγμα, ένας μαθητής μπορεί να δανειστεί ένα βιβλίο για ένα μήνα ενώ ένας καθηγητής μόνο για εβδομάδα. Γενικά, θα γράψουμε σε φυσικό λόγο, σε μια έκθεση, οτιδήποτε εμφανίζεται, ή συμμετέχει στη διαδικασία της λειτουργίας της βιβλιοθήκης. Η παραπάνω διαδικασία, με την οποία καταγράφουμε μία προς μία, όλες τις έννοιες ή τα αντικείμενα που εμφανίζονται στη βιβλιοθήκη, καθώς και τον τρόπο λειτουργίας τους, ονομάζεται εννοιολογική ανάλυση της βάσης δεδομένων. [33]

34 Μια επιχείρηση, ή ένας οργανισμός επειδή αποτελούν ένα μικρόκοσμο, αναφέρονται συνήθως με τον όρο "πραγματικός κόσμος". Μπορούμε να πούμε ότι, η "εννοιολογική ανάλυση της βάσης δεδομένων" είναι, η συστηματική και λεπτομερής μελέτη του πραγματικού κόσμου. Μετά την εννοιολογική ανάλυση, αφού την κατανοήσουμε σε βάθος, παραλείπουμε τις λεπτομέρειες και εκφράζουμε τις οντότητες, τις ιδιότητές τους και τους περιορισμούς ακεραιότητας που επιβάλλονται πάνω στις οντότητες, μ έναν απλό και εύχρηστο τρόπο, όπως ακριβώς τις καταλαβαίνουν οι χρήστες (οι αρμόδιοι καθηγητές για το δανεισμό ή ο διευθυντής) της βάσης. Για παράδειγμα, οι χρήστες τις βιβλιοθήκης βλέπουν την Οντότητα : ΒΙΒΛΙΟ Με ιδιότητες ή Γνωρίσματα:: Τίτλος, Ον_Συγγρ, κ.τ.λ. Οντότητα: ΔΑΝΕΙΣΜΕΝΟ με Γνωρίσματα : Τίτλος, Ονομα δανειζόμενου, Ημερομηνία Δανεισμού, Ημερομηνία Επιστροφής Περιορισμός: Ένα βιβλίο για να είναι στο αρχείο ΔΑΝΕΙΣΜΕΝΟ, θα πρέπει να είναι καταχωρημένο πρώτα στο αρχείο ΒΙΒΛΙΟ, κλπ. Η καταγραφή των συνόλων οντοτήτων με τις ιδιότητες τους και τους περιορισμούς ακεραιότητας, (όπως λογικά τα καταλαβαίνουν οι χρήστες της βάσης), η οποία προκύπτει από την εννοιολογική ανάλυση, καλείται "Εννοιολογική Βάση Δεδομένων". Μ' άλλα λόγια, ονομάζουμε Εννοιολογική Βάση Δεδομένων, την αφαίρεση (όπως τη βλέπουν οι χρήστες) του πραγματικού κόσμου, που περιγράφεται στην εννοιολογική ανάλυση. [34]

35 Τις πληροφορίες για τις οντότητες, τις ιδιότητές τους και τον τρόπο σύνδεσής τους που έχουμε καταγράψει στην Εννοιολογική βάση δεδομένων, τις κωδικοποιούμε με κατάλληλα σύμβολα και τις εκφράζουμε όλες μαζί σε ένα σχέδιο. Το σχέδιο αυτό καλείται Εννοιολογικό σχήμα της βάσης. Υπενθυμίζεται εδώ, το παράδειγμα της κωδικοποίησης των πληροφοριών με σύμβολα που έχουμε στους χάρτες. Τα σύμβολα που θα χρησιμοποιήσουμε για το σχέδιο της εννοιολογικής βάσης, μας τα παρέχει ένα μοντέλο δεδομένων πολύ υψηλού επιπέδου (πολύ κοντά στη φυσική γλώσσα του χρήστη), που καλείται μοντέλο Οντότητα-Συσχέτιση. Στο μοντέλο αυτό και στην κατασκευή του εννοιολογικού σχήματος της βάσης δεδομένων, θα αναφερθούμε σε επόμενο κεφάλαιο. Προς το παρόν, θα αναφέρουμε μόνον σαν παράδειγμα ότι, η οντότητα ΒΙΒΛΙΟ που εμφανίζεται στην εννοιολογική βάση, παριστάνεται στο εννοιολογικό σχήμα, με ένα ορθογώνιο μέσα στο οποίο γράφουμε το όνομά της, δηλαδή "ΒΙΒΛΙΟ". Τα γνωρίσματα της οντότητας ΒΙΒΛΙΟ, γράφονται μέσα σε κύκλους ή ελλείψεις και συνδέονται με το ορθογώνιο. Έτσι, παριστάνουμε την οντότητα με τα γνωρίσματά της με το σχήμα: Σημειώνεται ότι, οι περιορισμοί ακεραιότητας που επιβάλλονται στα δεδομένα, θα πρέπει να εμφανίζονται στην εννοιολογική βάση δεδομένων και όχι στο εννοιολογικό σχήμα. [35]

36 [36]

37 4.2.2 Λογικό Σχήμα της Βάσης Δεδομένων Το εννοιολογικό σχήμα σχεδιάζεται αποκλειστικά με βάση τις πληροφορίες που περιέχει η εννοιολογική βάση και εκφράζονται οι πληροφορίες σ' αυτό το σχέδιο με ένα λογικό τρόπο, όπως ακριβώς τις καταλαβαίνει ο χρήστης. Απ' την άλλη μεριά, στον υπολογιστή δεν τοποθετούμε οντότητες, δηλαδή σχέσεις με τα γνωρίσματά τους, αλλά τύπους εγγραφών με τα πεδία τους, δηλαδή πίνακες με συγκεκριμένες στήλες. Και φυσικά, για να ορίσουμε και να κατασκευάσουμε τη βάση, θα πρέπει να εκφράσουμε τις εγγραφές, τους τύπους δεδομένων τους και τον τρόπο σύνδεσής τους με ένα συγκεκριμένο μοντέλο δεδομένων ενός ΣΔΒΔ της αγοράς. Έτσι, έχοντας υπόψη το συγκεκριμένο ΣΔΒΔ με το οποίο θα κατασκευάσουμε τη βάση δεδομένων, θα πρέπει να μετατρέψουμε το εννοιολογικό σχήμα, σε ένα άλλο σχέδιο πιο συγκεκριμένο, που υποστηρίζεται από το μοντέλο δεδομένων του ΣΔΒΔ που διαθέτουμε. Από την άποψη της υλοποίησης, το εννοιολογικό σχήμα αναφέρεται ως λογικό σχήμα της βάσης δεδομένων. Το Λογικό σχήμα της βάσης δεδομένων για έναν οργανισμό, σχεδιάζεται έχοντας υπόψη το μοντέλο δεδομένων ενός συγκεκριμένου ΣΔΒΔ και περιλαμβάνει, όλους τους τύπους εγγραφών και τις συσχετίσεις τους, έτσι ώστε, η συνολική δομή που αποτυπώνεται στο σχήμα, να αντανακλά με ακρίβεια τον ίδιο τον οργανισμό Στο λογικό σχήμα πρέπει να αποτυπώνονται με ακρίβεια, όλα τα δεδομένα και οι λειτουργίες ενός οργανισμού σε ένα ενιαίο σχέδιο. Πρέπει να τονίσουμε ότι και το εννοιολογικό σχήμα αντανακλά με ακρίβεια, τη δομή και τις λειτουργίες ενός οργανισμού. Το ίδιο ακριβώς συμβαίνει και με το λογικό σχήμα που στηρίζεται στις πληροφορίες του εννοιολογικού σχήματος, μόνο που περιέχει επιπλέον λεπτομέρειες για την υλοποίηση της βάσης. [37]

38 Επειδή όλα σχεδόν τα ΣΔΒΔ που διατίθενται σήμερα στην αγορά έχουν ως μοντέλο δεδομένων το σχεσιακό, το παράδειγμα της οντότητας ΒΙΒΛΙΟ που αναφέραμε στο εννοιολογικό σχήμα, εκφράζεται στο λογικό σχήμα της βάσης δεδομένων, με τη μορφή: Βιβλίο Τίτλος Ον-Συγγρ Τίτλος: χαρ(30) Ον-Συγγρ: χαρ(50) Βεβαίως το Λογικό σχήμα θα περιέχει αντίστοιχα σχέδια για τους τύπους εγγραφών για όλες τις οντότητες και για όλες τις συσχετίσεις τους που εμφανίζονται στο εννοιολογικό σχήμα. [38]

39 4.3 Το Επίπεδο της Όψης Το επίπεδο της όψης ή και εξωτερικό επίπεδο, στοχεύει στον τελικό χρήστη Θα πάρουμε πάλι το παράδειγμα της βιβλιοθήκης που αναφέραμε στο Λογικό σχήμα. Υποθέστε ότι φτιάξαμε την εννοιολογική βάση δεδομένων και κωδικοποιήσαμε όλες τις πληροφορίες της στο εννοιολογικό σχήμα της βάσης μέσω του μοντέλου οντότητασυσχέτιση. Οι εργασίες αυτές όπως έχουμε ήδη αναφέρει, είναι ανεξάρτητες από το λογισμικό. Στη συνέχεια, αφού επιλέξουμε ένα σχεσιακό ΣΔΒΔ, αποτυπώνουμε σε ένα σχέδιο, το λογικό σχήμα όπως το ονομάσαμε, τους τύπους εγγραφών όλων των οντοτήτων που εμφανίζονται στη βιβλιοθήκη, καθώς και τους τρόπους που συνδέονται μεταξύ τους. Το πώς ακριβώς θα γίνει αυτό, θα το δούμε σε επόμενα κεφάλαια. Το εννοιολογικό και το λογικό σχήμα της βάσης που έχουμε φτιάξει, δεν μας είναι χρήσιμα, αν δεν φτιάξουμε τις εφαρμογές (τα προγράμματα) που θα τρέχουν οι χρήστες. Για παράδειγμα, ένας χρήστης θέλει να τρέχει μια εφαρμογή για να χρεώνει τα βιβλία που θα δανείζονται οι μαθητές και οι καθηγητές, ας την ονομάσουμε ΔΑΝΕΙΣΜΟΣ. Ένας άλλος χρήστης θέλει να τρέχει μια εφαρμογή - ΚΑΤΑΛΟΓΟΣ_ΒΙΒΛΙΩΝ - για να καταχωρεί τα βιβλία με όλα τα στοιχεία τους και ένας τρίτος θέλει μια εφαρμογή ΚΑΤΑΛΟΓΟΣ_ΜΑΘΗΤΩΝ, για να καταγράφει τις απουσίες των μαθητών του σχολείου κ.λπ. Θα πρέπει πρώτα να σχεδιάσουμε αυτές τις εφαρμογές και στη συνέχεια να τις υλοποιήσουμε. Για να σχεδιάσουμε οποιαδήποτε εφαρμογή για τους χρήστες, θα στηριχτούμε στο εννοιολογικό σχήμα, ενώ για να φτιάξουμε την εφαρμογή (το πρόγραμμα που θα τρέχει), θα πρέπει να βασιστούμε αποκλειστικά στο λογικό σχήμα. Πιο συγκεκριμένα: Έστω ότι στο εννοιολογικό σχήμα, έχουμε μεταξύ άλλων και τα αρχεία: [39]

40 1) ΒΙΒΛΙΑ(ΤΙΤΛΟΣ, ΟΝΟΜΑ_ΣΥΓΓΡ) 2) ΚΑΤΑΛ_ΜΑΘΗΤΩΝ(ΟΝΟΜΑ, ΔΙΕΥΘΥΝΣΗ, ΤΗΛ) 3) ΔΑΝΕΙΖΟΜΕΝΟΙ(ΟΝΟΜΑ, ΔΙΕΥΘΥΝΣΗ, ΤΗΛ) Η εφαρμογή ΔΑΝΕΙΣΜΟΣ, χρησιμοποιεί το τμήμα του εννοιολογικού σχήματος που αφορά μόνο, o o o την οντότητα ΒΙΒΛΙΑ με γνωρίσματα τον ΤΙΤΛΟ και το ΟΝΟΜΑ_ΣΥΓΓΡ χωρίς να μας ενδιαφέρουν τυχόν άλλα γνωρίσματα που υπάρχουν, την οντότητα ΔΑΝΕΙΖΟΜΕΝΟΙ με γνωρίσματα το ΟΝΟΜΑ, την ΔΙΕΥΘΥΝΣΗ και το ΤΗΛΕΦΩΝΟ, για όσους από τους μαθητές και καθηγητές δανείζονται κάποια βιβλία και θα περιέχει επίσης κάποια σύνδεση αυτών των δύο οντοτήτων. Για τη παραπάνω εφαρμογή, δεν παίζει κανένα ρόλο, ούτε βεβαίως θα χρησιμοποιηθεί π.χ. το αρχείο των προμηθευτών της βιβλιοθήκης. Για να φτιάξουμε την εφαρμογή ΔΑΝΕΙΣΜΟΣ, θα χρησιμοποιήσουμε τα ίδια αρχεία τα οποία χρειαζόμαστε, όπως τα έχουμε όμως στο λογικό σχήμα, με τους τύπους δεδομένων των πεδίων τους κ.τ.λ. Η εφαρμογή για την καταχώριση των βιβλίων, θα χρησιμοποιεί ένα άλλο τμήμα του εννοιολογικού σχήματος (κάποια αρχεία με όλα ή μερικά πεδία τους). Η εφαρμογή ΔΑΝΕΙΣΜΟΣ, όπως και κάθε εφαρμογή, χρησιμοποιεί μόνον εκείνα τα τμήματα του εννοιολογικού σχήματος, τα οποία είναι απαραίτητα για να εκπληρώσει το σκοπό για τον οποίο φτιάχνεται. Το μέρος εκείνο της εννοιολογικής βάσης δεδομένων (ή και του εννοιολογικού σχήματος) πάνω στο οποίο στηρίζεται ο σχεδιασμός μιας εφαρμογής, αν το διαχωρίσουμε από την υπόλοιπη εννοιολογική βάση και το θεωρήσουμε σαν μια ξεχωριστή ενότητα το καλούμε όψη. Δηλαδή, ονομάζουμε όψη (view), το μέρος εκείνο της εννοιολογικής βάσης δεδομένων, που αντιστοιχεί σε μία εφαρμογή. [40]

41 Το τμήμα εκείνο του λογικού σχήματος, που περιέχει τους τύπους εγγραφών και τις συνδέσεις μόνον εκείνων των οντοτήτων που εμφανίζονται στην όψη και βάσει του οποίου υλοποιείται η εφαρμογή, καλείται ένα " υποσχήμα". Μ' άλλα λόγια, μια όψη είναι ένα μέρος της εννοιολογικής βάσης, ενώ το υποσχήμα είναι το σχέδιο της παρμένο από το λογικό σχήμα. Για κάθε συλλογή δεδομένων που υπάρχουν μέσα στη βάση, μπορούμε να φτιάξουμε μια όψη η οποία να περιέχει ακριβώς αυτά τα δεδομένα. Όταν λοιπόν θέλουμε κάποιοι χρήστες να έχουν πρόσβαση μόνο σε συγκεκριμένα τμήματα δεδομένων, τότε, φτιάχνουμε μια όψη από αυτά ακριβώς τα δεδομένα και τα βλέπουν μόνον εκείνοι οι χρήστες που έχουν τη σχετική πρόσβαση στην όψη. Συνεπώς οι όψεις είναι σημαντικές γιατί μας δίνουν και τη δυνατότητα της ασφάλειας των δεδομένων. Για να δηλώνουμε όψεις με την SQL, χρησιμοποιούμε τις εντολές ορισμού δεδομένων (τη ΓΟΔ) και για να εκτελέσουμε πράξεις πάνω στις όψεις τις εντολές χειρισμού δεδομένων. Κάποια ΣΔΒΔ περιέχουν μια κατάλληλη γλώσσα, η οποία καλείται γλώσσα ορισμού δεδομένων υποσχήματος για τον ορισμό των όψεων και για την εκτέλεση των πράξεων τη γλώσσα χειρισμού δεδομένων υποσχήματος. [41]

42 4.4 Το φυσικό επίπεδο της Βάσης Δεδομένων Για να εγκαταστήσουμε τη βάση δεδομένων που έχουμε σχεδιάσει στο δίσκο ενός υπολογιστή, πρέπει πρώτα να ορίσουμε τη δομή των αρχείων και στη συνέχεια να τοποθετήσουμε τα δεδομένα. Ο σχεδιασμός των δομών αποθήκευσης γίνεται αυτόματα από το ΣΔΒΔ με τις εντολές της Γλώσσας Ορισμού Δεδομένων. Όπως ήδη έχουμε πει και άλλοτε, με την εντολή: Create Table ΒΙΒΛΙΑ(ΤΙΤΛΟΣ Char(30), ΟΝ_ΣΥΓΓΡ Char(50) ) ; ορίζουμε και ταυτόχρονα απαιτούμε από το ΣΔΒΔ να φτιάξει στο δίσκο το αρχείο ΒΙΒΛΙΑ με τη συγκεκριμένη δομή, δηλαδή τα δύο πεδία με τους τύπους τους. Επιπλέον, για να έχουμε πολύ γρήγορη ανάκτηση των εγγραφών του αρχείου, με την εντολή, Create Index Ε On ΒΙΒΛΙΑ (ΟΝ_ΣΥΓΓΡ ASC) ; η οποία σημαίνει Δημιούργησε το_ευρετήριο Ε Στον_πίνακα ΒΙΒΛΙΑ (στη_στήλη ΟΝ_ΣΥΓΓΡ ταξινομημένη σε αύξουσα τάξη); ορίζουμε και απαιτούμε να φτιάξει ένα ευρετήριο για το αρχείο ΒΙΒΛΙΑ πάνω στις τιμές του πεδίου ΟΝ_ΣΥΓΓΡ. Θα μπορούσαμε ακόμα με άλλες εντολές, να απαιτήσουμε από το σύστημα να τοποθετήσει τις εγγραφές του αρχείου σε κάποια συγκεκριμένη δομή αποθήκευσης, π.χ. σε ένα δένδρο. Ο τρόπος με τον οποίο το ΣΔΒΔ θα υλοποιήσει τις απαιτήσεις μας, δηλαδή πως θα σχεδιάσει το αρχείο, το ευρετήριο, τη δομή αποθήκευσης, ποιούς αλγορίθμους θα χρησιμοποιήσει, δεν μας ενδιαφέρει. Το ενδιαφέρον μας αρχίζει από το επίπεδο του αρχείου και πάνω. Έτσι, η φυσική βάση δεδομένων, είναι μια συλλογή από αρχεία και ευρετήρια (indices) ή άλλες δομές αποθήκευσης, τις οποίες χρησιμοποιούμε για να προσπελαύνουμε στα αρχεία αποτελεσματικά. [42]

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 2: Περιβάλλον Βάσεων Δεδομένων Μοντέλα Δεδομένων 2.1

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ 1 Βάση Δεδομένων: Με το όρο Βάση Δεδομένων εννοούμε ένα σύνολο δεδομένων που είναι οργανωμένο

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων. Εισαγωγή Ανάλυση Απαιτήσεων. Φροντιστήριο 1 ο Βάσεις Δεδομένων Εισαγωγή Ανάλυση Απαιτήσεων Φροντιστήριο 1 ο 16-10-2008 Εισαγωγή - Ορισμοί Βάση Δεδομένων είναι μία συλλογή από σχετιζόμενα αντικείμενα Ένα σύστημα διαχείρισης βάσεων δεδομένων (ΣΔΒΔ)

Διαβάστε περισσότερα

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

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων ..?????? Εργαστήριο ΒΑΣΕΙΣ????????? ΔΕΔΟΜΕΝΩΝ Βάσεων Δεδομένων?? ΙΙ Εισαγωγικό Μάθημα Βασικές Έννοιες - . Γενικά Τρόπος Διεξαγωγής Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων -Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a) Create

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων - Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a)

Διαβάστε περισσότερα

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2013 - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Αρχιτεκτονική

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Βάσεις Δεδομένων - Γενικά Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα. Τα περιεχόμενα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων .. Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Μάθημα Βασικές Έννοιες - . Ύλη Εργαστηρίου ΒΔ Ύλη - 4 Ενότητες.1 - Σχεδιασμός Βάσης Δεδομένων.2 Δημιουργία Βάσης Δεδομένων Δημιουργία Πινάκων Εισαγωγή/Ανανέωση/Διαγραφή

Διαβάστε περισσότερα

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

Εισαγωγή στην πληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 6: Εισαγωγή στις βάσεις δεδομένων (Μέρος Α) Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης

Διαβάστε περισσότερα

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

Διαχείριση Πολιτισμικών Δεδομένων Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 1 Εισαγωγή στις Βάσεις Δεδομένων Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις

Διαβάστε περισσότερα

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

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ ΕΝΟΤΗΤΑ 1.1 ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ ΔΙΔΑΚΤΙΚΟI ΣΤOΧΟΙ Στο τέλος της ενότητας αυτής πρέπει να μπορείτε: να επεξηγείτε τις έννοιες «βάση δεδομένων» και «σύστημα διαχείρισης βάσεων δεδομένων» να αναλύετε

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Βάσεις εδοµένων Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης v.vescoukis@cs.ntua.gr ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Συστήµατα ιαχείρισης Βάσεων

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Εισαγωγή στις Βάσεις Δεδομένων Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan) Εισαγωγή Γιατί

Διαβάστε περισσότερα

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων Βάσεις Δεδομένων Επαγγελματικού Λυκείου Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων Εισηγητής Δελησταύρου Κωνσταντίνος Καθηγητής Πληροφορικής ΠΕ20 Μηχανικός Πληροφορικής Τ.Ε. M.Sc. στα Συστήματα Υπολογιστών Περιεχόμενα

Διαβάστε περισσότερα

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

Έννοιες Διαχείρισης Βάσεων Δεδομένων και Αρχιτεκτονική Έννοιες Διαχείρισης Βάσεων Δεδομένων και Αρχιτεκτονική Αρχιτεκτονική ANSI-SPARC, Επίπεδα Αρχιτεκτονικής (Εξωτερικό, Εννοιολογικό, Εσωτερικό), Παραδοσιακή Προσέγγιση (Μειονεκτήματα, Παράδειγμα), Προσέγγιση

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Βάσεις Δεδομένων ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις Δεδομένων; Σύστημα για αποθήκευση, μετάδοση

Διαβάστε περισσότερα

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής:

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

Διαβάστε περισσότερα

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL Ευαγγελία Πιτουρά 1 Τι έχουμε δει Μοντελοποίηση Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων Εισαγωγή Βάσεις Δεδομένων Εισαγωγή Σκοποί ενότητας Εκμάθηση Συστημάτων Διαχείρισης Βάσεων Δεδομένων Δημιουργία E-R διαγραμμάτων 2 Περιεχόμενα ενότητας Συστήματα Διαχείρισης Βάσεων Δεδομένων Διάγραμμα οντοτήτων

Διαβάστε περισσότερα

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis)

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis) Σχεσιακό Μοντέλο Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 1 Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis) Εισαγωγή Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές

Διαβάστε περισσότερα

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

Δεδομένα και Πληροφορίες Εισαγωγή Δεδομένα και Πληροφορίες, Βάση Δεδομένων, Σύστημα Διαχείρισης Βάσεων Δεδομένων (Ορισμοί, Γλώσσες & Διεπαφές, Κατηγορίες), Σύστημα Βάσης Δεδομένων, Κατάλογος Δεδομένων Μεταδεδομένα, Λειτουργική

Διαβάστε περισσότερα

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

Διαχείριση Πολιτισμικών Δεδομένων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διαχείριση Πολιτισμικών Δεδομένων Ενότητα 6: Εισαγωγή στις Βάσεις Δεδομένων Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Μοντελοποίηση Σχήμα (database schema): η περιγραφή της δομής της πληροφορίας που είναι αποθηκευμένη στη βδ με τη χρήση ενός μοντέλου δεδομένων

Διαβάστε περισσότερα

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

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στην Access...9 Γνωριμία με την Access... 12 Δημιουργία βάσης δεδομένων... 18 Άνοιγμα και κλείσιμο βάσης δεδομένων... 21 Ερωτήσεις ανακεφαλαίωσης... 22 Πρακτική εξάσκηση...

Διαβάστε περισσότερα

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1 Σχεσιακό Μοντέλο Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή O σχεδιασμός μιας βάση δεδομένων κωδικοποιεί κάποιο μέρος του φυσικού κόσμου Ένα μοντέλο δεδομένων είναι ένα σύνολο από έννοιες για

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Συστήματα Διαχείρισης Βάσεων Δεδομένων 1 ΕΙΣΑΓΩΓΗ Η τεχνολογία των Βάσεων Δεδομένων (ΒΔ) (Databases - DB) και των Συστημάτων Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ)

Διαβάστε περισσότερα

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

Εισαγωγή στις Βάσεις Δεδομένων (ΒΔ) Εισαγωγή στις Βάσεις Δεδομένων (ΒΔ) ΣΧΟΛΗ ΙΚΑΡΩΝ ΣΧΟΛΗ ΙΚΑΡΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α. ΑΝΔΡΕΑΤΟΣ Ιούλιος 2011 Βασικές έννοιες Δεδομένα: τυποποιημένα στοιχεία σε προκαθορισμένη μορφή κατάλληλη για περαιτέρω

Διαβάστε περισσότερα

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

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στην Access... 9 Γνωριμία με την Access... 12 Δημιουργία βάσης δεδομένων... 22 Άνοιγμα και κλείσιμο βάσης δεδομένων... 24 Ερωτήσεις ανακεφαλαίωσης... 25 Πρακτική εξάσκηση...

Διαβάστε περισσότερα

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

Διαχείριση Δεδομένων Διαχείριση Δεδομένων Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου 1 Εαρινό Εξάμηνο 2012-13 Περιεχόμενο σημερινής διάλεξης Βάσεις Δεδομένων Ορισμοί Παραδείγματα

Διαβάστε περισσότερα

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

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων Η γλώσσα SQL H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων H SQL έχει διάφορα τμήματα: Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) Γλώσσα Χειρισμού Δεδομένων (ΓΧΔ) Ενσωματωμένη

Διαβάστε περισσότερα

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

Διαβάστε περισσότερα

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

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 (Α) Σημειώστε δίπλα σε κάθε πρόταση «Σ» ή «Λ» εφόσον είναι σωστή ή λανθασμένη αντίστοιχα. 1. Τα συντακτικά λάθη ενός προγράμματος

Διαβάστε περισσότερα

Βασικά ζητήματα μιας βάσης δεδομένων

Βασικά ζητήματα μιας βάσης δεδομένων Τριαντάφυλλος Πριμηκύρης* Βασικά ζητήματα μιας βάσης δεδομένων Τι είναι μια βάση δεδομένων; Ας ξεκινήσουμε με κάτι πολύ απλό! Όλοι έχετε έναν τηλεφωνικό κατάλογο. Ο κατάλογος αυτός είναι μια χειροκίνητη

Διαβάστε περισσότερα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασμός μιας Β : Βήματα Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

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

Εισαγωγή στις Βάσεις Δεδομένων (ΒΔ) Εισαγωγή στις Βάσεις Δεδομένων (ΒΔ) ΣΧΟΛΗ ΙΚΑΡΩΝ ΣΧΟΛΗ ΙΚΑΡΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α. ΑΝΔΡΕΑΤΟΣ Ιούλιος 2011 Βασικές έννοιες Δεδομένα: τυποποιημένα στοιχεία σε προκαθορισμένη μορφή κατάλληλη για περαιτέρω

Διαβάστε περισσότερα

Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub

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

Διαβάστε περισσότερα

Λίγα λόγια από το συγγραφέα...7

Λίγα λόγια από το συγγραφέα...7 Περιεχόμενα Λίγα λόγια από το συγγραφέα...7 Κεφάλαιο 1: Σχεδιασμός βάσης δεδομένων και δημιουργία πίνακα...9 Κεφάλαιο 2: Περαιτέρω τροποποίηση δομής πίνακα...41 Κεφάλαιο 3: Σχέσεις...84 Κεφάλαιο 4: Ερωτήματα...105

Διαβάστε περισσότερα

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός

Διαβάστε περισσότερα

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων ΕΣΔ516 Τεχνολογίες Διαδικτύου Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων Περιεχόμενα - Βιβλιογραφία Ενότητας Περιεχόμενα Ορισμοί Συστατικά στοιχεία εννοιολογικής σχεδίασης Συστατικά

Διαβάστε περισσότερα

Διαχείριση Βάσης Δεδομένων (dbadmin)

Διαχείριση Βάσης Δεδομένων (dbadmin) Published on PRISMA Win Help - Megasoft (http://docs.megasoft.gr) Home > Εμπορική Διαχείριση > Διαχείριση Βάσης Δεδομένων (dbadmin) Διαχείριση Βάσης Δεδομένων (dbadmin) Μέσα από τη διαχείριση βάσης δεδομένων

Διαβάστε περισσότερα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασμός μιας Β : Βήματα Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

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

Βάσεις δεδομένων και Microsoft Access Περιεχόμενα Κεφάλαιο 1 Βάσεις δεδομένων και Microsoft Access... 7 Κεφάλαιο 2 Microsoft Access 2010... 16 Κεφάλαιο 3 Σχεδιασμός βάσης δεδομένων και δημιουργία πίνακα... 27 Κεφάλαιο 4 Προβολές πινάκων και

Διαβάστε περισσότερα

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις 1) Ερωτήσεις Σωστού/Λάθους (ΣΛ) Το πακέτο λογισμικού Excel της Microsoft είναι λογισμικό διαχείρισης ΒΔ (ΣΛ) Το πακέτο λογισμικού Access της Microsoft είναι λογισμικό

Διαβάστε περισσότερα

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

Διαβάστε περισσότερα

Θέματα ανακεφαλαίωσης

Θέματα ανακεφαλαίωσης Θέματα ανακεφαλαίωσης 13 Ιουνίου 2013 1. Ορίστε την έννοια σχήμα σχέσης και αναλύστε τα στοιχεία του ορισμού σας. Υποθέστε ότι θέλουμε να αποθηκεύσουμε πληροφορίες για τα μέλη ενός πεζοπορικού συλλόγου

Διαβάστε περισσότερα

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση.

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

Διαβάστε περισσότερα

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών)

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών) ΕΡΓΑΣΙΑ (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών) Τίτλος: Εφαρμογή Διαδικτύου Ηλεκτρονικού Καταστήματος Ζητούμενο: Να αναπτυχθεί web εφαρμογή,

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων ΠΕΡΙΕΧΟΜΕΝΑ Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων Εισαγωγή Η χρήση των μεταβλητών με δείκτες στην άλγεβρα είναι ένας ιδιαίτερα

Διαβάστε περισσότερα

ΦΑΚΕΛΟΙ ΚΑΙ ΑΡΧΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Βασίλης Πρέκας Β'3

ΦΑΚΕΛΟΙ ΚΑΙ ΑΡΧΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Βασίλης Πρέκας Β'3 ΦΑΚΕΛΟΙ ΚΑΙ ΑΡΧΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Βασίλης Πρέκας Β'3 Τι Ονομάζουμε Αρχείο Σε Έναν Υπολογιστή Ένα αρχείο υπολογιστή είναι ένα σύνολο από πληροφορίες, δεδομένα ή και ένας πόρος, που χρησιμεύει ως "δοχείο" για

Διαβάστε περισσότερα

Διαδικτυακές Εφαρμογές Ενότητα 1: JPA

Διαδικτυακές Εφαρμογές Ενότητα 1: JPA Διαδικτυακές Εφαρμογές Ενότητα 1: JPA Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Πληροφορική 2. Βάσεις Δεδομένων (Databases) Πληροφορική 2 Βάσεις Δεδομένων (Databases) 1 2 Επίπεδα αρχεία (flat files) Επίπεδο αρχείο είναι ένα αρχείο που αποτελείται από ένα σταθερό, μικρό αριθμό πεδίων. Οι εγγραφές του αρχείου μπορεί να μην ακολουθούν

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΚΤΙΡΙΑΚΕΣ ΥΠΟΔΟΜΕΣ Α.Ε. Οδηγίες Λειτουργίας Πληροφοριακού Συστήματος ηλεκτρονικής διαχείρισης Αιτημάτων. v1.3 (23/11/2014)

ΚΤΙΡΙΑΚΕΣ ΥΠΟΔΟΜΕΣ Α.Ε. Οδηγίες Λειτουργίας Πληροφοριακού Συστήματος ηλεκτρονικής διαχείρισης Αιτημάτων. v1.3 (23/11/2014) ΚΤΙΡΙΑΚΕΣ ΥΠΟΔΟΜΕΣ Α.Ε. ΕΡΓΟ: «ΑΝΑΛΥΣΗ, ΣΧΕΔΙΑΣΜΟΣ, ΑΝΑΠΤΥΞΗ - ΥΛΟΠΟΙΗΣΗ ΚΑΙ ΕΓΚΑΤΑΣΤΑΣΗ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΟΒΟΛΗΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΑΙΤΗΜΑΤΩΝ ΧΟΡΗΓΗΣΗΣ ΕΞΟΠΛΙΣΜΟΥ ΣΧΟΛΕΙΩΝ» Οδηγίες

Διαβάστε περισσότερα

Σχεδιασμός μιας Β : Βήματα

Σχεδιασμός μιας Β : Βήματα Σχεσιακό Μοντέλο 1 Εισαγωγή Ανάλυση Απαιτήσεων Σχεδιασμός μιας Β : Βήματα Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ - ΓΛΩΣΣΑ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τεχνικές Σχεδίασης Αλγορίθμων Εισαγωγή στον Προγραμματισμό - ΓΛΩΣΣΑ Επιμέλεια: Ομάδα Διαγωνισμάτων από Το στέκι των πληροφορικών ο Θέμα 1 Α. α) Ποια είναι

Διαβάστε περισσότερα

Σχεδίαση Βάσεων Δεδομένων

Σχεδίαση Βάσεων Δεδομένων Σχεδίαση Βάσεων Δεδομένων Βασική Χαρτογράφηση: Η Διαδικασία Μετασχηματισμού Basic Mapping: The Transformation Process 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved. Στόχοι Το μάθημα

Διαβάστε περισσότερα

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούµενα µαθήµατα: Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε

Διαβάστε περισσότερα

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η Μονοδιάστατοι Πίνακες Τι είναι ο πίνακας γενικά : Πίνακας είναι μια Στατική Δομή Δεδομένων. Δηλαδή συνεχόμενες θέσεις μνήμης, όπου το πλήθος των θέσεων είναι συγκεκριμένο. Στις θέσεις αυτές καταχωρούμε

Διαβάστε περισσότερα

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΚΕΦΑΛΑΙΟ 10 Όπως είδαμε και σε προηγούμενο κεφάλαιο μια από τις βασικότερες τεχνικές στον Δομημένο Προγραμματισμό είναι ο Τμηματικός Προγραμματισμός. Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής. ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2012 SQL Structured Query Language Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις της σχεσιακής άλγεβρας ΠΡΑΞΗ ΣΚΟΠΟΣ

Διαβάστε περισσότερα

Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων

Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων YouTube Ιδρύθηκε το 2005 Στόχος του ήταν να δημιουργήσει μία παγκόσμια κοινότητα Βάση δεδομένων βίντεο Μέσα σε ένα χρόνο από τη δημιουργία

Διαβάστε περισσότερα

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής Κεφάλαιο 4 ο Ο Προσωπικός Υπολογιστής Μάθημα 4.3 Ο Επεξεργαστής - Εισαγωγή - Συχνότητα λειτουργίας - Εύρος διαδρόμου δεδομένων - Εύρος διαδρόμου διευθύνσεων - Εύρος καταχωρητών Όταν ολοκληρώσεις το μάθημα

Διαβάστε περισσότερα

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ 1 ΠΕΡΙΕΧΟΜΕΝΑ 1. ΑΝΑΛΥΣΗ ΜΕΝΟΥ ΕΦΑΡΜΟΓΗΣ... 4 2. ΕΠΕΞΗΓΗΣΗ ΚΕΝΤΡΙΚΟΥ ΜΕΝΟΥ ΚΑΡΤΕΛΑΣ... 5 3. ΔΗΜΙΟΥΡΓΙΑ ΠΕΛΑΤΗ... 6 4. ΑΝΑΖΗΤΗΣΗ ΠΕΛΑΤΗ... 6 5. ΕΠΕΞΕΡΓΑΣΙΑ/ΔΙΑΓΡΑΦΗ

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων Ενότητα 3 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 3: Αρχιτεκτονική Συστημάτων Ιωάννης Μανωλόπουλος, Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα: 11Η ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Δρ. ΠΑΝΤΕΛΗΣ ΑΓΓΕΛΙΔΗΣ Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Βάσεις εδομένων ΘΕΜΑ ΕΡΓΑΣΙΑΣ. Μέρμηγκας Αλέξανδρος Α.Μ. 30000. ιαχείρηση Πληροφοριακών Συστηματών

Βάσεις εδομένων ΘΕΜΑ ΕΡΓΑΣΙΑΣ. Μέρμηγκας Αλέξανδρος Α.Μ. 30000. ιαχείρηση Πληροφοριακών Συστηματών TMHMA ΑΥΤΟΜΑΤΙΣΜΟΥ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Τ.Ε.Ι. ΠΕΙΡΑΙΩΣ ΘΕΜΑ ΕΡΓΑΣΙΑΣ Βάσεις εδομένων Μέρμηγκας Αλέξανδρος Α.Μ. 30000 Βάση εδομένων Βάση δεδομένων είναι μια οργανωμένη συλλογή αλληλοσυσχετιζόμενων

Διαβάστε περισσότερα

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων Ενότητα 4 Επεξεργασία πινάκων 36 37 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System) 2.1.1 Εισαγωγή στη διαχείριση αρχείων Οι Η/Υ αποθηκεύουν τα δεδομένα και τα επεξεργάζονται. Εφαρμογή Προγράμματος C:\Documents and Settings\user\Τα έγγραφά μου\leitourgika.doc Λ.Σ. File System Γι αυτό

Διαβάστε περισσότερα

ΚΤΙΡΙΑΚΕΣ ΥΠΟΔΟΜΕΣ Α.Ε. Οδηγίες χρήσης Τελικού Χρήστη (Σ.Μ.) του Πληροφοριακού Συστήματος ηλεκτρονικής διαχείρισης Αιτημάτων. v1.

ΚΤΙΡΙΑΚΕΣ ΥΠΟΔΟΜΕΣ Α.Ε. Οδηγίες χρήσης Τελικού Χρήστη (Σ.Μ.) του Πληροφοριακού Συστήματος ηλεκτρονικής διαχείρισης Αιτημάτων. v1. ΚΤΙΡΙΑΚΕΣ ΥΠΟΔΟΜΕΣ Α.Ε. ΕΡΓΟ: «ΑΝΑΛΥΣΗ, ΣΧΕΔΙΑΣΜΟΣ, ΑΝΑΠΤΥΞΗ - ΥΛΟΠΟΙΗΣΗ ΚΑΙ ΕΓΚΑΤΑΣΤΑΣΗ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΟΒΟΛΗΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΑΙΤΗΜΑΤΩΝ ΧΟΡΗΓΗΣΗΣ ΕΞΟΠΛΙΣΜΟΥ ΣΧΟΛΕΙΩΝ» Οδηγίες

Διαβάστε περισσότερα

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα)

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα) Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα) Μοντέλα, οµές (Σχήµα) και Αντιπρόσωποι (Data Models, Schema, and Instances) DBMS αρχιτεκτονική ιάφοροι τύποι γλωσσών και διεπαφές

Διαβάστε περισσότερα

Α Διαγώνισμα 1 ου Τριμήνου στο μάθημα της Πληροφορικής Γ Γυμνασίου Ονοματεπώνυμο:...

Α Διαγώνισμα 1 ου Τριμήνου στο μάθημα της Πληροφορικής Γ Γυμνασίου Ονοματεπώνυμο:... α Α Διαγώνισμα 1 ου Τριμήνου στο μάθημα της Πληροφορικής Γ Γυμνασίου Ονοματεπώνυμο:... Θέμα 1ο Να χαρακτηρίσετε τις παρακάτω προτάσεις σαν σωστές (Σ) ή λανθασμένες (Λ). 1. Υπάρχουν προβλήματα που έχει

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1 Αρχεία με Χαρτογράφηση

Διαβάστε περισσότερα

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων 2014-2015. Ευαγγελία Πιτουρά 1

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων 2014-2015. Ευαγγελία Πιτουρά 1 Το Σχεσιακό Μοντέλο Ευαγγελία Πιτουρά 1 Μοντελοποίηση Σχήμα (database schema): η περιγραφή της δομής της πληροφορίας που είναι αποθηκευμένη στη βδ με τη χρήση ενός μοντέλου δεδομένων Μοντέλο Δεδομένων:

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 7: Transactions (Συναλλαγές) Ο λόγος που αναπτύχθηκαν

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο. Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο. Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Εισαγωγή Η τακτοποίηση των δεδομένων με ιδιαίτερη σειρά είναι πολύ σημαντική λειτουργία που ονομάζεται

Διαβάστε περισσότερα

Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1. Τι είναι δυναµική δοµή δεδοµένων; Μονάδες 3 2. Τι είναι στατική δοµή δεδοµένων;

Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1. Τι είναι δυναµική δοµή δεδοµένων; Μονάδες 3 2. Τι είναι στατική δοµή δεδοµένων; ΦΡΟΝΤΙΣΤΗΡΙΑΚΟΣ ΟΡΓΑΝΙΣΜΟΣ ΘΕΜΑ Α ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ 01/03/2015 Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1.

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Μιχάλης Μαλιάππης

Βάσεις Δεδομένων. Μιχάλης Μαλιάππης Βάσεις Δεδομένων Μιχάλης Μαλιάππης Βασικές Έννοιες Βάσεων Δεδομένων Βάση Δεδομένων (Database) είναι ένα σύνολο δεδομένων που σχετίζονται μεταξύ τους. Δεδομένα τα οποία δεν σχετίζονται μεταξύ τους δεν μπορούν

Διαβάστε περισσότερα

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα Περιεχόμενα Πρόλογος... 9 Κεφάλαιο 1: Δομή και λειτουργία του υπολογιστή... 11 Κεφάλαιο 2: Χρήση Λ.Σ. DOS και Windows... 19 Κεφάλαιο 3: Δίκτυα Υπολογιστών και Επικοινωνίας... 27 Κεφάλαιο 4: Unix... 37

Διαβάστε περισσότερα

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η 53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η ΠΑΓΚΡΑΤΙ: Φιλολάου & Εκφαντίδου 26 : 210/76.01.470 210/76.00.179 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης ΜΟΝΤΕΛΑ ΔΕΔΟΜΕΝΩΝ

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης ΜΟΝΤΕΛΑ ΔΕΔΟΜΕΝΩΝ Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr ΜΟΝΤΕΛΑ ΔΕΔΟΜΕΝΩΝ Βάσεις Δεδομένων vs. Αρχεία Χαρακτηριστικά της προσέγγισης

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΕΡΛΙΑΟΥΝΤΑΣ ΣΤΕΦΑΝΟΣ, ΠΕ19 ΚΕΦΑΛΑΙΟ 3 Αλγόριθμοι 3. Αλγόριθμοι 2 3. Αλγόριθμοι 3.1 Η έννοια του αλγορίθμου 3.2 Χαρακτηριστικά αλγορίθμου 3.3 Ανάλυση αλγορίθμων

Διαβάστε περισσότερα

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr»

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Επεξήγηση web site με λογικό διάγραμμα «Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Web : www.e-base.gr E-mail : support@e-base.gr Facebook : Like Twitter : @ebasegr Πολλοί άνθρωποι

Διαβάστε περισσότερα

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ) ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ) ΘΕΜΑ Α : A1. Να γράψετε στο φύλλο απαντήσεων τον αριθμό καθεμιάς

Διαβάστε περισσότερα

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα

Διαβάστε περισσότερα

ΔΙΑΓΩΝΙΣΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ: Γ ΛΥΚΕΙΟΥ HM/NIA: 21/2/2016

ΔΙΑΓΩΝΙΣΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ: Γ ΛΥΚΕΙΟΥ HM/NIA: 21/2/2016 ΔΙΑΓΩΝΙΣΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ: Γ ΛΥΚΕΙΟΥ HM/NIA: 21/2/2016 ΘΕΜΑ A (Α1) Να σημειώσετε με κατάλληλο τρόπο ανάλογα με το αν θεωρείτε σωστή ή λανθασμένη κάθε μία από τις

Διαβάστε περισσότερα

Διαδικασία σχεδιασμού Β.Δ.

Διαδικασία σχεδιασμού Β.Δ. Διαδικασία σχεδιασμού Β.Δ. Σε παλαιότερα μαθήματα είπαμε ότι πριν κατασκευάσουμε κάτι θα πρέπει πρώτα να το σχεδιάσουμε. Το ίδιο ισχύει και για μια Β.Δ.. Σε αυτή την ενότητα θα περιγράψουμε λίγο πιο αναλυτικά

Διαβάστε περισσότερα

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ:

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΘΕΟΔΟΣΙΟΥ ΝΙΚΗ Α.Μ. 103/04 ΠΑΠΑΠΕΤΡΟΥ ΦΩΤΕΙΝΗ Α.Μ. 134/04 Εξεταστική Επιτροπή Επιβλέπουσα Καθηγήτρια : Σατρατζέμη Μαρία, Καθηγήτρια Μέλη : Ευαγγελίδης

Διαβάστε περισσότερα

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

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

Διαβάστε περισσότερα