«ΧΡΗΣΗ ΤΕΧΝΟΛΟΓΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΕΠΙΧΕΙΡΗΣΕΙΣ»

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

Download "«ΧΡΗΣΗ ΤΕΧΝΟΛΟΓΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΕΠΙΧΕΙΡΗΣΕΙΣ»"

Transcript

1 ΤΕΙ ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΘΕΜΑ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ «ΧΡΗΣΗ ΤΕΧΝΟΛΟΓΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΕΠΙΧΕΙΡΗΣΕΙΣ» ΣΠΟΥΔΑΣΤΡΙΕΣ ΜΟΥΛΑΔΑΚΗ ΑΣΗΜΙΝΑ (ΑΕΜ 423) ΤΣΕΚΟΥΡΑ ΑΡΓΥΡΩ (ΑΕΜ 337) ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ κ.βαλσαμιδησ ΣΤΑΥΡΟΣ ΚΑΒΑΛΑ 2006

2 ΜΟΥΛΑΔΑΚΗ ΑΣΗΜΙΝΑ ΤΣΕΚΟΥΡΑ ΑΡΓΥΡΩ «ΧΡΗΣΗ ΤΕΧΝΟΛΟΓΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΕΠΙΧΕΙΡΗΣΕΙΣ» ΚΑΒΑΛΑ 2006

3 ΕΥΧΑΡΙΣΤΙΕΣ Θα θέλαμε να ευχαριστήσουμε, όλους όσους μας βοήθησαν να διεκπεραιώσουμε την πτυχιακή μας εργασία και κυρίως τον καθηγητή μας κ. Βαλσαμίδη Σταύρο για την πολύτιμη καθοδήγησή του και την άψογη συνεργασία του.

4 ΠΡΟΛΟΓΟΣ H παρούσα πτυχιακή εργασία παρουσιάζει την ανάπτυξη ιδεών και τεχνικών για την διαχείριση των δεδομένων. Ααποτελείται από εφτά (7) κεφάλαια. Το πρώτο κεφάλαιο είναι εισαγωγικό. Παρουσιάζει βασικές έννοιες και ορισμούς ώστε να εισάγει τον αναγνώστη στο αντικείμενο της πτυχιακής εργασίας. Το Κεφάλαιο 2 αναλύει το μοντέλο οντότητας σχέσης, καθώς και την έννοια των κλειδιών. Στο κεφάλαιο 3 αναφέρεται στα βασικά θέματα της σχεδίασης μιας διάταξης οντότητας-σχέσης βάσης δεδομένων. Στη συνέχεια στο κεφάλαιο 4 αναλύεται το Σχεσιακό μοντέλο και περιγράφονται οι γλώσσες ερωτημάτων, δίνοντας περισσότερο έμφαση στην σχεσιακή άλγεβρα. Στο κεφάλαιο 5 περιγράφονται οι 3 βασικοί χειρισμοί Τροποποίησης. Στο κεφάλαιο 6 γίνεται μια λεπτομερή αναφορά για τα θέματα σχεδίασης σχεσιακών βάσεων δεδομένων. Τέλος στο κεφάλαιο 7 παρουσιάζεται η στατιστική έρευνα που πραγματοποιήθηκε σε ένα δείγμα 50 επιχειρήσεων και καταγράφονται τα συμπεράσματα που έχουν προκύψει. 1

5 ΠΕΡΙΕΧΟΜΕΝΑ ΠΡΟΛΟΓΟΣ.. 1 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ 1.1 ΕΦΑΡΜΟΓΕΣ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΥΣΤΗΜΑΤΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΩΣ ΠΡΟΣ ΣΥΣΤΗΜΑΤΑ ΑΡΧΕΙΩΝ ΠΡΟΒΟΛΗ ΔΕΔΟΜΕΝΩΝ Αφαιρετικότητα Δεδομένων Στιγμιότυπα και Διατάξεις ΜΟΝΤΕΛΑ ΔΕΔΟΜΕΝΩΝ Το Μοντέλο Οντότητας-Σχέσης Σχεσιακό Μοντέλο Άλλα Μοντέλα Δεδομένων ΓΛΩΣΣΕΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Γλώσσα Ορισμού των Δεδομένων Γλώσσα Χειρισμού των Δεδομένων Πρόσβαση της Βάσης Δεδομένων Από Προγράμματα Εφαρμογών ΧΡΗΣΤΕΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΤΕΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Χρήστες και Περιβάλλοντα Χρήστη ΔΟΜΗ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Διαχειριστής Αποθήκευσης Ο Επεξεργαστής Ερωτημάτων ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΕΦΑΡΜΟΓΩΝ ΙΣΤΟΡΙΑ ΤΩΝ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ...23 ΚΕΦΑΛΑΙΟ 2 ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΑΣ ΣΧΕΣΗΣ 2.1 ΒΑΣΙΚΕΣ ΙΔΕΕΣ Σύνολο Οντοτήτων Σύνολα Σχέσεων ΠΕΡΙΟΡΙΣΜΟΙ Βαθμοί Απεικόνισης Περιορισμοί Συμμετοχής.38

6 2.3 ΚΛΕΙΔΙΑ Σύνολα Οντοτήτων Σύνολα Σχέσεων 40 ΚΕΦΑΛΑΙΟ 3 ΣΧΕΔΙΑΣΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ 3.1 ΘΕΜΑΤΑ ΣΧΕΔΙΑΣΗΣ Χρήση Συνόλων Οντοτήτων ως προς Ιδιότητες Χρήση Συνόλων Οντοτήτων ως προς Σύνολα Σχέσεων Δυαδικά ως προς Πολλαπλά Σύνολα Σχέσεων Ορισμός ιδιοτήτων Σχέσεων ΔΙΑΓΡΑΜΜΑ ΟΝΤΟΤΗΤΑΣ-ΣΧΕΣΗΣ ΑΔΥΝΑΤΑ ΣΥΝΟΛΑ ΟΝΤΟΤΗΤΩΝ ΕΚΤΕΤΑΜΕΝΕΣ ΛΕΙΤΟΥΡΓΙΕΣ ΟΝΤΟΤΗΤΑΣ-ΣΧΕΣΗΣ Εξειδίκευση Γενίκευση Κληρονομικότητα Ιδιοτήτων Περιορισμοί σε Γενικεύσεις Συνάθροιση Εναλλακτική Σύνταξη Οντότητας-Σχέσης ΣΧΕΔΙΑΣΗ ΜΙΑΣ ΔΙΑΤΑΞΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ ΟΝΤΟΤΗΤΑΣ- ΣΧΕΣΗΣ Φάσεις Σχεδίασης Σχεδίαση Βάσης Δεδομένων για μια Τράπεζα Απαιτήσεις Δεδομένων Προσδιορισμός Συνόλου Οντοτήτων Προσδιορισμός Συνόλου Σχέσεων Διάγραμμα Οντότητας-Σχέσης ΠΡΟΣΔΙΟΡΙΣΜΟΣ ΜΙΑ ΔΙΑΤΑΞΕΙΣ ΟΝΤΟΤΗΤΑΣ-ΣΧΕΣΗΣ ΣΕ ΠΙΝΑΚΑ Πινακοειδής Αναπαράσταση Δυνατών Συνόλων Οντοτήτων Πινακοειδής Αναπαράσταση των Αδύνατων Συνόλων Οντοτήτων Πινακοειδής Αναπαράσταση των Συνόλων Σχέσεων Πλεονασμός Πινάκων...81

7 Συνδυασμός Πινάκων Σύνθετες Ιδιότητες Ιδιότητες Πολλαπλών Τιμών Πινακοειδής Αναπαράσταση της Γενίκευσης Πινακοειδής Αναπαράσταση Αθροισμάτων Η ΓΛΩΣΣΑ UNIFIED MODELING LANGUAGE UML...85 ΚΕΦΑΛΑΙΟ 4 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ 4.1 Δομή των Σχεσιακών Βάσεων Δεδομένων Βασική Δομή Σχήματα της Βάσης Δεδομένων Κλειδιά Διαγράμματα Σχήματος Γλώσσες Ερωτημάτων Σχεσιακή Άλγεβρα Βασικές Λειτουργίες Η Λειτουργία Select Η Λειτουργία Project Σύνθεση Σχεσιακών Λειτουργιών Η Λειτουργία Union Η Λειτουργία Set Difference Η Λειτουργία Καρτεσιανού Γινόμενο Η Λειτουργία Rename Τυπικός Ορισμός της Σχεσιακής Άλγεβρας Επιπλέον Λειτουργίες Η Λειτουργία Set-Intersection Η Λειτουργία Natural-Join Ο Τελεστής Division Ο Τελεστής Εκχώρησης Επεκταμένες Πράξεις Σχεσιακής Άλγεβρας Γενικευμένη Προβολή Συνοπτικές Συναρτήσεις Εξωτερικός Σύνδεσμος...129

8 4.3.4 Κενές Τιμές ΚΕΦΑΛΑΙΟ 5 ΤΡΟΠΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ 5.1 Τροποποίηση της Βάσης Δεδομένων Διαγραφή Εισαγωγή Ενημέρωση Προβολές Ορισμός Προβολής Ενημερώσεις Μέσω Προβολών και Κενών Τιμών Προβολές που Ορίζονται Χρησιμοποιώντας Άλλες Προβολές Ο Σχεσιακός Λογισμός Εγγραφών Παράδειγμα με Ερωτήματα Τυπικός Ορισμός Ασφάλεια Παραστάσεων Εκφραστική Δύναμη των Γλωσσών Το Πεδίο Τιμών του Σχεσιακού Λογισμού Τυπικός Ορισμός Δείγματα Ερωτημάτων Ασφάλεια Παραστάσεων Εκφραστική Δύναμη των Γλωσσών ΚΕΦΑΛΑΙΟ 6 ΣΧΕΔΙΑΣΗ ΣΧΕΣΙΑΚΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ 6.1 Πρώτη Κανονική Μορφή Μειονεκτήματα της Σχεδίασης Σχεσιακών Βάσεων Δεδομένων Λειτουργικές Εξαρτήσεις Βασικές Έννοιες Κλείσιμο ενός Συνόλου Λειτουργικών Εξαρτήσεων Κλείσιμο Συνόλων Ιδιοτήτων Κανονική Κάλυψη Αποσύνθεση Επιθυμητές Ιδιότητες της Αποσύνθεσης Αποσύνθεση Χωρίς Απώλειες Συνδέσμου...186

9 6.5.2 Διατήρηση Εξαρτήσεων Επανάληψη Πληροφοριών Κανονική Μορφή Boyce-Codd Ορισμός Αλγόριθμος Αποσύνθεσης Διατήρηση Εξάρτησης Τρίτη Κανονική Μορφή Ορισμός Αλγόριθμος Αποσύνθεσης Σύγκριση του BCNF και του 3NF Τέταρτη Κανονική Μορφή Εξαρτήσεις Πολλών Τιμών Ορισμός Τέταρτης Κανονικής Μορφής Αλγόριθμος Αποσύνθεσης Άλλες Κανονικές Μορφές Καθολική Διαδικασία Σχεδίασης Βάσης Δεδομένων Το Μοντέλο E-R και η Κανονικοποίηση Η Καθολική Προσέγγιση Σχέσεων Από-Κανονικοποίηση για Λόγους Απόδοσης Άλλα Θέματα Σχεδίασης..219 ΚΕΦΑΛΑΙΟ 7 ΣΤΑΤΙΣΤΙΚΗ ΕΡΕΥΝΑ 7.1 Σκοπός Πληθυσμός Δείγμα Ερωτηματολόγιο Συνεντεύξεις Επεξεργασία Εταιρικό Ερωτηματολόγιο Στατιστική Ανάλυση του Ερωτηματολογίου και Γραφήματα ΒΙΒΛΙΟΓΡΑΦΙΑ

10

