Teaching‎ > ‎

165A Course Description


Lecture: 3 hours

Discussion: 1 hour

Prerequisite: Course ECS 60

Grading: Letter; homework/projects (50%), midterm/final (50%)

Catalog Description:
Database design, entity-relationship and relational model, relational algebra, query language SQL, storage and file structures, query processing, and transaction management.

Expanded Course Description:

  1. Overview of Database Systems
    1. Purpose of a database system
    2. Data models and database languages
    3. Architectures
  2. Entity-Relationship Model
    1. Design issues
    2. Entity-Relationship diagrams
    3. Mapping to tables
  3. Relational Model
    1. Structure of the model
    2. Relational algebra
  4. Structured Query Language (SQL)
    1. Basic concepts
    2. Simple and complex select statements, subqueries
    3. Aggregate and set functions
    4. Database Modifications
    5. Embedded SQL
  5. Database Design
    1. Relational database design concepts
    2. Decomposition and normalization
    3. Integrity constraints, database triggers
  6. Storage and File Structures
    1. File organization
    2. Organization of records in a file
    3. Storage access
    4. Indexing, B+ tree index files
  7. Query Processing
    1. Query cost and cost estimation
    2. Selection, sorting and joins
  8. Transaction Management
    1. Transaction concepts
    2. Concurrent execution, serializability
    3. Recovery

Database Management Systems, 3rd ed., Ramakrishnan and Gehrke, McGraw-Hill, 2003.

Computer Usage:
Students work individually on homework assignments / projects. Some of these projects require the use of MySQL (available on all major platforms).

Programming Projects:
This course includes practical projects/assignments, intended to give students the opportunity to work with a major database management system. The projects establish certain database design concepts and techniques to be used, then give database design assignments that include conceptual design and database application programming.

Engineering Design Statement:
The course has a strong design and engineering emphasis that includes a number of assignments and a group project in which students design and develop an end-to-end database application. In addition, both the midterm and final emphasize design-related and optimization-related questions.

ABET Category Content:
Engineering Science: 2 units
Engineering Design: 2 units

Students will:

  • learn the design of a database starting from the conceptual design to the implementation of database schemas and user interfaces to a database
  • learn about database design concepts, data models (Entity-Relationship and Relational Model), the database query language SQL and components of a database management system
  • learn storage and file structures, query processing and optimization techniques, and transaction management

Program Outcomes:

  • The ability to work independently
  • The ability to apply knowledge of basic science, mathematics and engineering principles to solve computing and information processing problems
  • The ability to write correct and good programs
  • The ability to acquire the foundations to be a life-long learner

Instructors: B. Ludaescher

Prepared by: B. Ludaescher (January 2010)

Overlap Statement: There is a very minor overlap with ECS-166 in that both courses have an introduction to relational databases.