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

本文总结了数据库系统概论,探讨了手写SQLite数据库的挑战与所需知识,包括SQL解析、存储引擎、数据结构、索引、事务处理及网络访问等,强调了大学教育培养的自学能力的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

什么是数据库?

Table(表)
在这里插入图片描述

数据库系统

  • 用户角度
    在这里插入图片描述
  • 系统角度
    在这里插入图片描述
  • 写数据库涉及到以下知识
  1. 实现对SQL的解析,你需要实现一个语法分析器, 《编译原理》的基础知识就用上了。

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

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

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

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

在这里插入图片描述

数据库语言SQL

在这里插入图片描述

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

介绍数据库历史

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

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

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

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

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值