11 Εισαγωγή ΚΕΦΑΛΑΙΟ 1 Ένα σύστημα διαχείρισης βάσεων δεδομένων(database-management system-dbms) είναι ένα σύνολο από σχετιζόμενα δεδομένα και ένα σύνολο από προγράμματα για πρόσβαση σε αυτά τα δεδομένα. Η συλλογή των δεδομένων, που συνήθως αναφέρεται ως βάση δεδομένων, περιέχει πληροφορίες σχετικές με μια επιχείρηση. Ο βασικός στόχος ενός DBMS είναι να παρέχει ένα τρόπο να αποθηκεύονται και να ανακαλούνται οι πληροφορίες των βάσεων δεδομένων, που να είναι βολικός και αποτελεσματικός. Τα συστήματα βάσεων δεδομένων σχεδιάζονται για να χειρίζονται μεγάλα τμήματα πληροφοριών. Η διαχείριση των δεδομένων περιλαμβάνει τόσο τον ορισμό των δομών για την αποθήκευση των πληροφοριών, όσο και την παροχή μηχανισμών για τον χειρισμό των πληροφοριών. Επιπλέον, τα συστήματα βάσεων δεδομένων πρέπει να διασφαλίζουν την ασφάλεια των πληροφοριών που αποθηκεύονται, παρόλα τα παγώματα του συστήματος ή τις προσπάθειες μη πιστοποιημένης πρόσβασης. Αν τα δεδομένα θα είναι κοινόχρηστα μεταξύ διαφόρων χρηστών, το σύστημα θα πρέπει να αποφεύγει πιθανά λανθασμένα αποτελέσματα. Επειδή οι πληροφορίες είναι τόσο σημαντικές για τις περισσότερες εταιρίες, οι επιστήμονες της πληροφορικής έχουν αναπτύξει ένα μεγάλο σύνολο από ιδέες και τεχνικές για την διαχείριση των δεδομένων. Αυτές οι ιδέες και οι τεχνικές αποτελούν την εστίαση αυτής της πτυχιακής. Αυτό το κεφάλαιο παρουσιάζει, εν συντομία, τις αρχές των συστημάτων των βάσεων δεδομένων. 1.1 Εφαρμογές Συστημάτων Βάσεων Δεδομένων Οι βάσεις δεδομένων χρησιμοποιούνται ευρέως. Εδώ αναφέρονται μερικές αντιπροσωπευτικές εφαρμογές: Τράπεζες: Για πληροφορίες πελατών, λογαριασμών και δανείων και τραπεζικών συναλλαγών. Αεροπορικές εταιρίες: Για κρατήσεις θέσεων και πληροφορίες πτήσεων. Οι αεροπορικές εταιρίες ήταν μεταξύ των πρώτων που χρησιμοποίησαν βάσεις. δεδομένων 2

12 με ένα γεωγραφικά κατανεμημένο τρόπο, δηλαδή με τερματικά που βρίσκονταν σε όλο τον κόσμο μπορούσαν να έχουν πρόσβαση στην κεντρική βάση δεδομένων μέσω τηλεφωνικών γραμμών και άλλων δικτύων δεδομένων. Πανεπιστήμια: Για πληροφορίες φοιτητών, εγγραφές σε μαθήματα και βαθμούς. Συναλλαγές πιστωτικών καρτών: Για αγορές μέσω πιστωτικών καρτών και δημιουργία μηνιαίων κινήσεων. Τηλεπικοινωνίες: Για διατήρηση των κλήσεων, δημιουργία μηνιαίων λογαριασμών, διατήρηση του υπολοίπου για τις προπληρωμένες κάρτες κλήσης και αποθήκευση πληροφοριών για τα δίκτυα επικοινωνιών. Χρηματοδοτήσεις: Για αποθήκευση πληροφοριών σχετικά με πωλήσεις και αγορές οικονομικών στοιχείων, όπως μετοχών και ομολόγων. Πωλήσεις: Για πληροφορίες πελατών, προϊόντων και πωλήσεων. Βιομηχανία: Για διαχείριση της αλυσίδας προμηθειών και την παρακολούθηση της παραγωγής των προϊόντων σε εργοστάσια, των προϊόντων σε μεγάλες αποθήκες και σε καταστήματα και των παραγγελιών των προϊόντων. Ανθρώπινοι πόροι: Για πληροφορίες για εργαζόμενους, μισθούς, φόρους μισθοδοσίας και παροχές και για πληρωμές μισθών. Όπως δείχνει η λίστα, οι βάσεις δεδομένων αποτελούν ένα απαραίτητο μέρος σχεδόν κάθε επιχείρησης σήμερα. Τις τελευταίες τέσσερις δεκαετίες του 20ου αιώνα, η χρήση των βάσεων δεδομένων αυξήθηκε σε όλες τις εταιρείες. Τον πρώτο καιρό, πολύ λίγοι άνθρωποι συνδιαλέγονταν κατευθείαν με συστήματα βάσεων δεδομένων, αν και χωρίς να το συνειδητοποιούν συνδιαλέγονταν με βάσεις δεδομένων έμμεσα, μέσω έντυπων αναφορών, όπως είναι η κίνηση των πιστωτικών καρτών, ή μέσω πρακτόρων, όπως μέσω ενός ταμία σε μια τράπεζα και ενός πράκτορα κράτη μιας αεροπορικής εταιρείας. Μετά εμφανίστηκαν τα αυτοματοποιημένα μηχανήματα που επέτρεπαν στους χρήστες να συνδιαλέγονται κατευθείαν με βάσεις δεδομένων. Οι διασυνδέσεις τηλεφώνων με υπολογιστές (έμμεσα συστήματα απόκρισης με φωνή), επέτρεπαν στους χρήστες να επικοινωνούν κατευθείαν με βάσεις δεδομένων αυτός που καλεί ένα αριθμό, μπορεί να πατήσει πλήκτρα στο τηλέφωνο γιο να εισάγει πληροφορίες ή για να επιλέξει εναλλακτικές επιλογές, ή για να μάθει την ώρα άφιξης και αναχώρησης, για παράδειγμα, ή για να εγγραφεί σε μαθήματα ενός πανεπιστημίου. 3

13 Η επανάσταση του Internet στα τέλη της δεκαετίας του 1990 αύξησε σαφώς την άμεση πρόσβαση του χρήστη στις βάσεις δεδομένων. Οι εταιρείες μετέτρεψαν πολλές από τις διασυνδέσεις τηλεφώνων με βάσεις δεδομένων, σε Web διασυνδέσεις και έκαναν διαθέσιμες πολλές υπηρεσίες και πληροφορίες online. Για παράδειγμα, όταν έχετε πρόσβαση σε ένα online βιβλιοπωλείο και κοιτάζετε μια συλλογή βιβλίων ή μουσικής, προσπελάζετε δεδομένα που είναι αποθηκευμένα σε μια βάση δεδομένων. Όταν δίνετε μια παραγγελία online, η παραγγελία σας αποθηκεύεται σε μια βάση δεδομένων. Όταν μπαίνετε στην Web τοποθεσία μιας τράπεζας και ανακαλείτε το υπόλοιπο του λογαριασμού και τις πληροφορίες συναλλαγών, οι πληροφορίες ανακαλούνται από την βάση δεδομένων της τράπεζας. Όταν έχετε πρόσβαση σε μια Web τοποθεσία, μπορεί να ανακληθούν πληροφορίες που σας αφορούν από μια βάση δεδομένων, για να επιλεχθεί ποιες διαφημίσεις θα βλέπετε. Επιπλέον, μπορεί να αποθηκευτούν τα δεδομένα για την πρόσβασή σας στο Web σε μια βάση δεδομένων. Έτσι, αν και τα περιβάλλοντα χρήστη κρύβουν λεπτομέρειες της πρόσβασης σε μια βάση δεδομένων και οι περισσότεροι δεν ξέρουν ότι συνδιαλέγονται με μια βάση δεδομένων, η πρόσβαση σε βάσεις δεδομένων αποτελεί ένα απαραίτητο μέρος της καθημερινής ζωής όλων μας. Η σημασία των συστημάτων βάσεων δεδομένων μπορεί να κριθεί με ένα άλλο τρόπο. Σήμερα, οι προμηθευτές συστημάτων βάσεων δεδομένων, όπως η Oracle, είναι μεταξύ των μεγαλύτερων εταιρειών λογισμικού στον κόσμο και τα συστήματα βάσεων δεδομένων αποτελούν ένα σημαντικό μέρος της γραμμής προϊόντων πολλών διαφορετικών εταιρειών, όπως της Microsoft και της ΙΒΜ. 1.2 Συστήματα Βάσεων Δεδομένων ως προς Συστήματα Αρχείων Φανταστείτε μια τράπεζα που διατηρεί πληροφορίες για όλους τους πελάτες και τους λογαριασμούς τους. Ένας τρόπος να κρατάτε τις πληροφορίες σε έναν υπολογιστή είναι να τις αποθηκεύεστε σε αρχεία του λειτουργικού συστήματος. Για να επιτρέψει στους χρήστες να χειρίζονται τις πληροφορίες, το σύστημα έχει διάφορα προγράμματα που χειρίζονται αρχεία, όπως: Ένα πρόγραμμα για χρέωση ή πίστωση ενός λογαριασμού Ένα Πρόγραμμα για προσθήκη ενός νέου λογαριασμού 4

14 Ένα Πρόγραμμα για την εύρεση του υπόλοιπου ενός λογαριασμού Ένα Πρόγραμμα για τη δημιουργία μηνιαίων αναφορών Οι προγραμματιστές συστημάτων έγραφαν αυτές τις εφαρμογές με τρόπο που να ανταποκρίνονται στις ανάγκες της τράπεζας. Νέα προγράμματα προστίθενται στο σύστημα εφόσον δημιουργούνται νέες ανάγκες. Για παράδειγμα, υποθέστε ότι η τράπεζα αποφασίζει να προσφέρει λογαριασμούς επιταγών. Ως αποτέλεσμα, η τράπεζα δημιουργεί νέα προσωρινά αρχεία που περιέχουν πληροφορίες για όλους τους λογαριασμούς επιταγών που διατηρούνται στην τράπεζα και ίσως να χρειάζεται να γραφτούν νέα προγράμματα που να χειρίζονται καταστάσεις που δεν υπάρχουν στους λογαριασμούς ταμιευτηρίου, όπως ακάλυπτες επιταγές. Έτσι, καθώς περνά ο καιρός, το σύστημα απαιτεί περισσότερα αρχεία και περισσότερα προγράμματα. Αυτό το τυπική σύστημα επεξεργασίας αρχείων υποστηρίζεται από ένα συμβατικό λειτουργικό σύστημα. Το σύστημα αποθηκεύει τις εγγραφές σε διάφορα αρχεία και χρειάζεται διαφορετικά προγράμματα για να εξάγει τις εγγραφές και να προσθέσει τις εγγραφές στα κατάλληλα αρχεία. Πριν εμφανιστούν τα συστήματα διαχείρισης βάσεων δεδομένων (DBMS), οι εταιρείες συνήθως αποθήκευαν τα δεδομένα τους σε τέτοια συστήματα. Η διατήρηση των πληροφοριών μιας εταιρείας σε ένα σύστημα επεξεργασίας αρχείων έχει διάφορα μεγάλα μειονεκτήματα: Επαναληπτικότητα και ασυνέπεια των δεδομένων. Αφού διαφορετικοί προγραμματιστές δημιούργησαν αρχεία και προγράμματα για μια μεγάλη χρονική περίοδο, τα διάφορα αρχεία είναι πιθανόν να έχουν διαφορετικές μορφές και τα προγράμματα μπορούν να γραφτούν σε διάφορες γλώσσες προγραμματισμού. Επιπλέον, οι ίδιες πληροφορίες μπορούν να αντιγραφούν σε διάφορα μέρη (αρχεία). Για παράδειγμα, η διεύθυνση και το τηλέφωνο ενός συγκεκριμένου πελάτη μπορεί να εμφανίζεται σε ένα αρχείο που αποτελείται από εγγραφές ενός λογαριασμού ταμιευτηρίου και ενός αρχείου που αποτελείται από εγγραφές ενός λογαριασμού επιταγών. Αυτή η επαναληπτικότητα καταλήγει σε μεγαλύτερο κόστος αποθήκευσης και πρόσβασης. Επιπλέον, μπορεί να καταλήξει σε ασυνέπεια των δεδομένων, δηλαδή, τα διάφορα αντίγραφα των ίδιων δεδομένων μπορεί να μην συμφωνούν μεταξύ τους. Για παράδειγμα, η αλλαγμένη διεύθυνση ενός πελάτη μπορεί να φαίνεται στις εγγραφές ενός λογαριασμού ταμιευτηρίου, αλλά όχι κάπου αλλού στο σύστημα. 5

