Περιεχόμενα. Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Πρόλογος... 33

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

Download "Περιεχόμενα. Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Πρόλογος... 33"

Transcript

1

2

3 Περιεχόμενα Πρόλογος Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Μια βόλτα στις βάσεις δεδομένων Η πρώτη βάση δεδομένων Άλλοι τρόποι Απαιτήσεις της εφαρμογής Δημιουργία της βάσης MS Access Ένα βήμα μπροστά: κλειδιά και πρώτη κανονική μορφή Πρωτεύον κλειδί Σύνθετες ιδιότητες οντοτήτων Περισσότεροι τύποι δεδομένων Συμπεράσματα και προοπτικές Περίληψη κεφαλαίου Ασκήσεις επανάληψης Το σχεσιακό μοντέλο Εισαγωγή στο σχεσιακό μοντέλο Κεντρικές έννοιες του σχεσιακού μοντέλου Ιδιότητες των σχέσεων Μοναδικότητα πλειάδων Διάταξη πλειάδων Διάταξη γνωρισμάτων Ατομικότητα

4 8 Περιεχόμενα 2.4 Είδη σχέσεων Η ερμηνεία και το κατηγόρημα μιας σχέσης Σχέσεις και κλειδιά Υπερκλειδί Περίληψη κεφαλαίου Σχεσιακή άλγεβρα και βασικές σχεσιακές πράξεις Κλειστότητα Συμβατότητα τύπου Συνολοθεωρητικές πράξεις Ένωση Διαφορά Τομή Γινόμενο Παραδείγματα συνολοθεωρητικών πράξεων Οι βασικές πράξεις προβολής και επιλογής Προβολή Επιλογή Παραδείγματα και ασκήσεις προβολής και επιλογής Συζεύξη Φυσική σύζευξη Σύζευξη θήτα Πλήρης εξωτερική σύζευξη Αριστερή εξωτερική σύζευξη Δεξιά εξωτερική σύζευξη Διαίρεση Σύνοψη και συναρτήσεις συνάθροισης Ενημέρωση Εισαγωγή Διαγραφή Τροποποίηση Περίληψη κεφαλαίου Σημασιολογική μοντελοποίηση με το μοντέλο Οντοτήτων/Συσχετίσεων Εισαγωγή Διαγράμματα Ο/Σ

5 Περιεχόμενα Οντότητες και Ιδιότητες Οντοτήτων Κατηγορίες ιδιοτήτων Ακεραιότητα οντοτήτων Συσχετίσεις Περιορισμοί Λόγος πληθικότητας Περιορισμοί συμμετοχής Παραδείγματα περιορισμών Κλειδιά Πρωτεύον κλειδί συσχετίσεων Σχεδιασμός Ποιες οντότητες αναπαριστάνουν τις έννοιες της βάσης Οντότητες ή ιδιότητες Ασθενείς Οντότητες Γενίκευση και εξειδίκευση Περιορισμοί γενίκευσης και εξειδίκευσης Περίληψη κεφαλαίου Μετατροπή του μοντέλου Οντοτήτων/Συσχετίσεων σε σχεσιακό Γενικοί κανόνες μετασχηματισμού Ισχυρές οντότητες Ασθενείς οντότητες Μετατροπή συσχετίσεων του μοντέλου Ο/Σ σε σχεσιακό μοντέλο Συσχετίσεις με λόγο πληθικότητας ένα προς ένα Συσχετίσεις με λόγο πληθικότητα ένα προς πολλά Συσχετίσεις με λόγο πληθικότητα πολλά προς πολλά Σύνθετες ιδιότητες Πλειότιμες ιδιότητες Κανονικοποίηση Πρώτη κανονική μορφή Συναρτησιακές εξαρτήσεις Γενικά για τις συναρτησιακές εξαρτήσεις Τετριμμένες συναρτησιακές εξαρτήσεις Εγκλεισμός ή θήκη του συνόλου εξαρτήσεων Ισοδύναμα σύνολα εξαρτήσεων Μη αναγώγιμα (ελάχιστα) σύνολα εξαρτήσεων

6 10 Περιεχόμενα 6.4 Δεύτερη κανονική μορφή Τρίτη κανονική μορφή Περιγραφή και ορισμός της τρίτης κανονικής μορφής Ενημέρωση της βάσης με εισαγωγή πλειάδων Ενημέρωση της βάσης με διαγραφή πλειάδων Ενημέρωση της βάσης με τροποποίηση πλειάδων Απόδοση στα ερωτήματα Περίληψη κεφαλαίου Σχεδιασμός βάσεων δεδομένων Ποδοσφαιριστής παίζει σε ομάδα που συμμετέχει σε πρωτάθλημα Περιγραφή Το μοντέλο Οντοτήτων/Συσχετίσεων Το σχεσιακό μοντέλο της βάσης δεδομένων Η βάση δεδομένων με SQL Πρατήριο ανήκει σε εταιρεία και πουλά πετρελαιοειδή Περιγραφή Το μοντέλο Οντοτήτων/Συσχετίσεων Το σχεσιακό μοντέλο της βάσης δεδομένων Η βάση δεδομένων με SQL Ηθοποιός παίζει σε ταινία που γυρίστηκε από σκηνοθέτη Περιγραφή Το μοντέλο Οντοτήτων/Συσχετίσεων Το σχεσιακό μοντέλο της βάσης δεδομένων Η βάση δεδομένων με SQL Εργαλεία σχεδίασης βάσεων δεδομένων Εισαγωγή Δημιουργία βάσεων δεδομένων με το Libre Office Base Εκκίνηση του Base και δημιουργία νέας βάσης δεδομένων Σχεδίαση και δημιουργία πίνακα με Libre Office Base Σχεδίαση συσχετίσεων με το Libre Office Base Δημιουργία βάσεων δεδομένων με το PHP My Admin

7 Περιεχόμενα 11 Μέρος ΙΙ Η δομημένη γλώσσα επερωτήσεων Εισαγωγή Η αρχή Το πρότυπο Διάλεκτοι Για την πληρότητα Περιγραφή της βάσης δεδομένων για τα παραδείγματα Δεδομένα της βάσης company Εκτέλεση των παραδειγμάτων Μέσω διαδικτύου Με εφαρμογή κονσόλας MySQL Με την εφαρμογή Mysql Workbench Με OpenOffice/LibreOffice Με MS ACCESS Απλά ερωτήματα επιλογής Ερωτήματα σε έναν πίνακα Το πιο απλό ερώτημα Επιλογή πεδίων από πίνακα Μετονομασία πεδίων στο αποτέλεσμα Περιορισμός εγγραφών Συγκρίσεις κειμένου και αλφαριθμητικών Συγκρίσεις με ημερομηνίες Ασκήσεις Πεδία και αλγεβρικές παραστάσεις Παρατήρηση για τον υπολογισμό ποσοστού Ασκήσεις Ταξινόμηση δεδομένων Ασκήσεις Περίληψη κεφαλαίου Ασκήσεις επανάληψης Ερωτήσεις αυτοαξιολόγησης

8 12 Περιεχόμενα 11 Μια βόλτα στις βάσεις δεδομένων Απαλοιφή διπλοεγγραφών Ασκήσεις Χειρισμός άγνωστων τιμών Ταίριασμα κειμένου και χαρακτήρων Ασκήσεις Οι λογικοί τελεστές Ασκήσεις Ο τελεστής συνόλου Ασκήσεις Ο τελεστής περιοχής τιμών Ασκήσεις Περίληψη κεφαλαίου Ασκήσεις επανάληψης Ερωτήσεις αυτοαξιολόγησης Συναρτήσεις συνάθροισης και ερωτήματα ομαδοποίησης Συναρτήσεις συνάθροισης Γενικά για τις συναρτήσεις συνάθροισης Υπολογισμός του αθροίσματος Υπολογισμός του μέσου όρου Υπολογισμός της μικρότερης και της μεγαλύτερης τιμής Καταμέτρηση πλήθους Ομαδοποίηση και συναρτήσεις συνάθροισης Ασκήσεις Επέκταση της χρήσης ομαδοποίησης με τον όρο ROLLUP Περιορισμός εγγραφών σε ερωτήματα ομαδοποίησης με συναρτήσεις συνάθροισης Μια ολοκληρωμένη πρόταση Ασκήσεις Περίληψη κεφαλαίου Ασκήσεις επανάληψης Ερωτήσεις αυτοαξιολόγησης Ερωτήματα επιλογής με σύζευξη πινάκων Καρτεσιανό γινόμενο και σύζευξη Ψευδώνυμα πινάκων στον όρο FROM

