Περιεχόμενα Μαθήματος/ Ενότητες
1. Επισκόπηση θεμάτων σχεδιασμού Βάσεων Δεδομένων και υλοποίησης με χρήση SQL
2. Ανασκόπηση χρήσης της Γλώσσας SQL – θέματα υλοποίησης Βάσεων Δεδομένων - Χρήση περιορισμών (constraints) – Χρήση Views.
3. Διαφορές στην υλοποίηση στην περίπτωση των προϊόντων mySQL και Oracle. Δημιουργία βάσης δεδομένων. Διαχείριση περιορισμών. Δημιουργία μοντέλου.
4. Δημιουργία βάσης δεδομένων και διαχείριση της βάσης με χρήση εναυσμάτων (triggers). Διαφορές στην υλοποίηση στην περίπτωση των προϊόντων mySQL και Oracle.
5. Χρήση stored procedures: cursors, functions, procedures, triggers.
6. Διαχείριση δοσοληψιών στο προϊόν mySQL.
7. Διαχείριση δοσοληψιών στο προϊόν mySQL – Επίπεδα απομόνωσης (Transactions – Isolation levels).
8. Εισαγωγή στο σχεδιασμό ιστοσελίδων.
9. Στατικές και δυναμικές σελίδες (JSP).
10. Σύνδεση με Βάση Δεδομένων MySql.
11. Σύνδεση Οντολογιών με Βάσεις Δεδομένων.
12. Εφαρμογή Android με χρήση Sqlite.
13. Επισκόπηση της χρήσης του jdbc API.
14. Επισκόπηση της διαχείριση triggers στο περιβάλλον mySQL και σε Oracle.
Μαθησιακοί Στόχοι Μαθήματος
Κύριος στόχος του μαθήματος είναι να εφοδιάσει τους φοιτητές με τις απαραίτητες γνώσεις έτσι ώστε να είναι ικανοί να σχεδιάσουν βάσεις δεδομένων και συστήματα βάσεων δεδομένων και να υλοποιήσουν βάσεις δεδομένων με χρήση ΠΔΒΔ. Στόχο του μαθήματος, επίσης, αποτελεί η εφαρμογή της θεωρίας σε πραγματικά προβλήματα σχεδίασης και υλοποίησης εφαρμογών τα οποία είναι πολύ πιθανό να προκύψουν κατά την μελλοντική επαγγελματική δραστηριότητα του φοιτητή.
Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής / τρια:
- θα έχει χρησιμοποιήσει βασικά εργαλεία της τεχνολογίας βάσεων δεδομένων και των ΠΔΒΔ,
- θα είναι σε θέση να εφαρμόσει τεχνικές σχεδίασης και υλοποίησης σύνθετων βάσεων δεδομένων και να χρησιμοποιήσει γνωστά ΠΔΒΔ για την υλοποίηση σύνθετων συστημάτων βάσεων δεδομένων,
- θα έχει κατανοήσει θέματα δοσοληψιών (transactions),
- θα έχει κατανοήσει πως θα χρησιμοποιεί όψεις (views) σε εφαρμογές συστημάτων βάσεων δεδομένων,
- θα είναι σε θέση να αναλύσει επιχειρησιακούς κανόνες για να σχεδιάσει σύνθετες βάσεις δεδομένων,
- θα είναι σε θέση να επιλέξει το ΠΔΒΔ που θα είναι κατάλληλο για το "πραγματικό" πρόβλημα που έχει να αντιμετωπίσει,
- θα έχει συνεργαστεί με τους συμφοιτητές της/του για να δημιουργήσουν και να παρουσιάσουν ένα σχέδιο σε μια μελέτη περίπτωσης έργου σχεδιασμού και υλοποίησης συστήματος βάσης δεδομένων με χρήση ΠΔΒΔ.
Προτεινόμενα συγγράμματα
- Χ. Σκουρλάς, Υλοποίηση εφαρμογών με γλώσσα SQL – χρήση τεχνολογίας Oracle, Νέες Τεχνολογίες.
- Γ. Βασιλακόπουλος, Σχεδιασμός Βάσεων Δεδομένων
- Elmasri R., Navathe S.B., Θεμελιώδεις Αρχές Συστημάτων Βάσεων Δεδομένων, Τόμος Β’, (μετάφραση Μ. Χατζόπουλου), Εκδόσεις Δίαυλος
- Silberschatz A., Korth H.F., Sudarshan S., Συστήματα βάσεων δεδομένων – Η πλήρης θεωρία των βάσεων δεδομένων, (μετάφραση Μ. Γκλαβά), Εκδόσεις Γκιούρδα
- Ramakrishnan R., Gehrke J., Συστήματα διαχείρισης βάσεων δεδομένων, τόμος Β, (μετάφραση Δ. Δέρβου, Α. Ευαγγελίδη), Eκδόσεις Τζιόλα
- Ullman J.D., Widom J., A first course in database systems, Prentice-Hall
- Βασιλειάδης Π., Σελλής Τ., Αντικειμενοστρεφή συστήματα διαχείρισης βάσεων δεδομένων, Εκδόσεις Παπασωτηρίου
- Subrahmanian V.S., Principles of Multimedia Database Systems, Morgan Kaufmann
- Gray J., Reuter A., Transaction Processing: Concepts and Techniques, Morgan Kaufmann
- Connolly T., Begg C., Database solutions. A step-by-step guide to building databases, Addison-Wesley
- Theriault M., Henney W., Oracle security, O’Reilly
- Hipsley P., Developing client/server systems with Oracle developer /2000, SAMS
- Gennick J., Teach yourself Oracle PL/SQL in 21 days, SAMS Publishing
- Lulushi A., Developer/2000 forms. The practitioner’s guide, Prentice-Hall
- Billings C., BillingsM., Tower J., Rapid Application Development with Oracle designer / 2000, Addison-Wesley
- O’Neil B. (Ed.), Oracle data warehousing unleashed, SAMS
- Dorsey P., Hudicka J., Oracle design using UML & object modeling, Oracle Press
- AbramsonI., Abbey M., Corey M., Oracle Database 10g: A beginner’s guide, Oracle Press, McGraw-Hill
- Meloni J., Teach Yourself PHP, MySQL and Apache, SAMS
- Davies A., Fisk H., MySQL Clustering, MySQL Press, Bell C.A., Expert MySQL, Apress
Επιπλέον συνιστώμενη βιβλιογραφία και υλικό προς μελέτη
- Χ. Σκουρλάς, Υλοποίηση εφαρμογών με γλώσσα SQL – χρήση τεχνολογίας Oracle, Νέες Τεχνολογίες.
- Γ. Βασιλακόπουλος, Σχεδιασμός Βάσεων Δεδομένων
- Elmasri R., Navathe S.B., Θεμελιώδεις Αρχές Συστημάτων Βάσεων Δεδομένων, Τόμος Β’, (μετάφραση Μ. Χατζόπουλου), Εκδόσεις Δίαυλος
- Silberschatz A., Korth H.F., Sudarshan S., Συστήματα βάσεων δεδομένων – Η πλήρης θεωρία των βάσεων δεδομένων, (μετάφραση Μ. Γκλαβά), Εκδόσεις Γκιούρδα
- Ramakrishnan R., Gehrke J., Συστήματα διαχείρισης βάσεων δεδομένων, τόμος Β, (μετάφραση Δ. Δέρβου, Α. Ευαγγελίδη), Eκδόσεις Τζιόλα
- Ullman J.D., Widom J., A first course in database systems, Prentice-Hall
- Βασιλειάδης Π., Σελλής Τ., Αντικειμενοστρεφή συστήματα διαχείρισης βάσεων δεδομένων, Εκδόσεις Παπασωτηρίου
- Subrahmanian V.S., Principles of Multimedia Database Systems, Morgan Kaufmann
- Gray J., Reuter A., Transaction Processing: Concepts and Techniques, Morgan Kaufmann
- Connolly T., Begg C., Database solutions. A step-by-step guide to building databases, Addison-Wesley
- Theriault M., Henney W., Oracle security, O’Reilly
- Hipsley P., Developing client/server systems with Oracle developer /2000, SAMS
- Gennick J., Teach yourself Oracle PL/SQL in 21 days, SAMS Publishing
- Lulushi A., Developer/2000 forms. The practitioner’s guide, Prentice-Hall
- Billings C., BillingsM., Tower J., Rapid Application Development with Oracle designer / 2000, Addison-Wesley
- O’Neil B. (Ed.), Oracle data warehousing unleashed, SAMS
- Dorsey P., Hudicka J., Oracle design using UML & object modeling, Oracle Press
- AbramsonI., Abbey M., Corey M., Oracle Database 10g: A beginner’s guide, Oracle Press, McGraw-Hill
- Meloni J., Teach Yourself PHP, MySQL and Apache, SAMS
- Davies A., Fisk H., MySQL Clustering, MySQL Press, Bell C.A., Expert MySQL, Apress
Προαπαιτούμενα/ Προαπαιτούμενες γνώσεις
Η επιτυχής παρακολούθηση του μαθήματος Βάσεις Δεδομένων Ι