Βάσεις Δεδομένων και web-based Εφαρμογές

Σκοπός μαθήματος

Σκοπός του μαθήματος είναι η επέκταση των γνώσεων των φοιτητών σε θέματα σχεδίασης και υλοποίησης Συστημάτων Βάσεων Δεδομένων και ανάπτυξης Διαδικτυακών εφαρμογών. Οι φοιτητές πρέπει να είναι σε θέση να αναπτύξουν εννοιολογικά και φυσικά μοντέλα δεδομένων (conceptual and physical data models) και να καθορίσουν ποιές είναι οι κατάλληλες για ένα δεδομένο πρόβλημα μεθόδοι και τεχνικές και να είναι σε θέση να επιλέξουν και να εφαρμόσουν (select and implement) μια κατάλληλη λύση λαμβάνοντας υπόψη κατά τη σχεδίαση (design) θέματα διασφάλισης επεκτασιμότητας (scalability), προσβασιμότητας (accessibility) και χρηστικότητας (usability).

Επιπλέον, σκοπός του μαθήματος είναι να εξετάσει ερευνητικά θέματα στο χώρο των Βάσεων Δεδομένων (ΒΔ) και των Web-based Εφαρμογών. Τα θέματα αυτά εμπίπτουν στις περιοχές: ΒΔ για πολυμέσα, Γεωγραφικές ΒΔ, Αντικειμενοστραφείς ΒΔ, Αποθήκες Δεδομένων (Data Warehouses), Εξόρυξη Δεδομένων (Data Mining), ΒΔ και Διαδίκτυο (Internet Databases, Web and Databases, XML data) κ.λπ.

Στόχοι μαθήματος

Στόχοι του μαθήματος είναι η απόκτηση των απαραίτητων γνώσεων έτσι ώστε οι φοιτητές να είναι σε θέση να:

  • Χρησιμοποιήσουν προχωρημένες τεχνικές και μεθοδολογίες των βάσεων δεδομένων και να σχεδιάσουν και να υλοποιήσουν Web based εφαρμογές
  • Σχεδιάσουν σύνθετα συστήματα βασιζόμενοι σε επιχειρηματικούς κανόνες – μοντέλα
  • Διαχειρίζονται δεδομένα, πληροφορίες και γνώση
  • Διαχειρίζονται γεωγραφικά δεδομένα
  • Οργανώνουν πολυτροπικά (multimodal ) δεδομένα
  • Υποστηρίζουν εφαρμογές τεχνητής νοημοσύνης
  • Υποστηρίζουν κατανεμημένα Πληροφοριακά Συστήματα
  • Υποστηρίζουν την εξόρυξη γνώσης

Περιγραφή μαθήματος

Συστήματα Βάσεων Δεδομένων (Database Systems):
Προσεγγίσεις και εξέλιξη των Συστημάτων Βάσεων Δεδομένων (approaches to and evolution of database systems). Σχεδιασμός βασικών λειτουργιών ΣΔΒΔ (core DBMS functions) π.χ. μηχανισμοί αναζήτησης (query mechanisms), διαχείριση συναλλαγών (transaction management), διαχείριση buffer (buffer management), μέθοδοι πρόσβασης (access methods). Αρχιτεκτονική βάσης δεδομένων και ανεξαρτησία των δεδομένων. Συστήματα που υποστηρίζουν δομημένο περιεχόμενο ή/και ροή περιεχομένου (structured and/or stream content). Προσεγγίσεις για τη διαχείριση μεγάλου όγκου δεδομένων π.χ. Συστήματα Βάσεων Δεδομένων NoSQL, χρήση του MapReduce.

Μοντελοποίηση Δεδομένων (Data Modeling):
Εννοιολογικά Μοντέλα (Conceptual models) πχ Μοντέλο Οντοτήτων Συσχετίσεων (entity-relationship), UML diagrams. Σχεσιακά μοντέλα (Relational data models). Αντικειμενοστραφή (Object-oriented models). Ημιδομημένα (Semi-structured data model) πχ με χρήση DTD ή XML Schema. Μετασχεσιακά Μοντέλα πχ Nested Relational, Generic Database Modeling, Entity Attribute Value – EAV, Frame Database Model – FDB, Conceptual Universal Database Language – CUDL. Μοντέλα για Object Relational Databases (ORDB). Μοντέλα για Γεωγραφικές Βάσεις Δεδομένων. Δεδομένα και Σημασιολογικός ιστός ( Semantic Web) πχ Ontologies, RDF.

