Welcome to CS186, a hands-on introduction to Database Systems: their
internal architecture, algorithms and data structures, their
theoretical underpinnings, and their use. Topics include:
Database Engine Core Technology:
data layout, indexing, query processing algorithms, query optimization,
transactional concurrency control, logging and recovery.
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.
Database Design: Entity-Relationship
modeling, logical relational schema design, physical design, functional
dependencies and normalization, and database tuning.
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, originally developed right here at Berkeley
and now used worldwide.