UCB CS186: Introduction to Database System
课程简介
- 所属大学:UC Berkeley
- 先修要求:CS61A, CS61B, CS61C
- 编程语言:Java
- 课程难度:🌟🌟🌟🌟🌟
- 预计学时:150 小时
如何编写 SQL 查询?SQL 命令是如何被一步步拆解、优化、转变为一个个磁盘查询指令的?如何实现高并发的数据库?如何实现数据库的故障恢复?什么又是非关系型数据库?这门课会带你深入理解关系型数据库的内部细节,并在掌握理论知识之后,动手用 Java 实现一个支持 SQL 并发查询、B+ 树 Index 和故障恢复的关系型数据库。
从实用角度来说,这门课还会在编程作业中锻炼你编写 SQL 查询以及 NoSQL 查询的能力,对于构建一些全栈的工程项目很有帮助。
课程资源
- 课程网站:https://cs186berkeley.net/
- 课程视频:https://www.bilibili.com/video/BV13a411c7Qo
- 课程教材:无
- 课程作业:6 个 Project
资源汇总
@PKUFlyingPig 在学习这门课中用到的所有资源和作业实现都汇总在 PKUFlyingPig/CS186 - GitHub 中。
UCB CS186: Introduction to Database System
Descriptions
- Offered by: UC Berkeley
- Prerequisites: CS61A, CS61B, CS61C
- Programming Languages: Java
- Difficulty: 🌟🌟🌟🌟🌟
- Class Hour: 150 hours
How to write SQL queries? How are SQL commands disassembled, optimized, and transformed into on-disk query commands step by step? How to implement a high-concurrency database? How to implement database failure recovery? What is NoSQL? This course elaborates on the internal details of relational databases. Besides the theoretical knowledge, you will use Java to implement a real relational database that supports SQL concurrent query, B+ tree index, and failure recovery.
From a practical point of view, you will have the opportunity to write SQL queries and NoSQL queries in course projects, which is very helpful for building full-stack projects.
Course Resources
- Course Website: https://cs186berkeley.net/
- Recordings: https://www.youtube.com/playlist?list=PLYp4IGUhNFmw8USiYMJvCUjZe79fvyYge
- Assignments: https://cs186.gitbook.io/project/
Personal Resources
All the resources and assignments used by @PKUFlyingPig in this course are maintained in PKUFlyingPig/CS186 - GitHub.