Stanford CS Database Courses

(from the 2005-2006 Course Bulletin)

CS 145. Introduction to Databases—
Database design and use of database management systems for applications. The relational model, relational algebra, and SQL, the standard language for creating, querying, and modifying relational and object-relational databases. XML data including the query languages XPath and XQuery. UML database design, and relational design principles based on functional dependencies and normal forms. Other issues include indexes, views, transactions, authorization, integrity constraints, and triggers. Advanced topics from data warehousing, data mining, web data management, Datalog, data stream processing, temporal databases, middleware, or peer-to-peer systems. Prerequisites: 103B or X, and 107. GER:DB-EngrAppSci
3-4 units, Aut (Widom)

CS 245
. Database Systems Principles—File organization and access, buffer management, performance analysis, and storage management. Database system architecture, query optimization, transaction management, recovery, concurrency control. Reliability, protection, and integrity. Design and management issues. Prerequisites: 145, 161.   3 units, Win (Garcia-Molina), Sum (Staff)

CS 346. Database System Implementation—A major database system implementation project realizes the principles and techniques covered in earlier courses. Students independently build a complete database management system, from file structures through query processing, with a personally designed feature or extension. Lectures on project details and advanced techniques in database system implementation, focusing on query processing and optimization. Guest speakers from industry on commercial DBMS implementation techniques. Prerequisites: 145, 245, programming experience in C++.
3-5 units, Spr (Widom)

CS 347. Transaction Processing and Distributed Databases— The principles and system organization of distributed databases. Data fragmentation and distribution, distributed database design, query processing and optimization, distributed concurrency control, reliability and commit protocols, and replicated data management. Distributed algorithms for data management: clocks, deadlock detection, and mutual exclusion. Heterogeneous and federated distributed database systems. Overview of commercial systems and research prototypes. Prerequisites: 145, 245.
3 units, Spr (Garcia-Molina)

CS 345. Advanced Topics in Database Systems—Content varies. May be repeated for credit with instructor consent. Prerequisite: 145. Recommended: 245.

CS 345A. Data Mining—Techniques for extracting information from very large databases, including finding frequent and correlated pairs and clustering data in high dimensional spaces. Techniques for mining the web and data streams.
3 units, Aut (Ullman, Rajaraman)

CS 545. Database Research Seminar—Current research and industrial innovation in database and information systems.
1 unit, Win (Widom)