基本概念传统的集合运算专门的关系运算第2章关系数据库系统2.
3关系代数1.
基本概念(1)域域是一组具有相同数据类型的值的集合.
例如,自然数、整数、实数、一个字符串、{男,女},大于10小于等于90的正整数等都可以是域.
(2)笛卡尔积设D1,D2,…,Dn为任意集合,定义笛卡尔积D1,D2,…,Dn为:D1*D2*…*Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}其中每一个元素(d1,d2,…,dn)称为一个n元组,简称元组.
元组中每一个di称为是一个分量.
笛卡儿乘积示例设:D1={计算机软件专业,信息科学专业}D2={张珊,李海,王宏}D3={男,女}则D1*D2*D3笛卡尔积为:D1*D2*D3={(计算机软件专业,张珊,男),(计算机软件专业,张珊,女),(计算机软件专业,李海,男),(计算机软件专业,李海,女),(计算机软件专业,王宏,男),(计算机软件专业,王宏,女),(信息科学专业,张珊,男),(信息科学专业,张珊,女),(信息科学专业,李海,男),(信息科学专业,李海,女),(信息科学专业,王宏,男),(信息科学专业,王宏,女)}笛卡尔积实际上就是一个二维表笛卡尔积D1,D2,…,Dn的任意一个子集称为D1,D2,…,Dn上的一个n元关系.
形式化的关系定义同样可以把关系看成二维表,给表的每个列取一个名字,称为属性.
n元关系有n个属性,一个关系中的属性的名字必须是唯一的.
属性Di的取值范围(i=1,2,…,n)称为该属性的值域(domain).
从集合论的观点也可以将关系定义为:关系是一个有K个属性的元组的集合.
(3)关系D1*D2*…*Dn的子集叫作在域Dl,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)这里R表示关系的名字,n是关系的目或度(Degree);当n=1时,称该关系为单目关系(Unaryrelation);当n=2时,称该关系为二目关系(Binaryrelation).
关系是笛卡儿积的有限子集,所以关系也是一个二维表.
关系代数8p关系代数是一种抽象的查询语言,它通过对关系的运算来表达查询要求.
p关系代数的运算对象是关系,运算结果也是关系.
p关系代数的运算符包括四类:集合运算符专门的关系运算符算术比较符逻辑运算符9关系代数的运算符2.
传统的集合运算传统的集合运算是二目运算,设关系R和S均是n元关系,且相应的属性值取自同一个值域,则可以定义四种运算:并运算(∪)交运算(∩)差运算(―)广义笛卡尔积并、交、差运算示意图RSRSRS(1)并运算关系R与关系S的并记为:R∪S={t|t∈R∨t∈S}其结果仍是n目关系,由属于R或属于S的元组组成.
顾客号姓名性别年龄S01张宏男45S02李丽女34S03王敏女28顾客号姓名性别年龄S02李丽女34S04钱景男50S06王平女24顾客号姓名性别年龄S01张宏男45S02李丽女34S03王敏女28S04钱景男50S06王平女24(2)交运算关系R与关系S的交记为:R∩S={t|t∈R∧t∈S}其结果仍是n目关系,由属于R并且也属于S的元组组成.
顾客号姓名性别年龄S01张宏男45S02李丽女34S03王敏女28顾客号姓名性别年龄S02李丽女34S04钱景男50S06王平女24顾客号姓名性别年龄S02李丽女34(3)差运算关系R与关系S的差记为:R-S={t|t∈R∧tS}其结果仍是n目关系,由属于R并且也属于S的元组组成.
顾客号姓名性别年龄S01张宏男45S02李丽女34S03王敏女28顾客号姓名性别年龄S02李丽女34S04钱景男50S06王平女24顾客号姓名性别年龄S01张宏男45S03王敏女28(4)广义笛卡尔积两个分别为n目和m目的关系R和关系S的广义笛卡尔积是一个(m+n)列的元组的集合.
元组的前n个列是关系R的一个元组,后m个列是关系S的一个元组.
若R有K1个元组,S有K2个元组,则关系R和关系S的广义笛卡尔积有K1*K2个元组,记做:R*S={tr^ts|trR∧tsS}tr^ts表示由两个元组tr和ts前后有序连接而成的一个元组.
广义笛卡尔积示例ABa1b1a2b2CDEc1d1e1c2d2e2c3d3e3ABCDEa1b1c1d1e1a1b1c2d2e2a1b1c3d3e3a2b2c1d1e1a2b2c2d2e2a2b2c3d3e3(1)选择(Selection)σF(R)={r|r∈R∧F(t)='真'}其中:σ是选择运算符,R是关系名,r是元组,F是逻辑表达式,取逻辑"真"值或"假"值.
RσF(R)…3.
专门的关系运算SnoSnameSsexSageSdept9512101李勇男19计算机系9512102刘晨男20计算机系9512103王敏女20计算机系9521101张立男22信息系9521102吴宾女21信息系9521103张海男20信息系例,选择计算机系的学生信息:σSdept='计算机系'(Student)(2)投影(Projection)∏A(R)={r.
A|r∈R}其中:∏是投影运算符,R是关系名,A是被投影的属性或属性组.
r.
A表示r这个元组中相应于属性(集)A的分量,也可以表示为r[A].
RΠA(R)投影投影运算示意图SnoSnameSsexSageSdept9512101李勇男19计算机系9512102刘晨男20计算机系9512103王敏女20计算机系9521101张立男22信息系9521102吴宾女21信息系9521103张海男20信息系例,选择sname,sdept两个列构成新关系:∏sname,sdept(Student)(3)连接其中:A和B分别是关系R和S上可比的属性组,θ是比较运算符,连接运算从R和S的广义笛卡尔积R*S中选择(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较运算符θ的元组.
等值连接当θ为"="时的连接为等值连接,是从关系R与关系S的广义笛卡尔积中选取A,B属性值相等的那些元组.
自然连接自然连接去掉结果中的重复列.
自然连接与等值连接的差别为:自然连接要求相等的分量必须有共同的属性名,等值连接则不要求;自然连接要求把重复的属性名去掉,等值连接却不这样做.
等值连接示例snosnameSsexSageSdeptsnocnograde9512101李勇男19计算机系9512101c01909512101李勇男19计算机系9512101c02869512102刘晨男20计算机系9512102c02789512102刘晨男20计算机系9512102c04669521102吴宾女21信息系9521102c01829521102吴宾女21信息系9521102c02759521102吴宾女21信息系9521102c04929521102吴宾女21信息系9521102c0550自然连接示例snosnameSsexSageSdeptcnograde9512101李勇男19计算机系c01909512101李勇男19计算机系c02869512102刘晨男20计算机系c02789512102刘晨男20计算机系c04669521102吴宾女21信息系c01829521102吴宾女21信息系c02759521102吴宾女21信息系c04929521102吴宾女21信息系c0550(4)除(Division)除法的简单形式设关系S的属性是关系R的属性的一部分,则R÷S为这样一个关系:此关系的属性是由属于R但不属于S的所有属性组成;R÷S的任一元组都是R中某元组的一部分.
但必须符合下列要求,即任取属于R÷S的一个元组t,则t与S的任一元组连接后,都为R中原有的一个元组.
【例】计算R÷W27ABC1a52b63C71d8BCDd81a52关系R关系WA11、首先确定R和W中相同的属性B,C2、在关系R中,求A的象集:1的象集为{(a,5),(d,8)}2的象集为{(b,6)}3的象集为{(c,7)}3、求出W在B,C上的投影{(a,5),(d,8)}4、只有1的象集包含了W在BC上的投影5、R÷W的结果为:28[例]设关系R、S分别为下图的(a)和(b),R÷S的结果为图(c)4、除(Division)关系代数运算举例29(1)查询"网络原理"课程的基本情况(2)查询选修了课程的学号和课程信息(3)查询所有专业课的课程名称(4)查询选修了0002号课程的学生学号及成绩(5)查询选修过课程的学生的基本情况、选修情况以及课程情况信息(6)查询选修了"计算机文化基础"的学生姓名和性别(7)查询选修了全部课程的学生学号信息CnoCnameCCreditCKind0003网络原理3专业课CnoCnameCCreditCKind0001数据库原理3专业课0002ACM程序设计2选修课0003网络原理3专业课0004计算机文化基础2公共课Course结果为:1查询"网络原理"课程的基本情况σCname='网络原理'(Course)πSno,Cno(SC)31SnoCnoGrade208001000180208001000285208001000375208001000490208002000378208003000184208003000465208004000395SCSnoCno208001000120800100022080010003208001000420800200032080030001208003000420800400032、查询选修了课程的学号和课程信息(3)πCname(σCKind='专业课'(Course))32CnoCnameCCreditCKind0001数据库原理3专业课0003网络原理3专业课Cname数据库原理网络原理3、查询所有专业课的课程名称(4)πSno,Grade(σCno='0002'(SC))33SnoCnoGrade208001000285SnoGrade208001854、查询选修了0002号课程的学生学号及成绩(5)SCStudentCourseSnoCnoGradeSnameBirthSsexCnameCCreditCKind208001000180李东生1989男数据库原理3专业课208001000285李东生1989男ACM程序设计2选修课208001000375李东生1989男网络原理3专业课208001000490李东生1989男计算机文化基础2公共课208002000378胡锐1990男网络原理3专业课208003000184李德歌1988男数据库原理3专业课208003000465李德歌1988男计算机文化基础2公共课208004000395秦彩钦1990女网络原理3专业课5、查询选修过课程的学生的基本情况、选修情况以及课程情况信息πSname,SSex(σCname='计算机文化基础'(SCStudentCourse))SnameSsex李东生男李德歌男6、查询选修了"计算机文化基础"的学生姓名和性别(7)πSno,Cno(SC)÷CourseSnoCno20800100012080010002208001000320800100042080020003208003000120800300042080040003Sno2080017、查询选修了全部课程的学生学号信息关系代数操作小结操作表示方法功能选择σF(R)产生一个新关系,其中只包含R中满足指定谓词的元组.
投影∏a1,a2,…,an(R)产生一个新关系,该关系由指定R的属性组成的一个垂直子集组成,并且去掉了重复的元组.
连接产生一个新关系,该关系包含了R和S的笛卡尔乘积中所有满足θ运算的元组.
自然连接产生一个新关系,由关系R和S在所有公共属性x上的相等连接得到,并且在结果中,每个公共属性只保留一个.
并R∪S产生一个新关系,它由R和S中所有不同的元组构成.
R和S必须是可进行并运算的.
交R∩S产生一个新关系,它由既属于R又属于S的元组构成.
R和S必须是可进行交运算的.
差R-S产生一个新关系,它由属于R但不属于S的元组构成.
R和S必须是可进行差运算的.
笛卡尔乘积R*S产生一个新关系,它是关系R中的每个元组与关系S中的每个元组的并联的结果.
除R÷S产生一个属性集合C上的关系,该关系的元组与S中的每个元组组合都能在R中找到匹配的元组,这里C是属于R中但不属于S的属性集合.
有一段时间没有分享Gcore(gcorelabs)的信息了,这是一家成立于2011年的国外主机商,总部位于卢森堡,主要提供VPS主机和独立服务器租用等,数据中心包括俄罗斯、美国、日本、韩国、新加坡、荷兰、中国(香港)等多个国家和地区的十几个机房,商家针对不同系列的产品分为不同管理系统,比如VPS(Hosting)、Cloud等都是独立的用户中心体系,部落分享的主要是商家的Hosting(Virtu...
AlphaVPS是一家保加利亚本土主机商(DA International Group Ltd),提供VPS主机及独立服务器租用等,数据中心包括美国(洛杉矶/纽约)、德国、英国和保加利亚等,公司办公地点跟他们提供的保加利亚数据中心在一栋楼内,自有硬件,提供IPv4+IPv6,支持PayPal或者信用卡等方式付款。商家提供的大硬盘VPS主机,提供128GB-2TB磁盘,最低年付15欧元起,也可以选择...
百驰云成立于2017年,是一家新国人IDC商家,且正规持证IDC/ISP/CDN,商家主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、云虚拟主机、专属服务器托管、带宽租用等产品和服务。百驰云提供源自大陆、香港、韩国和美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以及国际顶尖品牌硬件。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端...
什么是关系型数据库为你推荐
操作http常回家snsprimarily网易yeahphpweb破解怎样破解握手包cisco2960配置cisco 2960 配置VLAN上网中国企业在线用什么软件查找中国所有企业名称资费标准中国移动4g18元套餐介绍闪拍网关于闪拍网骗人的情况?佛山海虹广东海虹药通电子商务有限公司怎么样?dedecms自动采集织梦采集侠的功能介绍
免费com域名申请 hostigation 阿里云搜索 香港bgp机房 国外php主机 godaddy支付宝 双12活动 天猫双十一秒杀 怎样建立邮箱 免费智能解析 申请网页 789电视剧 丽萨 万网空间 万网注册 广州主机托管 免费赚q币 第八届中美互联网论坛 删除域名 神棍节 更多