工业数据库与数据挖掘(22关系)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

关系模型现实世界的实体以及实体间的各种联系均用关系表示关系的联系是通过关联属性的值连接的关系:两维的扁平表的集合第二章数据建模关系模型数据结构看:关系对应不可分的二维表属性表中的一列即为一个属性域属性的取值范围元组表中的一行即为一个元组一行:一系列值之间的联系第二章数据建模关系模型性质列是同质的;不同列可出自同一个域,每一列为一个属性,不同属性(列)给不同属性名;列的顺序不可任意交换;任意两个元组不能完全相同;行的顺序可任意交换;每一分量是不可分的数据项。第二章数据建模4关系数据库在给定应用领域中,用于描述所有实体和实体间的联系的关系的集合构成一个关系数据库。用表来表示实体:5关系数据库弱实体的表示6关系数据库多对多映射关系完整性约束IntegrityConstraints是对关系的某种约束条件。1域约束DomainConstraints对于每个属性,具有的可能取值范围的检查。类型;最大、最小值第二章数据建模完整性约束IntegrityConstraints2实体完整性实体完整性规则:一个基本表通常对应现实世界的一个实体集。现实世界中的实体是可区分的,即它们具有某种唯一性标识。每一关系必有一主键。主键值不能重复,构成主键的各属性值均不能取空值。所谓空值就是“不知道”或“不确定”的值。实体完整性规则规定基本关系的所有主键的各属性都不能取空值,而不仅是主键整体不能取空值。第二章数据建模完整性约束IntegrityConstraints2实体完整性例如学生选课关系“选修(学号,课程号,成绩)”中,“学号、课程号”为主码,则“学号”和“课程号”都不能取空值,第二章数据建模ProductnamecategorypriceCompanyname完整性约束IntegrityConstraints3参照完整性ReferentialIntegrity现实世界中的实体之间往往存在某种联系,在关系模型中实体及实体间的联系都是用关系来描述的。这样就自然存在着关系与关系之间的引用。引用的时候,必须取基本表中已经存在的值。由此引出参照的引用规则。参照完整性规则就是定义外码与主码之间的引用规则。第二章数据建模完整性约束IntegrityConstraints3参照完整性设F是关系R的一个或一组属性,但不是关系R的键,如果F与关系S的主键Ks相对应,则称F是基本关系R的外键(Foreignkey),并称关系R为参照关系(Referencingrelation),关系S为被参照关系(Referencedrelation)或目标关系(Targetrelation)。关系R和S不一定是不同的关系。第二章数据建模完整性约束IntegrityConstraints3参照完整性参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应,则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。第二章数据建模完整性约束IntegrityConstraints3参照完整性例如,学生选课系统,选课关系的学号按实体完整性要求,不能为空;按参照完整性要求,只能选学生关系中的学号,表示语义关系“只有注册存在的学生才能选课”。第二章数据建模关系代数关系代数是过程化的查询语言关系代数是一种抽象的查询语言运算对象:关系运算结果:关系第二章数据建模关系代数的基本运算普通的集合运算并、差删除部分关系的运算选择、投影合并两个关系元组的运算积第二章数据建模一个元素在并集中只出现一次第二章数据建模设关系R和S具有相同结构的关系模式,R和S的并是由属于R或属于S的元组构成的集合,记为R∪S。形式定义如下:R∪S≡{t|t∈R∨t∈S},t是元组变量,R和S的元数相同。1)并(Union)第二章数据建模设关系R和S具有相同结构的关系模式,R和S的差是由属于R但不属于S的元组构成的集合,记为R-S。形式定义如下:R-S≡{t|t∈R∧t∉S},R和S的元数相同。2)差(Difference)第二章数据建模2)差(Difference)例如:有考生成绩合格者名单和身体不合格名单两个关系,按录取条件将成绩合格且身体健康的考生中产生录取名单关系。考生号2001321120011231200171562001812420013610(a)成绩合格考生号R(b)身体不合格考生号S考生号2001123120018124考生号200132112001715620013610(c)差运算R-S结果第二章数据建模3)选择运算(Selection)这个操作是根据某些条件对关系做水平分割,即在一个关系内选择符合条件的元组称为选择运算。选择运算可表示为:σC(R)={t|t∈R∧C[t]=True}C表示逻辑条件表达式。这个表达式按以下规则组成:①αθβ,其中α、β是属性名或常量,但α、β不能同为常量。θ是比较运算符,它可以是<、≤、>、≥、=或≠。称αθβ为基本逻辑条件。②由若干基本逻辑条件经过逻辑运算∧(与)、∨(或)、(非)构成复合逻辑条件。第二章数据建模3)选择运算(Selection)第二章数据建模3)选择运算(Selection)(a)WORKER(职工)E#NAMESALARYAGEDEPT#123张国华1800251462李明2500311263刘英明2100302068王飞2700452)WORKER(40AGE2200SALARYE#NAMESALARYAGEDEPT#462李明2500311第二章数据建模4)投影(Project)im2i1iA,,A,Aim2i1iim2i1i}Rt,,t,tt,,t,tt|t{)R(设关系R有n个属性:A1,A2,…,An,则对R上属性Ai1,i2,…,Aim(Aij∈{A1,A2,…,An})投影的结果记为:第二章数据建模4)投影(Project)第二章数据建模5)笛卡儿积定义设有关系R和S,它们分别是n目和m目关系(即它们的属性个数分别为n和m),分别有p和q个元组。则关系R,S经笛卡儿积运算的结果T是一个n+m目关系,共有p×q个元组,这些元组是由R与S的元组组合而成的。StRtt,tt|tSRmnmn关系R与S的笛卡儿积记为R×S,形式定义如下:5)笛卡儿积(CartesianProduct×)关系R、S的笛卡儿积是两个关系的元组对的集合所组成的新关系R×S:属性是R和S的组合(有重复)元组是R和S所有元组的可能组合是R、S的无条件连接,使任意两个关系的信息能组合在一起例:student×sc第二章数据建模假定部门信息存放在表DEPTINFO中,则表MANAGER与表DEPTINFO的笛卡儿积如下所示。26MANAGER×DEPTINFOE#NAMESALARYAGEM.DEPT#D.DEPT#DNAMEDTASK068王飞27004521技术部产品设计068王飞27004522市场部产品销售059曾富32005111技术部产品设计059曾富32005112市场部产品销售5)笛卡儿积DEPTINFO(部门信息)DEPT#DNAMEDTASK1技术部产品设计2市场部产品销售MANAGER(经理)E#NAMESALARYAGEDEPT#068王飞2700452059曾富3200511关系代数的组合操作1)交(intersection)设关系R和S具有相同的元数n,相应的属性取自同一个域,则关系R和S的交记为R∩S,由既属于R又属于S的元组组成,其结果仍然一个n元关系。形式定义如下:R∩S={t|t∈R∧t∈S},t是元组变量。关系的交可以由关系的差来表示,即:R∩S=R-(R-S)或R∩S=S-(S-R)连接(Join)运算关系代数的组合操作(1)条件连接条件连接运算又可称θ-连接,这是一个二目运算,通过它将两个关系合并成一个关系。设有关系S和n目关系R以及比较表达式iθj,其中i是R中的属性,j是S的属性,θ含义同前(比较运算符)。形式定义如下:)SR(SR)jn(iji连接操作是笛卡儿积和选择操作的组合。连接(Join)运算关系代数的组合操作(1)条件连接设关系EMP表表示职工的年龄和工龄情况,关系ELIT表表示一个职工工作年限和可以享受的福利级别。使用下列θ连接:)SR(ELITEMPYEARS.ELITYEARS.EMPYEARS.ELITYEARS.EMP表示每个职工享有的全部福利连接(Join)运算关系代数的组合操作(1)条件连接关系EMPNAMEAGEYEARS李亚当262王明303赵亮349陈宾4318关系ELITYEARSLEVEL1A3B5C10D31EMP×ELITNAMEAGEEMP.YEARSELIT.YEARSLEVEL李亚当2621A李亚当2623B李亚当2625C李亚当26210D王明3031A王明3033B王明3035C王明30310D赵亮3491A赵亮3493B赵亮3495C赵亮34910D陈宾43181A陈宾43183B陈宾43185C陈宾431810D连接(Join)运算关系代数的组合操作(1)条件连接每个职工享有的全部福利NAMEAGEEMP.YEARSELIT.YEARSLEVEL李亚当2621A王明3031A王明3033B赵亮3491A赵亮3493B赵亮3495C陈宾43181A陈宾43183B陈宾43185C陈宾431810D(2)自然连接(NaturalJoin)R⋈S最常用的是θ-连接的一种特例,可以定义为:R⋈Sm1nn11i,,iB.SB.RB.SB.R)SR(R⋈S计算的具体过程为:计算R×S;设R和S的公共属性是B1,B2,…,Bn,挑选R×S中满足R.B1=S.B1,…,R.Bn=S.Bn的那些元组;去掉S.B1,…,S.Bn这些列(保留R.B1,…,R.Bn)。(2)自然连接(NaturalJoin)查询各部门经理及他们所在部门的信息。该查询可用一个自然连接运算实现:MANAGER⋈DEPTINFO,其查询结果如表所示。DEPTINFO(部门信息)DEPT#DNAMEDTASK1技术部产品设计2市场部产品销售MANAGER(经理)E#NAMESALARYAGEDEPT#068王飞2700452059曾富320051135自然连接事例MANAGER×DEPTINFOE#NAMESALARYAGEM.DEPT#D.DEPT#DNAMEDTASK068王飞27004521技术部产品设计068王飞27004522市场部产品销售059曾富32005111技术部产品设计059曾富32005112市场部产品销售MANAGER⋈DEPTINFOE#NAMESALARYAGEDEPT#DNAMEDTASK068王飞2700452市场部产品销售059曾富3200511技术部产品设计363)除法运算(Division)有关系R和S,R能被S除的条件有两个:R中的属性包含S中的属性;R中的有些属性不出现在S中。R除以S表示为R/S或R÷S。R÷S是由R中那些不出现在S中的属性组成,其元组则是S中所有元组在R中对应值相同的那些元组值。SCS#C#S1C1S1C2S2C1S2C2S2C3S3C2CC#C1C2C3SC÷CS#S237除法运算计算过程设有关系R和S的元数分别为r和s,则R÷S是一个(r-s)元的元组集合,其计算过程如下:(a)T=∏1,2,…,r-s(R)(b)W=(T×S)-R(c)V=∏1,2,…,r-s(W)(d)R÷S=T-V即R÷S=∏1,2,…,r-s(R)-∏1,2,…,r-s((T×S)-R)38除法运算计算事例(SC÷C)(a)T=∏1,2,…,r-s(SC)S#S1S2S3(T×C)S#C#S1C1S1C2S1C3S2C1S2C2S2C3S3C1S3C2S3C3SCS#C#S1C1S1C2S2C1S2C2S2C3S3C2(b)W=(T×C)-SCS#C#S1C3S3C1S3C3(c)V=∏

1 / 64
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功