数据完整性和关系代数_第1页
数据完整性和关系代数_第2页
数据完整性和关系代数_第3页
数据完整性和关系代数_第4页
数据完整性和关系代数_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、关系完整性关系完整性 关系完整性关系完整性是指关系(表)中数据的正确性和一是指关系(表)中数据的正确性和一致性。它致性。它可以保证数据库中数据的正确性和相容性。可以保证数据库中数据的正确性和相容性。数据库完整性通过完整性约束条件来防止数据库中存数据库完整性通过完整性约束条件来防止数据库中存在不符合语义的数据,限制错误的或不合法的数据输在不符合语义的数据,限制错误的或不合法的数据输入数据库中。完整性通常包括入数据库中。完整性通常包括实体完整性实体完整性、参照完整参照完整性性和和用户定义完整性用户定义完整性。1.实体完整性实体完整性 实体完整性要求表中的行有一个唯一标识符,即表有主键,且不允许有空

2、值。例如,有如下关系模式:例如,有如下关系模式:n学生(学号,姓名,性别,专业,年龄)学生(学号,姓名,性别,专业,年龄)学号属性为主键,不能取空值。学号属性为主键,不能取空值。 n成绩(学号,课程号,成绩)成绩(学号,课程号,成绩)学号、课程号属性组合为主键,两者都不能取空值。学号、课程号属性组合为主键,两者都不能取空值。 n 2.参照完整性参照完整性 参照完整性要求有关系的表数据保持一致。即对外键值进行插入或修改时一定要参照主键的值是否存在。对主键进行修改或删除时,也必须参照外键的值是否存在。 例如,在学生管理关系数据库中,如果包括学生例如,在学生管理关系数据库中,如果包括学生关系、课程关

3、系和成绩关系,这关系、课程关系和成绩关系,这3个关系分别如个关系分别如下:下:学生学生(学号,姓名,性别,专业,年龄)(学号,姓名,性别,专业,年龄)课程课程(课程号,课程名,学分)(课程号,课程名,学分)成绩成绩(学号,课程号,成绩)(学号,课程号,成绩)3.用户定义完整性用户定义完整性 指表中任一列的数据类型必须符合用户的定义,或者数据必须在规定的有效范围之内。如性别列的值只能是男或女,属性只能是字符型。1.2.3关系关系代数代数n关系代数是一种抽象的查询语言,通过对关系的关系代数是一种抽象的查询语言,通过对关系的运算来表达查询,作为研究关系数据语言的数学运算来表达查询,作为研究关系数据语

4、言的数学工具。工具。 n关系代数的运算对象是关系,运算结果也是关系。关系代数的运算对象是关系,运算结果也是关系。1.关系运算符关系运算符 关系运算符分为关系运算符分为集合运算符集合运算符、专门的关系运专门的关系运算符算符、比较运算符比较运算符和和逻辑运算符逻辑运算符4类,如表类,如表1-1所示。对于关系数据库,系统要提供关系数据所示。对于关系数据库,系统要提供关系数据语言进行相关操作。语言进行相关操作。 表1-1关系运算符运 算 符含 义运 算 符含 义集合运算符并差交笛卡尔积比较运算符大于大于等于小于小于等于等于不等于专门的关系运算符 选择投影连接除逻辑运算符非与或2.传统的集合运算传统的集

5、合运算 集合运算是把关系看成元组的集合,其运算是从行的集合运算是把关系看成元组的集合,其运算是从行的角度进行,主要包括并、差、交及笛卡尔积角度进行,主要包括并、差、交及笛卡尔积4种运算。关种运算。关系系R和关系和关系S,如图所示。,如图所示。 图1-101)并)并 关系关系R和关系和关系S的并集为:的并集为:RS。组成的新关系包括。组成的新关系包括了了R与与S中所有的元组,即中所有的元组,即RS=tRtS。关系。关系R和和S,则,则RS结果如图所示。结果如图所示。2)差)差关系关系R与关系与关系S的差记为:的差记为:R-S。相当于由属于。相当于由属于R但不属于但不属于S的元组组成的关系,即的元

6、组组成的关系,即R-S= tRtS,如图所示,如图所示。3)交)交 关系关系R和关系和关系S的交记为的交记为RS。其结果是由既属于。其结果是由既属于R又又属于属于S的元组组成的关系,即的元组组成的关系,即RS=tRtS,如图所,如图所示。示。4)笛卡尔积)笛卡尔积 关系关系R和关系和关系S笛卡尔积记为笛卡尔积记为RS。设有。设有n目关系目关系R及及m目关系目关系S,它们分别有,它们分别有p、q个元组,则新关系是一个个元组,则新关系是一个(n+m)目关系,元组个数)目关系,元组个数pq,由,由R与与S有序组合而成。有序组合而成。注意:注意:笛卡尔积运算后,得到新的表,该表中元组数是运算笛卡尔积运

7、算后,得到新的表,该表中元组数是运算前两表中元组数目相乘,它的属性则是运算前表中属性相前两表中元组数目相乘,它的属性则是运算前表中属性相加。记为加。记为RS=trts|trRtsS。如图所示。如图所示。 3.专门的关系运算专门的关系运算 n专门的关系运算把关系看成是属性的集合,其运算可专门的关系运算把关系看成是属性的集合,其运算可以从行的方向进行运算,也需要从列的角度进行运算。以从行的方向进行运算,也需要从列的角度进行运算。其中最常用的是其中最常用的是选择选择、投影投影和和连接连接运算,这是任何一运算,这是任何一个关系数据库管理系统都必须具备的个关系数据库管理系统都必须具备的3种基本操作。种基

8、本操作。1)选择()选择(selection) 选择运算就是按照一定的条件在给定关系中选取若干选择运算就是按照一定的条件在给定关系中选取若干个元组,组成一个新的结果关系,它可以是永久的,也个元组,组成一个新的结果关系,它可以是永久的,也可以是暂时的。结果是由原来关系的一部分组成的新的可以是暂时的。结果是由原来关系的一部分组成的新的关系。关系。 【例1-1】在左图学生信息表(关系 R)中选择出女生,其选择结果如右图所示。n 2)投影()投影(projection) 投影运算是对关系中记录属性进行操作,其结果产生投影运算是对关系中记录属性进行操作,其结果产生一个新的关系,它包含了原来关系中的一部分

9、字段。若把一个新的关系,它包含了原来关系中的一部分字段。若把选择看成是横向切取,从关系中选出若干行,则可以把投选择看成是横向切取,从关系中选出若干行,则可以把投影看做是纵向切取,从关系中选出若干列。影看做是纵向切取,从关系中选出若干列。 n【例1-2】列出左图学生信息表(关系R)中学生的姓名和性别,投影运算结果如右图所示。3)连接()连接(join)(1)连接:连接:连接是从关系连接是从关系R和关系和关系S的笛卡尔积的笛卡尔积(RS)中中选取属性值满足某一操作的元组。记作:选取属性值满足某一操作的元组。记作: RijS=i(rj)(RS) 其中,其中,r是关系是关系R的元组。的元组。(2)F连接:连接:F连接是从关系连接是从关系R和关系和关系S的笛卡尔积中选取属的笛卡尔积中选取属性间满足某一公式性间满足某一公式F的元组,记为的元组,记为RFS。【例例1-3】将学生成绩信息表将学

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论