9 Περιεχόμενα Σύζευξη κατά το πρότυπο SQL1 ή SQL Διαφορές και ομοιότητες στη SQL ανάμεσα στην εσωτερική και τη φυσική σύζευξη Ερωτήματα σε πίνακες με συσχέτιση ένα προς πολλά Πολλαπλότητα εγγραφών του γονικού πίνακα σε ερώτημα σύζευξης 1:Ν Προβολή πρωτεύοντος και ξένου κλειδιού σε ερώτημα εσωτερική σύζευξης Ασκήσεις Ερωτήματα σε πίνακες με συσχέτιση πολλά προς πολλά Ασκήσεις Εξωτερικές συζεύξεις Ένα αναλυτικό παράδειγμα αριστερής εξωτερικής σύζευξης Δεξιά εξωτερική σύζευξη Ερωτήματα εξωτερικής σύζευξης στο περιβάλλον της MS ACCESS Οι σχεσιακές πράξεις αφαίρεσης και τομής με τη χρήση εξωτερικών συζεύξεων Η σχεσιακή πράξη της αφαίρεσης με εξωτερική σύζευξη στη SQL Η σχεσιακή πράξη της τομής με εξωτερική σύζευξη στη SQL Ασκήσεις Σύζευξη με περισσότερα από ένα πεδία Αυτοσύζευξη Άλλες συζεύξεις Περίληψη κεφαλαίου Ασκήσεις επανάληψης Ερωτήσεις αυτοαξιολόγησης Ερωτήματα επιλογής με ομαδοποίηση σε πολλούς πίνακες Γενικά για τα ερωτήματα σύνοψης σε πολλούς πίνακες Ερωτήματα με ανάλυση των απαντήσεων Πλήθος υπαλλήλων ανά τμήμα με μισθό άνω των Υπάλληλοι σε ακριβώς 2 έργα Έργα με 3 υπαλλήλους του τμήματος Απασχόληση σε έργα των υπαλλήλων του τμήματος Πλήθος υπαλλήλων που προσελήφθησαν το 2002 και εργάζονται με έργα με βαθμό προόδου μικρότερο από 75% Πλήθος εργαζομένων με μισθό άνω των 1200 ανά έργο

10 14 Περιεχόμενα Μεγαλύτερος μισθός υπαλλήλου ανά έργο (με περιορισμό), για έργα που απασχολούν λιγότερους από 5 υπαλλήλους Προγενέστερη ημερομηνία πρόσληψης υπαλλήλου ανά έργο Ένας διευθυντής ανά έργο Πλήθος προσλήψεων πριν την έναρξη έργου Πλήθος υπαλλήλων και άθροισμα μισθών υπαλλήλων Πλήθος υπαλλήλων ανά τμήμα σε έργα με πρόοδο άνω του 50% Περίληψη κεφαλαίου Ασκήσεις επανάληψης Ερωτήσεις αυτοαξιολόγησης Υποερωτήματα Απλά υποερωτήματα Υποερωτήματα μίας τιμής που χρησιμοποιούνται στον όρο WHERE Υποερωτήματα στον όρο HAVING Υποερωτήματα με τον τελεστή συνόλου Υποερωτήματα με τους τελεστές ALL και ANY Έλεγχος σύγκρισης με τον τελεστή ALL Έλεγχος σύγκρισης με τον τελεστή ANY Έλεγχος ύπαρξης με το EXISTS Εύρεση της τομής δύο συνόλων με υποερώτημα Υποερωτήματα πίνακα Υποερωτήματα στον όρο SELECT Ένωση Ασκήσεις Με απαντήσεις Χωρίς απαντήσεις Περίληψη κεφαλαίου Ερωτήσεις αυτοαξιολόγησης Ενημέρωση βάσης δεδομένων Διαγραφή δεδομένων Διαγραφή όλων των δεδομένων Διαγραφή δεδομένων υπό συνθήκη Διαγραφή δεδομένων με υποερωτήματα Ασκήσεις

11 Περιεχόμενα Τροποποίηση δεδομένων Απλές περιπτώσεις Ενημέρωση με βάση τιμή σε ένα πεδίο Ενημέρωση σύνθετου κλειδιού: απόψεις και προβλήματα Τροποποίηση δεδομένων με υποερωτήματα Ασκήσεις Εισαγωγή δεδομένων Ένα πρόβλημα με διαδοχική εισαγωγή και διαγραφή Εισαγωγή δεδομένων με υποερώτημα Ασκήσεις Περίληψη κεφαλαίου Ερωτήσεις αυτοαξιολόγησης Η γλώσσα ορισμού δεδομένων Δημιουργία βάσης δεδομένων Δημιουργία πινάκων Η λίστα πεδίων Τύποι δεδομένων Λίστα περιορισμών Ξένα κλεδιά Συσχέτιση πολλά προς πολλά Δείκτες και περιορισμοί μοναδικότητας Πυροδοτήσεις (εναύσματα) για τα ξένα κλειδιά Πυροδότηση διαδοχικής διαγραφής ON DELETE CASCADE Πυροδότηση διαδοχικής ενημέρωσης ON UPDATE CASCADE Περιορισμός πυροδότησης διαδοχικής διαγραφής ON DELETE RESTRICT Περιορισμός πυροδότησης διαδοχικής ενημέρωσης ON UPDATE RESTRICT Τροποποίηση δομής πίνακα Διαγραφή πεδίου από πίνακα Προσθήκη πεδίου Τροποποίηση πεδίου Διαγραφή περιορισμού Προσθήκη περιορισμού Ασκήσεις με απαντήσεις Η βάση ΕΤΑΙΡΕΙΑ Πελάτες και προϊόντα

12 16 Περιεχόμενα Ενημέρωση της βάσης πελατών/προϊόντων Λεπτομέρειες παραγγελιών Επαναληπτικές ασκήσεις Κλείσε ένα τραπέζι το βράδυ για φαγητό Προτιμήσεις του καταναλωτή Μαθήματα οδήγησης Εταιρεία διαχείρισης ακίνητης περιουσίας Περίληψη κεφαλαίου Ερωτήσεις αυτοαξιολόγησης Ενσωματωμένες συναρτήσεις Εισαγωγικά Συναρτήσεις για αριθμούς Συναρτήσεις αλφαριθμητικών Συναρτήσεις ημερομηνίας και ώρας Ασκήσεις Με απαντήσεις Χωρίς απαντήσεις Περίληψη κεφαλαίου Ερωτήσεις αυτοαξιολόγησης Όψεις Εισαγωγικά για τις όψεις Πλεονεκτήματα και μειονεκτήματα στη χρήση των όψεων Πλεονεκτήματα στη χρήση όψεων Μειονεκτήματα στη χρήση όψεων Παραδείγματα χρήσης των όψεων Όψεις και ερωτήματα σύζευξης Όψεις με ομαδοποίηση Ενημέρωση όψεων Διαγραφή όψεων Περίληψη κεφαλαίου Ερωτήσεις αυτοαξιολόγησης Εναύσματα Γενικά για τα εναύσματα Έναυσμα αύξησης μισθού ανάλογα με την εργασία

13 Περιεχόμενα Έναυσμα μείωσης μισθού ανάλογα με την εργασία Ένα έναυσμα για αύξηση ή μείωση μισθού μετά την ενημέρωση του πίνακα workson Πλεονεκτήματα και μειονεκτήματα στη χρήση εναυσμάτων Πλεονεκτήματα Μειονεκτήματα Εφαρμογές των εναυσμάτων Έλεγχος και τροποποίηση τιμών πριν από την εισαγωγή δεδομένων Εναύσματα ακεραιότητας αναφορών Περίληψη κεφαλαίου Ερωτήσεις αυτοαξιολόγησης Ασφάλεια βάσεων δεδομένων Εκχώρηση δικαιωμάτων σε χρήστες Ανάκληση δικαιωμάτων Κανόνες ασφάλειας στην πράξη Η πικρή χαρά μιας ιστοσελίδας Περίληψη κεφαλαίου Ερωτήσεις αυτοαξιολόγησης Αποθηκευμένες διαδικασίες, συναρτήσεις χρήστη και προγραμματιστικές λειτουργίες Αποθηκευμένες διαδικασίες Απλό παράδειγμα αποθηκευμένης διαδικασίας χωρίς παραμέτρους Απλό παράδειγμα με παραμέτρους Διαδικασίες με πολλές εντολές ενημέρωσης Ολική συμμετοχή σε συσχέτιση ένα προς πολλά Συνδυασμός INSERT και UPDATE σε αποθηκευμένη διαδικασία Συναρτήσεις οριζόμενες από το χρήστη Επιλογή με βάση τον όρο CASE...WHEN...THEN Δρομείς στη SQL Ασκήσεις επανάληψης Περίληψη κεφαλαίου Ερωτήσεις αυτοαξιολόγησης

14 18 Περιεχόμενα 23 Συναλλαγές με τη SQL Βασικές λειτουργίες των συναλλαγών, κανόνες ACID Επίπεδα απομόνωσης Autocommit Ατομικότητα συναλλαγών Αποθηκευμένες διαδικασίες για την εκτέλεση συναλλαγών Συνέπεια (consistency) συναλλαγών Επίπεδα απομόνωσης και έλεγχος ταυτοχρονισμού Συνεδρία και ιδιότητες συνεδρίας Επίπεδο απομόνωσης READ UNCOMMITTED Επίπεδο απομόνωσης READ COMMITTED Επίπεδο απομόνωσης REPEATABLE READ Επίπεδο απομόνωσης SERIALIZABLE Περίληψη κεφαλαίου Μέρος ΙΙΙ Παραδείγματα και εφαρμογές Καταγραφή γεννήσεων σε μια μαιευτική κλινική Το πρόβλημα: περιγραφή και ανάλυση απαιτήσεων Σχεδίαση μοντέλου Οντοτήτων / Συσχετίσεων Γενικά Ιδιότητες των οντοτήτων Παιδιά, ιδιότητα ή οντότητα; Μετατροπή σε σχεσιακό μοντέλο Κανονικοποίηση Πίνακες, ερωτήματα, όψεις, και φόρμες Δημιουργία πινάκων με SQL Δημιουργία πινάκων στο περιβάλλον MS Access Ερωτήματα στη βάση μαιευτηρίου Προγραμματισμός της εφαρμογής Γενικά Επεξεργασία πινάκων Ερωτήματα και όψεις Εκθέσεις Φόρμες Χειρισμός των γεννήσεων διδύμων με τροποποίηση του σχεδιασμού της βάσης δεδομένων

