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.
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)