This course covers the concepts and tools necessary to use database systems. This starts with introducing the relational and semi-structured models of data and then delving into the classic relational query languages (tuple calculus and relational algebra), normalization theory and entity-relationship modeling. This is followed by an in-depth coverage of SQL including its use in a server environment. The last part of the course covers semi-structured data models using XML and accessed via XPath/XQuery.