Σχεσιακές Βάσεις Δεδομένων (Relational Databases):
Επισκόπηση των γλωσσών βάσεων δεδομένων. Γλώσσα SQL (ορισμός δεδομένων, διατύπωση επερωτήσεων, ενημέρωση –update-, περιορισμοί –constraints-, ακεραιότητα –integrity-). Πρότυπο SQL-3. Διαφορετικοί τρόποι για χρήση μη διαδικαστικών ερωτημάτων σε συμβατικές γλώσσες (different ways to invoke non-procedural queries in conventional languages). Εισαγωγή σε άλλες σημαντικές γλώσσες επερωτήσεων π.χ., XPath, SPARQL. Αποθηκευμένες διαδικασίες (Stored procedures).

Γλώσσες επερωτήσεων (Query Languages):
Επισκόπηση των γλωσσών βάσεων δεδομένων. Γλώσσα SQL (ορισμός δεδομένων, διατύπωση επερωτήσεων, ενημέρωση –update-, περιορισμοί –constraints-, ακεραιότητα –integrity-). Πρότυπο SQL-3. Διαφορετικοί τρόποι για χρήση μη διαδικαστικών ερωτημάτων σε συμβατικές γλώσσες (different ways to invoke non-procedural queries in conventional languages). Εισαγωγή σε άλλες σημαντικές γλώσσες επερωτήσεων π.χ., XPath, SPARQL. Αποθηκευμένες διαδικασίες (Stored procedures).

Επεξεργασία Δοσοληψιών (Transaction Processing):
Συναλλαγές (Transactions). Επαναφορά σε Λειτουργία (Failure and recovery). Συντονισμός (Concurrency control). Αλληλεπίδραση της διαχείρισης συναλλαγών με την αποθήκευση, ιδίως buffering (Interaction of transaction management with storage, especially buffering).

Κατανεμημένες βάσεις δεδομένων (Distributed Databases):
Κατανεμημένα ΣΔΒΔ: Κατανεμημένη αποθήκευση δεδομένων, Κατανεμημένη επεξεργασία επερωτήσεων, Κατανεμημένα μοντέλα συναλλαγών, Ομογενείς και ετερογενείς λύσεις.

Παράλληλα ΣΔΒΣ:
Παράλληλες αρχιτεκτονικές ΣΔΒΔ, χρήση του μοντέλου επεξεργασίας MapReduce, αντιγραφή των δεδομένων (Data replication).
Αρχιτεκτονική Εφαρμογών στο διαδίκτυο: Αρχιτεκτονική Client/Server και ο συσχετισμός της με το WWW, αρχιτεκτονικές πολλών στρωμάτων (n-tier), ο ρόλος του WEB Server, αρχιτεκτονική OSF DCE, αρχιτεκτονική DNA, αρχιτεκτονική WAP, WAP servers, Application Servers, ενδιάμεσο λογισμικό (middleware – corba, activeX, transaction servers, message passing, message queues).

Web development:
Γλώσσες προγραμματισμού Web (HTML5, Java Script, PHP, CSS, κλπ). Software as a Service (SaaS). Πρότυπα Παγκοσμίου Ιστού (Web standards). Ασφάλεια εφαρμογών στο διαδίκτυο. Frameworks πχ PHP Frameworks

Client Side Scripting:
HTML, DHTML, XML, scripting languages, ενημέρωση τμημάτων web page χωρίς επανοφόρτωση όλης της σελίδας (without reloading the whole page) πχ AJAX. Client-side Libraries πχ JQUERY.

Server Side Programming:
PHP, ASP, JSP, ASPX. Html5

