笔面考点总结(二)数据库原理篇

前言

本篇是笔面考点总结系列的第二篇,主要总结数据库原理的考点。

数据库篇

数据库范式

  • 第一范式确保属性的原子性约束,即要求数据库表中的字段具有原子性,不可再分解。
  • 第二范式确保表中的每列都和主键相关,而不能只与主键的某一部分相关(针对联合主键而言)。
  • 第三方式确保每列都和主键列直接相关,而不是间接相关

总体上来说就是,第一范式不可拆分,第二范式完全依赖,第三范式消除传递依赖。

表联结查询(以 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 JOINRIGHT OUTER JOIN

参考文献

posted @ 2019-03-19 18:10  ZachLim  阅读(215)  评论(0编辑  收藏  举报