Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

Databases

English | 简体中文

Overview

Understanding how database systems store, retrieve, and manage data efficiently. Covers relational database theory, SQL, transaction processing, query optimization, database internals, and data modeling principles.

Prerequisites

Required:

  • Programming - Ability to write database queries and applications

Recommended:

  • Algorithms and Data Structures - Database internals use sophisticated data structures (B-trees, hash tables)
  • Operating Systems - Understanding of storage systems and concurrency

Programming Languages

  • SQL (Intermediate) - Essential for relational database interaction
  • Any modern language (Intermediate) - For database application development and ORM usage

Recommended Resources

Textbooks

  • Readings in Database Systems (Red Book) by Peter Bailis, Joe Hellerstein, and Michael Stonebraker

    • Collection of seminal papers in database systems
    • Best for intermediate learners after foundational course
    • Level: Intermediate to Advanced
    • Available online
  • Database Management Systems by Raghu Ramakrishnan and Johannes Gehrke

    • Comprehensive introductory textbook
    • Level: Intermediate
    • Use if a traditional textbook approach is preferred
  • Data and Reality by William Kent

    • Timeless perspective on data modeling
    • Short, philosophical treatment of how to model information
    • Level: Beginner to Intermediate

Video Lectures

Berkeley CS 186 - Introduction to Database Systems

  • Instructor: Joe Hellerstein
  • Institution: UC Berkeley
  • Platform: Berkeley course site / YouTube
  • URL: Course site
  • Description: Comprehensive database course covering SQL, relational theory, storage, indexing, query optimization, transactions
  • Start with lecture recordings before progressing to Red Book papers

Online Resources

Exercises

Practice Problems

  • Source: CS 186 assignments and projects

  • Difficulty: Intermediate to Advanced

  • Estimated time: 100-200 hours

  • Topics: SQL queries, B+ trees, query optimization, concurrency control

  • Source: SQLBolt and similar interactive platforms

  • Difficulty: Beginner to Intermediate

  • Topics: SQL syntax and query construction

Projects

  • Implement database components (B+ tree, query optimizer, transaction manager)
  • Design and normalize database schemas for applications
  • Read and discuss Red Book papers

Study Notes

[Personal notes and key insights can be added here during study]

Progress Tracking

  • Completed CS 186 lectures and assignments
  • Read "Architecture of a Database System" paper
  • Progressed through Red Book papers
  • Completed SQL practice exercises
  • Review and reinforcement