15 Περιεχόμενα Εύρεση δίδυμων γεννήσεων από την υπάρχουσα βάση δεδομένων Επανασχεδίαση της βάσης δεδομένων με τη «γέννα» ως οντότητα Συμπεράσματα και προοπτικές από το σχεδιασμό της βάσης δεδομένων γεννήσεων Παραδείγματα SQL με τη βάση δεδομένων MONDIAL Γενική περιγραφή της βάσης δεδομένων MONDIAL Απλά ερωτήματα ενός πίνακα στη βάση δεδομένων MONDIAL Χώρες με έκταση παρόμοια της Ελλάδας Λίμνες που εκβάλλουν σε ποτάμια Ποτάμια που διασχίζουν μια χώρα Τύποι νησιών Έκταση και συντεταγμένες νησιωτικών περιοχών Τα μεγαλύτερα νησιά του κόσμου Οι 5 πολυπληθέστερες χώρες Χώρες και πρωτεύουσες με ίδιο αρχικό γράμμα Σύνορα της Ελλάδας Ταξινόμηση βουνών ως προς το ύψος Πόλεις των περιφερειών της Ελλάδας Μεγαλουπόλεις του κόσμου Χώρες με πολλές μεγαλουπόλεις Διεθνείς οργανισμοί με έδρα τις Βρυξέλλες Πολιτειακό σύστημα των χωρών Ερωτήματα με σύζευξη πινάκων και υποερωτήματα στη βάση δεδομένων MONDIAL Χώρες μέλη του ΝΑΤΟ ΑΕΠ των χωρών της ομάδας G Ρυθμός πληθυσμιακής συρρίκνωσης σε χώρες της Ευρώπης Μέση πληθυσμιακή μεταβολή ανά ήπειρο Χώρες που συνορεύουν με τη Γαλλία Ποσοστό πληθυσμού στις πρωτεύουσες περιφερειών του Βελγίου Χώρες που διασχίζει ο Δούναβης Χώρες που διασχίζει ο Δούναβης και που δεν είναι μέλη της ΕΕ Αφρικανικές χώρες της Μεσογείου Πλήθος χωρών ανά διεθνή οργανισμό με έδρα τη Βιέννη Πολιτεύματα στις χώρες της ΕΕ Χώρες της Ευρώπης με ψηλά βουνά Οι πολυπληθέστερες περιφέρειες της ΕΕ

16 20 Περιεχόμενα Λίμνες με τουλάχιστον δύο πόλεις στις όχθες τους Πόλη στις όχθες μικρής λίμνης Σύνθετα ερωτήματα στη βάση δεδομένων MONDIAL Τρεις λίμνες ανά χώρα Χώρες που ανήκουν σε δύο οργανισμούς Ερωτήματα γεωγραφικών αποστάσεων στη βάση δεδομένων MONDIAL Απόσταση ανάμεσα σε δύο σημεία Γενική λύση με χρήση δυναμικής SQL Εφαρμογή της συνάρτησης απόστασης πόλεων σε ερωτήματα Ενσωμάτωση συνάρτησης σε ερωτήματα Απόσταση πρωτευουσών από τις Βρυξέλλες Η πιο «κεντρική» πρωτεύουσα της Ευρώπης Παραδείγματα SQL με τη βάση δεδομένων sakila Γενικά για η βάση δεδομένων sakila Περιγραφή των εντολών SQL για τη δημιουργία του σχήματος της βάσης δεδομένων sakila Ο πίνακας actor Οι πίνακες customer, staff, και film Απλά ερωτήματα Πλήθος ταινιών ανά ημέρες ενοικίασης Πλήθος ταινιών ανά κατηγορία Πλήθος ηθοποιών ανά ταινία Ηθοποιοί που εμφανίζονται σε 20 ταινίες Ηθοποιοί σε περισσότερες από 40 ταινίες Πελάτες ανά χώρα Πλήθος ταινιών που δεν έχουν επιστραφεί Πλήθος των ενοικιάσεων ταινιών ανά μήνα Διευθυντής υποκαταστήματος Συναλλαγές ανά υποκατάστημα Πλήθος ταινιών ανά υποκατάστημα Πλήθος ενοικιάσεων ανά τίτλο ταινίας Πλήθος ενοικιάσεων ανά ημέρες ενοικίασης Σύνθετα ερωτήματα Πελάτες με ενοικιάσεις ακριβώς τριών κατηγοριών Πλήθος ενοικιάσεων πελατών με 3 κατηγορίες ταινιών Πλήθος ενοικιάσεων πελατών με 3 κατηγορίες ταινιών και το πολύ 6 ενοικιάσεις

17 Περιεχόμενα Πελάτες και κατηγορίες ταινιών Μέση διάρκεια ενοικίασης ανά κατηγορία Πλήθος ενοικιάσεων ανά μήνα συγκεκριμένων κατηγοριών Εισπράξεις ανά μήνα και τίτλο ταινίας Χώρες πελατών με ενοικιάσεις υψηλών εσόδων Ερωτήματα σχετικά με χρονική διάρκεια Επιστροφές αυθημερόν ταινιών με μεγάλη διάρκεια Διάρκεια των ενοικιάσεων σε ημέρες, ώρες, λεπτά, και δευτερόλεπτα ιαδικτυακές βάσεις δεδομένων, εφαρμογή με MySQL/PHP Εισαγωγή Προαπαιτούμενα και ρυθμίσεις Σύνδεση ιστοσελίδας με βάση δεδομένων Επεξεργασία κώδικα PHP Προβολή δεδομένων σε πίνακες ιστοσελίδων Στατικά ερωτήματα Δυναμικά ερωτήματα και δυναμικές ιστοσελίδες Λήψη παραμέτρων με τη μέθοδο GET Λήψη παραμέτρων με αποστολή φόρμας με τη μέθοδο GET Λήψη παραμέτρων με αποστολή φόρμας με τη μέθοδο POST Στατιστική ανάλυση βάσεων δεδομένων με R/SQL Περιγραφή της βάσης δεδομένων για τη στατιστική ανάλυση Εγκατάσταση και δοκιμή λειτουργίας της βιβλιοθήκης RMySQL Το πρώτο ερώτημα μεταφοράς δεδομένων από τη SQL στην R Η εξεταστική περίοδος ως απλή μεταβλητή και ως χρονολογική σειρά Έλεγχος του μέσου όρου Επιλογή δεδομένων με τη συνάρτηση subset Εφαρμογές Java με SQLite Java και SQLite SQLite, μία ελαφριά βάση δεδομένων Επιλογή δεδομένων από μια βάση δεδομένων SQLite Το παράδειγμα της βάσης company με SQLite σε περιβάλλον Java Σύνδεση με τη βάση δεδομένων Προβολή αποτελεσμάτων ενός στατικού ερωτήματος

18 22 Περιεχόμενα Προβολή αποτελεσμάτων ενός δυναμικού ερωτήματος Επεξεργασία δεδομένων με Java/SQLite NoSQL, η περίπτωση της MongoDB Γενικές πληροφορίες και βασικές λειτουργίες Λήψη και εγκατάσταση της MongoDB Εκκίνηση και πρώτες λειτουργίες της MongoDB Εύρεση δεδομένων στο περιβάλλον της MongoDB Ενημέρωση δεδομένων στη MongoDB Τροποποίηση δεδομένων Διαγραφή δεδομένων Ερωτήματα ομαδοποίησης και συνάθροισης στη MongoDB Ερωτήματα στη βάση company Επώνυμο και μισθός υπαλλήλων Κωδικός, τμήμα, και μισθός των υπαλλήλων Επώνυμο και τμήμα υπαλλήλων Πλήθος υπαλλήλων ανά τμήμα Ακραίες τιμές μισθού ανά τμήμα Παράρτημα Βιβλιογραφία Ευρετήριο

