CS 186. Introduction to Databases

Current Schedule (Spring 2015)


Catalog Description: (4 units) A hands-on introduction to Database Systems: their internal architecture, algorithms and data structures, mathematical underpinnings, and use. Topics include: (a) Engine Technology for Large Data Sets: disk layout, indexing, search and query processing algorithms, query optimization, transactional concurrency control, logging and recovery; (b) Data Models and Languages: The Relational model of data, formal relational languages (relational algebra and calculus), and the SQL language. Text and web search models and implementation, including Boolean search and ranking. Extensions to the relational model including object-relational features, XML and associated query languages; (c) Database Design: Entity-Relationship modeling, logical relational schema design, physical design, functional dependencies and normalization, and database tuning; (d) Database application development: Application-level database APIs including host-languages embeddings library interfaces like JDBC, and web script interfaces like PHP. Work for the course includes team-oriented programming projects based on extensions to the PostgreSQL open-source database system.

Prerequisites: CS 61B and CS 61C.

Course Objectives:

Topics covered:

General Catalog

Undergraduate Student Learning Goals