高级数据库系统作业答疑课件

上传人:陈** 文档编号:253346087 上传时间:2024-12-11 格式:PPT 页数:47 大小:376.50KB
收藏 版权申诉 举报 下载
高级数据库系统作业答疑课件_第1页
第1页 / 共47页
高级数据库系统作业答疑课件_第2页
第2页 / 共47页
高级数据库系统作业答疑课件_第3页
第3页 / 共47页
资源描述:

《高级数据库系统作业答疑课件》由会员分享,可在线阅读,更多相关《高级数据库系统作业答疑课件(47页珍藏版)》请在装配图网上搜索。

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,高级数据库系统作业答疑,2007.1,第一次作业,已知有如下两种段分配,:,A R1,在,Site1,R2,在,Site2,R3,在,Site3.,B R1,和,R2,在,Site1,R2,和,R3,在,Site3.,另已知有如下应用,(,所有应用的频率相同,),A1:,在,Site1,上发出,读,5,个,R1,记录,5,个,R2,记录,A2:,在,Site3,上发出,读,5,个,R3,记录,5,个,R2,记录,A3:,在,Site2,上发出,读,10,个,R2,记录,.,问,:1.,如果以本地应用为主要设

2、计目标,那个分配较优,?,2.,假定,A3,改为要修改,10,个,R2,记录,并仍以本地应用为其设计目标,则那个分配方案较优,?,第一次作业,解:首先完善模型如下:,假定:,B,方案中,Site1,上的,R2,和,Site3,上的,R2,是完全相同的,即冗余;本地读写的代价可忽略不计;所有异地读操作的单位记录代价均相等,记为,1,;所有异地写操作的单位记录代价均相等,记为,1,。,1 A,方案,B,方案,2 A,方案,B,方案,A1,代价,5 0 5 0,A2,代价,5 0 5 0,A3,代价,0 10 0 10+10+10,故可知,第,1,个问题,,A,、,B,两种分配方案代价相等。,第,2

