CS 453 Syllabus

Database Systems

Revised: February 2014 (Mark Holliday)

Course Description

This course covers the design and implementation of database applications including entity-relationship models, relational schemas, relational algebra, structured query language, object-relational mappers, use within a web environment including web-development frameworks, and NoSQL databases (such as MongoDB and HBase). Topics on Hadoop-based Map-Reduce data analysis and database systems implementations are also covered as time permits.

Prerequisite & Notes

  • CS 151
  • 3 credit hours.

Text

Abraham Silberschatz, Henry F. Korth, and S. Sudarshan, Database System Concepts, Sixth Edition, McGraw-Hill, 2011.

Grading Procedure

Grading procedures and factors influencing course grade are left to the discretion of individual instructors, subject to general university policy.

Attendance Policy

Attendance policy is left to the discretion of individual instructors, subject to general university policy.

Course Outline
  • Overview of Relational Database Systems and the Relational Model.
  • Object-Relational Mappers in the context of Web MVC Frameworks such as Python/Django or Node/Express.
  • Relational Algebra including tree representations of relational algebra expressions. Relational operators: selection, projection, various joins, cartesian product, set operators (union, intersection, set difference).
  • Structured Query Language (SQL): Data Definition Language statements. Data Manipulation Language (DML) statements: insert, delete, update, and select. Nested queries, correlated nested queries, aggregate functions, group by and having clauses.
  • Database adapters such as psycopg2 (for python) and JDBC.
  • Entity-Relationship Model: E-R diagrams and translation into relational schema.
  • NoSQL databases such as MongoDB and HBase.
  • Map-Reduce data analysis using Hadoop-based languages such as Pig and Hive. (as time permits)
  • Topics in database system implementation: transaction management, evaluation of relational algebra trees, implementation of relational operators. (as time permits)
Office of Web Services