Course Objectives and Overview

Lecture: 3 hours
Discussion: 1 hour
Prerequisite: Course  110  (Data structures and programming)

Grading: Letter; assignments 50%, midterm/final 50%

This course focuses on the design of a database starting from the conceptual design to the implementation of  a database schema and user interfaces to the database. Students will learn about database design concepts, data models (Entity-Relationship and Relational Model), the database query language SQL and components of a database management system. Further topics include query processing and optimization techniques, transaction management, and storage and file structures.

The course is heavily design oriented. In most of the projects, students have to design and implement a database using a commercial database management system and associated development tools. Students will in particular learn the database query language SQL and the development of applications using PL/SQL. The database system used in this course is Oracle 10g (SQL, PL/SQL).

Syllabus (tentative):

  1. Overview of Database Systems

  2. Purpose of a database system, data models, database languages, architecture
     
  3. Entity-Relationship Model

  4. Design issues, Entity-Relationship diagrams, mapping to tables
     
  5. Relational Model

  6. Structure of the model, relational algebra
     
  7. SQL

  8. Basic structure, simple & complex select statements, nested subqueries, aggregate and set functions
     
  9. Database Design

  10. Relational database design concepts, decomposition and normalization, integrity constraints
     
  11. Storage and File Structures

  12. File organization, organization of records in a file, storage access, Indexing, B+ tree index files
     
  13. Query Processing

  14. Query cost and cost estimation, selection, sorting and joins
     
  15. Transaction Management

  16. Transaction concepts, concurrent execution, serializability, recovery
     
  17. System Architecture

  18. System components, types of systems, Oracle system architecture
     
  19. Commercial Database Systems

  20. Oracle, DB2, Informix


See also: Department of Computer Science - General Course Description