您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > Sql高级综合测试试题
--------------------------------------装--------------------------------------订------------------------------线----------------------------------------**学院课程考试试卷课程名称:《SQLServer:数据库设计和高级查询》(A)卷年级:班级:姓名:_______________学号:_________________考试(考查)闭卷题号1-2021-4041-50总分分数1.下列哪个SQL语句属于DDL语句(A)。A.Create(DDL:createdroptruncate)B.Select(DML:insertupdatedeleteselect)C.Grant(DCL:grantrovoke)D.Insert2.SQLServer2008的BEGINTRANS和COMMITTRANS,ROOLBACKTRANS语句可用在(BD)中来支持操作的事务特性。【选两项】A.Select语句B.存储过程C.ADO.NET连接对象的Transaction属性D.触发器3.在SQLServer2008数据库中,从Product表中查询出Price(价格)高于Pname(产品名称)为“网通IP电话卡”的所有记录中的最高价格的查询语句是(D)。A.SELECT*FROMProductWHEREmax(Price)’网通IP电话卡’B.SELECT*FROMProductWHEREPrice(SELECTmax(*)FROMProductWHEREPname=’网通IP电话卡’)C.SELECT*FROMProductWHEREEXISTSPname=’网通IP电话卡’D.SELECT*FROMProductWHEREPrice(SELECTmax(Price)FROMProductWHEREPname=’网通IP电话卡’)4.在SQLServer2008中,声明一个最多可以存储10个字符的变量pwd,正确的代码是(B)。A.DECLAREpwdVARCHAR(10)B.DECLARE@pwdVACHAR(10)C.pwdVARCHAR(10)D.@pwdVARCHAR(10)5.在SQLServer2008中,已知Student表中有一个age列,数据类型是int,如果要限制该列的取值范围在18到28之间,可以使用以下哪个SQL语句(A)。A.altertableStudentaddcheck(age=18andage=28)B.altertableStudentadddefult(age=18andage=28)C.altertableStudentaddunique(age=18andage=28)D.altertableStudentaddset(age=18andage=28)6.SQLServer2008数据库中,创建books表的语句如下,这个创建命令执行时出错,错误原因有(BE)。【选两项】Ceratetablebooks(bookidintprimarykey,titlevarchar(20)notnull,authorcharnotnull,locintidentity(1,1),depidintforeign--------------------------------------装--------------------------------------订------------------------------线----------------------------------------key,commenttext(1000))A.定义主键的方式错误B.必须对Char数据类型指定列宽度(有默认长度)C.定义外键的方式错误D.定义外键列不能定义为标识列E.不能对text数据类型指定列宽度7.在SQLServer2008中,创建存储过程如下:要在Students表中查找Age(年龄)是18岁的学生,(AB)可以正确的调用这个存储过程。【选两项】CREATEPROCEDUREMyP1@pIntAsSELECTStudentname,AgeFROMStudentWHEREAge=@pA.EXECMyp118B.EXECMyp1@p=18C.EXECMyp1p=’18’D.EXECMyp1p=188.在SQLServer2008中,假设Orders表中存在自动编号字段oid等于1的记录,执行下面T-SQL,以下说法正确的是(A)。BEGINTRANSACTIONDeletefromOrderswhereoid=1If(@@Error0)ROLLBACKTRANSACTIONElseCOMMITTRANSACTIONA.执行成功,oid为1的记录被永久删除B.执行成功,Orders表没有任何变化C.执行时出现错误D.执行成功,但事务处理并没有任何结束9.在SQLServer2008中,给定如下的T-SQL代码,以下说法正确的是(B)。CreateProcedureprice_proc(@countintoutput,@avg_pricemoneyoutput,@typechar(12)=’business’)asSelect@Count=Count(*),@avg_price=Avg(price)fromtitleswheretype=@typeA.建立了存储过程price_proc,所有参数都是输出参数B.建立了存储过程price_proc,返回的是用户指定图书种类数量及平均价格C.@count=count(*)也可以用@count=count()代替D.创建存储过程失败,Select语句中使用了聚合函数,因此必须使用GroupBy进行分组10.在SQLServer安全管理过程中,以下(C)的概念类似于WinNT中的用户组。A.权限B.登录账户C.角色D.触发器11.在SQLServer2008中,有Products(产品)表,包含字段Pname(产品名称)、Price(价格)。若要得到最贵产品的产品名称和产品价格,应该使用的查询语句有(AD)。【选两项】A.SELECTTOP1Pname,PriceFROMProductsORDERBYPrice--------------------------------------装--------------------------------------订------------------------------线----------------------------------------descB.SELECTPname,MAX(Price)FROMProductsC.SELECTPname,MAX(Price)FROMProductsGROUPBYPnameD.SELECTPname,PriceFROMProductsWHEREPrice=(SELECTMAX(Price)FROMProducts)12.在SQLServer2008中,分析下面的存储过程,执行后的结果是(D)。CREATEProcedurelookup(@aint)ASIF@aisnullBeginPrint‘缺少参数’RETURNEndSelect*fromsysobjectswhereid=@aRETURNGoEXECUTElookupA.该存储过程会打印“缺少参数”B.该存储过程会基于无参数情况做一个查找,返回表中的所有行C.该存储过程有语法错误D.数据库服务器会打印一条消息,提示该存储过程需要提供一个参数13.SqlServer2008中已知有表,表中共有10条status列值为0的记录,创建视图:CREATEVIEWview1ASselect*fromstudentwherestatus=0视图创建成功后,执行如下命令:Updateview1setstatus=1Select*fromview1命令执行的结果是(D)。A.错误提示:不能对视图执行更新操作B.错误提示:不能对视图执行查询操作C.返回10条记录D.返回0条记录14.SqlServer2008中,创建触发器的语句如下:Createtriggertrig_scoreonscoreforinsertasdeclare@sidint,@scorefloatselect@sid=sid,@score=scorefrominsertedupdatestudentsetscore=score+@scorewheresid=@sidGo其中score表通过sid列与student表建立了外键约束,假定数据库中的数据具备完整性,创建触发器成功后执行语句,insertintoscore(aid,score)values(2,20),执行后的结果是(A)。A.score表中插入一条数据,student表中更新一条数据B.score表中插入一条数据,student表中插入一条数据C.score表中插入一条数据,student表中没有变化D.提示错误:没有inserted这张表--------------------------------------装--------------------------------------订------------------------------线----------------------------------------15.为表userinfo添加约束,语法如下:altertableuserinfoaddconstraintuq_useridunique(userid)执行成功后,为userinfo表的(B)字段添加了()约束。A.Userid;主键B.Userid;唯一C.Uq_userid;外键D.Uq_userid;检查16.E-R图中,关系用(C)来表示。A.矩形(实体)B.椭圆形(属性)C.菱形D.圆形17.表结构如下,其中#号打头字段代表主键或组合主键,一份订单可以订购多种产品。产品:#产品编号,产品名称,产品价格;订单:#订单编号,#产品编号,订购日期,订购数量;该表最高符合第(A)范式。A.1NFB.2NFC.3NFD.未规范化的18.表结构如下,#号打头字段代表主键或组合主键,一份订单可以订购多种产品:产品:#产品编号,产品名称,产品价格;订单:#订单编号,总价,支付类型编号,订购日期;订单子项:#子项编号,订单编号,产品编号,订购数量;该表最高符合第(C)范式。A.1NFB.2NFC.3NFD.未规范化的19.创建表sql语句如下:createtableuserInfo(userIdintidentity(-1,1),第一行usernamenvarchar(20)notnull,第二行cardNOcharnotnull,第三行agesmallint(2),第四行addressntext(300)第五行)执行时,会在(DE)出现错误。【选两项】A.第一行B.第二行C.第三行D.第四行E.第五行20.以下关于规范设计的描述正确的是(AD)。【选两项】A.规范设计的主要目的是消除数据冗余B.规范设计往往会增强数据库的性能C.设计数据库时,规范化程度越高越好D.在规范化数据库中,易于维护数据完整性21.关于存储过程,以下说法正确的是(A)。A.不能在存储过程中使用CREATEVIEW命令(存储过程中不能用DDL语句)B.T-SQL批代码的执行速度要快于存储过程C.存储过程必须带有参数D.存储过程不能返回结果集22.下面T-SQL代码运行完的结果是(B)。declare@counterint--------------------------------------装--------------------------------------订-------------------------
本文标题:Sql高级综合测试试题
链接地址:https://www.777doc.com/doc-2850480 .html