【数据库系统原理与设计】(二)关系模型与关系代数

二. 关系模型与关系代数

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 关系代数

  1. 关系代数:通过关系代数运算来构造查询表达式
  2. 基本关系代数运算:选择、投影、集合并、集合差、笛卡尔积、更名 ...
  3. 其他运算:集合交、连接、除、赋值

 

2.2.1 传统的集合运算

1. 并

2. 差

3. 交

4. 笛卡尔积

 

2.2.2 专门的关系运算

1. 选择

2. 投影

3. 连接

4. 除运算

 

 

未完待续

吃完饭回来再更....

posted @   哟吼--小文文公主  阅读(261)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示