【数据库系统原理与设计】(二)关系模型与关系代数
二. 关系模型与关系代数
2.1 关系模型
2.1.1 关系数据结构
1. 关系:二维表就是关系;行对应关系的一个 元组,列对应关系的一个 域(域名=属性名)
2. 关系数据库:表的集合,关系的集合
3. 关系模型建立在集合代数的基础上
- 域:相同数据类型的值的集合
- 空值NULL:值未知或不存在
- 笛卡尔积:
4. 关系的描述称为 关系模式 ,简记:
1 2 | r (U) 关系名(属性名集合) |
5. 码:
学号 | 姓名 | 年龄 |
1 | 张三 | 18 |
2 | 张三 | 18 |
3 | 李四 | 19 |
- 超码(Superkey):可以唯一的标识
所以上表中 {学号} 是超码,同理还有{学号,姓名},{学号,年龄},{学号,姓名,年龄}
- 候选码(Candidatekey):候选码是最小的超码
上表中 {学号} 是候选码
- 主码:由程序员选一个候选码作为关系的主码
学号 | 姓名 | 年龄 | 年龄 | 年级 | |
1 | 张三 | 18 | 18 | 高三 | |
2 | 张三 | 18 | 18 | 高三 | |
3 | 李四 | 19 | 19 | 高四 |
- 外码:{年龄} 在左表中就变成了外码(在右表就变成了 主码)
6. 关系数据库模式:关系数据库所包含的所有关系模式的集合
2.1.2 关系完整性约束
1. 实体完整性(entity integrity)
- 主码不为空;
- 构成主码的每一个属性值都不能为空;
2. 参照完整性(referential integrity)
- 外码要么是空,要么是某个主码
- 实体间的联系对应关系间的联系;
- 通过外码实现两个关系间多对一的联系;
3. 用户自定义完整性(user-defined intrgrity)
- 根据不同业务的不同语义,由用户自己定义一些特殊的约束条件
4. 数据库模式导航图
2.1.3 关系操作
1. 关系操作包括:
- 查询操作:选择、投影、并、差、笛卡尔积(五大基本关系操作)、连接、除、交 ...
- 更新操作:插入、删除、修改
2. 关系操作的特点:
- 集合操作方式(操作对象和结果都是集合)
- 一次一集合(对应非关系操作方式:一次一记录)
2.2 关系代数
- 关系代数:通过关系代数运算来构造查询表达式
- 基本关系代数运算:选择、投影、集合并、集合差、笛卡尔积、更名 ...
- 其他运算:集合交、连接、除、赋值
2.2.1 传统的集合运算
1. 并
2. 差
3. 交
4. 笛卡尔积
2.2.2 专门的关系运算
1. 选择
2. 投影
3. 连接
4. 除运算
未完待续
吃完饭回来再更....
分类:
技术栈 / SQL数据库
标签:
SQL数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具