Lazy loaded image
🗃️数据库系统原理
字数 852阅读时长 3 分钟
2026-5-25
2026-5-25
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

关系的完整性约束

实体完整性

主属性(即主码中的属性)不能为空
关系模型中以主码作为唯一性标识

参照完整性

外码或取空值,或在被参照的表中能找到记录
外码
别的表的主码,在这个表当字段用
作为本表与另一表之间的桥梁,作为参照关系
比如都有学号在表2中作为外码
  • 就能从表1中找到该学生的名字、性别等个人属性,从表2中找到选修课、成绩等学业属性;
  • 如果修改表2中的学号,则会将该行的学业属性连接到其他的学生
可以取空值
表示暂时没有关联

用户自定义完整性

给属性限制,确保值符合逻辑

关系代数的基本运算

广义笛卡尔积

选择(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
上一篇
“三下乡”
下一篇
Linux与shell命令

评论
Loading...