关系数据模型与关系运算(一)

举报
川川菜鸟 发表于 2022/04/15 00:20:23 2022/04/15
【摘要】 文章目录 一、域二、笛卡尔积三、关系的性质四、关系的键与关系的完整性4.1 总的关系4.2 超键4.3 候选键 4.4 主键4.5 外键五、关系的完整性5.1 实体完整性5.2 参照完整性5...

一、域

域是一组具有相同数据类型的值得集合。

二、笛卡尔积

在这里插入图片描述
可能你并没看懂,看个例子:
在这里插入图片描述
你可以理解成笛卡尔积理解成属性组合。

三、关系的性质

定义就不说了,关系就是笛卡尔积得有限子集,不说的原因是因为会把你绕过去。直接看性质:

  1. 同一属性的数据具有同质性,即同一属性为同一类型,来自同一个域;(2)同一关系的各属性名不能重复;
  2. 关系中属性顺序可以任意交换,即关系中的属性的位置具有顺序无关性;
  3. 关系中不允许出现相同的元组﹐即关系中不能有重复的行﹔
  4. 关系中元组顺序可以任意交换,即关系中的元组位置具有顺序无关性﹔
  5. 关系中每一个属性值都是不可分解的。

如果属性可以再分,那么就不是一个关系,比如:电话可再分
在这里插入图片描述

四、关系的键与关系的完整性

4.1 总的关系

在这里插入图片描述

4.2 超键

在一个关系中唯一标识元组的属性组合。超键可能有多余的属性,一个属性可以作为一个超键,多个属性组合在一起也可以作为超键。
举个例子:比如这个s表
在这里插入图片描述
学号sno是唯一标识的属性,性别名字这些都可能重复;并且(sno,sname,sex)这样的组合也可以是唯一标识的元组,确定学号,姓名,性别,肯定能确定这个人了。因此,学号作为超键。
注意: 你应该知道除了(sno,sname,sex)这样的组合,还可以是(sno,sname)之类的,只要组合中由sno就能唯一标识。

4.3 候选键

如果一个属性或者属性组合能唯一标识元组,且不包含多余属性,那么这个属性或属性组合成为候选键。候选键是没有多余属性的超键。
一个表可以有多个候选键,一个候选键既可以由一个属性构成也可以由多个属性构成。
举个例子,还是我们上面的那样一个s表,上面我们说到可以通过学号查出这个人,别的不能,我们才叫他超键。
候选键什么意思呢?就是除了学号,还可以通过名字确定出这个人,也就是说学生表中没有相同性命的人,这样(姓名,学号)就叫做候选键。

4.4 主键

一个关系中有可能有多个候选键,就随机选其中一个关系为主键。
比如上面候选键可以是:(姓名),(姓名,学号),(学号) 我们随机选:姓名 作为主键。

4.5 外键

又叫做外关键字。若某个组属性组F是关系R的主键,F又在关系S中出现,则成为F是S外键。
就是字面意思,前面的定义懂了,这就能懂了。

五、关系的完整性

5.1 实体完整性

指关系中元组的主键属性值不能为空,且主键值不能重复,在sql中用主键(primary key )实现。

5.2 参照完整性

指若某个属性组F是关系R的主键,F又在关系S中出现,则F是S的外键,F在S中可能取值:空值;等于R的某个主键值,并称基本关系R为被参照关系火主表,基本关系S为参照关系或副表。(理解背下来)

5.3 用户定义的完整性

用户定义的完整性规则主要包括:

  1. check约束
  2. 默认值default
  3. 唯一值unique
  4. 不为空not null
    等约束,唯一性约束一般用unique;默认就是default.字面意思,没啥好解释的。

文章来源: chuanchuan.blog.csdn.net,作者:川川菜鸟,版权归原作者所有,如需转载,请联系作者。

原文链接:chuanchuan.blog.csdn.net/article/details/122248350

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。