资源描述:
《第7章关系数据库系统基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章关系数据库系统基础本章主要内容:1.关系模型的数学定义2.结构化查询语言SQL3.关系数据库理论:函数依赖和规范化4.安全性和完整性17.1关系模型的数学定义和关系代数一.关系模型的数学定义1.域:同类型值的集合。如整数集合、字母集合等。2.笛卡尔积:由一组域D1,D2,…,D产生3.元组:笛卡尔积集合中的每个元素称为一个元组.4.关系:笛卡尔积集合的一个子集。2笛卡尔乘积举例设有三个集合:NAME、AGE、SEXNAMEAGESEXNAS(NAMEAGESEX)=刘王2120男女NAM
2、EAGESEX刘21男刘21女刘20男刘20女王21男王21女王20男王20女(刘,21,男)是其中一个元组3个分量分别为刘,21,男.3二.关系组成1.关系用二维表表示第一行:字段名的集合,关系框架(结构)其它行:元组或记录列:属性(域)或属性2.关系模式:一个关系的属性名表格式:关系名(属性名表)例如:STUDENT(学号,姓名,性别,年龄)4二.关系组成3.关系的基本性质每一列不能再分每一列属性的值具有相同的数据类型不允许有重复的列不允许有相同的记录行、列次序均无关5二.关系组成4.关系中的键(
3、码)(1)候选键:关系中可以唯一标识元组的属性或属性集合.例1关系STUDENT例2关系SCORE学号姓名年龄学号课号成绩99001张平1999001C019099002李化2099001C028999003王一1899002C02706二.关系组成(2)主键(主码)在多个候选键中选择一个(3)外键用来联系两个关系的一组属性,在一个关系中不是候选健,在另一个关系中是候选键,如上例中的学号.(4)主属性:属于候选键中的属性(5)非主属性:不属于候选键中的属性7三.关系数据库1.关系数据库以关系模式为基础
4、2.组成数据结构+关系操作+完整性约束3.完整性约束1)实体完整性:要求主属性非空2)参照完整性:关系之间的参照3)用户定义完整性:例如,0≤数学≤1008四.关系代数及关系运算示例:关系STUDENT学号姓名专业性别数学物理化学99001沈小平计算机女85767699002陆华计算机女96929599003王华计算机女91929999004郭勇计算机男89969699005魏明计算机男8985829四.关系代数及关系运算1.选择从指定关系中选择出符合条件的元组组成新的关系。举例:从关系STUDENT
5、中,选择总成绩不低于270分的记录。条件:数学+物理+化学>=270结果:学号姓名专业性别数学物理化学99002陆华计算机女96929599003王华计算机女91929999004郭勇计算机男89969610四.关系代数及关系运算2.投影从指定关系的属性集合中选取部分属性组成新的关系。举例:从关系STUDENT中,选择“姓名”、“专业”、“物理”三个属性构成新关系。结果:姓名专业物理沈小平计算机76陆华计算机92王华计算机92郭勇计算机96魏明计算机8511四.关系代数及关系运算3.联接将两个关系中的
6、元组按指定条件进行组合,生成一个新的关系举例:将下面两个关系按学号合并。学号姓名数学英语学号姓名体育8612162陆华96928612162陆华良8612104王华91928612104王华良8612105郭勇89968612107刘平优结果:学号姓名数学英语体育8612162陆华9692良8612104王华9192良12四.关系代数及关系运算4.并运算两个关系R和S的并结果由属于R或属于S的元组组成。R∪S13并运算举例名称颜色长度的确良白1000华达呢黑2000名称颜色长度的确良黑2000华达呢黑
7、2000名称颜色长度的确良白1000的确良黑2000华达呢黑2000关系S关系R∪S关系R14四.关系代数及关系运算5.交运算关系R和S的交由既属于R又属于S的元组组成。RSR∩S15交运算举例名称颜色长度的确良白1000华达呢黑2000名称颜色长度的确良黑2000华达呢黑2000名称颜色长度华达呢黑2000关系S关系R∩S关系R16四.关系代数及关系运算6.差运算关系R和S的差R-S,由属于R而不属于S的元组组成RSR-S17差运算举例名称颜色长度的确良白1000华达呢黑2000名称颜色长度的确良黑
8、2000华达呢黑2000名称颜色长度的确良白1000关系S关系R-S关系R18四.关系代数及关系运算关系A关系BXYZUVx1y11x2y22u1v11v2关系C=AxBXYZUVx1y11u1v1x1y111v2x2y22u1v1x2y221v27.笛卡尔积两个关系A和B的笛卡尔积是一个元组集合C。C中属性个数为A和B的属性个数之和,元组个数为A和B各自元组个数的乘积。举例:197.2结构化查询语言一.概述1.SQL结构化查询语言:关系数据库的标准查询