15 Δυσκολία στην πρόσβαση δεδομένων. Υποθέστε ότι ένας από τους υπεύθυνους της τράπεζας θέλει να δει τα ονόματα όλων των πελατών που ζουν σε ένα συγκεκριμένο ταχυδρομικό κωδικό. Ο υπεύθυνος ζητά από το τμήμα επεξεργασίας δεδομένων να δημιουργήσει μια τέτοια λίστα. Επειδή οι σχεδιαστές του αρχικού συστήματος δεν το είχαν τιμή 500 και να γράψουν πίσω το 450 και το 400, αντίστοιχα. Ανάλογα ποιος γράφει την τιμή τελευταίος, ο λογαριασμός μπορεί να περιέχει 450 ή 400, αντί για τη σωστή τιμή που είναι 350. Για να αποφευχθεί τέτοια πιθανότητα, το σύστημα πρέπει να έχει κάποιο είδος επίβλεψης. Αλλά είναι δύσκολο να υπάρχει επίβλεψη, επειδή τα δεδομένα μπορεί να προσπελάζονται από πολλά διαφορετικά προγράμματα που δεν έχουν συγχρονιστεί προηγουμένως. Προβλήματα ασφάλειας. Δεν θα πρέπει κάθε χρήστης του συστήματος βάσης δεδομένων να προσπελάζει όλα τα δεδομένα. Για παράδειγμα, σε ένα τραπεζικό σύστημα, το προσωπικό μισθοδοσίας πρέπει να βλέπει μόνο το μέρος της βάσης δεδομένων που έχει πληροφορίες για τους διάφορους εργαζόμενους της τράπεζας. Δεν πρέπει να έχει πρόσβαση στις πληροφορίες των λογαριασμών των πελατών. Αλλά εφόσον προστίθενται προγράμματα στο σύστημα για συγκεκριμένο σκοπό, είναι δύσκολη η εφαρμογή τέτοιων περιορισμών ασφάλειας. Αυτές οι δυσκολίες μεταξύ άλλων, ζητούν την ανάπτυξη ενός συστήματος βάσης δεδομένων. Σε αυτό που ακολουθεί θα δούμε τις θεωρίες και τους αλγορίθμους που επιτρέπουν σε συστήματα βάσεων δεδομένων να λύνουν τα προβλήματα των συστημάτων επεξεργασίας αρχείων. Στο μεγαλύτερο μέρος αυτού του βιβλίου, χρησιμοποιούμε μια τράπεζα ως παράδειγμα μιας τυπικής εφαρμογής επεξεργασίας δεδομένων μιας εταιρείας. 1.3 Προβολή Δεδομένων Ένα σύστημα βάσης δεδομένων είναι ένα σύνολο από σχετιζόμενα αρχεία και ένα σύνολο από προγράμματα που επιτρέπουν στους χρήστες να προσπελάζουν και να τροποποιούν αυτά τα αρχεία. Ένας βασικός σκοπός ενός συστήματος βάσης δεδομένων είναι να παρέχει στους χρήστες μια αφηρημένη προβολή των δεδομένων. Δηλαδή, το σύστημα κρύβει κάποιες λεπτομέρειες που αφορούν τον τρόπο αποθήκευσης των δεδομένων. 6

16 1.3.1 Αφαιρετικότητα Δεδομένων Για να είναι χρήσιμο ένα σύστημα, πρέπει να ανακαλεί τα δεδομένα αποτελεσματικά. Η ανάγκη για αποτελεσματικότητα έχει κάνει τους σχεδιαστές να χρησιμοποιούν περίπλοκες δομές δεδομένων για να αναπαριστούν τα δεδομένα της βάσης δεδομένων. Αφού πολλοί χρήστες συστημάτων βάσεων δεδομένων δεν είναι έμπειροι στους υπολογιστές, οι προγραμματιστές κρύβουν την πολυπλοκότητα από τους χρήστες μέσω διαφόρων επιπέδων αφαιρετικότητας, για να απλοποιήσουν την συνδιαλλαγή των χρηστών με το σύστημα: Φυσικό επίπεδο. Το χαμηλότερο επίπεδο αφαιρετικότητας περιγράφει τον τρόπο που αποθηκεύονται τα δεδομένα. Το φυσικό επίπεδο περιγράφει με λεπτομέρεια περίπλοκες δομές δεδομένων χαμηλού επιπέδου. Λογικό επίπεδο. Το επόμενο υψηλότερο επίπεδο αφαιρετικότητας περιγράφει ποια δεδομένα αποθηκεύονται στην βάση δεδομένων και ποιες σχέσεις υπάρχουν μεταξύ αυτών των δεδομένων. Το λογικό επίπεδο περιγράφει λοιπόν ολόκληρη τη βάση δεδομένων, σε σχέση με ένα μικρό σχετικά αριθμό απλών δομών. Αν και ο χειρισμός των απλών δομών στο λογικό επίπεδο μπορεί να περιλαμβάνει περίπλοκες δομές φυσικού επιπέδου, ο χρήστης του λογικού επιπέδου δεν χρειάζεται να ξέρει αυτή την πολυπλοκότητα. Οι διαχειριστές βάσεων δεδομένων, που πρέπει να αποφασίσουν ποιες πληροφορίες να διατηρούν στην βάση δεδομένων, χρησιμοποιούν το λογικό επίπεδο αφαιρετικότητας. Επίπεδο προβολής. Το υψηλότερο επίπεδο αφαιρετικότητας περιγράφει μέρος μόνο ολόκληρης της βάσης δεδομένων. Αν και το λογικό επίπεδο χρησιμοποιεί απλούστερες δομές, η πολυπλοκότητα παραμένει εξαιτίας της ποικιλίας των πληροφοριών που αποθηκεύονται σε μια μεγάλη βάση δεδομένων. Πολλοί χρήστες των συστημάτων βάσεων δεδομένων δεν χρειάζονται όλες αυτές τις πληροφορίες. Αντίθετα, χρειάζεται να έχουν πρόσβαση μόνο σε ένα μέρος της βάσης δεδομένων. Το επίπεδο προβολής της αφαιρετικότητας υπάρχει για να απλοποιήσει την συνδιαλλαγή τους με το σύστημα. Το σύστημα μπορεί να παρέχει πολλές προβολές της ίδιας βάσης δεδομένων. Η Εικόνα 1.1 δείχνει τη σχέση μεταξύ των τριών επιπέδων αφαιρετικότητας Μια παρομοίωση της ιδέας των τύπων δεδομένων σε εκδόσεις προγραμματισμού, μπορεί να αποσαφηνίσει τη διαφορά μεταξύ των επιπέδων διαφορετικότητας. 7

