Menu:

Education

Textbooks

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.

Courses

The Cornell Database Group currently offers four regular courses in database systems and a weekly research seminar. Introductory material is covered in an application-oriented first course in database systems (CS330) or a systems-oriented first course in relational database technology (CS432) and an associated practicum (CS433). More advanced material is divided into a graduate course that focuses on enterprise information architectures (CS530) and two graduate courses that covers fundamental papers in modern database technology (CS632 and CS633). We also have a weekly research lunch seminar (CS732) where we read recent conference papers every week (and there is free lunch :-).

CS330: Applied Database Systems.

This course introduces database systems with a focus on how to use them in practice. The course will give an overview of the capabilities of modern database systems, and how to build database-backed applications. Topics covered include the relational model, SQL, transactions, database design and tuning, three-tier architectures, web data management with XML, service-oriented architectures, data mining, and data warehousing. The course will include hands-on exercises using a commercial database system and a student-selected web-database project. Prerequisites: basic knowledge of Java and some knowledge of data structures, such as CS211 or equivalent. Can be used towards the concentration/minor in Information Science: www.cis.cornell.edu/infoscience/. This course is usually offered in the fall semester. 

CS432: 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. This course is usually offered in the fall semester.

CS433: Practicum in Database Systems.

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

CS530: 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 CS432 as a prerequisite.

CS632: 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.

CS633: 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.

CS732: 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.