- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据完整性与关系代数
关系完整性 关系完整性是指关系(表)中数据的正确性和一致性。它可以保证数据库中数据的正确性和相容性。数据库完整性通过完整性约束条件来防止数据库中存在不符合语义的数据,限制错误的或不合法的数据输入数据库中。完整性通常包括实体完整性、参照完整性和用户定义完整性。 1.实体完整性 实体完整性要求表中的行有一个唯一标识符,即表有主键,且不允许有空值。 例如,有如下关系模式: 学生(学号,姓名,性别,专业,年龄) 学号属性为主键,不能取空值。 成绩(学号,课程号,成绩) 学号、课程号属性组合为主键,两者都不能取空值。 2.参照完整性 参照完整性要求有关系的表数据保持一致。即对外键值进行插入或修改时一定要参照主键的值是否存在。对主键进行修改或删除时,也必须参照外键的值是否存在。 例如,在学生管理关系数据库中,如果包括学生关系、课程关系和成绩关系,这3个关系分别如下: 学生(学号,姓名,性别,专业,年龄) 课程(课程号,课程名,学分) 成绩(学号,课程号,成绩) 3.用户定义完整性 指表中任一列的数据类型必须符合用户的定义,或者数据必须在规定的有效范围之内。如性别列的值只能是男或女,属性只能是字符型。 1.2.3关系代数 关系代数是一种抽象的查询语言,通过对关系的运算来表达查询,作为研究关系数据语言的数学工具。 关系代数的运算对象是关系,运算结果也是关系。 1.关系运算符 关系运算符分为集合运算符、专门的关系运算符、比较运算符和逻辑运算符4类,如表1-1所示。对于关系数据库,系统要提供关系数据语言进行相关操作。 表1-1关系运算符 运 算 符 含 义 运 算 符 含 义 集合运算符 ∪ - ∩ × 并 差 交 笛卡尔积 比较运算符 > ≥ < ≤ = ≠ 大于 大于等于 小于 小于等于 等于 不等于 专门的关系运算符 ÷ 选择 投影 连接 除 逻辑运算符 ¬ ∧ ∨ 非 与 或 2.传统的集合运算 集合运算是把关系看成元组的集合,其运算是从行的角度进行,主要包括并、差、交及笛卡尔积4种运算。关系R和关系S,如图所示。 图1-10 1)并 关系R和关系S的并集为:R∪S。组成的新关系包括了R与S中所有的元组,即R∪S={t∈R∨t∈S}。关系R和S,则R∪S结果如图所示。 2)差 关系R与关系S的差记为:R-S。相当于由属于R但不属于S的元组组成的关系,即R-S={ t∈R∨t∈S},如图所示。 3)交 关系R和关系S的交记为R∩S。其结果是由既属于R又属于S的元组组成的关系,即R∩S={t∈R∧t∈S},如图所示。 4)笛卡尔积 关系R和关系S笛卡尔积记为R×S。设有n目关系R 及m目关系S,它们分别有p、q个元组,则新关系是一个 (n+m)目关系,元组个数p×q,由R与S有序组合而成。 注意:笛卡尔积运算后,得到新的表,该表中元组数是运算前两表中元组数目相乘,它的属性则是运算前表中属性相加。记为R×S={trts|tr∈R∧ts∈S}。如图所示。 3.专门的关系运算 专门的关系运算把关系看成是属性的集合,其运算可以从行的方向进行运算,也需要从列的角度进行运算。其中最常用的是选择、投影和连接运算,这是任何一个关系数据库管理系统都必须具备的3种基本操作。 1)选择(selection) 选择运算就是按照一定的条件在给定关系中选取若干个元组,组成一个新的结果关系,它可以是永久的,也可以是暂时的。结果是由原来关系的一部分组成的新的关系。 【例1-1】在左图学生信息表(关系 R)中选择出女生,其选择结果如右图所示。 2)投影(projection) 投影运算是对关系中记录属性进行操作,其结果产生 一个新的关系,它包含了原来关系中的一部分字段。若把 选择看成是横向切取,从关系中选出若干行,则可以把投 影看做是纵向切取,从关系中选出若干列。
文档评论(0)