数据库 关系模型的基本概念

关系(Relation)

D1 × D2 × ··· × Dn 的子集叫做在域D1,D2,···,Dn 上的关系,表示为 R(D1,D2,···,Dn ),其中R就是关系名,n就是目或度。
一个关系对应一张二维表,二维表就是关系名。

例如,下图中的整个二维表的值就是一个关系

目 或 度(degree)

二维表关系R(D1,D2,···,Dn )中的 n 就是关系的目或度。

关系模式(Relation Schema)

在二维表中的行定义,即对关系的描述称为关系模式。

一般表示为(属性1,属性2,…,属性n)
例如:老师的关系模型可以表示为教师(教师号,姓名,性别,年龄,职称,所在系)。

(值)域(domain)

域是一组具有相同数据类型的值的集合。
二维表中每列对应一个域。

表述的是属性值的取值范围为值域。同一种类型的数据集合,都是某一个事物的值的集合。
例如:自然数、整数、{男,女}、不大于10的正整数等。
例如:上述关系中的D1 = 学号集合 = {S3001,S3002,S4001}; D2 = 姓名集合 = {张明,李静,赵丽} 等就是域。

元组(tuple)

笛卡尔积中每一个元素(d1,d2,···,dn),叫作一个n元组(n-tuple)或简称元组。
二维表中每行对应一个元组。
关系是一张表, 表中的每行(即数据库中的每条记录)就是一个元组;

在二维表里,元组也称为行。
例如:关系中的某一行

属性(attribute)

在二维表中为了区分不同的域而对每列取一个名字,称为属性。
属性的个数称为关系目或度,即 n目关系必有n个属性。
列的值称为属性值;

例如:二维表中的学号、姓名、性别等都是属性。

分量(component)

元素中每一个值 di 都叫做一个分量
为每一行对应的列的属性值,即元组中的一个属性值。

例如:关系中某一行中的S3001、张明、男、外语等等。

候选码 (候选建)(candidate key)

若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码。

例如:在选课表中,只有属性组“学号”和“课程号”才能唯一地标识一个元组,则候选键为(学号,课程号)。

主码(primary key)

在一个关系的若干候选码中指定一个用来唯一标识该关系的元组,则称这个被指定的候选码称为主关键字,或简称为主键、关键字、主码。
主码不一定只有一个,但是一定要有。

在有多个候选码的情况下,主码是由人为选择的。
主属性 & 非主属性(prime attribute & non-prime attribute)
关系中包含在任何一个候选码中的属性称为主属性,不包含在任何一个候选码中的属性为非主属性或非码属性(non-key attribute)。

例如关系中的学号、课程号就是主属性;而性别、年龄就是非主属性或非码属性。

全码(all-key)

在最极端条件下,关系模式中的所有属性都是这个关系模式的候选码,称为全码。

外码(foreign key)

一个关系R中的一个属性是另外一个关系F中的主码,则关系R中的这个属性称为外码。

有两个实体:其中加粗的属性是主码。
学生(学号,姓名,性别,专业号);专业(专业号,专业名)
则对专业表来说:专业号是专业表的主码;
对学生表来说:专业号是学生表的外码;学号是学生表的主码;

笛卡尔积(cartesian product)

笛卡尔积是域上的一种集合运算。

给定一组域D1,D2,···,Dn,允许其中的某些域是相同的,D1,D2,···,Dn的笛卡尔积为:D1 × D2 × ··· × Dn = {(d1,d2,···,dn)| di ∈ Di,i = 1,2,···,n}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0X码上链

你的鼓将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值