关系数据模型与关系运算.ppt
*数据库系统基础教程第2章关系数据模型与关系运算2.1关系数据模型关系与关系表形式化定义:关系——笛卡尔乘积子集
意义:将数据模型置于严格数学基础之上
直观性描述:关系表——二维平面表格
意义:将数据模型置于实际背景和应用实现基础之上
第2章关系模型与运算:2.1关系数据模型(1)关系与关系表(2)1基本表:实际存储数据逻辑表示
特点:数据库中实际保存
视图表:基本表和其他视图的导出表示
特点:数据库中保存模式,不保存具体数据值
查询表:用户查询结果对应表示
特点:如果不提出请求,数据库中将不保存2第2章关系模型与运算:2.1关系数据模型(1)3关系表的
三种类型4关系与关系表(2)超键:唯一标识元组的属性集合
候选键:不含多余属性的超键
主键:选定用于标识的候选键
外键:R2的主键K是R1的属性子集,
则K为R1外键第2章关系模型与运算:2.1关系数据模型(1)123关系的键4关系数据结构(1)01如果使用下述方式组织数据,
则称定义了一个关系数据结构02第2章关系模型与运算:2.1关系数据模型(2)03以二维平面表格表示实体集
以“键”表示该实体集中实体标识和该实体集与其它实体集之间关联04关系数据结构(2)01关系结构基本性质02第2章关系模型与运算:2.1关系数据模型(2)03列的同质性04异列同域性05列的无序性06元组相异性07属性原子性08关系数据操作(1)第2章关系模型与运算:2.1关系数据模型(3)多个关系的合并关系查询单个关系内元组选择单个关系内属性指定关系数据操作(2)01010203040506关系更新第2章关系模型与运算:2.1关系数据模型(3)元组插入元组删除元组修改0203040506关系数据操作(3)空值处理第2章关系模型与运算:2.1关系数据模型(3)限定主键不能取空值定义空值相应运算010302040512543关系数据操作(4)关系操作的数学理论第2章关系模型与运算:2.1关系数据模型(3)基于集合:关系代数基于逻辑:关系演算12345关系数据完整性约束实体完整性约束第2章关系模型与运算:2.1关系数据模型(4)数据定义中主键非空数据操作中外键约束和元组间联系约束参照完整性约束自定义完整性约束数据定义中基于应用背景的属性约束2.2关系代数基于更新的代数运算插入运算:集合的并运算
第2章关系模型与运算:2.2关系代数(1)设有同类关系R、S(即R、S具有相同的关系模式),则二者的并运算定义为:
R?S={t|t?R?t?S}R?S合并结果中要去掉相同的行*ABC367257723443RABC345723SABC367257723443345R∪S基于更新的代数运算第2章关系模型与运算:2.2关系代数(1)删除运算:集合的差运算设有同类关系R、S,则二者的差运算定义为:R?S*ABC367257723443RABC345723SABC367257443R-SABC367S-R修改关系R内元组内容可用下面方法实现:
●设需要修改的元组构成关系R1,则先做删除,得R-R1。
●设修改后的元组构成关系R2,此时将其插入,得到结果(R-R1)∪R2。第2章关系模型与运算:2.2关系代数(1)基于更新的代数运算修改运算:集合的差运算与并运算第2章关系模型与运算:2.2关系代数(2)基于查询的代数运算属性列的制定:投影运算设有k元关系R,其元组变量为tk=t1,t2,…,tk,那么关系R在其分量Ai1,Ai2,…,Ain(n≤k,i1,i2,…,in为1到k之间互不相同的整数)上的投影定义为:cbcfedcbaCBABCbcefR?B,C(R)投影的结果中要去掉相同的行*第2章关系模型与运算:2.2关系代数(2)基于查询的代数运算元组集合的选择:选择运算设有k元关系R,条件用一命题公式F表示,则从关系R中选择出满足条件F的行定义