19 Πρόλογος Ανάμεσα στα πολλά που μπορεί κανείς να παραθέσει ως χαρακτηριστικά της εποχής μας, υπάρχει ένα αδιαμφισβήτητο: η γιγάντωση των δεδομένων που καταγράφονται σε ηλεκτρονικά μέσα, μαζί με τη ραγδαία εξάπλωση των ποικιλότροπων μεθόδων ανάλυσής τους. Η δεύτερη έκδοση του βιβλίου Βάσεις Δεδομένων και SQL: Μια πρακτική προσέγγιση επιχειρεί να μεταδώσει στον αναγνώστη τόσο την κλασική προσέγγιση των βάσεων δεδομένων, όσο και τουλάχιστον εν μέρει τις πρόσφατες εξελίξεις στο χώρο. Ανάμεσα στα πολλά που μπορεί κανείς να παραθέσει ως χαρακτηριστικά της εποχής μας, υπάρχει ένα αδιαμφισβήτητο: η γιγάντωση των δεδομένων που καταγράφονται σε ηλεκτρονικά μέσα, μαζί με τη ραγδαία εξάπλωση των ποικιλότροπων μεθόδων ανάλυσής τους. Η δεύτερη έκδοση του βιβλίου Βάσεις Δεδομένων και SQL: Μια πρακτική προσέγγιση επιχειρεί να μεταδώσει στον αναγνώστη τόσο την κλασική προσέγγιση των βάσεων δεδομένων, όσο και τουλάχιστον εν μέρει τις πρόσφατες εξελίξεις στο χώρο. Μερικές δεκαετίες πριν, η συλλογή δεδομένων ήταν έργο εξειδικευμένων οργανισμών και υπηρεσιών. Σήμερα όμως ο καθένας συμμετέχει με πολυποίκιλους τρόπους σε κάτι τέτοιο, σχεδόν πάντα χωρίς να καταλαβαίνει ότι συμμετέχει εθελοντικά σε ένα έργο συλλογής και ηλεκτρονικής καταγραφής δεδομένων. Καθημερινές κινήσεις, όπως η χρήση του τηλεφώνου, η χρήση κάθε είδους τραπεζικών συναλλαγών, η κίνηση στους δρόμους, η αγορά προϊόντων, η αναζήτηση και κατανάλωση πληροφοριών στο διαδίκτυο, και τόσα άλλα, συνδέονται άμεσα με συλλογή και καταγραφή δεδομένων σε βάσεις δεδομένων. Η τάση αυτή αυξάνεται κατακόρυφα και η αυξητική τάση δεν φαίνεται πως θα μειωθεί τα επόμενα χρόνια. Ας δούμε ενδεικτικά ένα μόνο παράδειγμα από τα παραπάνω. Το τηλεφώνημα είναι ένα απλό τηλεφώνημα για εμάς. Για το ίδιο το τηλέφωνο και την εταιρεία τηλεφωνίας που εξυπηρέτησε την κλήση είναι πολύ περισσότερα: α) Ο αριθμός κλήσης αναζητήθηκε πιθανώς από τη βάση δεδομένων των επαφών μας, β) Το τηλέφωνο απάντησης της κλήσης 33

20 34 Πρόλογος πιθανώς αναγνώρισε το νούμερο εισερχόμενης κλήσης από τη δική του βάση επαφών, γ) Το σύστημα διαχείρισης κλήσεων της εταιρείας τηλεφωνίας κατέγραψε τα εμπλεκόμενα νούμερα τηλεφώνων, καθώς το χρόνο και τη διάρκεια της κλήσης δ) Αντίστοιχες καταγραφές δεδομένων έγιναν στα τηλέφωνα εισερχόμενης και εξερχόμενης κλήσης ε) Η ε- ταιρεία τηλεφωνίας αναζήτησε στη βάση δεδομένων της τις τιμές χρέωσης της κλήσης ανάλογα με το συμβόλαιο του συνδρομητή και κατέγραψε τα αντίστοιχα ποσά στ) Μια σειρά από δεδομένα και πληροφορίες συγκεντρώνονται περιοδικά για κάθε συνδρομητή και του παραδίνονται ως αναλυτικός λογαριασμός. Αυτά είναι μερικά ενδεικτικά μόνο στοιχεία χρήσης δεδομένων και βάσεων δεδομένων κατά τη διάρκεια ενός απλού τηλεφωνήματος. Σημασία έχει να καταλάβουμε ότι η απλή χρήση ενός τηλεφώνου περιλαμβάνει μια μεγάλη λίστα από αναζήτηση, χρήση, και καταγραφή δεδομένων και πως η σύγχρονη τηλεφωνία δεν λειτουργεί χωρίς αυτά τα βήματα. Σημειώνουμε επίσης ότι ένα μεγάλο μέρος μετάδοσης αυτών των δεδομένων γίνεται ασύρματα και δορυφορικά. Σχεδόν όλες οι επιστήμες χρησιμοποιούν σήμερα βάσεις δεδομένων. Λίγο ως πολύ, η καθημερινή εργασία κάθε επιστήμονα περιλαμβάνει κάποιου είδους αλληλεπίδραση με βάσεις δεδομένων. Ας παραθέσουμε μερικά μόνο παραδείγματα. Βιολογία Οι τρεις πλέον πλήρεις βάσεις δεδομένων με αλληλουχίες νουκλεοτιδίων (DNA) και πρωτεϊνών είναι οι: GenBank, από το National Center for Biotechnology Information EMBL, από το European Molecular Biology Laboratory, DDBJ, από το DNA Data Bank of Japan Πολύ σημαντικές είναι επίσης οι βάσεις δεδομένων που παρέχουν πληροφορίες σχετικά με την τριτοταγή δομή των πρωτεϊνών: Protein Data Bank (PDB), PDBSum, Η βιολογία είναι ένας επιστημονικός κλάδος με ιδιαίτερα μεγάλη χρήση βάσεων δεδομένων. Μια πληρέστερη λίστα των βάσεων δεδομένων με περιεχόμενο σχετικά με τη βιολογία μπορείτε να βρείτε στη διεύθυνση

21 Πρόλογος 35 Ιατρική Οι γιατροί σε όλο τον κόσμο χρησιμοποιούν πλήθος βάσεων δεδομένων για τη βελτίωση της καθημερινής πρακτικής τους αλλά και της έρευνας. Οι βάσεις δεδομένων ιατρικού περιεχομένου αυξάνονται συνεχώς, πολλές φορές με ερωτηματικά σχετικά με την ηθική χρήση των δεδομένων που συλλέγονται. Μερικές από τις πλέον σημαντικές βάσεις δεδομένων στο χώρο της ιατρικής είναι οι: MEDLINE, από την Εθνική Βιβλιοθήκη Ιατρικής των ΗΠΑ IEDB, από το Εθνικό Ινστιτούτο Αλλεργικών και Μολυσματικών Ασθενειών των ΗΠΑ WebMD, Συμπτώματα ασθενειών και αντιμέτωπισή τους EudraPharm, Βάση δεδομένων σχετικά με φάρμακα που κυκλοφορούν στην Ευρωπαϊκή Ένωση (πολυγλωσσικό περιεχόμενο, και στα Ελληνικά) Χημεία Βάσεις δεδομένων χρησιμοποιούνται επίσης στη χημεία, με περισσότερο γνωστή τη βάση οργανικών ενώσεων Beilstein και την ChEMBL, Επιστήμη Υλικών Τα νέα υλικά βρίσκονται σήμερα παντού και η Επιστήμη των Υλικών (στο σταυροδρόμι της Χημείας, της Φυσικής, και της Μηχανικής) χρησιμοποιεί μεγάλες και σημαντικές βάσεις δεδομένων για την εξυπηρέτηση των αναγκών της: MatWeb, MATDAT, Πολιτικές Επιστήμες Πλήθος από δεδομένα σχετικά με τη διακυβέρνηση, τη δημοκρατία, τις εκλογές, τη διαφθορά, την αποτελεσματικότητα της δημόσιας διοίκησης κ.λπ. χρησιμοποιούνται κατά κόρον από τους πολιτικούς αναλυτές και τους πολιτικούς επιστήμονες σε όλο τον κόσμο: Transpareny International, General Social Survey, Eurobarometer, World Values Survey,

