type
Post
status
Published
date
May 25, 2026
slug
principals-of-database-systems
summary
数据库笔记(基于openGauss)
tags
SQL
数据库
编程
category
学习笔记
icon
password
By BarryZed
数据库引论
数据库体系结构
模式
数据库中有哪些表、字段、约束、关系,以及这些数据应该怎么组织
说白了就是一张蓝图,里面有很多表、字段、约束等等
外模式就是视图
内模式是指硬件上具体的存储方式
一个数据库只能有一个内模式
一个表可能有多个文件组成
数据模型
基本概念
码(Key)
标识唯一实体的属性或属性集
常用的数据模型
层次结构(树)
无法描述事物间复杂的联系,特别是多对多
网状结构(有向图)
关系模型
分量:元组中的一个属性值(不可再分,表中不能有表)
关系型数据库
结构及形式化定义
关系
笛卡尔积
每一种数据的每一个和其他的每一种数据的全组合
举例
Sno | Sname |
1 | A |
2 | B |
Cno | Cname |
10 | Math |
20 | CS |
笛卡尔积:
Sno | Sname | Cno | Cname |
1 | A | 10 | Math |
1 | A | 20 | CS |
2 | B | 10 | Math |
2 | B | 20 | CS |
关系的完整性约束
实体完整性
主属性(即主码中的属性)不能为空
关系模型中以主码作为唯一性标识
参照完整性
外码或取空值,或在被参照的表中能找到记录
外码
关系代数的基本运算
并
交
差
广义笛卡尔积
选择(Selection)
从表中选择满足条件的行
投影(Projection)
从表中挑出某些列,并将行按行去重
去重原则:这一整行是否完全相同
连接(Join)
笛卡尔积 + 选择
本质公式
等值连接(Equi-Join)
连接条件是等于
自然连接(Natural Join)
自动找同名属性进行匹配,并自动去掉重复列
外连接(Outer Join)
左/右外连接
在右侧表/左侧表中找不到的记录用NULL补齐
全外连接
左右都保留,没有的用NULL补齐
除(Division)
找“对 S 中所有元素都满足关系的 R 的主键”
主键 = R 中“没有出现在 S 里的属性” or 被“保留下来作为结果”的那一部分属性
例子
R
学生 | 课程 |
A | DB |
A | OS |
B | DB |
B | OS |
C | DB |
S
课程 |
DB |
OS |
R中选择了S里所有课程的学生
结果
学生 |
A |
B |
- 作者:BarryZed
- 链接:
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。






.jpg?table=block&id=2cb05109-5451-8092-a42a-ffaf40797495&t=2cb05109-5451-8092-a42a-ffaf40797495)