CS 486/586: Introduction to DBMS
Spring 2024
Overview
Course Goals
- Learn how to design effective database schemas that accurately model real-world information semantics.
- Learn how to pose complex database queries in SQL as well as theoretical query languages.
- Understand what is meant by a transaction.
- Gain an introductory background in concurrency control and recovery.
- Learn about indexing and query optimization in database systems.
Upon the successful completion of this course students will be able to:
- Write complex SQL and relational algebra queries
- Transform SQL queries to relational algebra and relational algebra queries to SQL
- Transform SQL queries into equivalent forms, e.g., to make them more efficient
- Explain how queries are processed and optimized
- Evaluate the utility of an index for a relational database table
- Evaluate existing database designs and design new databases effectively
- Use SQL queries embedded in a software application
- Describe and use transaction and recovery services
Prerequisites
CS 161, 250. Expected preparation: CS 251.
Textbook
Recommended: Database Systems: The Complete Book, Second Edition. By Garcia-Molina, Ullman and Widom, Pearson, 2009, ISBN 0-13-187325-3.
Grading
Group Homework (40% - 486; 30% - 586) + In-class Quiz/Activities: (15%) + Midterm (20%) + Final (25%) + Grad Project: (10%) for 586 students only