Carnegie Mellon University

Electrical and Computer Engineering

College of Engineering

Course Information

18-671SV: Foundations of Database Design




A strong foundation in database concepts and database management systems (DBMS) is essential for software engineers because it underpins the core functionality of most software applications. It enables engineers to build reliable, scalable, and high-performing software systems The Foundations of Database Design course comprehensively explores database principles and concepts from a software development perspective. Students will delve into the fundamental principles of databases, including SQL and NoSQL databases, data modeling (e.g., schemas, tables, keys, and constraints), data storage management (partitioning, replication, and sharding) and other relevant concepts essential to design and implement a DBMS. We introduce and explore these concepts by evolving a novel database management system (DBMS) through new components and features. The programming language used in the course is C++. Prior knowledge of C++ is necessary.

Last Modified: 2024-02-13 4:34PM

Semesters offered:

  • Spring 2024