- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.1 关系及关系约束2.1.1 关系 “关系”就是关系数据模型的数据结构。 关系模型是建立在集合代数的基础上的,故可从集合论角度给出关系数据结构的形式化定义。 1.域(Domain) 属性所取值的范围称为属性的域。如:自然数、整数、字符串等都是域。 关系模型要求每个元组的每个分量必须属于某种基本类型,不允许一个值为记录结构、结构、集合、列表、数组或者能合理地分解为更小分量的其他任何类型。 属性是一种多值变量。 2.笛卡尔乘积(Cartesian Product) 给定一组域D1,D2,…,Dn,这些域中可以有相同的部分,则笛卡儿积为: D1×D2×…×Dn ={(d1,d2,…dn)|di ∈Di,i=1,2,…,n}. 其中每个元素(d1,d2,…,dn )称为一个n元组,简称元组。元组中的每一个值di称作一个分量。 例如,我们给出三个域: 导师集合D1={张毅,刘德成} 专业集合D2={计算机专业,通信专业} 研究生集合 D3={吕景刚,王弶,李喆} 则D1,D2 ,D3的笛卡尔积为: D1×D2 ×D3 ={(张毅,计算机专业,吕景刚),(张毅,计算机专业,王弶),(张毅,计算机专业,李喆),(张毅,通信专业,吕景刚),(张毅,通信专业,王弶),(张毅,通信专业,李喆),(刘德成,计算机专业,吕景刚),(刘德成,计算机专业,王弶),(刘德成,计算机专业,李喆),(刘德成,通信专业,吕景刚),(刘德成,通信专业,王弶),(刘德成,通信专业,李喆)} 其中: (张毅,计算机专业,吕景刚),(张毅,计算机专业,王弶),(张毅,计算机科学专业,李喆)等都是元组。 张毅、计算机专业、吕景刚、王弶、李喆等都是分量。 该笛卡尔积的基数为2×2×3=12,这也就是说D1×D2 ×D3共有2×2×3=12个元组。这12个元组的总体可列成一张二维表。 2.1.2关系的性质 关系具有6条性质(不一定全具备) (1)同一属性的数据具有同质性。 例 (2)同一关系的属性名具有不能重复性。 (3)关系中的列位置具有顺序无关性(列的次序可以任意交换)。 (4)关系具有元组无冗余性(不允许有完全相同的元组)。 (5)关系中的元组位置具有顺序无关性(行的次序可以任意交换)。 (6) 关系中每一个分量都必须是不可分的数据项。 例 Access数据库中“学生”表及结构的定义 包含多值字段或复合字段的表 2.1.3主键和外键 1. 候选键 如果关系中某个属性或属性组的值唯一的决定其他所有属性的值,而其他任何真子集无此性质,则称这个属性或属性组为该关系的候选键或候选码。 若关系的候选键中只包含一个属性,则称它为单属性键;若候选码是由多个属性构成的,则称为它为多属性键。若关系中只有一个候选键,且这个候选键中包括全部属性,则这种候选码为全键。候选键中的属性称为主属性,不包含在任何候选键中的属性称为非主属性。例 Access中的“课程”关系及“选课”关系 2. 主键 一个关系至少有一个候选键,可以有多个候选键,选定其中一个作为主键,其他作为备用键。 参照关系和被参照关系可以是同一关系 例如有如下关系模式: 学生(学号,姓名,性别,院系号,年龄,班长学号) 班长属性与本身的主键学号属性相对应,因此班长是外键。学生关系既是参照关系又是被参照关系。 2.1.4 关系模式 关系模式是关系数据结构的描述。通常可以简单记为:R(U)或 R(A1,A2,…,An).其中:R为关系名,A1,A2,…,An为属性名。 完整地表示为:R(U,D,Dom,F)其中:R为关系名,它是关系的形式化表示;U为组成该关系的属性集合;D为属性组U中属性所来自的域;Dom为属性向域的映象的集合;F为属性间数据的依赖关系集合。 2.1.5 关系完整性约束 1. 实体完整性规则 若属性A是基本关系R的主属性,则属性A的值不能为空值。说明:1) 实体完整性能够保证实体的唯一性。 2) 实体完整性能够保证实体的可区分性。 例如有如下关系模式: 学生(学号,姓名,性别,年龄,籍贯) 学号属性为主码,不能取空值。 选修(学号,课程号,成绩) 学号,课程号为主码,都不能取空值。 2. 引用完整性规则 若属性(或属性组)F是基本关系R的外键,它与基本关系S的主键Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须取空值(F的每个属性值均为空值)或者等于S中某个元组的主键值。 例如如下关系模式: 学生(学号,姓名,性别,院系号,年龄) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) 3. 用户定义的完整
文档评论(0)