考试总分:5分
考试类型:模拟试题
作答时间:60分钟
已答人数:967
试卷答案:有
试卷介绍: 2007年下半年数据库系统工程师下午试卷
A(1)客户关系中的年龄取值在15岁到60岁之间(包含15岁和60岁),增加该约束的SQL语句如下,请将空缺部分补充完整。ALTERTABLE客户ADDCONSTRAINTCONSTRAINTcon_ageCHECK(_____(a)_____)
B(2)如下用SQL语句创建的畅销商品视图包含商品号、商品名称、型号、品牌和销售量,该视图中商品的销售量大于等于1000件。请将空缺部分补充完整。CREATEVIEW畅销商品_____(b)_____ASSELECT商品.商品号,名称,型号,品牌,销售量FROM商品,(SELECT商品号,_____(c)_____AS销售量FROM销售GROUPBY商品号HAVINGSUM(数量)>=1000)AS商品销售量WHERE_____(d)_____;
C(3)将视图畅销商品的查询权限赋予销售经理李华,请将空缺部分补充完整。GRANT_____(e)_____ONTABLE畅销商品TO李华;【问题2】(3分)查询购买“新飞”品牌的任一型号“冰箱”的客户姓名及购买日期。实现该查询的SQL语句如下,请将空缺部分补充完整。SELECT姓名,日期FROM_____(f)_____WHERE_____(g)_____AND商品号_____(h)_____(SELECT商品号FROM商品WHERE品牌=‘新飞’AND名称=‘冰箱’)【问题3】(3分)实现销售业务的嵌入式SQL代码段(嵌入C语言)如下,假设销售表的流水号由系统自动生成。请将空缺部分补充完整。……EXECSQLBEGINDECLARESECTION;/*销售:商品号,客户号,数量,日期*/charpno[6];charcno[6];intquantity;chardate[10];EXECSQLENDDECLARESECTION;……EXECSQLCONNECTTODEFAULT;EXECSQLSETTRANSACTIONISOLATIONLEVELSERIALIZABLE;EXECSQLINSERTINTO销售(商品号,客户号,数量,日期)VALUES(_____(i)_____);EXECSQLUPDATE商品SET库存=_____(j)_____WHERE商品号=:pno;if(SQLCA.SQLCODE!=0){printf(“商品%s库存不满足本次购买数量,交易失败!”,pno);EXECSQLROLLBACKWORK;}else{EXECSQL_____(k)_____;}EXECSQLDISCONNECTCURRENT;……【问题4】(4分)对商品表增加最小库存属性;若修改某商品的库存时,使得库存值小于或等于其最小库存值,则向采购表插入一条记录,要求采购的数量是该商品最小库存值的两倍再加上10。下面是完成该功能的SQL语句,请将空缺部分补充完整。ALTERTABLE商品_____(l)_____;CREATETRIGGER采购-triggerAFTER_____(m)_____REFERENCINGNEWROWASnrowFOREACHROWWHEN_____(n)_____BEGININSERTINTO采购VALUES(_____(o)_____)END[15分]
A(1)_____,折扣率,联系人,联系电话)车辆(_____
B(2)_____,车型,颜色,车辆类别)委托书(_____
C(3)_____,维修类型,作业分类,结算方式,进厂时间,预计完工时间,登记日期,故障描述,总费用)维修项目(维修项目编号,维修项目,单价)派工单(_____
D(4)_____,工时)员工(_____
E(5)_____,工种,员工类型,级别)【问题1】(6分)补充图3-1中的联系和联系的类型。【问题2】(5分)根据图3-1,将逻辑结构设计阶段生成的关系模式中的空(1)~(5)补充完整。对所有关系模式,用下划线指出各关系模式的主键。【问题3】(4分)若车辆可购买多种不同的保险,则对应有多个保险单。如果考虑需要理赔的情况,则在结算车辆维修费用时,需要用户指定此次委托维修的车辆的不同保险单所负担的总维修费用的比例。请对增加了“保险单”实体的图3-1进行修改,画出修改后的实体间联系和联系的类型。[15分]