数据库系统概念-第3章关系数据库.ppt
差运算**差(R-S):设关系R与关系S均是n目关系,关系R与关系S的差记为:R-S={t|t∈R∧t∈S}其结果仍是n目关系,由属于R但不属于S的元组组成。R∩S=R-(R–S)交、差运算示例**顾客号姓名性别年龄S02李丽女34顾客号姓名性别年龄S01张宏男45S02李丽女34S03王敏女28顾客号姓名性别年龄S02李丽女34S04钱景男50S06王平女24R∩S顾客号姓名性别年龄S01张宏男45S03王敏女28R-SRS广义笛卡尔积**两个分别为n目和m目的关系R和关系S的笛卡尔积是一个(m+n)列的元组的集合。元组的前n个列是R的一个元组,后m个列是S的一个元组。若R有K1个元组,S有K2个元组,则关系R和关系S的广义笛卡尔积有K1×K2个元组,记做:R×S={tr^ts|tr∈R∧ts∈S}tr^ts表示由元组tr和ts前后有序连接而成的一个元组。任取元组tr和ts,当且仅当tr属于R且ts属于S时,tr和ts的有序连接即为R×S的一个元组。笛卡尔积示例**×=3.4.2专门的关系运算**01020304选择运算(Select)投影运算(Project)连接运算(Join)除运算(Division)选择运算**从指定的关系中选择满足给定条件(用逻辑表达式表达)的元组而组成一个新的关系。条件表达式,取逻辑“真”值或“假”值σF(R)={r|r∈R∧F(r)=‘真’}选择运算示意图**…σF(R)R…01020403选择运算示例**例.查询计算机系学生信息。σSdept=‘计算机系’(Student)有Student关系:SnoSnameSsexSageSdept0811101李勇男21计算机系0811102刘晨男20计算机系0811103王敏女20计算机系0811104张小红女19计算机系0821101张立男20信息管理系0821102吴宾女19信息管理系0821103张海男20信息管理系0811101李勇男21计算机系0811102刘晨男20计算机系0811103王敏女20计算机系0811104张小红女19计算机系投影运算**从关系R中选择若干属性,并用这些属性组成一个新的关系。1属性列序列ΠA(R)=(t(A)|t∈R)2投影运算示意图**RΠA(R)投影投影运算示例**例2.查询学生的姓名和所在系。∏sname,sdept(Student)有Student关系:SnoSnameSsexSageSdept0811101李勇男21计算机系0811102刘晨男20计算机系0811103王敏女20计算机系0811104张小红女19计算机系0821101张立男20信息管理系0821102吴宾女19信息管理系0821103张海男20信息管理系Sname李勇刘晨王敏张小红张立吴宾张海Sdept计算机系计算机系计算机系计算机系信息管理系信息管理系信息管理系连接运算**连接运算用来连接相互之间有联系的两个关系,从而产生一个新的关系。连接运算具有如下几种形式:θ连接等值连接(θ连接的特例)自然连接外部连接(或称外连接)半连接12主键示例**学生(学号,姓名,性别,年龄,所在系)学号选课(学号,课程号,成绩)选课(学号,课程号,考试次数,成绩)学号,课程号学号,课程号,考试次数010203040506基本术语(续)**主属性:包含在任一候选键中的属性称为主属性。非主属性:不包含在任一候选键中的属性称为非主属性。选课(学号,课程号,成绩)学号,课程号成绩术语对比**关系术语一般的表格术语关系名表名关系模式表头(表所含列的描述)关系(一张)二维表元组记录或行属性列分量一条记录中某个列的值3.2.2形式化定义**定义笛卡尔积:设D1,D2,…,Dn为任意集合,定义笛卡尔积D1,D2,…,Dn为:D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}其中每一个元素(d1,d2,…,dn)称为一个n元组,简称元