22 36 Πρόλογος Θεολογία Ιδιαίτερα γνωστή είναι η παγκόσμια βάση θρησκειών που μπορείτε να βρείτε στην διεύθυνση, σχετικά με τα δημογραφικά δεδομένα των θρησκειών σε όλο τον πλανήτη. Οικονομικές Επιστήμες Πολλοί μεγάλοι εθνικοί και διεθνείς οργανισμοί παρέχουν δεδομένα σχετικά την οικονομική δραστηριότητα. Τέτοια είδους δεδομένα συλλέγονται συνήθως από εθνικές στατιστικές υπηρεσίες και στη συνέχεια υφίστανται επεξεργασία ώστε τα δεδομένα να παρέχονται με ομοιογενή τρόπο για διαφορετικές χώρες (πχ μετατροπή ποσών σε κοινό νόμισμα, κ.λπ.). Σημαντικές τέτοιες βάσεις δεδομένων είναι οι: Ηνωμένα Έθνη, Ηνωμένα Έθνη Παγκόσμιο εμπόριο, Ηνωμένα Έθνη FAOSTAT, Παγκόσμια Τράπεζα, Διεθνές Νομισματικό Ταμείο, Οργανισμός Οικονομικής Συνεργασίας και Ανάπτυξης, Ευρωπαϊκή Στατιστική Υπηρεσία, Yahoo finance, Ομοσπονδιακή Τράπεζα ΗΠΑ, Η αυξανόμενη χρήση των οικονομικών δεδομένων στην οικονομική ανάλυση και η ανάγκη εκπαίδευσης των οικονομολόγων σε τεχνικές βάσεων δεδομένων και στατιστικής ανάλυσης έχει τεκμηριωθεί αναλυτικά στην πρόσφατη βιβλιογραφία. Για παράδειγμα, μπορεί κανείς να ανατρέξει στο άρθρο The Data Revolution and Economic Analysis των Liran Einav και Jonathan D. Levin ( και A Data Science Course for Undergraduates: Thinking with Data του Ben Baumer ( arxiv.org/abs/ ) για μια σύντομη αλλά πλήρη παρουσίαση των παραπάνω διαπιστώσεων. Η 2η έκδοση του βιβλίου ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ SQL: Μια πρακτική προσέγγιση αποτελεί μια προσπάθεια να απαντηθούν οι προκλήσεις σχετικά με τη διδασκαλία ενός μαθήματος εφαρμογής βάσεων δεδομένων σε πανεπιστημιακό επίπεδο, σε σχολές πέρα από την επιστήμη των υπολογιστών.

23 Πρόλογος 37 Το βιβλίο αποτελείται από τρία μέρη: 1. Την εισαγωγή και παρουσίαση του «κλασικού» μέρους της θεωρίας των βάσεων δεδομένων, δηλαδή του σχεσιακού μοντέλου και του μοντέλου οντοτήτων/συσχετίσεων, 2. Τη γλώσσα SQL 3. Εφαρμογές των βάσεων δεδομένων με διάφορα προγραμματιστικά περιβάλλοντα, όπως MS Access, MySQL, PHP, R, SQLite/Java, MongoDb. Το βιβλίο απευθύνεται κυρίως σε φοιτητές εφαρμοσμένων επιστημών. Υπό αυτή την οπτική γωνία, το πρώτο μέρος του βιβλίου δεν αποτελεί «μία ακόμη» τεκμηρίωση της θεωρίας των βάσεων δεδομένων, αλλά προσπαθεί να την εξηγήσει μέσα από παραδείγματα. Το δεύτερο μέρος του βιβλίου αποτελεί μια ολοκληρωμένη παρουσίαση της γλώσσας SQL σε επίπεδο χρήστη ή προγραμματιστή βάσεων δεδομένων. Οι κύριες εντολές SE- LECT, INSERT, DELETE, UPDATE, CREATE TABLE, CREATE VIEW, CREATE FUNCTION, CREATE PROCEDURE, GRANT, REVOKE επεξηγούνται μέσα από ε- κατοντάδες παραδείγματα χρήσης. Στο τρίτο μέρος του βιβλίου παρουσιάζονται μια σειρά από εφαρμογές βάσεων δεδομένων, είτε σε επίπεδο βασικής χρήσης βάσεων δεδομένων με εφαρμογές γραφείου, είτε σε περισσότερο σύνθετα και προγραμματιστικά περιβάλλοντα, όπως είναι η MySQL, η PHP, και οι εφαρμογές διαδικτύου, η R και οι εφαρμογές υπολογιστικής στατιστικής, καθώς και η SQLite/Java και το σύστημα βάσεων δεδομένων NoSQL mongodb. Φυσικά ο αναγνώστης δεν χρειάζεται να περιμένει το 3 μέρος του βιβλίου για να δει παραδείγματα και πρακτικές εφαρμογές των βάσεων δεδομένων. Η προσέγγιση με βάση το παράδειγμα είναι διάχυτη σε όλο το βιβλίο, από το πρώτο μέχρι το τελευταίο κεφάλαιο. Υπάρχουν περισσότερα από 1100 παραδείγματα και λυμένες ασκήσεις SQL, από το πρώτο ακόμα κεφάλαιο. Ευχαριστίες Ευχαριστώ την κ. Άρτεμις Παντάζογλου, φοιτήτρια του τμήματος Εφαρμογών Πληροφορικής στη Διοίκηση και Οικονομία (ΕΠΔΟ - ΤΕΙ Μεσολογγίου) και εργαστηριακή βοηθό μου στο μάθημα Βάσεις Δεδομένων ΙΙ το ακαδημαϊκό έτος 2004/5. Στο δεύτερο μέρος του βιβλίου (SQL) έχουν αποτυπωθεί πολλές από τις παρατηρήσεις της. Ευχαριστώ τις κ. Βασιλική Βλάχου και Μαρίνα Πρωτόγερου, φοιτήτριες του τμήματος Οικονομικών Επιστημών του Πανεπιστήμιου Ιωαννίνων, για τις χρήσιμες παρατηρήσεις τους πάνω στην παρουσίαση του μοντέλου Οντοτήτων/Συσχετίσεων.

24 38 Πρόλογος Οι συνεργάτες μου στον εκδοτικό οίκο «Κλειδάριθμος» έκαναν σημαντική και εξαιρετική δουλειά για να φτάσει το βιβλίο στα χέρια σας σε αυτή τη μορφή. Ευχαριστώ ιδιαίτερα τον Φώτη Σκουλαρίκη (επιμέλεια κειμένου), τον Βασίλη Βρεττό (σελιδοποίηση), τη Γιάννα Αθανασίου (σχεδίαση εξώφυλλου), τον Παναγιώτη Σταυρόπουλο (υπεύθυνο παραγωγής), και τον Γιάννη Αϊναλίδη (υπεύθυνο πανεπιστημιακών συγγραμμάτων) για την προσφορά τους και την καλή συνεργασία που είχαμε όλο αυτό το διάστημα. Ευχαριστώ ιδιαίτερα τη σύζυγό μου Έλενα. Η υπομονή και η αγάπη της ήταν πολύτιμος βοηθός σε όλη τη διάρκεια της αναθεώρησης του βιβλίου για τη δεύτερη έκδοσή του. ιορθώσεις λαθών και παραλείψεων Λάθη και παραλείψεις που εντοπίζονται στο κείμενο ανακοινώνονται περιοδικά στην ιστοσελίδα του βιβλίου Αν εντοπίσετε οποιοδήποτε λάθος ή παράλειψη σας παρακαλώ να μου το κοινοποιήσετε απευθείας

25 ΜΕΡΟΣ Ι Εισαγωγή στα συστήματα βάσεων δεδομένων 39

26

27 ΚΕΦΑΛΑΙΟ 1 Μια βόλτα στις βάσεις δεδομένων Το κείμενο που ακολουθεί παρουσιάζει μερικές εισαγωγικές ιδέες της τεχνολογίας των βάσεων δεδομένων σε αναγνώστες που δεν έχουν κάποια παρόμοια πείρα. Ο στόχος του είναι να δώσει κάποιες αρχικές ιδέες και να περιγράψει μερικούς λόγους για τους οποίους άλλες τεχνολογίες ηλεκτρονικής καταχώρισης δεν επαρκούν. Απευθύνεται κυρίως σε φοιτητές που ενδιαφέρονται για την τεχνολογία των βάσεων δεδομένων, χωρίς να έχουν κάποιο στέρεο υπόβαθρο 2 ή 3 ετών σπουδών πληροφορικής ή επιστήμης των υπολογιστών. Το περιεχόμενό του είναι περιγραφικό και σε καμία περίπτωση δεν υποκαθιστά τη θεωρία (σχεσιακό μοντέλο, μοντέλο Ο/Σ κ.ά.) και πρακτική (SQL, προγράμματα, αρχεία, κ.ά.) των βάσεων δεδομένων. Προσπαθεί απλώς να πείσει, με απλό τρόπο, τον αναγνώστη για την αναγκαιότητα της χρήσης βάσεων δεδομένων, όταν το πρόβλημα που θέλουμε να επιλύσουμε έχει να κάνει με χειρισμό δεδομένων. Αν καταλάβετε αυτό το κεφάλαιο, θα μπορείτε να: Τοποθετείτε ομοειδή δεδομένα σε στήλες και γραμμές (πίνακες). ημιουργείτε απλές βάσεις δεδομένων, ακόμα και σε λογιστικά φύλλα. Γράφετε απλές προτάσεις SQL. Χρησιμοποιείτε ατομικές τιμές και να εφαρμόζετε την πρώτη κανονική μορφή. Τοποθετείτε μοναδικά αναγνωριστικά πεδία (πρωτεύοντα κλειδιά) σε πίνακες έτσι ώστε να μπορείτε να προσδιορίζετε εύκολα τις εγγραφές ενός πίνακα. Χρησιμοποιείτε διαφορετικούς τύπους δεδομένων, όπως κείμενο, αριθμούς, και ημερομηνίες, για να περιγράψετε ένα σύνολο από ιδιότητες μιας οντότητας (πρόσωπο, αντικείμενο, κατάσταση, συμβάν, κ.λπ.) 41

28 42 ΜΕΡΟΣ I Εισαγωγή στα συστήματα βάσεων δεδομένων 1.1 Η πρώτη βάση δεδομένων Όλοι έχουμε φίλους! Δεν θα ήταν καλύτερα αν είχαμε οργανώσει την παρέα μας σε μια απλή και εύχρηστη βάση δεδομένων; Έτσι θα μπορούσαμε εύκολα να κρατάμε τις επαφές μας, κάτι σαν το βιβλίο διευθύνσεων-τηλεφώνων για τους παλιούς ή τις επαφές ενός κινητού τηλεφώνου για τους νεότερους. Γιατί όμως βάση δεδομένων; Μα αφού έχουμε μια πολύ μεγάλη παρέα, θέλουμε να έχουμε εύκολη και γρήγορη πρόσβαση σε όλα τα δεδομένα. Και επίσης θέλουμε να γνωρίσουμε μια νέα και πρωτοποριακή τεχνολογία: τις βάσεις δεδομένων! Οι περισσότεροι άνθρωποι σκέφτονται πως το καθήκον της κατασκευής και λειτουργίας μιας βάσης δεδομένων απαιτεί σύνθετες δεξιότητες στον ηλεκτρονικό υπολογιστή. Επίσης απαιτεί πολλές ώρες για να προγραμματιστεί και επίσης χρειάζεται επιπλέον επιδεξιότητες για να λειτουργήσει. Όπως συμβαίνει και σε πολλά άλλα πράγματα, έτσι και εδώ πρόκειται για μύθους. Ένας Η/Υ με πληκτρολόγιο, ποντίκι, και οθόνη είναι το μόνο με το οποίο χρειάζεται να έλθει σε επαφή ο χρήστης. Δεν απαιτούνται ιδιαίτερες δεξιότητες χρήσης του Η/Υ. Αυτό που απαιτείται, κυρίως για μεγάλες και σύνθετες εφαρμογές, είναι θεωρητικές γνώσεις και επιπλέον χρόνος με χαρτί και μολύβι! Άλλοι τρόποι Η πιο απλή και πρωτόγονη προσέγγιση είναι αυτή ενός επεξεργαστή κειμένου. Οι πληροφορίες για τους φίλους μας είναι κείμενο, όπως το όνομα, η διεύθυνση, το τηλέφωνο, κ.λπ. Μια πινακοποιημένη αναπαράσταση σε έναν επεξεργαστή κειμένου μπορεί να α- ποτελέσει μια καταπληκτική ηλεκτρονική μορφή καταχώρισης δεδομένων σχετικά με τους φίλους μας. Δείτε, για παράδειγμα, το Σχήμα 1.1, με μέρος από τις πληροφορίες σχετικά με τους φίλους. Η λύση αυτή αποτελεί ένα τεράστιο βήμα προόδου σε σχέση με την απομνημόνευση όλων αυτών των στοιχείων, ή την καταχώρισή τους σε καρτέλες και σημειώσεις. Πρόκειται επίσης σαφώς για έναν ηλεκτρονικό τρόπο τήρησης αρχείων και εγγραφών. Έχει όμως ορισμένα μειονεκτήματα: Είναι πολύ εύκολο να γίνει λάθος και να εισαχθεί δεύτερη φορά το ίδιο πρόσωπο. Είναι πολύ δύσκολο, ή ακόμα και αδύνατο, να δοθούν απαντήσεις σε ερωτήματα όπως «πόσες μέρες μένουν για τα γενέθλια του Νίκου», ή «πόσους αριθμούς τηλεφώνου έχουμε καταχωρίσει για τον Στέφανο».

29 Κεφάλαιο 1 Μια βόλτα στις βάσεις δεδομένων 43 Αν το αρχείο γίνει μεγάλο, τότε γίνεται δύσκολη η αναζήτηση πληροφοριών, ακόμα και για απλές πληροφορίες όπως «σε ποια πόλη μένει η Αλέκα». Σχήμα 1.1 είγμα της βάσης δεδομένων των φίλων μας σε επεξεργαστή κειμένου. Σχήμα 1.2 είγμα της βάσης δεδομένων των φίλων μας σε λογιστικό φύλλο.

30 44 ΜΕΡΟΣ I Εισαγωγή στα συστήματα βάσεων δεδομένων Πολλά από τα παραπάνω προβλήματα μπορούν να λυθούν με τη χρήση ενός λογιστικού φύλλου. Δείτε για παράδειγμα το Σχήμα 1.2 όπου με τη χρήση κατάλληλων τύπων και συναρτήσεων μπορούμε να πάρουμε απαντήσεις σε ερωτήματα όπως «πόσους φίλους έχουμε στην Αθήνα», ή «ποιο είναι το τηλέφωνο του φίλου με όνομα Στέφανος Αλεξόπουλος». Ας δούμε όμως πιο σφαιρικά τα πράγματα, και ας σκεφτούμε λίγο πιο βαθιά. Αυτό που θέλουμε είναι μια εφαρμογή που να μπορεί να κάνει τα εξής: 1 Να είναι εύκολη η εισαγωγή μιας νέας καταχώρισης, χωρίς να επηρεάζονται οι προηγούμενες καταχωρίσεις. 2 Αν υπάρχει λόγος, να είναι δυνατή η διαγραφή μίας ή περισσοτέρων καταχωρίσεων, χωρίς να επηρεάζεται η λειτουργία της εφαρμογής ή οι υπόλοιπες καταχωρίσεις. 3 Να είναι δυνατή η τροποποίηση μέρους των αποθηκευμένων δεδομένων όταν υ- πάρχει ανάγκη. Π.χ., να είναι δυνατή η αλλαγή τηλεφωνικού αριθμού, η αλλαγή της διεύθυνσης, κ.λπ. 4 Να είναι εύκολη η ανάκτηση δεδομένων και πληροφοριών κάθε είδους. Π.χ., να βρεθούν οι φίλοι που μένουν στην οδό Δημοκρατίας, ή πόσοι φίλοι ασχολούνται με τον αθλητισμό. 5 Αν είναι δυνατόν, να υπάρχουν κάποιες διευκολύνσεις σχετικά με τις παραπάνω λειτουργίες, όσον αφορά στο χειρισμό των διαδικασιών από το χρήστη. 6 Ακόμα καλύτερα, να υπάρχει δυνατότητα ανάκαμψης από μια εσφαλμένη λειτουργία του Η/Υ, ή να υπάρχει δυνατότητα εισαγωγής/εξαγωγής δεδομένων με άλλες εφαρμογές. Η λίστα βέβαια δεν τελειώνει εδώ. Αυτά όμως είναι μερικά βασικά πράγματα που πρέπει να διαθέτει μια εφαρμογή διαχείρισης των επαφών μας μέσω Η/Υ. Αυτό είναι κάτι για το οποίο ή τεχνολογία των βάσεων δεδομένων παρέχει τεράστιο πλεονέκτημα σε σχέση με οτιδήποτε άλλο: δημιουργήθηκε και αναπτύχθηκε για την αποθήκευση και τη διαχείριση δεδομένων με ασφαλή και εύκολο τρόπο. Υπάρχει βέβαια ένα κόστος στο να μάθει κανείς αυτή την τεχνολογία. Γι' αυτό άλλωστε διαβάζετε αυτό το βιβλίο! Όμως το κέρδος από την επένδυση είναι τεράστιο. Αν το πρόβλημα που θέλετε να λύσετε έχει να κάνει με χειρισμό δεδομένων, τότε οι βάσεις δεδομένων είναι η τεχνολογία που πρέπει να γνωρίζετε!

31 Κεφάλαιο 1 Μια βόλτα στις βάσεις δεδομένων 45 Σχήμα 1.3 Εύρεση πληροφοριών από τη βάση δεδομένων των φίλων Απαιτήσεις της εφαρμογής Τονίσαμε λίγες παραγράφους πριν πως σημαντικό κομμάτι της δουλειάς γίνεται με μολύβι και χαρτί, και όχι με το πληκτρολόγιο και το ποντίκι. Το πρώτο πράγμα που πρέπει να κάνουμε, είναι να απαντήσουμε σε δύο απλές ερωτήσεις: 1 Τι είδους δεδομένα θέλουμε να έχουμε στη διάθεσή μας, άρα και πρέπει να τα αποθηκεύσουμε στη βάση; 2 Ποιους αφορούν τα δεδομένα; Δεν πρέπει ποτέ να ξεχνάμε ότι οι βάσεις δεδομένων αναπαριστάνουν τον πραγματικό κόσμο μέσα από μια διαδικασία αφαίρεσης και μοντελοποίησης. Για παράδειγμα, μπορούμε να πούμε πως είναι επιθυμητό να υπάρχουν καταχωρισμένα τα εξής δεδομένα στη βάση δεδομένων των φίλων: 1 Το όνομά τους 2 Η διεύθυνσή τους 3 Το τηλέφωνό τους 4 Η ημερομηνία γενεθλίων τους όπως για παράδειγμα δείχνουν τα σχήματα 1.1 και 1.2, που απεικονίζουν μερικά τέτοια δεδομένα σε μορφή πίνακα ενός επεξεργαστή κειμένου ή ενός λογιστικού φύλλου. Υπάρχουν, βέβαια, άπειρα άλλα δεδομένα σχετικά με τους φίλους μας τα οποία δεν καταγράφονται, και έτσι η βάση δεδομένων δεν τα γνωρίζει. Τέτοια είναι το όνομα της μητέρας

32

Περιεχόμενα. Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Πρόλογος... 33

Περιεχόμενα. Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Πρόλογος... 33 Περιεχόμενα Πρόλογος... 33 Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων... 39 1 Μια βόλτα στις βάσεις δεδομένων... 41 1.1 Η πρώτη βάση δεδομένων... 42 1.1.1 Άλλοι τρόποι... 42 1.1.2 Απαιτήσεις της εφαρμογής...

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

Πρόλογος Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Μια βόλτα στις βάσεις δεδομένων...25

Πρόλογος Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων Μια βόλτα στις βάσεις δεδομένων...25 Περιεχόμενα Πρόλογος... 21 Μέρος Ι Εισαγωγή στα συστήματα βάσεων δεδομένων. 23 1 Μια βόλτα στις βάσεις δεδομένων...25 1.1 Η πρώτη βάση δεδομένων... 26 1.1.1 Άλλοι τρόποι...26 1.1.2 Απαιτήσεις της εφαρμογής...29

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

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

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

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

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

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

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

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

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

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

Χρήστος Στασινός. ουλεύοντας με τη. Microsoft Access ΑΘΗΝΑ

Χρήστος Στασινός. ουλεύοντας με τη. Microsoft Access ΑΘΗΝΑ Χρήστος Στασινός ουλεύοντας με τη Microsoft Access ΑΘΗΝΑ Κάθε γνήσιο αντίγραφο έχει την υπογραφή του συγγραφέα Έκδοση 1η, Copyright 1998 Έκδοση 2η, Copyright 2007 ISBN: 978-960-8105-97-3 ΕΚΔΟΣΕΙΣ ΝΕΩΝ

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

Πρόλογος Μέρος Ι Μια βόλτα στις βάσεις δεδομένων Μια βόλτα στις βάσεις δεδομένων...25

Πρόλογος Μέρος Ι Μια βόλτα στις βάσεις δεδομένων Μια βόλτα στις βάσεις δεδομένων...25 1 Περιεχόμενα Πρόλογος... 21 Μέρος Ι Μια βόλτα στις βάσεις δεδομένων... 23 1 Μια βόλτα στις βάσεις δεδομένων...25 1.1 Η πρώτη βάση δεδομένων... 26 1.1.1 Άλλοι τρόποι... 26 1.1.2 Απαιτήσεις της εφαρμογής...

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

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

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

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

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

Διαχείριση Δεδομένων Το έργο υλοποιείται στο πλαίσιο του υποέργου 2 με τίτλο «Ανάπτυξη έντυπου εκπαιδευτικού υλικού για τα νέα Προγράμματα Σπουδών» της Πράξης «Ελληνικό Ανοικτό Πανεπιστήμιο» η οποία έχει ενταχθεί στο Επιχειρησιακό

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

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

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

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

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

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

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

Οψεις (VIEWS) στην SQL Η εντολή CREATE VIEW Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 55 Περιεχόμενα 1 Εισαγωγικά για τις όψεις 2 Οψεις και συζεύξεις 3 Επιπλέον χρήση των όψεων

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

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

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

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

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

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

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

Ηλεκτρονικοί Υπολογιστές II

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Όψεις (views) στην SQL Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Σύβακας Σταύρος ΠΕ19,MSc. IT ΣΥΒΑΚΑΣ ΣΤΑΥΡΟΣ ΕΡΩΤΗΜΑΤΑ

Σύβακας Σταύρος ΠΕ19,MSc. IT ΣΥΒΑΚΑΣ ΣΤΑΥΡΟΣ ΕΡΩΤΗΜΑΤΑ Σύβακας Σταύρος ΠΕ19,MSc. IT Εισαγωγή Τα ερωτήματα (queries) είναι μία από τις πιο σημαντικές δυνατότητες που προφέρει ένα Σ%Β% αφού επιτρέπουν: Ανάκτηση και ανάλυση των δεδομένων στην επιθυμητή μορφή

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

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

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

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

Certified Data Base Designer (CDBD)

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

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

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης Περιεχόμενα 1 Γενική περιγραφή του προβλήματος 2 Μοντελοποίηση Ο/Σ 3 Σχεσιακό μοντέλο, SQL 4 Ερωτήματα

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

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Προσοχή είτε αυτά που ακολουθούν ως παράδειγμα Μην τα ακολουθείτε τυφλά ως «μαγική συνταγή» 1 2 Οντότητες Για κάθε τύπο οντοτήτων και για κάθε τύπο συσχετίσεων δημιουργούμε

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

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model .. Εργαστήριο Βάσεων Δεδομένων Relational Model . Σχεσιακό Μοντέλο (Relational Model) Το σχεσιακό μοντέλο παρουσιάζει μια βάση ως συλλογή από σχέσεις Μια σχέση είναι ένας πίνακας με διακριτό όνομα Κάθε

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

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

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

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

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

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

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

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

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

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

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (4 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Επέκταση του μοντέλου ΟΣ Κληρονομικότητα Εξειδίκευση/Γενίκευση Περιορισμοί Ιεραρχίες και πλέγματα Συνάθροιση Συνέχεια στο σχεσιακό

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

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

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

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

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

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

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

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους ΘΕΜΑΤΑ A Οι παρακάτω πίνακες αποτελούνται από τα εξής πεδία : ΕΡΓΑΖΟΜΕΝΟΣ : ΑΦΜ, ΕΠΙΘΕΤΟ, ΟΝΟΜΑ, ΤΗΛ, ΟΔΟΣ, ΠΟΛΗ,ΜΙΣΘΟΣ, ΚΤ ΤΜΗΜΑ : ΚΤ, ΑΦΜ, ΤΙΤΛΟΣ_ΤΜΗΜΑΤΟΣ, ΤΗΛ ΕΡΓΑ : ΚΕΡ, ΠΕΡΙΓΡΑΦΗ, ΤΟΠΟΘΕΣΙΑ, ΠΡΟΫΠΟΛΟΓΙΣΜΟΣ

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

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

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

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

Σχεσιακό Μοντέλο Δεδομένων

Σχεσιακό Μοντέλο Δεδομένων Σχεσιακό Μοντέλο Δεδομένων Παύλος Εφραιμίδης Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 1 Μοντέλα Δεδομένων Μοντέλα Δεδομένων Σχεσιακό Ιεραρχικό Δικτυακό Tο κυρίαρχο μοντέλο δεδομένων στις σύγχρονες βάσεις

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

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

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

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

DELETE, UPDATE, INSERT

DELETE, UPDATE, INSERT Ενημέρωση βάσης δεδομένων με SQL DELETE, UPDATE, INSERT Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 103 Περιεχόμενα 1 Γενικά για την αποθήκευση

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

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

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

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

1 / 97

1 / 97 Τα πρώτα ερωτήματα SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 97 Περιεχόμενα 1 Εισαγωγικά σχόλια και παρατηρήσεις 2 Απλά ερωτήματα προβολής, επιλέγοντας στήλες από ένα πίνακα

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

Μοντέλο Οντοτήτων-Συσχετίσεων

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

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

Περιεχόµενα. 1 Tο βιβλίο "µε µια µατιά" Εισαγωγή στη Microsoft Access Γνωριµία µε τις βάσεις δεδοµένων της Access...

Περιεχόµενα. 1 Tο βιβλίο µε µια µατιά Εισαγωγή στη Microsoft Access Γνωριµία µε τις βάσεις δεδοµένων της Access... Περιεχόµενα Ευχαριστίες... 11 1 Tο βιβλίο "µε µια µατιά"...13 Χωρίς τεχνικούς όρους!... 13 Σύντοµη παρουσίαση... 14 Μερικές συµβάσεις... 16 Μία τελευταία λέξη (ή και δύο)... 16 2 Εισαγωγή στη Microsoft

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

Υποερωτήματα στην SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr 1 / 31 Η ανάγκη για υποερώτημα Ποιος υπάλληλος παίρνει το μεγαλύτερο μισθό; Αν ξέραμε το μεγαλύτερο μισθό, πχ 2000, θα γράφαμε:

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

DELETE, UPDATE, INSERT.

DELETE, UPDATE, INSERT. Ενημέρωση βάσης δεδομένων με SQL DELETE, UPDATE, INSERT Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 88 Περιεχόμενα 1 Γενικά για την αποθήκευση δεδομένων και την ενημέρωση της

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

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

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

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

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων Μαρία Χαλκίδη Εισαγωγή Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση

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

1 / 87

1 / 87 Τα πρώτα ερωτήματα SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2016 1 / 87 Δυο λόγια για την SQL Υλοποίηση του σχεσιακού μοντέλου δεδομένων του E.F. Codd, αρχικά ως DSl/Alpha, αργότερα

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

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό

Μετατροπή Σχήματος Ο/Σ σεσχεσιακό Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Προσοχή είτε αυτά που ακολουθούν ως παράδειγμα Μην τα ακολουθείτε τυφλά ως «μαγική συνταγή» 1 2 Οντότητες Για κάθε τύπο οντοτήτων και για κάθε τύπο συσχετίσεων δημιουργούμε

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

Ηλεκτρονικοί Υπολογιστές II

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Ενημέρωση βάσης δεδομένων με τις εντολές INSERT, DELETE, UPDATE Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες

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

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

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

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

Υποερωτήματα SQL Παραδείγματα και εφαρμογές από τη βάση δεδομένων company Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 55 Περιεχόμενα 1 Απλά υποερωτήματα

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

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use Παράδειγμα Σχέσης attributes

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

Σχεδιασµός µιας Β. Εισαγωγή. Μετατροπή σε σχεσιακό -> είσοδο σε ένα Σ Β. Εισαγωγή. Ιδέες Ο/Σ Σχέσεις Σχεσιακό Σ Β

Σχεδιασµός µιας Β. Εισαγωγή. Μετατροπή σε σχεσιακό -> είσοδο σε ένα Σ Β. Εισαγωγή. Ιδέες Ο/Σ Σχέσεις Σχεσιακό Σ Β Εισαγωγή Σχεδιασµός µιας Β ανάλυση ποιας πληροφορίας και της σχέσης ανάµεσα στα στοιχεία της περιγραφή της δοµής - σχήµα σε διάφορους συµβολισµούς ή µοντέλα Μοντέλο Οντοτήτων - Συσχετίσεων γραφικό µοντέλο

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

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

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

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

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

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

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

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

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

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

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο) TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο 2014-2015 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου

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

Βάσεις δεδομένων. (6 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (6 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (6 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr (Συνέχεια) ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ 3/4/2014 2 Περιεχόμενα Συνέχεια στη Σχεσιακή άλγεβρα Συνένωση Θήτα Ισότητας Φυσική Διαίρεση Σύνθετες λειτουργίες

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

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

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

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

Βάσεις δεδομένων. (3 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (3 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (3 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Σχεσιακό μοντέλο δεδομένων Σχέσεις, γνωρίσματα, πλειάδες, πεδία ορισμού Πράξεις ενημέρωσης σε σχέσεις Απεικόνιση μοντέλου οντοτήτωνσυσχετίσεων

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

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP.

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP. SQL: Ερωτήματα ομαδοποίησης και συνάθροισης GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2016 1 / 56 Περιεχόμενα 1 Εισαγωγή, γενικές

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

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

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

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

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

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

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

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

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

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

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005 ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------

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

Ηλεκτρονικοί Υπολογιστές II

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II SQL Ερωτήματα ομαδοποίησης και συνάθροισης Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

DISTINCT, LIKE, NULL, AND, OR, BETWEEN

DISTINCT, LIKE, NULL, AND, OR, BETWEEN Περισσότερα για τα απλά ερωτήματα SQL DISTINCT, LIKE, NULL, AND, OR, BETWEEN Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 66 Σκοπός του μαθήματος Αποκλείσετε διπλοεγγραφές από

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

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

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

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

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Σχεσιακό Μοντέλο Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Εισαγωγή Το σχεσιακό μοντέλο δεδομένων (relational data model) προτάθηκε από τον E. F. Codd το 1970 Aποτελεί ένα μέσο λογικής δόμησης

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

Μοντέλο Οντοτήτων-Συσχετίσεων

Μοντέλο Οντοτήτων-Συσχετίσεων Εισαγωγή Εισαγωγή Σχεδιασµός µιας Β ανάλυση ποιας πληροφορίας και της σχέσης ανάµεσα στα στοιχεία της περιγραφή της δοµής - σχήµα σε διάφορους συµβολισµούς ή µοντέλα Μοντέλο Οντοτήτων - Συσχετίσεων γραφικό

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

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

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

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

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

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

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

Ηλεκτρονικοί Υπολογιστές II

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Ερωτήματα επιλογής SQL, σύζευξη, διάζευξη, NULL, ταίριασμα κειμένου Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες

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

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

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

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

Μάθημα: Συστήματα Διαχείρισης Βάσεων Δεδομένων Αναλυτικό Διάγραμμα Μελέτης

Μάθημα: Συστήματα Διαχείρισης Βάσεων Δεδομένων Αναλυτικό Διάγραμμα Μελέτης Μάθημα: Συστήματα Διαχείρισης Βάσεων Δεδομένων Αναλυτικό Διάγραμμα Μελέτης Χρονοδιάγραμμα Μελέτης- Διάθρωση της Ύλης 1η Εβδομάδα 2η Εβδομάδα 3η Εβδομάδα Παραδοσιακά Συστήματα που Βασίζονται σε Αρχεία Συστήματα

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

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr Σχεδίαση και Χρήση Βάσεων Δεδομένων Χρήση του DBDesigner Γιώργος Πυρουνάκης - forky@di.uoa.gr Δομή Διαλέξεων Εισαγωγή στο DBDesigner Εφαρμογή στη ΒΔ Προμηθευτής-Προϊόντα Παραδείγματα μοντελοποίησης και

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

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

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

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

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων : Σχεσιακή Άλγεβρα 1

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

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

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ Η συνθήκη WHERE βάζει περιορισμούς στις εγγραφές που επιστρέφονται. Ο όρος ORDER BY ταξινομεί τις εγγραφές που επιστρέφονται. Παράδειγμα: SELECT * FROM table_name ORDER

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική

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

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

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

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

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

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 2 ο Σύνολο Ασκήσεων Οι βαθμοί θα ανακοινωθούν αύριο μαζί με τους βαθμούς της προγραμματιστικής άσκησης Τα αστεράκια δείχνουν τον εκτιμώμενο βαθμό δυσκολίας (*) εύκολο (**) μέτριο (***) δύσκολο Βάσεις Δεδομένων

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

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

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

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

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

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

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

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

Ενότητα 5 Βάσεις Δεδομένων Ενότητα 5 Βάσεις Δεδομένων Εξεταστέα Ύλη (Syllabus) Έκδοση 4.0 Πνευματικά Δικαιώματα 2003 Ίδρυμα ECDL (ECDL Foundation www.ecdl.com) Όλα τα δικαιώματα είναι κατοχυρωμένα. Κανένα μέρος αυτού του εγγράφου

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

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

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

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

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

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

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

Τμήμα Πληροφορικής ΑΠΘ

Τμήμα Πληροφορικής ΑΠΘ Βάσεις Δεδομένων Εργαστήριο ΙΙI Τμήμα Πληροφορικής ΑΠΘ 2013-2014 2 Σκοπός του 3 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: η μελέτη ερωτημάτων επιλογής, προβολής και απλών συνδέσεων σε δύο ή περισσότερες

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

Μοντέλο Οντοτήτων-Συσχετίσεων

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

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

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

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

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

Επεξεργασία Κειμένου. Προχωρημένο Επίπεδο. Εξεταστέα Ύλη 3.0. Έκδοση 1.0

Επεξεργασία Κειμένου. Προχωρημένο Επίπεδο. Εξεταστέα Ύλη 3.0. Έκδοση 1.0 Επεξεργασία Κειμένου Προχωρημένο Επίπεδο Εξεταστέα Ύλη 3.0 Έκδοση 1.0 Copyright 1997-2018 Ίδρυμα ECDL Όλα τα δικαιώματα είναι κατοχυρωμένα. Απαγορεύεται η αναπαραγωγή εν όλω ή εν μέρει του παρόντος σε

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

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

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

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων

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

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

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Γενικά Για κάθε τύπο οντοτήτων και για κάθε τύπο συσχετίσεων δημιουργούμε ένα σχήμα σχέσης που παίρνει το όνομα του

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

Τεχνολογία Πολιτισμικού Λογισμικού

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

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

Σχεδιασμός Βάσεων Δεδομένων

Σχεδιασμός Βάσεων Δεδομένων Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 4 Δρ. Βασιλική Κούφη Περιεχόμενα Υλοποίηση Βάσεως Δεδομένων Εκτέλεση ερωτημάτων SQL στην Βάση Δεδομένων BHMA 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 Σχεδιασμός βάσης δεδομένων

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

#1.1 Τι είναι η Βάση Δεδομένων

#1.1 Τι είναι η Βάση Δεδομένων 1 2 #1.1 Τι είναι η Βάση Δεδομένων Βάση δεδομένων είναι ένα πλήθος στοιχείων συναφών μεταξύ τους, τοποθετημένα και ταξινομημένα με συγκεκριμένο τρόπο. Με τη χρήση μιας Βάσης Δεδομένων μπορούμε: να καταχωρούμε

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

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

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. AeppAcademy.com facebook.com/aeppacademy Γεια. Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. Καλή Ανάγνωση & Καλή Επιτυχία

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

Εργαστήριο Βάσεων Δεδομένων. Relational Model Σχεσιακό Μοντέλο

Εργαστήριο Βάσεων Δεδομένων. Relational Model Σχεσιακό Μοντέλο Εργαστήριο Βάσεων Δεδομένων Relational Model Σχεσιακό Μοντέλο Σχεσιακό μοντέλο (Relational Model) Το σχεσιακό μοντέλο παρουσιάζει μια βάση ως συλλογή από σχέσεις. Μια σχέση είναι ένας πίνακας με διακριτό

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

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Προσοχή είτε αυτά που ακολουθούν ως παράδειγμα Μην τα ακολουθείτε τυφλά ως «μαγική συνταγή» 2 : Μετατροπή Μοντέλου ΟΣ σε Σχεσιακό

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

ΕΙΔΙΚΟ ΕΝΤΥΠΟ ΠΕΡΙΓΡΑΦΗΣ ΜΑΘΗΜΑΤΩΝ. Υποχρεωτικής επιλογής (Κατεύθυνσης)

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

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

Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση

Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση Συναρτησιακές Εξαρτήσεις και Κανονικοποίηση Κανονικές Μορφές - Πρώτη κανονική μορφή (1NF) - Δεύτερη κανονική μορφή (2NF) - Τρίτη κανονική μορφή (3NF) 1 Κανονικοποίηση Κανονικές Μορφές Οι σχέσεις μπορούν

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

ΘΕΡΙΝΟ ΣΧΟΛΕΙΟ ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP, MySQL & Wordpress

ΘΕΡΙΝΟ ΣΧΟΛΕΙΟ ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP, MySQL & Wordpress ΘΕΡΙΝΟ ΣΧΟΛΕΙΟ ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP, MySQL & Wordpress ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP, MySQL & WordPress Επιστημονικά Υπεύθυνος: Νικόλαος Πρωτόγερος, Αναπλ. Καθηγητής 1. Συνοπτική Περιγραφή Θερινού Σχολείου Το Πανεπιστήμιο

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

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

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

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

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

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

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