Μάθημα «Προσανατολισμού» (orientation). Διδάσκων: Χ. Σκουρλάς, Α θ ή ν α Βάσεις Δεδομένων και web-based Εφαρμογές
Εναρκτήρια συνάντηση Σκοπός του μαθήματος είναι η επέκταση των γνώσεων των φοιτητών σε θέματα σχεδίασης και υλοποίησης Συστημάτων Βάσεων Δεδομένων και ανάπτυξης Διαδικτυακών εφαρμογών. Οι φοιτητές μετά την επιτυχή ολοκλήρωση των μαθημάτων πρέπει να είναι σε θέση να αναπτύξουν εννοιολογικά και φυσικά μοντέλα δεδομένων (conceptual and physical data models) και να καθορίσουν ποιές είναι οι κατάλληλες μέθοδοι και τεχνικές για ένα συγκεκριμένο πρόβλημα και να είναι σε θέση να επιλέξουν και να εφαρμόσουν μια κατάλληλη λύση λαμβάνοντας υπόψη κατά τη σχεδίαση (design) θέματα διασφάλισης επεκτασιμότητας (scalability), προσβασιμότητας (accessibility) και χρηστικότητας (usability).
Εναρκτήρια συνάντηση Επιπλέον, σκοπός του μαθήματος είναι να εξετάσει ερευνητικά θέματα στο χώρο των Βάσεων Δεδομένων (ΒΔ) και των Web-based Εφαρμογών. Τα θέματα αυτά εμπίπτουν στις περιοχές: ΒΔ για πολυμέσα, Γεωγραφικές ΒΔ, Αντικειμενοστραφείς ΒΔ, Αποθήκες Δεδομένων (Data Warehouses), Εξόρυξη Δεδομένων (Data Mining), ΒΔ και Διαδίκτυο (Internet Databases, Web and Databases, XML data κ.λπ.
Στόχοι του μαθήματος είναι η απόκτηση των απαραίτητων γνώσεων έτσι ώστε οι φοιτητές να είναι σε θέση να: -Χρησιμοποιήσουν προχωρημένες τεχνικές και μεθοδολογίες των βάσεων δεδομένων - Σχεδιάσουν και να υλοποιήσουν σύνθετα συστήματα βάσεων δεδομένων - Σχεδιάσουν και να υλοποιήσουν Web based εφαρμογές -Σχεδιάσουν σύνθετα συστήματα βασιζόμενοι σε επιχειρηματικούς κανόνες – μοντέλα - Εξοικειωθούν με θέματα έρευνας Μαθησιακά αποτελέσματα
Με την επιτυχή ολοκλήρωση του μαθήματος οι φοιτητές: · θα έχουν κατανοήσει τα εργαλεία της τεχνολογίας βάσεων δεδομένων και γνωστών ΠΔΒΔ, · θα είναι σε θέση να αναλύσουν επιχειρησιακούς κανόνες για να σχεδιάσουν βάσεις δεδομένων, · θα είναι σε θέση να εφαρμόσουν τις βασικές τεχνικές σχεδίασης και υλοποίησης βάσεων δεδομένων και web based εφαρμογών, - θα έχουν κατανοήσει θέματα δοσοληψιών (transactions), διαχείρισης βάσεων (database administration) και διαχείρισης όψεων (views) · θα έχουν συνεργαστεί με συμφοιτητές τους για να δημιουργήσουν και να παρουσιάσουν ένα σχέδιο σε μια μελέτη περίπτωσης
Περίγραμμα ύλης µαθήµατος 1.Συστήματα Βάσεων Δεδομένων (Database Systems) 2.Μοντελοποίηση Δεδομένων (Data Modeling) 3.Σχεσιακές Βάσεις Δεδομένων (Relational Databases) 4.Γλώσσες επερωτήσεων (Query Languages) 5.Επεξεργασία Δοσοληψιών (Transaction Processing) 6.Κατανεμημένες βάσεις δεδομένων (Distributed Databases) 7.Παράλληλα ΣΔΒΣ 8.Αρχιτεκτονική Εφαρμογών στο διαδίκτυο 9.Web development 10.Client Side Scripting 11.Server Side Programming 12.Οικοδόμηση εφαρμογών 13.Προχωρημένα συστήματα και εφαρμογές 14.Επισκόπηση της έρευνας
Ενδεικτική Βιβλιογραφία 1.Elmasri R., Navathe S.B., Θεμελιώδεις Αρχές Συστημάτων Βάσεων Δεδομένων, Τόμος Α’, (μετάφραση Μ. Χατζόπουλου), Εκδόσεις Δίαυλος, Αθήνα 2007 (5η έκδοση αναθεωρημένη) 2.Elmasri R., Navathe S.B., Θεμελιώδεις Αρχές Συστημάτων Βάσεων Δεδομένων, Τόμος Β’, (μετάφραση Μ. Χατζόπουλου), Εκδόσεις Δίαυλος, Αθήνα Gray J., Reuter A., Transaction Processing: Concepts and Techniques, Morgan Kaufmann, McCarthy Phil and Crane Dave, Comet and Reverse Ajax: The Next-Generation Ajax 2.0, Firstpress, McFarland David, JavaScript & jQuery: The Missing Manual, Meloni J., Teach Yourself PHP, MySQL and Apache, SAMS, Pilgrim Mark, HTML5: Up and Running, O’Reilly, Philippe Rigaux, Michel Scholl, Agnès Voisard, Spatial Databases: With Application to GIS, Morgan Kauffman, Ramakrishnan R., Gehrke J., Συστήματα διαχείρισης βάσεων δεδομένων, τόμος Β, (μετάφραση Δ. Δέρβου, Α. Ευαγγελίδη), Eκδόσεις Τζιόλα, Θεσ/νίκη Silberschatz A., Korth H.F., Sudarshan S., Συστήματα βάσεων δεδομένων – Η πλήρης θεωρία των βάσεων δεδομένων, (μετάφραση Μ. Γκλαβά), Εκδόσεις Γκιούρδα, Subrahmanian V.S., Principles of Multimedia Database Systems, Morgan Kaufmann, Welling Luke and Thomson Laura, PHP and MySQL Web Development, (5th Edition), Βασιλειάδης Π., Σελλής Τ., Αντικειμενοστρεφή συστήματα διαχείρισης βάσεων δεδομένων, Εκδόσεις Παπασωτηρίου, Αθήνα Καρανικόλας Νικήτας, Τεχνολογίες Διαδικτύου και Ηλεκτρονικό Εμπόριο, 1η έκδοση, Αθήνα, 2006, Εκδόσεις Νέων Τεχνολογιών 15.Σκουρλάς Χρήστος, Υλοποίηση εφαρμογών με γλώσσα SQL – χρήση τεχνολογίας Oracle, Εκδόσεις Νέων Τεχνολογιών, Αθήνα 2001
Ενδεικτικά άρθρα 1.R. Agrawal, A. Ailamaki, P. A. Bernstein, E. A. Brewer, M. J. Carey, S. Chaudhuri, A. Doan, D. Florescu, M. J. Franklin, H. Garcia-molina, J. Gehrke, L. Gruenwald, L. M. Haas, A. Y. Halevy, J. M. Hellerstein, Y. E. Ioannidis, H. F. Korth, D. Kossmann, S. Madden, R. Magoulas, B. C. Ooi, T. OReilly, R. Ramakrishnan, S. Sarawagi, M. Stonebraker, A. S. Szalay, and G. Weikum, The claremont report on database research,” ACM Communications, vol. 52, June Alexandros Labrinidis, H. V. Jagadish, Challenges and opportunities with big data, Journal Proceedings of the VLDB Endowment, Volume 5, Issue 12, August 2012, Pages D. Agrawal, P. Bernstein, E. Bertino, S. Davidson, U. Dayal, M. Franklin, J. Gehrke, L. Haas, A. Halevy, J. Han, H. V. Jagadish, A. Labrinidis, S. Madden, Y. Papakonstantinou, J. M. Patel, R. Ramakrishnan, K. Ross, C. Shahabi, D. Suciu, S. Vaithyanathan, and J. Widom, Challenges and opportunities with big data” February J.P. Shim et al., Past, present, and future of decision support technology, Decision Support Systems, 931, Roozbeh Derakhshan, Maria E. Orlowska and Xue Li, RFID Data Management: Challenges and Opportunities, 2007 IEEE International Conference on RFID, Gaylord Texan Resort, rapevine, TX, USA, March 26-28, Daniele Miorandi Sabrina Sicari, Francesco De Pellegrini, Imrich Chlamta, Internet of things: Vision, applications and research challenges, Survey Paper, Ad Hoc Networks 10, 2012, pp 1497– 1516
Προαπαιτούμενα: Κάποια γνώση σε θέματα μοντελοποίησης, κανονικοποίησης, σχεσιακών βάσεων δεδομένων, γλώσσας SQL
Βάση Δεδομένων (database) Μία βάση δεδομένων είναι ένα είδος ηλεκτρονικής αρχειοθέτησης δεδομένων (στοιχείων) - data ενός οργανισμού ή μιας επιχείρησης ή ακόμη και ενός φυσικού προσώπου πχ ενός μεμονωμένου επαγγελματία. Μαζί με τα στοιχεία υπάρχει το σύνολο των εφαρμογών που επιτρέπουν στους χρήστες της βάσης να καταχωρήσουν και να ανακτήσουν τα στοιχεία αυτά. Σε μία εκπαιδευτική βάση παράδειγμα Δεδομένων είναι τα στοιχεία σπουδαστών και καθηγητών, οι βαθμολογίες, οι δηλώσεις των μαθημάτων κατά την εγγραφή του σπουδαστή κ.λπ. Παράδειγμα εφαρμογής είναι τα προγράμματα που «αναλαμβάνουν» τη διαχείριση των βαθμολογιών των σπουδαστών. 10
Βάση Δεδομένων (database) data tablesdata tables, queries views processesA database is an organized collection of data. It is the collection of schemes, tables, queries, reports, views and other objects. The data is typically organized to model aspects of reality in a way that supports processes requiring information, such as modelling the availability of rooms in hotels in a way that supports finding a hotel with vacancies.queries views processesdatatablesqueriesviewsprocesses Wikipedia (CC) 11
Βάση Δεδομένων (database) γαλλ αγγλγερμ. γαλλ αγγλγερμ.Με τον όρο βάση δεδομένων (γαλλ.: Base de données, αγγλ.: database, γερμ.: Datenbank) εννοείται μία συλλογή από συστηματικά μορφοποιημένα σχετιζόμενα δεδομένα στα οποία είναι δυνατή η ανάκτηση δεδομένων μέσω αναζήτησης κατ' απαίτηση.γαλλ.αγγλ.γερμ. επιστήμονας υπολογιστών επιστήμονας υπολογιστώνΟ Αμερικανός επιστήμονας υπολογιστών Τζιμ Γκρέϊ (Jim Gray) έχει γράψει για τις βάσεις δεδομένων: «Όταν οι άνθρωποι χρησιμοποιούν τις λέξεις βάση δεδομένων, διατυπώνουν στην ουσία ότι τα δεδομένα πρέπει να αυτοπροσδιορίζονται και να έχουν μια σχηματική δομή. Αυτό ακριβώς περιγράφουν οι λέξεις βάση δεδομένων»επιστήμονας υπολογιστών ΒΙΚΙΠΑΙΔΕΙΑ (CC) 12
The world sample database 13 the world sample database
Παράδειγμα (the example of Wordpress) W3.org: Use Cases and Requirements for Mapping Relational Databases to RDF ( 14
Data Models Wikipedia (CC) 15
Relations (Ted Codd) Wikipedia (CC) 16
database dataddict.wordpress.com 17
Database Wikipedia (CC) 18
Client server Βλέπε dlsweb.rmit.edu.au ( box/content/dbsystems/DB_types.htm accessed at 15/10/2015) box/content/dbsystems/DB_types.htm 19
Client-Server perspective (dbtech (CC)) 5
6 Client-initiated DB connection / SQL-session DB services used to pass SQL commands as parameters to API functions/methods An SQL command may involve >1 SQL statements SQL commands execute in atomic fashion at the DB server Logical level client-server dialogue, utilizing the SQL language syntax DB server generated exceptions and diagnostics facilitate user transaction support at the application level
DB applications architecture: conceptual level (dbtech (CC)) 2
Cloud Computind Wikipedia (CC) 23
Ερωτήσεις