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