17 Οι περισσότερες γλώσσες προγραμματισμού υψηλού επιπέδου υποστηρίζουν την έννοια της εγγραφής. Για παράδειγμα, σε μια γλώσσα στυλ Pascal, μπορούμε να δηλώσουμε μια εγγραφή ως εξής: Type customer = record Customer-id: string; Customer-name: string; Customer-street: string; Customer-city: string; End; Αυτός ο κώδικας ορίζει ένα νέο τύπο εγγραφής που ονομάζεται customer (πελάτης), με τέσσερα πεδία. Κάθε πεδίο έχει ένα όνομα και ένα τύπο. Μια τράπεζα μπορεί να έχει διάφορους τέτοιους τύπους εγγραφών, όπως: account (λογαριασμός), με πεδία αριθμού λογαριασμού (account-number) και υπολοίπου (balance) employee(εργαζόμενος), με πεδία ονόματος εργαζομένου (employee-name) και μισθού(salary Σε φυσικό επίπεδο, μια εγγραφή customer, account, ή employee, μπορεί να περιγράφει ως ένα τμήμα συνεχόμενων θέσεων αποθήκευσης (για παράδειγμα, λέξεις ή byte). Ο μεταγλωττιστής της γλώσσας κρύβει αυτό το επίπεδο λεπτομέρειας από τους προγραμματιστές. Παρόμοια, το σύστημα βάσης δεδομένων κρύβει πολλές από τις λεπτομέρειες αποθήκευσης του χαμηλότερου επιπέδου από τους προγραμματιστές της βάσης δεδομένων. Οι διαχειριστές της βάσης δεδομένων, από την άλλη, μπορεί να ξέρουν κάποιες λεπτομέρειες της φυσικής οργάνωσης των δεδομένων. Στο λογικό επίπεδο, κάθε τέτοια εγγραφή περιγράφεται από ένα ορισμό τύπου, όπως στο προηγούμενο τμήμα κώδικα και τη σχέση μεταξύ αυτών των τύπων εγγραφών. Οι προγραμματιστές που χρησιμοποιούν μια γλώσσα προγραμματισμού δουλεύουν σε αυτό το επίπεδο αφαιρετικότητας. Παρόμοια και οι διαχειριστές των βάσεων δεδομένων συνήθως δουλεύουν σε αυτό το επίπεδο αφαιρετικότητας. 8

18 Εικόνα 1.1 Τα τρία επίπεδα αφαιρετικότητας των δεδομένων Τέλος, στο επίπεδο προβολής, οι χρήστες βλέπουν ένα σύνολο από εφαρμογές που κρύβουν τις λεπτομέρειες των τύπων δεδομένων. Παρόμοια, στο επίπεδο προβολής, ορίζονται διάφορες προβολές της βάσης δεδομένων και οι χρήστες της βάσης δεδομένων βλέπουν αυτές τις προβολές. Εκτός από την απόκρυψη των λεπτομερειών του λογικού επίπεδου της βάσης δεδομένων, οι προβολές παρέχουν επίσης ένα μηχανισμό ασφάλειας για να εμποδίζουν τους χρήστες να έχουν πρόσβαση σε κάποια μέρη της βάσης δεδομένων. Για παράδειγμα, οι ταμίες σε μια τράπεζα βλέπουν μόνο το μέρος της βάσης δεδομένων που έχει πληροφορίες για τους λογαριασμούς πελατών και δεν μπορούν να δουν πληροφορίες για μισθούς των εργαζομένων Στιγμιότυπα και Διατάξεις Οι βάσεις δεδομένων αλλάζουν με τον καιρό, καθώς εισάγονται και διαγράφονται πληροφορίες σε αυτές. Η συλλογή των πληροφοριών που αποθηκεύονται στην βάση δεδομένων μια συγκεκριμένη στιγμή ονομάζεται στιγμιότυπο (instance) της βάσης δεδομένων. Η καθολική σχεδίαση της βάσης δεδομένων ονομάζεται διάταξη (schema). Οι διατάξεις αλλάζουν σπάνια, αν όχι καθόλου. Η ιδέα των διατάξεων και των στιγμιότυπων μπορεί να γίνει κατανοητή αν τα παρομοιάσετε με ένα πρόγραμμα γραμμένο σε μια γλώσσα προγραμματισμού. Μια διάταξη αντιστοιχεί στις δηλώσεις των μεταβλητών (μαζί με τους σχετικούς ορισμούς τύπων) ενός προγράμματος. Κάθε μεταβλητή έχει μια συγκεκριμένη τιμή, μια 9

19 συγκεκριμένη στιγμή. Οι τιμές των μεταβλητών ενός προγράμματος μια χρονική στιγμή αντιστοιχούν σε ένα στιγμιότυπο μιας διάταξης μιας βάσης δεδομένων. Τα συστήματα βάσεων δεδομένων έχουν διάφορες διατάξεις, που χωρίζονται σύμφωνα με τα επίπεδα αφαιρετικότητας. Η φυσική διάταξη περιγράφει τη σχεδίαση της βάσης δεδομένων σε φυσικό επίπεδο, ενώ η λογική διάταξη περιγράφει τη σχεδίαση σε λογικό επίπεδο. Μια βάση δεδομένων μπορεί να έχει επίσης διάφορες διατάξεις σε επίπεδο προβολής, που μερικές φορές ονομάζονται υποδιατάξεις, που περιγράφουν διαφορετικές προβολές της βάσης δεδομένων. Από αυτές, η λογική διάταξη είναι η πιο σημαντική σε σχέση με την επίδρασή της στα προγράμματα, αφού οι προγραμματιστές κατασκευάζουν εφαρμογές χρησιμοποιώντας την λογική διάταξη. Η φυσική διάταξη κρύβεται κάτω από την λογική διάταξη και συνήθως μπορεί να αλλάζει εύκολα χωρίς να επηρεάζονται τα προγράμματα. Τα προγράμματα λέμε ότι εκθέτουν την φυσική ανεξαρτησία των δεδομένων, αν δεν εξαρτώνται από τη φυσική διάταξη και έτσι δεν χρειάζεται να ξαναγραφούν αν αλλάξει η φυσική διάταξη. Θα μελετήσουμε γλώσσες για περιγραφή των διατάξεων αφού παρουσιάσουμε την έννοια των μοντέλων δεδομένων στην επόμενη ενότητα. 1.4 Μοντέλα Δεδομένων Κάτω από την δομή μιας βάσης δεδομένων είναι το μοντέλο δεδομένων: ένα σύνολο από εργαλεία για περιγραφή των δεδομένων, των σχέσεων των δεδομένων, της σημασίας των δεδομένων και των περιορισμών συνέπειας. Για να δείξουμε την ιδέα ενός μοντέλου δεδομένων, περιγράφουμε δυο μοντέλα σε αυτή την ενότητα: το μοντέλο οντότηταςσχέσης και το σχεσιακό μοντέλο. Και τα δυο παρέχουν ένα τρόπο να περιγράφει η σχεδίαση μιας βάσης δεδομένων σε λογικό επίπεδο Το Μοντέλο Οντότητας-Σχέσης Το μοντέλο οντότητας-σχέσης (entity-relationship-e-r), βασίζεται στην αντίληψη του φυσικού κόσμου, που αποτελείται από ένα σύνολο από βασικά αντικείμενα, που ονομάζονται οντότητες και από σχέσεις μεταξύ αυτών των αντικειμένων. Μια οντότητα είναι ένα πράγμα ή ένα αντικείμενο του φυσικού κόσμου, που ξεχωρίζει από άλλα αντικείμενα. 10

20 Για παράδειγμα, κάθε άτομο είναι μια οντότητα και οι λογαριασμοί της τράπεζας μπορούν να θεωρηθούν οντότητες. Οι οντότητες περιγράφονται σε μια βάση δεδομένων από ένα σύνολο ιδιοτήτων. Για παράδειγμα, οι ιδιότητες account-number και balance μπορεί να περιγράφουν ένα συγκεκριμένο λογαριασμό μιας τράπεζας και αποτελούν ιδιότητες της οντότητας account. Παρόμοια, οι οντότητες customer-name (όνομα πελάτη), customer-street (διεύθυνση πελάτη) και customer-city (πόλη πελάτη), μπορεί να περιγράφουν μια οντότητα πελάτη. Χρησιμοποιείται μια επιπλέον ιδιότητα, η customer-id (κωδ. πελάτη), για να προσδιορίζει μοναδικά τους πελάτες (αφού μπορεί να υπάρχουν δυο πελάτες με το ίδιο όνομα, διεύθυνση και πόλη). Πρέπει να δοθεί σε κάθε πελάτη ένα μοναδικό αναγνωριστικό πελάτη. Στις ΗΠΑ, πολλές εταιρείες χρησιμοποιούν ως αναγνωριστικό πελάτη τον αριθμό κοινωνικής ασφάλισης ενός ατόμου (ένα μοναδικό αριθμό που δίνει η κυβέρνηση των ΗΠΑ σε κάθε άτομο). Μια σχέση είναι μια συσχέτιση μεταξύ διαφόρων οντοτήτων. Για παράδειγμα, μια σχέση depositor (καταθέτης), συσχετίζει έναν πελάτη με κάθε λογαριασμό του. Το σύνολο όλων των οντοτήτων του ίδιου τύπου και το σύνολο όλων των σχέσεων του ίδιου τύπου ονομάζονται, αντίστοιχα, σύνολο οντοτήτων και σύνολο σχέσεων. Η ολική λογική δομή (διάταξη) μιας βάσης δεδομένων μπορεί να εκφραστεί λογικά από ένα διάγραμμα οντότητας-σχέσης, που δημιουργείται από τα παρακάτω συστατικά: Ορθογώνια, που αντιπροσωπεύουν σύνολα οντοτήτων Ελλείψεις, που αντιπροσωπεύουν ιδιότητες Ρόμβους, που αντιπροσωπεύουν σχέσεις μεταξύ συνόλων οντοτήτων Γραμμές, που συνδέουν ιδιότητες με σύνολα οντοτήτων και σύνολα οντοτήτων με σχέσεις Κάθε συστατικό ονομάζεται από την οντότητα ή την σχέση που αντιπροσωπεύει. Φανταστείτε μέρος μιας βάσης δεδομένων ενός τραπεζικού συστήματος, που αποτελείται από πελάτες και από τους λογαριασμούς που έχουν αυτοί οι πελάτες. Η Εικόνα 1.2 δείχνει το αντίστοιχο διάγραμμα οντότητας-σχέσης. Το διάγραμμα οντότητας-σχέσης δείχνει ότι υπάρχουν δυο σύνολα οντοτήτων, τα customer και account, με τις ιδιότητες που περιγράφηκαν νωρίτερα. Το διάγραμμα δείχνει επίσης μια σχέση depositor (καταθέτη), μεταξύ πελάτη και λογαριασμού. 11

21 Εκτός από τις οντότητες και τις σχέσεις, το μοντέλο οντότητας-σχέσης αντιπροσωπεύει κάποιους περιορισμούς στους οποίους πρέπει να υπακούν τα περιεχόμενα μιας βάσης δεδομένων. Ένας σημαντικός περιορισμός είναι η τάξη της απεικόνισης, που εκφράζει τον αριθμό των οντοτήτων, με τις οποίες μπορεί να συσχετιστεί μια οντότητα μέσω ενός συνόλου σχέσεων. Για παράδειγμα, αν κάθε λογαριασμός πρέπει να ανήκει μόνο σε έναν πελάτη, το μοντέλο οντότητας-σχέσης μπορεί να εκφράσει αυτόν τον περιορισμό. Το μοντέλο οντότητας-σχέσης χρησιμοποιείται ευρέως στη σχεδίαση βάσεων δεδομένων και το Κεφάλαιο 2 το εξετάζει με λεπτομέρεια. Εικόνα 1.2 Ένα δείγμα διαγράμματος οντότητας-σχέσης Σχεσιακό Μοντέλο Το σχεσιακό μοντέλο χρησιμοποιεί ένα σύνολο από πίνακες που αντιπροσωπεύουν δεδομένα και τις σχέσεις μεταξύ αυτών των δεδομένων. Κάθε πίνακας έχει πολλές στήλες και κάθε στήλη έχει ένα μοναδικό όνομα. Η Εικόνα 1.3 αναπαριστά ένα δείγμα σχεσιακής βάσης δεδομένων που αποτελείται από τρεις πίνακες: ένας δείχνει λεπτομέρειες με πελάτες τραπέζης, ο δεύτερος δείχνει λογαριασμούς και ο τρίτος ποιοι λογαριασμοί ανήκουν σε κάθε πελάτη. Ο πρώτος πίνακας, ο πίνακας customer, δείχνει για παράδειγμα, ότι ο πελάτης που προσδιορίζεται από τον κωδικό , ονομάζεται Johnson και ζει στην διεύθυνση 12 Alma st.. στο Palo Alto. Ο δεύτερος πίνακας account, δείχνει για παράδειγμα, ότι ο λογαριασμός Α-101 έχει υπόλοιπο 500 και ο A-201 έχει υπόλοιπο

22 Ο τρίτος πίνακας δείχνει ποιοι λογαριασμοί ανήκουν σε ποιους πελάτες. Για παράδειγμα, ο λογαριασμός Α-101 ανήκει στον πελάτη του οποίου ο κωδικός είναι , δηλαδή του Johnson και οι πελάτες (Johnson) και (Smith) μοιράζονται το λογαριασμό Α-201 (μπορεί να έχουν μαζί μια επιχείρηση). Το σχεσιακό μοντέλο είναι ένα παράδειγμα ενός μοντέλου που βασίζεται σε εγγραφές. Τα μοντέλα που βασίζονται σε εγγραφές ονομάζονται έτσι, επειδή η βάση δεδομένων δομείται με εγγραφές σταθερής μορφής, διαφόρων τύπων. Κάθε πίνακας περιέχει εγγραφές ενός συγκεκριμένου τύπου. Κάθε τύπος εγγραφής ορίζει ένα σταθερό αριθμό πεδίων, ή ιδιοτήτων. Οι στήλες του πίνακα αντιστοιχούν σε ιδιότητες του τύπου της εγγραφής. Δεν είναι δύσκολο να δείτε πώς μπορούν να αποθηκευτούν οι πίνακες σε αρχεία. Για παράδειγμα, μπορεί να χρησιμοποιηθεί ένας ειδικός χαρακτήρας (όπως ένα κόμμα) για να διαχωρίσει τις διαφορετικές ιδιότητες μιας εγγραφής και μπορεί να χρησιμοποιηθεί ένας άλλος ειδικός χαρακτήρας (όπως ο χαρακτήρας νέα γραμμής) για να ξεχωρίζουν οι εγγραφές. Το σχεσιακό μοντέλο κρύβει τέτοιες λεπτομέρειες χαμηλού επιπέδου από τους προγραμματιστές και τους χρήστες της βάσης δεδομένων. Το σχεσιακό μοντέλο είναι το πιο ευρέως χρησιμοποιούμενο μοντέλο και ένας μεγάλος αριθμός συστημάτων βάσεων δεδομένων αυτή τη στιγμή, βασίζονται στο σχεσιακό μοντέλο. Το σχεσιακό μοντέλο είναι σε χαμηλότερο επίπεδο αφαιρετικότητας από ό,τι το μοντέλο οντότητας-σχέσης. Οι σχεδιάσεις βάσεων δεδομένων συνήθως μεταφέρονται στο μοντέλο οντότητας-σχέσης και μετά μεταφράζονται στο σχεσιακό μοντέλο. Για παράδειγμα, είναι εύκολο να δείτε ότι οι πίνακες customer και account αντιστοιχούν στα σύνολα οντοτήτων με το ίδιο όνομα, ενώ ο πίνακας depositor αντιστοιχεί στο σύνολο σχέσεων depositor. Παρατηρούμε επίσης ότι είναι δυνατόν να δημιουργήσουμε διατάξεις στο σχεσιακό μοντέλο που να έχουν προβλήματα, όπως χωρίς λόγω διπλές πληροφορίες. Για παράδειγμα, υποθέστε ότι αποθηκεύουμε το account-number ως ιδιότητα της εγγραφής customer. Μετά, για να γραμμές στον πίνακα customer. Οι τιμές για τα customer-name και customer-city για τον Johnson, είναι ίδιες και στις δυο γραμμές. 13

23 Customer-id (κωδικός πελάτη) Customer-name (όνομα πελάτη) Johnson Smith Hayes Turner Jones Lindsay Smith Customer-street (διεύθυνση πελάτη) 12 Alma St. 4 North St. 3 Main St. 123 Putman Ave. 100 Main St. 175 Park Ave. 72 North St. Customer-city (πόλη πελάτη) Palo Alto Rye Harrison Stamford Harrison Pittsfield Rye (α) Ο πίνακας customer (πελατών) Account-number (αριθμός λογαριασμού) A-101 A-215 A-102 A-305 A-201 A-217 A-222 Balance (υπόλοιπο) (β) Ο πίνακας account (λογαριασμών) Customer-id (κωδικός πελάτη Account-number (αριθμός λογαριασμού) A-101 A-201 A-215 A-102 A-305 A-217 A-222 A-201 (γ) Ο πίνακας depositor( καταθετών) Εικόνα 1.3 Ένα δείγμα μιας σχεσιακής βάσης δεδομένων. 14

24 1.4.3 Άλλα Μοντέλα Δεδομένων Το αντικειμενοστραφές μοντέλο είναι ένα άλλο μοντέλο δεδομένων, που γίνεται όλο και πιο σημαντικό. Αυτό το μοντέλο μπορείτε να το δείτε ως επέκταση του μοντέλου οντότητας-σχέσης με τις έννοιες της ενσωμάτωσης, με τις μεθόδους (συναρτήσεις) και με την ταυτότητα των αντικειμένων. Το μοντέλο δεδομένων των σχεσιακών αντικειμένων συνδυάζει λειτουργίες του αντικειμενοστραφούς μοντέλου και του σχεσιακού μοντέλου. Τα ημι-δομημένα μοντέλα δεδομένων επιτρέπουν τις προδιαγραφές των δεδομένων, εκεί όπου διαφορετικά στοιχεία δεδομένων του ίδιου τύπου μπορεί να έχουν διαφορετικά σύνολα ιδιοτήτων. Αυτό έρχεται σε αντίθεση με τα μοντέλα που αναφέρθηκαν νωρίτερα, όπου κάθε στοιχείο ενός συγκεκριμένου τύπου πρέπει να έχει το ίδιο είδος ιδιοτήτων. Η extensible markup language (XML) χρησιμοποιείται ευρέως για αναπαράσταση ημιδομημένων δεδομένων. Ιστορικά, υπάρχουν δυο άλλα μοντέλα δεδομένων, το δικτυακό μοντέλο δεδομένων και το ιεραρχικό μοντέλο δεδομένων, που υπήρχε πριν από το σχεσιακό μοντέλο. Αυτά τα μοντέλα ήταν στενά συνδεδεμένα με την υλοποίησή τους και περιέπλεκαν την διαδικασία της μοντελοποίησης των δεδομένων. Ως αποτέλεσμα, χρησιμοποιούνται λίγο πλέον, εκτός από παλιό κώδικα βάσεων δεδομένων που υπάρχει ακόμα σε κάποια μέρη. 1.5 Γλώσσες Βάσεων Δεδομένων Ένα σύστημα βάσης δεδομένων παρέχει μια γλώσσα ορισμού των δεδομένων, με την οποία καθορίζεται η διάταξη της βάσης δεδομένων και μια γλώσσα χειρισμού των δεδομένων για να εκφράζονται οι ερωτήσεις και σι ενημερώσεις στην βάση δεδομένων. Πρακτικά, ο ορισμός των δεδομένων και οι γλώσσες ορισμού των δεδομένων και του χειρισμού των δεδομένων δεν είναι δυο ξεχωριστές γλώσσες, αλλά αντίθετα αποτελούν απλώς μέρη μιας γλώσσας, όπως είναι η ευρέως χρησιμοποιούμενη γλώσσα SQL Γλώσσα Ορισμού των Δεδομένων Καθορίζουμε μια διάταξη βάσης δεδομένων από ένα σύνολο ορισμών που εκφράζονται από μια ειδική γλώσσα, που ονομάζεται γλώσσα ορισμού των δεδομένων (datadefinition language-ddl). 15

25 Για παράδειγμα, η παρακάτω εντολή στη γλώσσα SQL ορίζει τον πίνακα account: Create table account (account-number char(10), Balance integer) Η εκτέλεση της παραπάνω DDL εντολής δημιουργεί τον πίνακα account. Επιπλέον, ενημερώνει ένα ειδικό σύνολο από πίνακες που ονομάζεται λεξικό δεδομένων ή κατάλογος δεδομένων. Ένα λεξικό περιέχει μετα-δεδομένα, δηλαδή δεδομένα σχετικά με τα δεδομένα. Η διάταξη ενός πίνακα είναι ένα παράδειγμα μετα-δεδομένων. Ένα σύστημα βάσης δεδομένων συμβουλεύεται το λεξικό πριν διαβάσει ή τροποποιήσει τα δεδομένα. Καθορίζουμε τη δομή αποθήκευσης και τις μεθόδους πρόσβασης που χρησιμοποιούνται από το σύστημα της βάσης δεδομένων με ένα σύνολο εντολών ενός ειδικού τύπου DDL, που ονομάζεται γλώσσα αποθήκευσης και ορισμού των δεδομένων. Αυτές οι εντολές ορίζουν τις λεπτομέρειες υλοποίησης των διατάξεων της βάσης δεδομένων, που συνήθως κρύβονται από τους χρήστες. Οι τιμές των δεδομένων που αποθηκεύονται στην βάση δεδομένων πρέπει να ικανοποιούν κάποιους περιορισμούς συνέπειας. Για παράδειγμα, υποθέστε ότι το υπόλοιπο ενός λογαριασμού δεν θα πρέπει να πέφτει κάτω από 100. Το DDL παρέχει λειτουργίες για να καθορίζετε τέτοιους περιορισμούς. Τα συστήματα βάσεων δεδομένων ελέγχουν αυτούς τους περιορισμούς κάθε φορά που ενημερώνεται η βάση δεδομένων Γλώσσα Χειρισμού των Δεδομένων Ο χειρισμός των δεδομένων είναι: Η ανάκληση πληροφοριών που είναι αποθηκευμένες στην βάση δεδομένων Η εισαγωγή νέων πληροφοριών στην βάση δεδομένων Η διαγραφή πληροφοριών από την βάση δεδομένων Η τροποποίηση πληροφοριών στην βάση δεδομένων Μια γλώσσα χειρισμού των δεδομένων (data-manipulation language-dml) είναι μια γλώσσα που επιτρέπει τους χρήστες να έχουν πρόσβαση ή να χειρίζονται δεδομένα όπως είναι οργανωμένα από το κατάλληλο μοντέλο δεδομένων. Υπάρχουν βασικά δυο τύποι: 16

26 Οι διαδικαστικές DML απαιτούν από ένα χρήστη να καθορίζει ποια δεδομένα χρειάζονται και πώς να λαμβάνονται αυτά τα δεδομένα. Οι δηλωτικές DML (που επίσης αναφέρονται ως μη διαδικαστικές DML), απαιτούν από ένα χρήστη να καθορίζει ποια δεδομένα απαιτούνται, χωρίς να καθορίζει πώς θα ληφθούν αυτά τα δεδομένα. Οι δηλωτικές DML συνήθως είναι ευκολότερες στην εκμάθηση και στη χρήση από ό,τι oι διαδικαστικές DML. Ωστόσο, αφού ένας χρήστης δεν χρειάζεται να καθορίσει πώς θα πάρει τα δεδομένα, το σύστημα της βάσης δεδομένων θα πρέπει να βρει ένα αποτελεσματικό μέσο πρόσβασης στα δεδομένα. Το DML συστατικό της γλώσσας SQL είναι μη διαδικαστικό. Ένα ερώτημα είναι μια εντολή που ζητά την ανάκληση πληροφοριών. Το Τμήμα μιας DML που περιλαμβάνει ανάκληση πληροφοριών ονομάζεται γλώσσα ερωτημάτων. Αν και τεχνικά είναι λανθασμένο, είναι συνηθισμένο να χρησιμοποιούνται οι όροι γλώσσα ερωτημάτων και γλώσσα χειρισμού των δεδομένων με την ίδια έννοια. Αυτό το ερώτημα στην SQL βρίσκει το όνομα του πελάτη του οποίου ο κωδικός είναι : select customer.customer-name from customer where customer.customer-id = Το ερώτημα καθορίζει ότι πρέπει να ανακληθούν οι γραμμές από τον πίνακα customer όπου ο κωδικός πελάτη είναι και πρέπει να εμφανιστεί η ιδιότητα customername αυτών των γραμμών. Αν το ερώτημα έτρεχε στον πίνακα της Εικόνας 1.3, θα εμφανιζόταν το όνομα Johnson. Τα ερωτήματα μπορεί να περιλαμβάνουν πληροφορίες από περισσότερους από έναν πίνακες. Το παρακάτω ερώτημα βρίσκει το υπόλοιπο όλων των λογαριασμών που έχει ο πελάτης με κωδικό select account. balance from depositor, account where depositor. customer-id = and depositor. account-number = account. account-number 17

27 Αν το παραπάνω ερώτημα έτρεχε στους πίνακες της Εικόνας 1.3, το σύστημα θα έβρισκε ότι ο πελάτης έχει δυο λογαριασμούς με αριθμούς Α-101 και Α- 201 και θα τύπωνε τα υπόλοιπα των δυο λογαριασμών, δηλαδή 500 και 900.Υπάρχουν διάφορες γλώσσες ερωτημάτων βάσεων δεδομένων, είτε εμπορικές είτε πειραματικές. Τα επίπεδα αφαιρετικότητας που συζητήσαμε στην Ενότητα 1.3 εφαρμόζονται όχι μόνο στον ορισμό ή στην δόμηση των δεδομένων, αλλά επίσης και στο χειρισμό των δεδομένων. Σε φυσικό επίπεδο, πρέπει να ορίζουμε αλγορίθμους που επιτρέπουν αποτελεσματική πρόσβαση στα δεδομένα. Σε υψηλότερα επίπεδα αφαιρετικότητας δίνουμε έμφαση στην ευκολία χρήσης. Ο στόχος είναι να επιτρέπουμε σε άτομα να συνδιαλέγονται αποτελεσματικά με το σύστημα Πρόσβαση της Βάσης Δεδομένων από Προγράμματα Εφαρμογών Τα Προγράμματα εφαρμογών είναι προγράμματα που χρησιμοποιούνται για επικοινωνία με τη βάση δεδομένων. Τα προγράμματα συνήθως γράφονται σε μια κύρια γλώσσα, όπως οι Cobol, C, C++, ή Java. Παραδείγματα σε ένα τραπεζικό σύστημα είναι προγράμματα που δημιουργούν μισθοδοσίες, λογαριασμούς πίστωσης και χρέωσης ή μεταφορά ποσών μεταξύ λογαριασμών. Για πρόσβαση στη βάση δεδομένων, χρειάζονται DML εντολές που να εκτελούνται από την κύρια γλώσσα. Υπάρχουν δυο τρόποι να το κάνετε: Παρέχοντας ένα περιβάλλον εφαρμογής (σύνολο διαδικασιών) που μπορεί να χρησιμοποιηθεί για να στέλνονται εντολές DML και DDL στη βάση δεδομένων και να γίνεται ανάκληση των αποτελεσμάτων. Η τυποποίηση Open Database Connectivity (ODBC), που ορίζεται από την Microsoft για χρήση με τη γλώσσα C, χρησιμοποιείται συνήθως από τυπικά περιβάλλοντα προγραμμάτων. Η τυποποίηση Java Database Connectivity (JDBC) Παρέχει αντίστοιχες λειτουργίες με τη γλώσσα Java. Επεκτείνοντας τη σύνταξη της κύριας γλώσσας για να περιέχει κλήσεις DML μέσα στο κύριο πρόγραμμα. Συνήθως, προτάσσεται ένας χαρακτήρας των κλήσεων DML και ένας προεπεξεργαστής, που ονομάζεται DML προμεταγλωττιστής, μετατρέπει τις DML εντολές σε κανονικές κλήσεις διαδικασιών στην κύρια γλώσσα. 18

28 1.6 Χρήστες και Διαχειριστές Βάσεων Δεδομένων Ένας βασικός στόχος ενός συστήματος βάσης δεδομένων είναι να ανακαλεί πληροφορίες και να αποθηκεύει νέες πληροφορίες στην βάση δεδομένων. Τα άτομα που δουλεύουν με μια βάση δεδομένων μπορούν να κατηγοριοποιηθούν ως χρήστες ή ως διαχειριστές της βάσης δεδομένων Χρήστες και Περιβάλλοντα Χρήστη Υπάρχουν τέσσερις διαφορετικοί τύποι χρηστών ενός συστήματος βάσης δεδομένων, που διαφοροποιούνται από τον τρόπο που περιμένουν να επικοινωνήσουν με το σύστημα. Σχεδιάζονται διαφορετικά περιβάλλοντα για διαφορετικά είδη χρηστών συνέπειας. Έτσι, απαιτούμε οι συναλλαγές να μην παραβιάζουν τους περιορισμούς συνέπειας της βάσης δεδομένων. Δηλαδή, αν η βάση δεδομένων ήταν συνεπής όταν ξεκίνησε μια συναλλαγή, η βάση δεδομένων πρέπει να είναι συνεπής όταν ολοκληρωθεί με επιτυχία η συναλλαγή. Ωστόσο, στη διάρκεια της εκτέλεσης μιας συναλλαγής, ίσως είναι απαραίτητο να επιτρέπεται προσωρινά η ασυνέπεια, αφού είτε η χρέωση του Α είτε η πίστωση του Β, πρέπει να γίνει πριν από την άλλη λειτουργία. Αυτή η προσωρινή ασυνέπεια, που αν και είναι απαραίτητη, μπορεί να καταλήξει σε προβλήματα, αν συμβεί κάτι. Είναι ευθύνη του προγραμματιστή να ορίσει σωστά τις διάφορες συναλλαγές, ώστε κάθε μια να διατηρεί τη συνέπεια της βάσης δεδομένων. Για παράδειγμα, η συναλλαγή για μεταφορά χρημάτων από το λογαριασμό Α στον λογαριασμό Β θα μπορούσε να οριστεί σε δυο ξεχωριστά προγράμματα: ένα που να χρεώνει το λογαριασμό Α και ο άλλος που πιστώνει τον Β. Η εκτέλεση αυτών των δυο προγραμμάτων το ένα μετά το άλλο, θα διατηρήσει τη συνέπεια. Ωστόσο, κάθε πρόγραμμα δεν μετασχηματίζει τη βάση δεδομένων από μια συνεπή κατάσταση σε μια νέα συνεπή κατάσταση. Έτσι, αυτά τα προγράμματα δεν είναι συναλλαγές. Η διασφάλιση των ιδιοτήτων της ατομικότητας και της αντοχής είναι ευθύνη του ίδιου του συστήματος της βάσης δεδομένων, ειδικά του συστατικού της διαχείρισης συναλλαγών. Αν δεν υπάρξουν αποτυχίες, όλες οι συναλλαγές ολοκληρώνονται με επιτυχία και επιτυγχάνεται εύκολα η ατομικότητα. Ωστόσο, εξ αιτίας διαφόρων ειδών προβλημάτων, μια συναλλαγή μπορεί να μην ολοκληρώσει πάντα την εκτέλεσή της με επιτυχία. Αν πρέπει να διασφαλίσουμε την ιδιότητα της ατομικότητας, μα αποτυχημένη συναλλαγή δεν πρέπει να έχει επίδραση στην κατάσταση της βάσης δεδομένων. Έτσι, η βάση δεδομένων πρέπει να επανέλθει στην κατάσταση, στην οποία ήταν πριν από την 19

29 έναρξη της συναλλαγής αυτής. Το σύστημα βάσης δεδομένων πρέπει συνεπώς να επανακάμψει από την αποτυχία, δηλαδή να εντοπίσει τα προβλήματα του συστήματος και να επαναφέρει τη βάση δεδομένων στην κατάσταση που ήταν πριν συμβεί η αποτυχία.tέλος, όταν διάφορες συναλλαγές ενημερώνουν ταυτόχρονα την βάση δεδομένων, η συνέπεια των δεδομένων μπορεί να μην διατηρείται πλέον, ακόμα και αν κάθε συναλλαγή είναι σωστή. Είναι ευθύνη του διαχειριστή ελέγχου της συγχρονικότητας να ελέγχει την αλληλεπίδραση μεταξύ των ταυτόχρονων συνδιαλλαγών, για να διασφαλίζεται η συνέπεια της βάσης δεδομένων. Τα συστήματα βάσεων δεδομένων που έχουν σχεδιαστεί να χρησιμοποιούνται σε μικρούς προσωπικούς υπολογιστές, μπορεί να μην έχουν όλες αυτές τις λειτουργίες. Για παράδειγμα, πολλά μικρά συστήματα επιτρέπουν μόνο σε ένα χρήστη να έχει πρόσβαση στην βάση δεδομένων κάθε φορά. Άλλοι δεν προσφέρουν αντίγραφα ασφαλείας και ανάκαμψη, αφήνοντας τα αυτά στον χρήστη. Αυτοί οι περιορισμοί επιτρέπουν να υπάρχει ένας μικρότερος διαχειριστής δεδομένων, με λιγότερες απαιτήσεις για φυσικούς πόρους, ειδικά από κύρια μνήμη. Αν και μια τέτοια προσέγγιση χαμηλού κόστους με λίγες λειτουργίες είναι επαρκής για μικρές βάσεις δεδομένων, είναι ανεπαρκής για μια μέτρια προς μεγάλη επιχείρηση. 1.7 Δομή Συστημάτων Βάσεων Δεδομένων Ένα σύστημα βάσης δεδομένων χωρίζεται σε λειτουργικές μονάδες που αναλαμβάνουν τις ευθύνες του συστήματος. Τα λειτουργικά συστατικά ενός συστήματος βάσης δεδομένων μπορούν να διαιρεθούν γενικά, στα συστατικά του διαχειριστή αποθήκευσης και στα συστατικά του επεξεργαστή ερωτημάτων. Ο διαχειριστής αποθήκευσης είναι σημαντικός επειδή οι βάσεις δεδομένων απαιτούν γενικά, μια μεγάλη ποσότητα χώρου αποθήκευσης. Οι βάσεις δεδομένων εταιρειών μπορεί να έχουν μέγεθος από εκατοντάδες GB έως, για τις μεγαλύτερες βάσεις δεδομένων, terabyte. Ένα GB είναι 1000 MB (ένα δισεκατομμύριο byte) και ένα terabyte είναι ένα εκατομμύριο megabyte (ένα τρισεκατομμύριο byte). Αφού η κύρια μνήμη των υπολογιστών δεν μπορεί να αποθηκεύσει τόσες πολλές πληροφορίες, σι πληροφορίες αποθηκεύονται σε δίσκους. Τα δεδομένα μετακινούνται μεταξύ δίσκων και κύριας μνήμης. Αφού η μετακίνηση των δεδομένων από και προς ένα δίσκο είναι αργή σχετικά με την ταχύτητα της μονάδας επεξεργασίας, είναι επιτακτικό η δομή του συστήματος βάσης δεδομένων να δομεί τα δεδομένα ώστε να ελαχιστοποιεί την ανάγκη να μετακινούνται δεδομένα μεταξύ δίσκου και κύριας μνήμης. 20

30 Ο επεξεργαστής ερωτημάτων είναι σημαντικός, επειδή βοηθά το σύστημα βάσης δεδομένων να απλοποιεί και να διευκολύνει την πρόσβαση στα δεδομένα. Οι προβολές υψηλού επιπέδου βοηθούν να επιτύχετε αυτό το στόχο. Με αυτές οι χρήστες του συστήματος, δεν χρειάζεται να καταλάβουν τις λεπτομέρειες του χειρισμού του συστήματος. Ωστόσο, είναι σημαντική η γρήγορη επεξεργασία των ενημερώσεων και των ερωτημάτων. Είναι δουλειά του συστήματος της βάσης δεδομένων να μεταφράζει τις ενημερώσεις και τα ερωτήματα που έχουν γραφτεί σε μια μη διαδικαστική γλώσσα, σε λογικό επίπεδο, σε μια αποτελεσματική σειρά από λειτουργίες σε φυσικό επίπεδο Διαχειριστής Αποθήκευσης Ένας διαχειριστής αποθήκευσης είναι μια λειτουργική μονάδα προγράμματος που παρέχει την διασύνδεση μεταξύ του χαμηλού επιπέδου δεδομένων που έχουν αποθηκευτεί στην βάση δεδομένων και της εφαρμογής και των ερωτημάτων που στέλνονται στο σύστημα. Ο διαχειριστής αποθήκευσης είναι υπεύθυνος για την συνδιαλλαγή με τον διαχειριστή αρχείων. Τα δεδομένο αποθηκεύονται στο δίσκο χρησιμοποιώντας το σύστημα αρχείων, που συνήθως παρέχεται από ένα συμβατικό λειτουργικό σύστημα. Ο διαχειριστής αποθήκευσης μεταφράζει τις διάφορες DML εντολές σε χαμηλού επιπέδου εντολές του συστήματος αρχείων. Έτσι, ο διαχειριστής αποθήκευσης είναι υπεύθυνος για την αποθήκευση, ανάκληση και ενημέρωση των δεδομένων της βάσης δεδομένων. Τα συστατικά του διαχειριστή αποθήκευσης περιλαμβάνουν: Διαχειριστή ελέγχου ταυτότητας και ακεραιότητας, που ελέγχει για την διατήρηση των περιορισμών ακεραιότητας και ελέγχει τους χρήστες για πρόσβαση στα δεδομένα. Διαχειριστή συναλλαγών, που διασφαλίζει ότι η βάση δεδομένων είναι γραμμένη σε μια συνεπή (σωστή) κατάσταση, ανεξάρτητα από τις αποτυχίες του συστήματος και οι ταυτόχρονες εκτελέσεις προχωρούν χωρίς διενέξεις. Διαχειριστή αρχείων, που διαχειρίζεται τη δέσμευση του χώρου στο δίσκο και των δομών του δεδομένων που χρησιμοποιούνται για αναπαράσταση των πληροφοριών που αποθηκεύονται στο δίσκο. 21

31 Διαχειριστή buffer, που είναι υπεύθυνος για την τροφοδοσία των δεδομένων από το δίσκο στην κύρια μνήμη και αποφασίζει ποια δεδομένα θα μπουν στην κύρια μνήμη. Ο διαχειριστής buffer είναι ένα κρίσιμο μέρος του συστήματος της βάσης δεδομένων, αφού επιτρέπει στην βάση δεδομένων να χειρίζεται μεγέθη δεδομένων που είναι πολύ μεγαλύτερα από το μέγεθος της κύριας μνήμης. Ο διαχειριστής αποθήκευσης χειρίζεται διάφορες δομές δεδομένων ως μέρος του φυσικού χειρισμού του συστήματος: Αρχεία δεδομένων, που αποθηκεύουν την ίδια την βάση δεδομένων. Λεξικό δεδομένων, που αποθηκεύει μετά-δεδομένα σχετικά με τη δομή της βάσης δεδομένων, ιδιαίτερα για τη διάταξη της βάσης. Ευρετήρια, που παρέχουν γρήγορη πρόσβαση σε στοιχεία δεδομένων που περιέχουν συγκεκριμένες τιμές Ο Επεξεργαστής Ερωτημάτων Τα στοιχεία του επεξεργαστή ερωτημάτων περιλαμβάνουν: Τον DDL μεταφραστή, που μεταφράζει τις DDL εντολές και εγγράφει τους ορισμούς στο λεξικό δεδομένων. Τον DML μεταγλωττιστή, που μεταφράζει τις DML εντολές μιας γλώσσας ερωτημάτων σε ένα πλάνο που αποτελείται από εντολές χαμηλού επιπέδου, που καταλαβαίνει η μηχανή υπολογισμού των ερωτημάτων. Ένα ερώτημα μπορεί συνήθως να μεταφραστεί σε διάφορα εναλλακτικά πλάνα, που όλα δίνουν το ίδιο αποτέλεσμα. Ο μεταγλωττιστής DML εκτελεί επίσης βελτιστοποίηση των ερωτημάτων, δηλαδή διαλέγει το πλάνο με το μικρότερο κόστος μεταξύ των εναλλακτικών λύσεων. Την μηχανή υπολογισμού ερωτημάτων, που εκτελεί εντολές χαμηλού επιπέδου που δημιουργούνται από τον μεταγλωττιστή DML. Η Εικόνα 1.4 δείχνει αυτά τα συστατικά και τις μεταξύ τους συνδέσεις. 1.8 Αρχιτεκτονικές Εφαρμογών Οι περισσότεροι χρήστες μιας βάσης δεδομένων σήμερα δεν βρίσκονται στη θέση που βρίσκεται το σύστημα της βάσης δεδομένων, αλλά συνδέονται μαζί της μέσω ενός δικτύου. Συνεπώς, μπορούμε να διαφοροποιήσουμε τους υπολογιστές πελάτες, στους 22

32 οποίους δουλεύουν οι χρήστες της απομακρυσμένης βάσης δεδομένων και τους υπολογιστές διακομιστές, στους οποίους βρίσκεται το σύστημα της βάσης δεδομένων. Οι εφαρμογές βάσεων δεδομένων συνήθως χωρίζονται σε δυο ή τρία μέρη, όπως φαίνεται στην Εικόνα 1.5. Σε μια αρχιτεκτονική δυο βαθμίδων, η εφαρμογή χωρίζεται σε ένα συστατικό που βρίσκεται στον υπολογιστή πελάτη, που καλεί τη λειτουργικότητα του συστήματος βάσης δεδομένων στο διακομιστή, μέσω εντολών της γλώσσας ερωτημάτων. Χρησιμοποιούνται οι τυποποιήσεις του περιβάλλοντος της εφαρμογής, όπως το ODBC and το JDBC για επικοινωνία μεταξύ του πελάτη και του διακομιστή. Αντίθετα, στην αρχιτεκτονική τριών βαθμίδων, ο υπολογιστής πελάτης ενεργεί ως το περιβάλλον προσκηνίου και δεν περιέχει άμεσες κλήσεις στην βάση δεδομένων. Αντίθετα, ο πελάτης επικοινωνεί με ένα διακομιστή εφαρμογών, συνήθως μέσω μιας φόρμας. Ο διακομιστής εφαρμογών με τη σειρά του, επικοινωνεί με ένα σύστημα βάσης δεδομένων για να έχει πρόσβαση στα δεδομένα. Η επιχειρηματική λογική της εφαρμογής, που λέει ποιες ενέργειες θα γίνονται και κάτω από ποιες συνθήκες, ενσωματώνεται στο διακομιστή εφαρμογής αντί να κατανέμεται σε πολλούς πελάτες. Οι εφαρμογές τριών βαθμίδων είναι πιο κατάλληλες για μεγάλες εφαρμογές και εφαρμογές που τρέχουν στοworld Wide Web. 1.9 Ιστορία των Συστημάτων Βάσεων Δεδομένων Η επεξεργασία των δεδομένων ακολουθεί την ανάπτυξη των υπολογιστών, πράγμα που γίνεται από την αρχή των εμπορικών υπολογιστών. Η αυτοματοποίηση των διαδικασιών επεξεργασίας δεδομένων ξεκίνησε πριν από τους υπολογιστές. Οι διάτρητες κάρτες, που ανακαλύφθηκαν από τον Hollerith, χρησιμοποιήθηκαν στην αρχή του 20ου αιώνα για να καταγράψουν δημογραφικά δεδομένα των ΗΠΑ και χρησιμοποιήθηκαν μηχανικά συστήματα για επεξεργασία των καρτών και την πινακοποίηση των αποτελεσμάτων. Οι κάρτες χρησιμοποιήθηκαν αργότερα ευρέως ως ένα μέσον εισαγωγής των δεδομένων σε υπολογιστές. 23

33 Εικόνα 1.4 Δομή συστήματος Έχουν αναπτυχθεί διάφορες τεχνικές για αποθήκευση και επεξεργασία των δεδομένων στην διάρκεια των ετών: Δεκαετία του 50 και αρχές της δεκαετίας του 60: Αναπτύχθηκαν μαγνητικές ταινίες για αποθήκευση των δεδομένων. Αυτοματοποιήθηκαν εργασίες επεξεργασίας δεδομένων, όπως η μισθοδοσία, με δεδομένα αποθηκευμένα σε ταινίες. Η επεξεργασία των δεδομένων αποτελείτε από το διάβασμα δεδομένων από μια ή περισσότερες ταινίες και εγγραφή των δεδομένων σε μια νέα ταινία. Τα δεδομένα θα μπορούσαν να εισαχθούν από διάτρητες κάρτες και να εξαχθούν σε εκτυπωτές. Για παράδειγμα, η επεξεργασία των αυξήσεων σε μισθούς γινόταν εισάγοντας τις αυξήσεις 24

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

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

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

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

Εισαγωγή στις βασικές έννοιες των Βάσεων Δεδομένων Εισαγωγή στις βασικές έννοιες των Βάσεων Δεδομένων Σχεδιασμός Βάσεων Δεδομένων Μάθημα 1 ο Μαρία Χαλκίδη ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ Σχεσιακό Μοντέλο Κανονικοποίηση Μοντέλο Οντοτήτων-Σχέσεων Κύκλος ζωής Βάσεων

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

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

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

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

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

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

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

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

Εισαγωγή στις βασικές έννοιες των Βάσεων εδοµένων Εισαγωγή στις βασικές έννοιες των Βάσεων εδοµένων Βάσεις εδοµένων ΙΙ Μάθηµα 1 ο ιδάσκων: Μαρία Χαλκίδη *based on slides by Silberschatz, Korth and Sudarshan (Database System Concepts, 2001 ) Σύστηµα ιαχείρισης

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

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

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

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

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

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

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

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

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών Οι διαφάνειες αυτές

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

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

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

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

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

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

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

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

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

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

Επισκόπηση Μαθήµατος

Επισκόπηση Μαθήµατος Βάσεις εδοµένων 5 ο Εξάµηνο ηµήτρης Λέκκας Επίκουρος Καθηγητής dlekkas@env.aegean.gr Τµήµα Στατιστικής & Αναλογιστικών-Χρηµατοοικονοµικών Μαθηµατικών Επισκόπηση Μαθήµατος Εισαγωγή (Σ Β ) Το µοντέλο σχέσεων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στα Συστήματα Βάσεων Δεδομένων. Βάσεις Δεδομένων 2014-2015 Ευαγγελία Πιτουρά 1 Εισαγωγή στα Συστήματα Βάσεων Δεδομένων Ευαγγελία Πιτουρά 1 Τι θα δούμε σήμερα I. Σύντομη εισαγωγή στις ΒΔ II. Περιγραφή σκοπού και περιεχομένου μαθήματος III. Ιστορία των ΣΔΒΔ IV. Διαδικαστικά θέματα

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

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

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

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

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών Κεφ. 2 Θεωρητική Επιστήμη Υπολογιστών 2.3.1.1 Έννοια προγράμματος Τι είναι πρόγραμμα και τι προγραμματισμός; Πρόγραμμα είναι το σύνολο εντολών που χρειάζεται

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

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

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

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

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

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

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

Θεωρία Κανονικοποίησης

Θεωρία Κανονικοποίησης Θεωρία Κανονικοποίησης Πρώτη Κανονική Μορφή (1NF) Αποσύνθεση Συναρτησιακές Εξαρτήσεις Δεύτερη (2NF) και Τρίτη Κανονική Μορφή (3NF) Boyce Codd Κανονική Μορφή (BCNF) Καθολική Διαδικασία Σχεδίασης ΒΔ Βασική

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

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

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

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

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

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

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

Εισαγωγή Κεφάλαιο 1: Εγκατάσταση της Access Κεφάλαιο 2: Βάσεις δεδομένων και δομικά στοιχεία της Access

Εισαγωγή Κεφάλαιο 1: Εγκατάσταση της Access Κεφάλαιο 2: Βάσεις δεδομένων και δομικά στοιχεία της Access ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή...15 Κεφάλαιο 1: Εγκατάσταση της Access 2002...17 Τι είναι το Office XP;...17 Τεχνικές απαιτήσεις του Office XP...17 Πρόσθετα απαιτούμενα για την αξιοποίηση εξειδικευμένων χαρακτηριστικών...18

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Περιεχόμενο του μαθήματος

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Η Αντικειμενοστρεφής Τεχνολογία Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 202-203 Περιεχόμενο του μαθήματος Η έννοια

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

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

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

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

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

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

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

Εισαγωγή στη Σχεδίαση Λογισμικού

Εισαγωγή στη Σχεδίαση Λογισμικού Εισαγωγή στη Σχεδίαση Λογισμικού περιεχόμενα παρουσίασης Τι είναι η σχεδίαση λογισμικού Έννοιες σχεδίασης Δραστηριότητες σχεδίασης Σχεδίαση και υποδείγματα ανάπτυξης λογισμικού σχεδίαση Η σχεδίαση του

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

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

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

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

Κεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια

Κεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια Περιεχόμενα Πρόλογος... 11 Κεφάλαιο 1ο. Εισαγωγή στη γλώσσα UML 1.1 Προσθέτοντας μια νέα μέθοδο...13 1.2 Πως αναπτύχθηκε η UML...14 1.3 Κατανοώντας την UML...15 1.4 Αναγνωρίζοντας τα επί μέρους τμήματα

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

Εισαγωγή στα Πληροφοριακά Συστήματα

Εισαγωγή στα Πληροφοριακά Συστήματα Εισαγωγή στα Πληροφοριακά Συστήματα Ενότητα 4: Λεξικό δεδομένων, Διαγράμματα Ροής Δεδομένων Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων

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

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS Ακαδημαϊκό Έτος 2016-2017, Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS A. Εισαγωγή στις βάσεις δεδομένων - Γνωριμία με την ACCESS B. Δημιουργία Πινάκων 1. Εξήγηση των

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

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

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

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

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

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ 2.3.1.1. Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ 1 περιλαμβάνει: Η έννοια του προγράμματος Επίλυση προβλήματος 1. Ακριβή προσδιορισμό

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

ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ - ΕΝΟΤΗΤΑ 1 7/4/2013 ΕΝΟΤΗΤΕΣ ΜΑΘΗΜΑΤΟΣ. Ορισμός

ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ - ΕΝΟΤΗΤΑ 1 7/4/2013 ΕΝΟΤΗΤΕΣ ΜΑΘΗΜΑΤΟΣ. Ορισμός ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ ΕΝΟΤΗΤΑ 1 : ΕΙΣΑΓΩΓΗ Διάλεξη 1: Γενικά για το ΓΣΠ, Ιστορική αναδρομή, Διαχρονική εξέλιξη Διάλεξη 2 : Ανάλυση χώρου (8/4/2013) Διάλεξη 3: Βασικές έννοιες των Γ.Σ.Π.. (8/4/2013)

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

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

Σχεδίαση Βάσεων Δεδομένων Σχεδίαση Βάσεων Δεδομένων Η ιστορία των Βάσεων Δεδομένων History of the Database 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved. Στόχοι Το μάθημα αυτό καλύπτει τους ακόλουθους στόχους:

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΟΣ Διδάσκων: Γ. Χαραλαμπίδης, Επ. Καθηγητής

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

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

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

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

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

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

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

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

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

Ενότητα. Σχεδίαση Βάσεων Δεδομένων Ενότητα 3 Σχεδίαση Βάσεων Δεδομένων 2 3 3.1 Εισαγωγή Μία βάση δεδομένων αποτελείται από δεδομένα για διάφορα θέματα τα οποία όμως σχετίζονται μεταξύ τους και είναι καταχωρημένα με συγκεκριμένο τρόπο. Όλα

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

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

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

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

Σχεδιασμός των Πινάκων μίας Βάσης Δεδομένων

Σχεδιασμός των Πινάκων μίας Βάσης Δεδομένων Σχεδιασμός των Πινάκων μίας Βάσης Δεδομένων 3 ΚΥΡΙΑ ΣΗΜΕΙΑ ΤΟΥ ΚΕΦΑΛΑΙΟΥ Επιλογή τύπου δεδομένων και ιδιότητες πεδίων Δημιουργία πινάκων Συσχετισμός πινάκων ΑΡΧΕΙΑ ΕΡΓΑΣΙΑΣ ΠΑΡΑΓΓΕΛΙΕΣ, ΠΑΡΑΓΓΕΛΙΕΣ ΤΕΛΙΚΟ

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

Περιεχόμενο του μαθήματος

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος

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

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

Λίγα λόγια από το συγγραφέα... 7. 91 Βάσεις δεδομένων και Microsoft Access... 9. 92 Microsoft Access... 22 ΕΝΟΤΗΤΑ 5 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 91 Βάσεις δεδομένων και Microsoft Access... 9 92 Microsoft Access... 22 93 Το σύστημα Βοήθειας του Microsoft Office... 32 94 Σχεδιασμός βάσης δεδομένων

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

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

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ Εισαγωγή ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ Όπως για όλες τις επιστήμες, έτσι και για την επιστήμη της Πληροφορικής, ο τελικός στόχος της είναι η επίλυση προβλημάτων. Λύνονται όμως όλα τα προβλήματα;

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

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

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

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

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

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

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

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού Μάρα Νικολαϊδου Δραστηριότητες Διαδικασιών Παραγωγής Λογισµικού Καθορισµός απαιτήσεων και εξαγωγή προδιαγραφών

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

ΘΕΜΑ Α. Α1. Να γράψετε στο. 2. Τα του. τις. αριθμητικές. πρώτες. β. Να. Σελίδα 1 από 5. 2) χ 2. χ Τ_Ρ(α) ΓΡΑΨΕ. ΓΡΑΨΕ χ χ χ+2

ΘΕΜΑ Α. Α1. Να γράψετε στο. 2. Τα του. τις. αριθμητικές. πρώτες. β. Να. Σελίδα 1 από 5. 2) χ 2. χ Τ_Ρ(α) ΓΡΑΨΕ. ΓΡΑΨΕ χ χ χ+2 ΜΑΘΗΜΑΑ / ΤΑΞΗ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 25/11/2017 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς απόό τις παρακάτω προτάσεις 1-10 και δίπλα

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

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

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

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

