笔面考点总结(二)数据库原理篇
前言
本篇是笔面考点总结系列的第二篇,主要总结数据库原理的考点。
数据库篇
数据库范式
- 第一范式确保属性的原子性约束,即要求数据库表中的字段具有原子性,不可再分解。
- 第二范式确保表中的每列都和主键相关,而不能只与主键的某一部分相关(针对联合主键而言)。
- 第三方式确保每列都和主键列直接相关,而不是间接相关。
总体上来说就是,第一范式不可拆分,第二范式完全依赖,第三范式消除传递依赖。
表联结查询(以 MySQL 标准为例子)
自联结查询
自联结查询是表与自身进行联结的查询,例如从课程表中找出课程号及其对应先修课程名。
SELECT x.no, y.name
FROM course AS x, course AS y
WHERE x.pcno = y.cno;
内联结查询
内联结查询是表间进行数据比较,得到匹配结果的查询,而根据比较方式不同,又分为等值联结、自然联结和不等联结。
- 等值联结即表间数据进行相等比较,得到匹配结果的查询,包括重复列。
- 自然联结就是消除重复列的等值联结。
- 不等联结就是表间数据进行除相等以外的比较,得到匹配结果的查询,也包括重复列。
注:MySQL 数据库中可使用关键字 INNER JOIN
进行内联结查询。
外联结查询
外联结查询是可得到表间无关联行的查询,而根据指定包含那个表的所有行,又分为左联结、右联结和全联结。
- 左联结即匹配左边表的所有行的查询,右边表无对应数据则置为 NULL 。
- 右联结即是与左联结相反的查询。
- 全联结即匹配左右两边表的所有行的查询。
注:MySQL 数据库中可使用关键字 OUTER JOIN
进行内联结查询,而左右联结分别为 LEFT OUTER JOIN
和 RIGHT OUTER JOIN
。
参考文献
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
2017-03-19 大数运算(1)—— 加法篇