第1页共6页华侨大学2013年硕士研究生入学考试专业课试卷招生专业软件工程科目名称数据库系统原理科目代码849一、选择题(每题2分,共40分)1、数据库中存储的是(1)。A)数据B)数据模型C)数据之间的联系D)数据以及数据之间的联系数据2、用二维表结构表达实体集的数据库模型是(2)。A)关系模型B)网状模型C)层次模型D)面向对象模型3、SQLServer是一个基(3)。A)层次模型的DBMSB)网状模型的DBMSC)关系模型的应用程序D)关系模型的DBMS4、如何构造出一个合适的数据逻辑结构是(4)主要解决的问题。A)关系数据库优化B)数据字典C)关系数据库规范化理论D)关系数据库查询5、一个实体集的键是由另一个实体集的部分或全部属性构成,这样的实体集叫做(5)。A)弱实体集B)外部实体C)联系实体D)引用实体6、在E-R图向关系模式转换中,如果两实体之间是多对多的联系,则必须为联系建立一个关系,该联系对应的关系模式属性只包括(6)。A)联系本身的属性B)联系本身的属性及所联系的任一实体的主键C)自定义的主键D)联系本身的属性及所联系的双方实体的主键7、在关系数据库中,表与表之间的联系是通过(7)实现的。A)实体完整性规则B)引用完整性规则C)用户自定义的完整性规则D)值域8、在概念模型中的一个实体对应于数据库中的一个关系的一个(8)。A)属性B)字段C)列D)元组第2页共6页9、有关系R和S,关系代数运算RS等价于(9)。A)S-(R-S)B)R-(R-S)C)R-SD)S-R10、五种基本关系代数运算是(10)。A)∪,-,×,π和σB)∪,-,,π和σC)∪,∩,×,π和σD)∪,∩,,π和σ传统集合运算:并,差,交,笛卡尔积专门的关系运算:选择,投影,连接,除11、在数据库技术中,未提交的随后又被撤消的数据称为(11)。A)错误数据B)冗余数据C)过期数据D)脏数据12、以下对视图的叙述中错误的是(12)。A)对任意的视图都可以进行插入、删除和修改操作B)视图的属性可以重命名C)对于任何视图查询,都可以将其转化为等价关系上对基表的查询处理D)无论视图是否可更新,都可以对视图进行删除操作13、关于第三范式描述正确的是(13)。A)一个关系属于第第一范式,它就属于第三范式B)一个关系模式属于BC范式,它就属于第三范式C)一个关系实例有数据冗余,它就是属于第三范式D)一个关系实例没有数据冗余,它就是属于第三范式14、在关系模式r(u,f)中,如果x→y,且存在x的真子集x1,使x1→y,称函数依赖x→y为(14)。A)平凡函数依赖B)部分函数依赖C)完全函数依赖D)传递函数依赖15、有如下关系:学生(学号,姓名,性别,专业号,年龄),将属性年龄的取值范围定义在0-120之间属于符合(15)。A)实体完整性B)参照完整性C)用户定义的完整性D)逻辑完整性16、设R是含属性A1,A2,A3,……,An的关系。如果A1是仅有的键,则R有(16)个超键。第3页共6页招生专业软件工程科目名称数据库系统原理科目代码849A)n-1B)nC)2n-1D)2n17、下面叙述中正确的是(17)。A)若关系模式R是3NF,则R一定是BCNFB)关系模式的最高范式是BCNFC)任何一个关系模式可分解为BCNF,分解过程即保持函数依赖又具有无损失连接特性D)A和B是关系模式R的两个属性,若函数依赖AB成立,则AB也一定成立18、物理数据独立性是指(18)。A)概念模式改变,外模式和应用程序不变B)概念模式改变,内模式不变C)内模式改变,概念模式不变D)内模式改变,外模式和应用程序不变19、设关系模式R(A,B,C),F是R上成立的FD集,F={A→B,C→B},R上的分解ρ={AB,AC},则分解ρ(19)。A)保持函数依赖集FB)丢失了C→BC)丢失了A→BD)是否保持FD,由R的当前关系确定20、下面对于一个“弱实体集”的说法中,不正确的是(20)。A)一定有一个多对一的联系到其它实体集。B)自身属性不能构成完整的键。C)可单独存在,而无需其它实体集。D)可以有自己的属性。二、简答题(每题5分,共40分)1、什么是关系,简述关系的基本性质。2、简述等值连接与自然连接的区别和联系。3、什么是事务,简述事务的四个特性。4、关系规范化依据什么进行,规范化采用的方法是什么,在规范化过程中应注意什么问题。5、简述E-R模型设计中应该遵循的原则。6、什么是数据库的完整性规则,关系数据库的完整性规则有哪几类,举例说明。第4页共6页招生专业软件工程科目名称数据库系统原理科目代码8497、设T1,T2,T3是如下三个事务,其中R为数据库中某个数据项,设R的初值为0。T1:R:=R+5T2:R:=R*3T3:R:=2若允许三个事务并行执行,试列出所有可能的正确结果。采用什么手段,可以解决并行调度的不一致问题。8、设关系模式R(A,B,C)上有一个多值依赖A→→B。如果已知R的当前关系中存在三组(a,b1,c1)、(a,b2,c2)和(a,b3,c3),那么这个关系中至少还应存在哪些元组。三、计算题(共50分)1、设关系U、V如右下图所示,在包上做下列关系运算,写出运算结果。(10分)(1)∏A,B(U)∪V(2)∏A,B(U)-V(3)UV(4)γA,COUNT(*)D,SUM(B)E(U)(5)UVCV.BUV2、设有如下三个关系:职工(职工号,姓名,性别,职务,部门编号)部门(部门编号,部门名称,地址,电话)保健(保健卡编号,职工号,检查身体日期,健康状况)若要检索“财务科”中健康状况为“良好”的职工姓名,写出相应的关系代数表达式,并画出相应的语法树,并判断该语法树是否是最优的,并说明为什么,如果不是最优的,对该语法树进行优化,并写出优化后的关系代数表达式。(8分)ABC123345356169AB12343456第5页共6页招生专业软件工程科目名称数据库系统原理科目代码8493、已知关系模式R(A,B,C,D,E),R上的函数依赖集为:ABC,DEC,BD。完成以下问题:(共11分)(1)求关系模式R的键。(3分)(2)从给定的函数依赖集推出所有没有冗余的非平凡函数依赖。(3分)(3)判断R是否为BCNF,若不是则指出违反BCNF条件的函数依赖,并将R分解为满足BCNF的关系集合。(5分)4、设有一银行帐号关系BankAccount(BankAccountId,UserName,Balance,LastUpdate)其中,BankAccountId表示银行账号,UserName表示用户,Balance表示余额。假设张三在招商银行北京分行开设了一个账号(帐号为:1001),账号的余额是10,000。张三在网上做了一笔交易,交易额100,买方小王通过银行汇款100到张三的北京分行的账号(见下面左图),柜台操作人员向张三账号存入100(事务T1),(假设转账需要20秒,用WAITFORDELAY'00:00:20'代替),正在此时张三在ATM查了一下他账号上余额(事务T2),发现已经是10100,于是回去发货,但是事务T1在写操作日志时超时,事务T1回滚,两个并发事务如下图所示:请回答以下问题:(1)请分析上述两个并发事务执行是会发生什么情况,为什么?(3分)(2)为上面存在的问题提出解决方案。(3分)事务T1:(小王转100元到张三帐号,但由于超时事务被撤销)BEGINTRANSACTIONUPDATEBankAccountSETBalance=Balance+100WHEREBankAccountId=‘1001’WAITFORDELAY'00:00:20'ROLLBACK事务T2:(张三在T1被撤销前查询到自己的帐号多了100元)BEGINTRANSACTIONSETTRANISOLATIONLEVELREADUNCOMMITTEDSELECTBalanceFROMBankAccountWHEREBankAccountId=‘1001’COMMIT第6页共6页(1)读脏数据,因为第二个事务看到的是由第一个事务所写的元组,而该元组后来又被事务一所修改。(2)SETTRANSACTIONREADWRITE事务可以写数据ISOLATIONLEVELREADUNCOMMITTED“读未提交”的隔离层次运行5、假设一个数据库中有3个关系:客户关系:C(C#,CN,CA),属性的含义依次为客户号、客户名称和地址;产品关系:P(P#,PN,PR,PS),属性的含义依次为产品号、品名、单价和供应商;订单关系:R(R#,C#,P#,RD,QTY),属性的含义依次为订单号、客户号、产品号、日期和数量。规定一张订单只能订购一种产品。写出实现下列查询的SQL语句:(共15分)(1)查询名为‘华大数码’的供应商所提供的产品的产品名称和单价(3分)(2)列出客户“张ft”订购的产品的信息,包括品名、日期和数量。(3分)(3)列出那些客户A订购的但客户B没订购的产品的名称(3分)SELECTPNFROMP,C,RWHEREP#NOTIN(SELECTP#FROMR,CWHERER.C#=C.C#ANDP.PN=’B’)ANDC.C#=R.C#ANDR.PN=’A’(4)统计每一个客户的订单数量,产品的种类及订购的总数量。要求查询结果按订单数量排序(3分)(5)设R关系中R#、C#和P#都为长度5的定长字符串,RD为日期型数据,QTY为实数,写出创建R关系模式的SQL语句,并设定其主键为R#,且C#和P#属性为非空,并设定QTY值必需是大于0的check约束条件。(3分)createtableR(R#varchar(5)notnullprimarykey,C#varchar(5)notnull,P#varchar(5)notnull,RDdatetime,QTYint(10)check(QTY0),foreignkey(tno)referencesteacher(tno),);四、综合题(20分)有一个应用,包括三个实体集。实体类型“商店”的属性有:商店编号,店名,店址,店经理职工号。实体类型“会员”的属性有:会员编号,会员名,地址。实体类型“职工”的属性有:职工编号,职工名,性别,工资。每家商店有若干职工,但每个职工只能服务于一家商店。每家商店有若干会员,每个会员可以属于多家商店。在联系中第7页共6页应反映出职工参加某商店工作的开始时间,会员的加入时间。(1)为该数据库的设计画出能够正确反映以上需求的E/R图。(5分)(2)将上述的E/R模型转换成等价的关系模型,并指出关系的主键和外键。(5分)(3)分别用ODL描述出能反映上述的商店和职工及他们之间的联系的类。(5分)(4)创建一个断言。用来约束商店的经理工资必须不低于商店所有职工的平均工资。(3)classmarket{//哪个是多前面就跟set,因为market-clerk为一对多attributestringname,attributestringname,attributeintegeryear,relationshipsetclerkguyongInverseclerk::beiguyong;}classclerk{attributeintegermoney,relationshipmarketbeiguyongInversemarket::guyong;}(4)CREATEASSERTIONconstraintCHECK(NOTEXISTS(SELECT*FROMsalaryASS,clerkASCWHEREC.name=’经理’ANDS.salary(selectmax(salary)FROMs,cwherec.name=’职员’ANDC.CNO=S.CNO))