Microsoft Excel Κεφάλαιο 1. Εισαγωγή. Βιβλίο εργασίας

Microsoft Excel Κεφάλαιο 1. Εισαγωγή. Βιβλίο εργασίας Περιεχόμενα Κεφάλαιο 1 Microsoft Excel 2010... 7 Κεφάλαιο 2 Η δομή ενός φύλλου εργασίας... 19 Κεφάλαιο 3 ημιουργία νέου βιβλίου εργασίας και καταχώριση δεδομένων... 24 Κεφάλαιο 4 Συμβουλές για την καταχώριση

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

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

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

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

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Παραδοτέα 1. Το αρχείο.mdb της βάσης δεδομένων σας σε ACCESS 2. Ένα CD που θα αναγράφει το ονοματεπώνυμο του σπουδαστή και το ΑΕΜ και θα περιέχει το αρχείο.mdb της βάσης δεδομένων καθώς και το εγχειρίδιο

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

µπιτ Λύση: Κάθε οµάδα των τεσσάρων µπιτ µεταφράζεται σε ένα δεκαεξαδικό ψηφίο 1100 C 1110 E Άρα το δεκαεξαδικό ισοδύναµο είναι CE2

µπιτ Λύση: Κάθε οµάδα των τεσσάρων µπιτ µεταφράζεται σε ένα δεκαεξαδικό ψηφίο 1100 C 1110 E Άρα το δεκαεξαδικό ισοδύναµο είναι CE2 ! Βρείτε το δεκαεξαδικό ισοδύναµο του σχήµατος µπιτ 110011100010 Λύση: Κάθε οµάδα των τεσσάρων µπιτ µεταφράζεται σε ένα δεκαεξαδικό ψηφίο 1100 C 1110 E 0010 2 Άρα το δεκαεξαδικό ισοδύναµο είναι CE2 2 !

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

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Σχεδίαση Βάσεων Δεδομένων

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Σχεδίαση Βάσεων Δεδομένων Ενότητα 3 Σχεδίαση Βάσεων Δεδομένων 17 18 3.1 Εισαγωγή Μία βάση δεδομένων αποτελείται από δεδομένα για διάφορα θέματα τα οποία όμως σχετίζονται μεταξύ τους και είναι καταχωρημένα με συγκεκριμένο τρόπο.

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

