The course covers the upper levels of a database management system (DBMS), i.e. the conceptual and external or view levels. Specifically, the course provides students with an overview of databases; database history; the different conceptual models used to design a database, in particular the Entity-Relationship (E-R) model; the translation from the E-R to the Relational Model; Functional Dependencies and Normalization; the Relational Model; the Structured Query Language (SQL) to access and manipulate databases, the Query-By-Example language (QBE), Views and Constraints; Relational Algebra; the design and development of web applications to interface with databases using e.g., python, PHP, JDBC.
Elmasri, R., & Navathe, S. B. (2015). Fundamentals of Database Systems (7th Edition). Pearson. Edited and translated in Greek by Prof. M. Chatzopoulos.
Ullman, J. D., & Widom, J. (2007). A First Course in Database Systems (2nd ed.). Prentice Hall. Translated in Greek.
Notes, presentations, tutorials on programming and tools are provided on e-class.