67-311: Database Design and Implementation
Carnegie Mellon University
- Professor Heimann
Managing large databases is a core task in many information systems. In this class students will explore the underpinnings of databases as well as learn how to more effectively manage databases. Topics include relational algebra and advanced data modeling, advanced SQL queries, handling transactions, performance tuning, creating triggers, views and stored procedures, and much more. In the last part of the course we will explore NoSQL databases such as MongoDB and Redis, understanding their strengths and weaknesses as well as how to integrate them into web-based applications. This course is recommended for IS professionals and is open only to juniors and seniors in the IS major who have completed 67-272 or equivalent.
While this is a general course on database design and implementation, we will primarily use PostgreSQL in both classes and assignments related to relational databases. Postgres is an enterprise-strength database and follows the ANSI standard for SQL pretty closely, so working with it will give students a good understanding of fundamental database concepts that can be applied to other systems later in their careers. As always, our goal is to enable students to be effective learners and compete in an industry where life-time learning is the norm.
Links at the top of the page should direct students to course materials like schedules and labs that will be used more frequently, while links at the bottom provide basic static content such as course policies that will rarely change. The department policies page lists out a set of policies adopted by the IS Program; all will be adhered to in this course. Information on this site is only relevant for the Fall 2014 semester only.