数据库听课笔记(第3讲关系模型之基本概念)

注:课程是学堂在线上的哈工大的数据库课程

什么是关系模型

一个关系就是一个表,模型就是用来模拟描述事物或现象,以解决问题的。
关系模型就是专门用来处理表的。
关系模型由3部分构成,数据的结构,关系运算,完整性约束。
1.数据结构,就是这个表是怎么构成的。
2.关系运算,就是对表中的数据如何实现增删改查
3.完整性约束,就是一个数据想要进入这个表,要满足哪些条件

关系模型与关系数据库语言的关系

这个就好像是高级语言的编译过程,首先关系模型是数据的数学描述,随后DBMS会把它变成机器语言描述,最后在软件上表达出来。
数据库语言,就是用计算机可以识别的符号来表达关系模型

表和关系

一个表由标题、列名、以及一行行的记录构成。
列值的取值范围叫域, 域中值的个数叫做基数。
每一行记录称作一个元组,每一个列名称属性,元组中的每一个值叫做分量。

如何生成元组呢,这就要用到笛卡尔积了。
所谓笛卡尔积,就是在每一个域中任取一个值,最终组合成一个元组。
笛卡尔积生成的是所有可能的元组的集合。

并不是所有的元组都有意义,有意义的元组的集合称作关系。
元组的数量叫关系的基数,属性的数量叫做度数(目数)。

我们可以通过关系模式来描述关系,比如一个班级的学生表,
Student( S# char(8), Sname char(10), Ssex char(2), Sage integer, D# char(2), Sclass char(6) )

关系模式是一种稳定的表的结构,而关系是关系模式在某时刻下的具体的值。

关系的特性

1.关系的列是同质的
即列中的分量必须来自同一个域,并且必须是同一类型的值(比如都是int型整数)

2.不同的属性要给予不同的属性名
不允许出现相同的属性名

3.行列互换性
区分哪一行靠的是列名,而不是在第几列

4.不允许出行完全一样的元组
注意这是关系的特性,但现实生活中的表可能会出行相同的行

5.关系的第一范式
同一个属性不能分成两个子属性
同一行也不能分成两个半行

候选码、主码、外码

1.候选码是一个属性组,起到标识一个关系的作用
候选码不唯一

2.当有多个候选码时,选定一个作为主码

3.候选码中的属性称主属性,其他的属性称非主属性
若所有属性都是主属性,这时把候选码称全码

4.外码,起到关系之间的纽带作用。
若一个表A中的非候选码a,与另一个表B中的候选码对应,则称a是A的外码

比如在合同表中,客户号不是候选码
但在客户表中,客户号是候选码
这时,客户号就是合同表中的外码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值