购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 关系的数据结构

1.关系

定义2.3 笛卡儿积 D 1 ×D 2 ×…×D n 的一个子集称为域 D 1 D 2 ,…, D n 上的一个关系,记为 R

【例2.2】 D 1 ={1,3,5}, D 2 ={1,2,3},则{<3,1>,<3,2>,<5,1>,<5,2>,<5,3>}为域 D 1 D 2 上的一个关系。

【例2.3】 考虑 D 1 (长辈)={父,母}, D 2 (子辈)={子1,子2,女1,女2},则{<父,子1>,<父,子2>}、{<母,女1>,<母,女2>}均为域 D 1 D 2 上的关系。

D 1 × D 2 ×…× D n 为有限域时,域 D 1 D 2 ,…, D n 上的关系 R 可用二维表予以刻画。比如,在【例2.3】中,父子关系可用表2.2表示。

表2.2 父子关系

2.关系模式

定义2.4 关系的描述称为关系模式(Relational Schema),它可以简单地表示为

R ( A 1 , A 2 ,…, A n )

其中, A 1 A 2 ,…, A n 为属性集。

【例2.4】 学生选修课程的关系模式可表示为

学生(学号,姓名,系别,性别,出生日期,总学分,备注)或student(sno,sname,dept,sex,birthday,totalcredit,remarks);

课程(课程号,课程名,学期,学时,学分)或course(cno,cname,term,ctime,credit);

成绩(学号,课程号,成绩)或score(sno,cno,grade)。

定义2.5 若某一属性集的值能唯一地标识关系 R 的元组而不含多余的属性,则称其为关系 R 的候选键(Candidate Key)。

若一个关系有多个候选键,则可在其中选定一个作为主键。一个关系中只有一个主键,主键的值不能为空,且不允许重复。

定义2.6 若某一个关系 R 中的属性集并非关系 R 的键,却是另一个关系 S 的主键,则称其为关系 R 的外键。

在【例2.4】中,因学生、课程均可能有重名,在学生和课程关系中,通常将学号和课程号设为主键。由于一个学生可参加多门课程的学习,一门课程可被多个学生选修,可取学号与课程号的组合为成绩关系的主键(也可以设置一个自增变量作为主键)。由于学号、课程号分别为学生关系和课程关系的主键,因此成绩关系中的学号与课程号均为外键。

3.关系的类型

关系有3种类型:基本表、查询表和视图表。

(1)基本表是实际存在的表。

(2)查询表是查询结果对应的表。

(3)视图表是虚表,是由基本表或其他视图表导出的表。 HHh7zo/gG3ZzerRdYCRRTHXjZzyzMkHmPcFh1wwov9Cen6ndYplpeK8KJ91ucpTf

点击中间区域
呼出菜单
上一章
目录
下一章
×