Οικοδόμηση εφαρμογών:
Δομή και λειτουργία συστημάτων τραπεζικών υπηρεσιών, ηλεκτρονικού εμπορίου, ψηφιακών βιβλιοθηκών. Web development και ηλεκτρονικά επιχειρηματικά μοντέλα. Web development και ηλεκτρονική διακυβέρνηση. Μελέτες περίπτωσης σε θέματα ανάπτυξης συστημάτων ηλεκτρονικών καταστημάτων (e-shop), ηλεκτρονικών συστημάτων προμηθειών (e-procurement), ηλεκτρονικών δημοπρασιών (e-auction) κ.λπ.

Προχωρημένα συστήματα και εφαρμογές, και επισκόπηση της έρευνας:

Εφαρμογές και cloud computing. Βασεις αντικειμενοστρεφείς, χρονικές, ενεργές, επαγωγικές. Xωρικές βάσεις δεδομένων (Spatial Databases). Αποθήκες βάσεων δεδομένων. Βάσεις δεδομένων και Υποστήριξη Αποφάσεων (Databases and Decision Support). Βάσεις δεδομένων και Internet πραγμάτων (Databases and Internet of Things). NoSQL βάσεις δεδομένων (NoSQL databases). Databases and RFID management

Βιβλιογραφία

  1. Elmasri R., Navathe S.B., Θεμελιώδεις Αρχές Συστημάτων Βάσεων Δεδομένων, Τόμος Α’, (μετάφραση Μ. Χατζόπουλου), Εκδόσεις Δίαυλος, Αθήνα 2007 (5η έκδοση αναθεωρημένη)
  2. Elmasri R., Navathe S.B., Θεμελιώδεις Αρχές Συστημάτων Βάσεων Δεδομένων, Τόμος Β’, (μετάφραση Μ. Χατζόπουλου), Εκδόσεις Δίαυλος, Αθήνα 2008
  3. Gray J., Reuter A., Transaction Processing: Concepts and Techniques, Morgan Kaufmann, 1992
  4. McCarthy Phil and Crane Dave, Comet and Reverse Ajax: The Next-Generation Ajax 2.0, Firstpress, 2008
  5. McFarland David, JavaScript & jQuery: The Missing Manual, 2011
  6. Meloni J., Teach Yourself PHP, MySQL and Apache, SAMS, 2006
  7. Pilgrim Mark, HTML5: Up and Running, O’Reilly, 2010
  8. Philippe Rigaux, Michel Scholl, Agnès Voisard, Spatial Databases: With Application to GIS, Morgan Kauffman, 2001
  9. Ramakrishnan R., Gehrke J., Συστήματα διαχείρισης βάσεων δεδομένων, τόμος Β, (μετάφραση Δ. Δέρβου, Α. Ευαγγελίδη), Eκδόσεις Τζιόλα, Θεσ/νίκη 2002
  10. Silberschatz A., Korth H.F., Sudarshan S., Συστήματα βάσεων δεδομένων – Η πλήρης θεωρία των βάσεων δεδομένων, (μετάφραση Μ. Γκλαβά), Εκδόσεις Γκιούρδα, 2004
  11. Subrahmanian V.S., Principles of Multimedia Database Systems, Morgan Kaufmann, 1998
  12. Welling Luke and Thomson Laura, PHP and MySQL Web Development, (5th Edition), 2014
  13. Βασιλειάδης Π., Σελλής Τ., Αντικειμενοστρεφή συστήματα διαχείρισης βάσεων δεδομένων, Εκδόσεις Παπασωτηρίου, Αθήνα 1997
  14. Καρανικόλας Νικήτας, Τεχνολογίες Διαδικτύου και Ηλεκτρονικό Εμπόριο, 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 2009
  2. Alexandros Labrinidis, H. V. Jagadish, Challenges and opportunities with big data, Journal Proceedings of the VLDB Endowment, Volume 5, Issue 12, August 2012, Pages 2032-2033
  3. 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 2012
  4. J.P. Shim et al., Past, present, and future of decision support technology, Decision Support Systems, 931, 2002
  5. 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, 2007
  6. 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