Certified Data Base Designer (CDBD)

Certified Data Base Designer (CDBD) Certified Data Base Designer (CDBD) Εξεταστέα Ύλη (Syllabus) Πνευµατικά ικαιώµατα Το παρόν είναι πνευµατική ιδιοκτησία της ACTA Α.Ε. και προστατεύεται από την Ελληνική και Ευρωπαϊκή νοµοθεσία που αφορά

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

Προγραμματισμός Η/Υ. Χειρισμός Αρχείων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Προγραμματισμός Η/Υ. Χειρισμός Αρχείων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Προγραμματισμός Η/Υ Χειρισμός Αρχείων ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Αρχεία Συλλογές δεδομένων. Αποθηκεύονται στην περιφερειακή μνήμη: π.χ.

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

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

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

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

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

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

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

Μοντελοποίηση Πεδίου

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

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

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

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

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

1.1. Βάσεις δεδομένων

1.1. Βάσεις δεδομένων 1.1 Βάσεις δεδομένων Οι στόχοι μας σε αυτό το κεφάλαιο: Να διατυπώσουμε τον ορισμό για τη βάση δεδομένων και για το σύστημα διαχείρισης βάσεων δεδομένων (ΣΔΒΔ), καθώς και να περιγράψουμε τα συστατικά στοιχεία

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

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Απλά ερωτήματα Επιλογής Ερωτήματα με Ενώσεις πινάκων Ερωτήματα με Παραμετρικά Κριτήρια Ερωτήματα με Υπολογιζόμενα πεδία Απλά ερωτήματα Επιλογής Τα Ερωτήματα μας επιτρέπουν

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

. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014 .. Μεθοδολογία Προγραμματισμού Abstract Κλάσεις και Interfaces Νικόλαος Πεταλίδης Τμήμα Μηχανικών Η/Υ ΤΕΙ Κεντρικής Μακεδονίας Εισαγωγή Εαρινό Εξάμηνο 2014 Ν. Πεταλίδης (ΤΕΙ Κεντρικής Μακεδονίας) Μεθοδολογία

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

Τίτλος Πακέτου Certified Computer Expert-ACTA

Τίτλος Πακέτου Certified Computer Expert-ACTA Κωδικός Πακέτου ACTA - CCE - 002 Τίτλος Πακέτου Certified Computer Expert-ACTA Εκπαιδευτικές Ενότητες Επεξεργασία Κειμένου - Word Δημιουργία Εγγράφου Προχωρημένες τεχνικές επεξεργασίας κειμένου & αρχείων

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

Εργαστήριο 8o. Ερωτήματα επιλογής Παραμετρικά ερωτήματα Ερωτήματα δημιουργίας πεδίων. Ευάγγελος Γ. Καραπιδάκης

Εργαστήριο 8o. Ερωτήματα επιλογής Παραμετρικά ερωτήματα Ερωτήματα δημιουργίας πεδίων. Ευάγγελος Γ. Καραπιδάκης Εργαστήριο 8o Ερωτήματα επιλογής Παραμετρικά ερωτήματα Ερωτήματα δημιουργίας πεδίων Ερωτήματα Τα Ερωτήματα μας επιτρέπουν να βλέπουμε τα δεδομένα που επιθυμούμε, με τη σειρά που επιθυμούμε. Μας δίνουν

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

