This course introduces students to database systems and motivates the database approach as a mechanism for modeling the real world. The course will cover data models (relational, object-oriented), physical database design, query languages, query processing and optimization, as well as transaction management techniques. Implementation issues, object-oriented and distributed databases will also be introduced.