Courses

CS 186. Introduction to Databases

Current Schedule (Fall 2015)

Description

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