This course has three objectives. First, it aims to enhance students’ understanding of relational databases, especially on relational algebra and SQL. Second, it describes a number of advanced database topics including data indexing techniques, query optimization, transaction processing and concurrency control. These are important to the performance and correctness of a database system. Last, it discusses important issues about data storage, query processing and transaction management for parallel, distributed and real-time databases. All these are important in supporting sophisticated systems or applications.