关系模型的基本概念

本文围绕关系模型展开,介绍了其包含关系数据结构、操作和完整性约束的三要素,阐述了关系涉及的基本概念,如域、笛卡尔积等。还说明了关系的三种类型,基本关系的性质,最后讲解了关系代数,包括其定义、运算符和运算结果等信息技术相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、关系模型的三要素:

  • 关系数据结构:关系模型中只包含单一的数据结构----关系,在用户看来关系模型中数据的逻辑结构是一张扁平的二维表
  • 关系操作(操作对象和结果都是集合):
    • 查询:选择、投影、连接、并、差、交、笛卡尔积
    • 更新(插入、删除、修改)
  • 关系的完整性约束:
    • 实体完整性:主属性不能为空,主码不相等

    • 参照完整性:例如,学生(学号、姓名、专业号),专业(专业号,专业名),学生关系中的专业号需要参照专业关系中的专业号,称学生关系中的专业号是学生关系的外码,专业关系是被参照关系,学生关系为参照关系,外码与主码不一定要同名,学生关系中的外码取值要么为空值,要么为专业关系中对应专业号的值

    • 用户定义完整性:例如,学生的成绩取值范围在0~100之间

二、关系中涉及的基本概念

:一组具有相同数据类型的值的集合,例如:{0,1}、{男,女}

笛卡尔积:域上的一种集合运算,可表示为一张二维表,表中的每一行表示元组,每一列来自一个域

         例如:给出三个域,D1=导师集合{t1,t2},D2=专业集合={z1,z2},D3=研究生集合={s1,s2,s3},则

                   D1、D2、D3的笛卡尔积为D1*D2*D3={(t1,z1,s1)(t1,z1,s2)(t1,z1,s3)(t1,z2,s1)(t1,z2,s2)(t1,z2,s3)(t2,z1,s1)(t2,z1,s2)(t2,z1,s3)(t2,z2,s1)(t2,z2,s2)(t2,z2,s3)},其中(t1,z1,s1)、(t1,z2,s2)等都是元组,t1、z2、s1、s2等都是分量

                   该笛卡尔积的基数为各个域的基数相乘即:2*2*3=12

导师专业研究生
t1z1s1
t1z1s2
t1z1s3
t1z2s1
t1z2s2
t1z2s3
t2z1s1
t2z1s2
t2z1s3
t2z2s1
t2z2s2
t2z2s3

关系:笛卡尔积(D1D2...*Dn)的有限子集叫做在域D1,D2,...,Dn上的关系,表示为R(D1,D2,...,Dn),其中R为关系的名字,n为关系的目或度,关系也是一张二维表,表中的每行对应一个元组,每列对应一个域,列的名字称为属性,n目关系必有n个属性,n=1时称该关系为单元关系/一元关系,n=2时称该关系为二元关系

候选码:某一属性组的值能唯一地标识一个元组,而其子集不能的属性组

主码:若一个关系有多个候选码,则选定一个作为主码

主属性:候选码的诸属性

非主属性(非码属性):不包含任何候选码中的属性

全码:关系模式的所有属性是这个关系模式的候选码

三、关系的三种类型:

基本关系(基本表/基表):是实际存在的表,是实际存储数据的逻辑表示

查询表:查询结果对应的表

视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据

四、基本关系具有的性质:

(1)列是同质的,即每一列中的分量是同一类型的数据,来自同一个域

(2)不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名

(3)列的顺序无所谓,行的顺序无所谓

(4)任意两个元组的候选码不能取相同的值

(5)分量必须是原子值,及每一个分量都必须是不可再分的数据项

五、关系代数:

定义:是一种抽象的查询语言,用对关系的运算来表达查询

三要素:

      运算对象(关系)

      运算符:

               传统的集合运算:

                                    并(去掉重复的元组)、交、差、笛卡尔积

               专门的关系运算:

                                   选择(行):例如,查询IS系的全体学生,  \sigma Sdept='IS'(Student)

                                   投影(列):例如,查询学生的姓名和所在系(有重复行去除重复行),\prod Sname,Sdept(Student)

                                  连接(也叫θ链接):A和B分别为R和S上列数相等且可比的属性组,θ为比较运算符,连接运算从R和S的                                                                      笛卡尔积R*S中选取在A属性组上的值与S关系在B属性组上的值满足比较关系θ的元组

                                             等值连接:“θ=0”时的连接

                                             自然连接:特殊的等值连接,即在等值连接的基础上去掉重复的列,例如:

                                                   

 

                                  除:例如,设关系R、S如下图所示则R÷S:

                                              在关系R中,A可以取4个值{a1,a2,a3,a4},其中

                                                             a1的象集为{(b1,c2),(b2,c3),(b2,c1)},a2的象集为{(b3,c7),(b2,c3)}

                                                             a3的象集为{(b4,c6)},a4的象集为{(c6,c6)}

                                              S在(B,C)上的投影为{(b1,c2)(b2,c1)(b2,c3)},显然只有a1的象集包含了S在(B,C)属  性组上的投影,所以R÷S={a1}

                                     

       运算结果(关系)
                                 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值