Syllabus
This course covers recent advances in data management systems. Topics include complex queries and optimizations, XML data management, spatial data management, distributed and parallel databases, NoSQL databases, and MapReduce based data processing systems. We will discuss the foundations of data models, transaction models, storage, indexing and querying methods for these data management systems.Â
Objectives
The state of the art of modern DBMSs: ORDBMS, Spatial DBMS, and XML DBMS
Expressive power of database query languages (SQL and XQuery), OLAP queries for Business Intelligence
Indexing methods for efficient query support
Big data and scalable data management: parallel DBMS, NoSQL and MapReduce/Hadoop
Build skills on modern database systems
Prerequisites
This course assumes that the students have already taken an introductory database course and have working knowledge of SQL, relational algebra, functional dependencies, the Relational Normalization Theory, the E-R model, embedded SQL, JDBC, B-trees, etc. It requires:
A substantial undergraduate database course, such as CSE 305
Good knowledge of Java, JDBC or Python programming
Grading
Homework: 50% (with extra credit)
Final: 50%
Homework: 40%
Midterm: 30%
Final: 30%