3、,个问题,,A,分配方案较优。,第二次作业,习题,:,假定全局关系和分段模式如下:,全局关系,Doctor(D#,Name,Dept),Patient(P#,Name,Dept,Treat,D#),Care(P#,Drug,QTY),分段模式,Doctor1=SLDEPT=Surgery(Doctor),Doctor2=SLDEPT=Pediatrics(Doctor),Doctor3=SLDEPT,Surgery and DEPT,Pediatrics(Doctor),Patient1=SLDEPT=Surgery and treat=intensing(Patient),Patient2=

4、SLDEPT=Surgery and treat,intensing(Patient),Patient3=SLDEPT,Surgery(Patient),Care1=Care SJ p#=p#Patient1,Care2=Care SJ p#=p#Patient2,Care3=Care SJ p#=p#Patient3,使用变换准则,将下面的全局查询变化为分段查询,并对它们加以简化。当需要时,用限定关系代数消除查询中不用的段。,(a),列出在,Care,中使用,Aspirin,的,Patient,名字;,(b),列出给病人开出接受精细护理的医生名字。,第二次作业,(a),第二次作业,(a),第

5、二次作业,(a),第二次作业,(b),第三次作业,对,R,的另一个简化程序:,R=R SJ S,T=T SJ R,S=S SJ T,计算到,R,不再变化为止,第三次作业,在如下,R,S,的概貌上计算,R JNA=B S,Size(R)=50,Card(R)=100,Val(AR)=50,Size(A)=3,Size(S)=5,Card(S)=50,Val(BS)=50,Size(B)=3,R SJA=B S,的选择度,=0.2,S SJA=B R,的选择度,=0.8,问,:,1.,使用,SJ,简化程序在,R,得站点执行,JN,2.,使用,SJ,简化程序在,S,得站点执行,JN,3.,使用直接连

6、接在,R,站点执行,JN,4.,使用直接连接在,S,站点执行,JN,那种方案较优,?,第三次作业,解:,1.COST1=2C0+C1(Size(A)Val(AR)+Size(S)Card(S),S,SJ R,),=2C0+C1(350+5500.8)=2C0+350C1,2.COST2=2C0+C1(Size(B)Val(BS)+Size(R)Card(R),R,SJ S,),=2C0+C1(350+501000.2)=2C0+1150C1,3.COST3=C0+C1Size(S)Card(S),=C0+C1550 =C0+250C1,4.COST4=C0+C1Size(R)Card(R),=

7、C0+C150100 =C0+5000C1,所以第三种方案最优。,第四次作业,7.2,解:第三句有问题,左边为,string,类型,右边是,City,类型。,cityOfLA.name:=cityOfLA.mayor.spouse.livesIn;,7.4,解:前一种的输出结果为:,Donald Duck,Mickey Mouse,后一种的输出结果为:,60,60,因为前一种是引用语义,而后一种是复制语义。,第四次作业,7.7,解:,引用:,someMaterial:=,id88,;,隐式引用:,myCuboid.mat:=someMaterial;someMaterial.create;,重

8、引用:,w:=myCuboid,.,mat,.,specWeight;,隐式重引用:,anotherMaterial:=myCuboid.mat;myCuboid.mat.create;,第四次作业,7.9,解:,(1)(2),执行完毕后,,mary.chilaren=joe.children=littleJoe,第四次作业,(3)(4),执行完毕后,,betty.children=jimbo,jim.children=,第五次作业,8.8,persistent type Cuboid is,public length,width,height,surface,volume,weight,tr

9、anslate,scale,rotate,certer,diagonal,minDistance;,body v1,v2,v3,v4,v5,v6,v7,v8:Vetex;mat:Material;value:float;,operations,declare surface:,float;,declare scale:Vertex,void,code scaleCuboid;,declare center:,Vertex;,declare diagonal:,float;,declare minDistance:Vertex,float,code minDistanceCode;,第五次作业,

10、implementation,define surface is,return 2.0*(self.length*self.width+self.length*self.height+self.width*self.height);,define scaleCuboid(s)is,begin,self.v1.scale(s);,self.v8.scale(s);,end define scaleCuboid;,第五次作业,define center is,var c:Vertex;,begin,c.create;,c.x=0.5*(self.v1.x+self.v7.x);,c.y=0.5*(

11、self.v1.y+self.v7.y);,c.z=0.5*(self.v1.z+self.v7.z);,return c;,end define certer;,define diagonal is,return self.v1.distance(self.v7);,第五次作业,define minDistanceCode(v)is,var v0;,begin,/,将长方体的,6,个面无限延伸,可将整个空间分为,27,个区域,if(v,在长方体内部或表面上,),return 0;,else begin,根据,v,所在区域,可简单判断出长方体上距,v,最近的点,v0,所在 的面,/,棱,/,顶

12、点,进而求出,v0;,return v.distance(v0);,end else,end deine minDistanceCode;,end type Cuboid;,第五次作业,9.1,答:,(,1,)方法一采用,1:1,关系表示,1:N,关系,存在较多冗余;,不考虑索引,已知,left,查询对应的,right,集时,方法二效果明显好 于方法一;已知,right,查询对应的,left,时,方法一效果好于方法二。,当插入新关系,时,两种方法都无法保证一致性,即原关系,1:N,的语义约束可能被违反,需要对,insert,操作做修改,保证每一 个,Tright,实例仅有至多一个对应的,Tle

13、ft,实例。,删除关系,时,方法一中直接删除对应的,TR,实例,方法二中 只需修改,right,集合,直到,right,集合为空时,才需要删除对应的,TR,实例。,更新操作由插入删除操作组合而成,不再讨论。,(,2,)方法一、二的,insert,操作均需修改,以保证一致性,方法二的,delete,操作也需要修改。修改思想上边已说明,具体算法不再给 出。,第六次作业,10.5,解:,declare connect:Pipe|Pipe,void;,refine connect:ConicalPipe|ConicalPipe,void;,一个合法的重定义要求:,操作名不变,参数个数不变;,操作的接收

14、者类型是原操作中接收者类型的子类;,操作的返回值类型是原操作返回值的子类;,操作的参数类型是原操作参数类型的超类。,题中的重定义仅满足(,1,)(,2,)(,3,),但违反(,4,)。,ConicalPipe,是,Pipe,的子类而非超类,故不合法。,考虑下面的程序段:,var aPipe,anotherPipe:Pipe;,aConicalPipe:ConicalPipe;,anotherPipe:=aConicalPipe;/,可替换性,合法,anotherPipe.connect(aPipe);/,编译通过,执行时由于动态绑定,出错,第六次作业,10.6,解:,继承属性的类型是不能重定义

15、的,必须保持原类型。,(1),子类中继承属性的类型不能是该类型的子类,即特化不合法。,特化举例:,type Person is,body name:string;,age:int;,type Employee supertype Person is,body boss:Employee;,type Manager supertype Employee is,body refine boss:Manager;,第六次作业,程序段:,var anEmp:Employee;,aMgr:Manager;,aMgr.boss:=anEmp;/,语法错误,anEmp.boss:=aMgr;/,可替换性,合

16、法,anEmp.boss.boss:=anEmp;/,语法检查合法,但有潜在问题,(2),子类中继承属性的类型不能是该类型的超类,即泛化不合法。,Person,和,Employee,的类型定义同上,,Manager,类型定义如下:,type Manager supertype Employee is,body refine boss:Person;,程序段:,var aPerson:Person;,anEmp:Employee;,aMgr:Manager;,anEmp.boss:=anEmp;/,合法,aMgr.boss:=anEmp;/,可替换性,合法,aMgr.boss.boss:=anEmp;/,语法错误,第六次作业,12.3,解:,(1),Polymorph declare member(ListType):ListType|ElemType,bool;,define member(t)is,var item:ElemType;,begin,foreach(item in self),if(item=t),return true;,return false;,end defin

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

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  sobing.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!