Raghu Ramakrishnan and Johannes Gehrke
Database Management Systems , Third Edition
McGraw-Hill, 2002

You can find more information about the book at the homepage of the book.


The Cornell Database Group currently offers five regular courses in database systems and a weekly research seminar. Introductory material is covered in a course on Web application programming (CS3300) and in a systems-oriented first course in relational database technology (CS4320) with an associated practicum (CS4321). More advanced material is divided into a graduate course that focuses on enterprise information architectures (CS5300) and two graduate courses that cover fundamental papers in modern database technology (CS6320 and CS6322). We also have a weekly research lunch seminar (CS7390) where we read recent conference papers.

CS3300: Data-Driven Web Applications.

This course is an advanced introduction to Web application development. The material covered includes both relational and non-relational (NoSQL) storage management solutions, middle tier development with a focus on good software design practices, as well as the use of Web development frameworks and APIs. For their main course project, students develop a data-driven Facebook application. Prerequisites: CS2110 and (CS2300 or permission of the instructor). Can be used towards the concentration/minor in Information Science.

CS4320: Introduction to Database Systems.

An introduction to modern relational database systems concentrating on the internals of relational database systems. Concepts covered include query languages (SQL, relational algebra and relational calculus), storage structures, access methods, query processing, query optimization, and database design, as well as more recent developments such as NoSQL and MapReduce. This course is usually offered in the fall semester.

CS4321: Practicum in Database Systems.

CS4321 is the practicum associated with CS4320. It consists of several large programming assignments where students build part of a small relational database system called Minibase.

CS5300: The Architecture of Large-Scale Information Systems

This course deals with the architecture of large-scale information systems, with special emphasis on Internet-based systems. Topics covered include three-tier architectures, edge caches, distributed transaction management, web services, workflows, high-availability architectures, and content management. The course will also include a significant number of programming assignments in the context of three-tier architectures, involving web servers, application servers and database systems. You will learn and extensively use technologies such as .Net, JSPs, ASPs, Servlets, Enterprise Java Beans (EJBs), XML, and SOAP. This course is usually offered in the spring semester; it has CS4320 as a prerequisite.

CS6320: Database Management Systems.

The class introduces a variety of advanced issues ranging from transaction management to query processing to data mining. Part of the course is extensive paper reading and discussion of the papers in class. A major part of the course is a research project. This course is usually offered in the spring semester.

CS6322: Advanced Database Systems.

The class concentrates on one or two advanced topics in data management. The topics of the course vary from semester to semester. Part of the course is extensive paper reading and discussion of the papers in class.  This course is usually offered in the spring semester.

CS7390: Seminar in Database Systems.

The weekly seminar of the database group. Each semester, we pick a different topic and read a set of research papers related to the topic. Students in the database group present the papers in the seminar.