File tree Expand file tree Collapse file tree 5 files changed +74
-159
lines changed
Expand file tree Collapse file tree 5 files changed +74
-159
lines changed Original file line number Diff line number Diff line change @@ -17,9 +17,9 @@ export const sidebarConfig = defineSidebarConfig({
1717 "cs-basics" ,
1818 "cs-basic-coureses" ,
1919 "database" ,
20+ "search-engine" ,
2021 "java" ,
2122 "software-quality" ,
22- "q&a" ,
2323 ] ,
2424 "/about-the-author/" : [
2525 {
Original file line number Diff line number Diff line change 77 content : 数据库书籍精选
88---
99
10- 数据库系统这门课在程序员的职业规划中也是非常重要的一门课,甚至有些信息管理的专业的也要开设这门课。说这门课重要,是因为对于程序员的发展来说,一方面关系数据库系统、SQL 语言以及数据库的三段设计(概念设计、逻辑设计和物理设计)都是开发数据库应用程序的必备技能,通常在数据库应用开发岗位的面试中,数据库的设计是面试官青睐的考点,如何能根据需求分析并设计出完善的数据库系统,是程序员的必备技能,设计好了完善的数据库系统之后,再用 SQL 语言等工具对其进行实现,那么这些其实就是个人的编码能力了。
11-
12- 另一方面,数据库中的查询处理、查询优化、并发控制、事务管理、日志管理等内容,都是数据库中稍微进阶一点的技能,对于一些对岗位要求比较高的,这些技术同样要求熟练掌握。对一些查询优化的等数据库底层实现的内容,也是新型数据库开发的前置基础技能,对于一些研究型人才来说,也是非常重要的。
13-
14- 数据库系统与其他计算机专业课一样,知识体系非常清晰,而且他有一个非常突出的特点,就是实际与理论相结合。SQL 语言,数据库设计等,这些都属于实践应用部分,而对于一些范式定义,两段锁协议并发控制等,这些就偏向于理论多一些。要想学好数据库系统,建议大家:
15-
16- 1 . ** 在课程的前期阶段,熟练掌握 SQL 语言的应用,同时不要忘了训练关系代数的应用能力。** 关系代数虽然在数据库的实现上作用较小,但在学习阶段,结合关系代数和 SQL 语言学习,可以更加有体系地理清 SQL 语言各个子句之间的逻辑关系,有助于 SQL 语言的学习和记忆。关系代数的学习更像是建立一种思维,这种思维到了数据库底层实现学习环节也是非常有用的。
17- 2 . ** 在课程的中期阶段,熟练掌握 ER 图的应用,并强化数据库设计中的理论部分。** ER 图的熟练应用可以更加轻松地设计出关系数据库模式,而理论部分同样不能忽视,设计理论的运用决定了数据库的正确性和健壮性。
18- 3 . 而在课程的后期阶段,主要就是以理论居多,而且这些理论并不容易能找到配套的实验练习。** 这里再次强调,凡是理论知识的学习,尽量要结合图解的方式** 。
19-
20- ## 数据库基础
10+ ## 基础
2111
2212教材的话,强烈推荐 ** [ 《数据库系统概念》] ( https://book.douban.com/subject/10548379/ ) ** ,这本书涵盖了数据库系统的全套概念,知识体系清晰,是学习数据库系统非常经典的教材!不是参考书!
2313
8070如果你要学习 Redis 的话,强烈推荐 ** [ 《Redis 设计与实现》] ( https://book.douban.com/subject/25900156/ ) ** 和 ** [ 《Redis 实战》] ( https://book.douban.com/subject/26612779/ ) ** 这两本书。另外,** [ 《Redis 开发与运维》] ( https://book.douban.com/subject/26971561/ ) ** 这本书也非常不错,既有基础介绍,又有一线开发运维经验分享。
8171
8272![ ] ( https://oscimg.oschina.net/oscnet/up-9f20f5e860d143181bd27343abfef3af2ce.png )
83-
84- 下面是我总结的一些关于并发的小问题,你可以拿来自测:
85-
86- 1 . Redis 和 Memcached 的区别和共同点
87- 2 . 为什么要用 Redis/为什么要用缓存?
88- 3 . Redis 常见数据结构以及使用场景分析
89- 4 . Redis 没有使用多线程?为什么不使用多线程?Redis6.0 之后为何引入了多线程?
90- 5 . Redis 给缓存数据设置过期时间有啥用?
91- 6 . Redis 是如何判断数据是否过期的呢?
92- 7 . 过期的数据的删除策略了解么?
93- 8 . Redis 内存淘汰机制了解么?
94- 9 . Redis 持久化机制(怎么保证 Redis 挂掉之后再重启数据可以进行恢复)
95- 10 . Redis 缓存穿透、缓存雪崩?
96- 11 . 如何保证缓存和数据库数据的一致性?
97- 12 . ......
You can’t perform that action at this time.
0 commit comments