Εκπαιδευτικό Εργαλείο Κανονικοποίησης

Εκπαιδευτικό Εργαλείο Κανονικοποίησης Εκπαιδευτικό Εργαλείο Κανονικοποίησης Σύντομες οδηγίες χρήσης Εισαγωγή Το πρόγραμμα Εκπαιδευτικό Εργαλείο Κανονικοποίησης αυτοματοποιεί τη διαδικασία της κανονικοποίησης πινάκων σε BCNF μορφή. Ο χρήστης

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

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

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

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

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

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

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

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

Εισαγωγή στην Access 2007

Εισαγωγή στην Access 2007 Βάσεις Δεδομένων Ι 3 Εισαγωγή στην Access 2007 Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας ΝΙΚΟΣ ΚΑΡΟΥΣΟΣ - ΔΙΟΝΥΣΗΣ ΚΑΡΟΥΣΟΣ XE 2015-2016 Βάση Δεδομένων και Access Ένα οργανωμένο σύνολο

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

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

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

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

Πληροφορική 2. Τεχνολογία Λογισμικού

Πληροφορική 2. Τεχνολογία Λογισμικού Πληροφορική 2 Τεχνολογία Λογισμικού 1 2 Κρίση Λογισμικού (1968) Στην δεκαετία του 1970 παρατηρήθηκαν μαζικά: Μεγάλες καθυστερήσεις στην ολοκλήρωση κατασκευής λογισμικών Μεγαλύτερα κόστη ανάπτυξης λογισμικού

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΣΚΗΣΕΙΣ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΩΤΗΣΕΙΣ ΣΩΣΤΟ ΛΑΘΟΣ Σημειώστε αν είναι σωστή ή

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

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

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Ενότητες βιβλίου: 6.4, 6.7 Ώρες διδασκαλίας: 1 Τεχνικές σχεδίασης προγραμμάτων Στο βιβλίο γίνεται αναφορά σε μία τεχνική για την ανάπτυξη

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

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

Ηλεκτρονικό Κατάστημα ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Παραδείγματα -UML Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2011-2012 1 Ηλεκτρονικό Κατάστημα Το αντικείμενο είναι η

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

Περιπτώσεις Χρήσης για το Π.Σ. ΜΟ.ΔΙ.Π. Κρήτης

Περιπτώσεις Χρήσης για το Π.Σ. ΜΟ.ΔΙ.Π. Κρήτης ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΜΟΝΑΔΑ ΔΙΑΣΦΑΛΙΣΗΣ ΠΟΙΟΤΗΤΑΣ Ε.Π.: «ΕΚΠΑΙΔΕΥΣΗ ΚΑΙ ΔΙΑ ΒΙΟΥ ΜΑΘΗΣΗ» ΠΡΑΞΗ: ΜΟΔΙΠ ΤΟΥ Τ.Ε.Ι. ΚΡΗΤΗΣ ΕΠΙΣΤΗΜΟΝΙΚΟΣ ΥΠΕΥΘΥΝΟΣ: ΚΩΝ/ΝΟΣ ΣΑΒΒΑΚΗΣ Περιπτώσεις Χρήσης για

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

7.Α.1 Παρουσιάσεις. 7.Α.2 Περιγραφή περιεχομένων της εφαρμογής

7.Α.1 Παρουσιάσεις. 7.Α.2 Περιγραφή περιεχομένων της εφαρμογής Μάθημα 7ο Πολυμέσα 7.Α.1 Παρουσιάσεις Οι παρουσιάσεις είναι μια εφαρμογή που χρησιμεύει στην παρουσίαση των εργασιών μας. Αποτελούν μια συνοπτική μορφή των εργασιών μας. Μέσω δημιουργίας διαφανειών, μορφοποιήσεων

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

Το σχεσιακό μοντέλο βάσεων δεδομένων

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

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

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Συνεργασίας. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Συνεργασίας Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

Δομές Δεδομένων & Αλγόριθμοι

Δομές Δεδομένων & Αλγόριθμοι Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν

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

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

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

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

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

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

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός 7 Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα H Σχεσιακή Άλγεβρα (relational algebra) ορίζει ένα σύνολο πράξεων που εφαρμόζονται σε μία ή περισσότερες σχέσεις

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

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο FrontPage 2003 Πρακτικός Οδηγός Χρήσης Το FrontPage είναι ένα πρόγραμμα δημιουργίας ιστοσελίδων και δικτυακών τόπων που επιτρέπει το σχεδιασμό ιστοσελίδων μέσα από γραφικό περιβάλλον αλλά και την ταυτόχρονη

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