数据库笔记1--什么是数据库系统(哈工大)

数据库笔记1(哈工大) 以及毕计论文的一些想法

对数据库系统概论的总结笔记,为毕设手写sqlite做准备

什么是数据库?

Table(表)
数据库笔记1--什么是数据库系统(哈工大)_第1张图片

数据库系统

  • 用户角度
    数据库笔记1--什么是数据库系统(哈工大)_第2张图片
  • 系统角度
    数据库笔记1--什么是数据库系统(哈工大)_第3张图片
  • 写数据库涉及到以下知识
  1. 实现对SQL的解析,你需要实现一个语法分析器, 《编译原理》的基础知识就用上了。

  2. 数据需要保存到硬盘上,你需要考虑存储引擎,涉及到《操作系统知识》。需要对外提供接口,设计数据结构,《数据结构》的知识就会用上

  3. 需要实现索引,B+树是必须的,又是数据结构

  4. 需要做表的Join,事务的ACID, 涉及各种算法

  5. 如果需要提供网络访问,还要涉及到socket等计算机网络的知识。

数据库笔记1--什么是数据库系统(哈工大)_第4张图片

数据库语言SQL

数据库笔记1--什么是数据库系统(哈工大)_第5张图片

毕业设计:手写一个sqlite数据库

介绍数据库历史

简述大学生只懂应用层面而不会造轮子的现状,而写数据库所需要的理论层面的知识正是大学四年课上重点学习的,大学不是“职业培训班”,而是一个让学生适应社会,适应不同工作岗位的平台。引用下李开复的话:“如果我们将学过的东西忘得一干二净时,最后剩下来的东西就是教育的本质了。”所谓“剩下来的东西”,其实就是自学的能力,也就是举一反三或无师自通的能力。

手写数据库需要学习的先导知识(《编译原理》《操作系统知识》《数据结构与算法》《计算机网络》)
介绍写数据库碰到的困难与总结(在实验室使用java,最后选择使用C实现)

  • 参考文章: link 教你从零实现一个数据库系统

  • 推荐课程: link 哈工大-数据库系统

  • 推荐书籍: 《MYSQL必知必会》《数据库系统概念 第六版》

你可能感兴趣的:(笔记,mysql,数据库,sqlite)