Course description:
This course equips students with an advanced practical and theoretical knowledge of database management systems enabling them to work productively on projects involving online database applications. The concentration will be on topics like: advanced database modeling, advanced SQL programming, transaction management, recovery and concurrency control, backup and recovery approaches, distributed database, and data warehousing. In addition, students will have gained an understanding of the distinction between application functions and database functions, how to implement application business rules at both an application level and a database level through the use of constraints, triggers, and stored procedures at database levels.