数据库练习题附有答案_第1页
数据库练习题附有答案_第2页
数据库练习题附有答案_第3页
数据库练习题附有答案_第4页
数据库练习题附有答案_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库练习题[复制]一选择题1、Demographic表有1000多列。将近90%的用户搜索并且更新其中的20列。剩下的列很少用到但也很重要。当存取Demographic表的信息时,下面选项中,()能够提高数据读取和更新的性能。(选一项)[单选题]*A、在Demographic表的最常存取的列上建立簇索引(正确答案)B、基于该Demographic表对最常存取的20列建立一个视图C、将Demographic表分割成2个新表,一个包含20个最常存取的列,另一个包含剩下的列D、根据用户的需要建立一系列存储过程来选择或更新Demographic表2、E-R图中,关系集用下面()来表示。(选一项)[单选题]*A、矩形B、椭圆形C、菱形(正确答案)D、圆形3、SQLServer数据库中,下列不属于T-SQL事务管理语句的是()(选一项)[单选题]*A、BEGINTRANSACTION;B、ENDTRANSACTION;(正确答案)C、COMMITTRANSACTION;D、ROLLBACKTRANSACTION;4、Sqlserver中,()命令用来删除表对象。(选一项)[单选题]*A、Drop(正确答案)B、RemoveC、TruncateD、Delete5、SQLServer的系统存储过程中的安全过程可以用于管理安全性,下面语句[单选题]*EXECsp_addlogin'adms','sales',其中的sales是(B)(选一项)A、用户名B、密码(正确答案)C、表明D、默认数据库6、SQLSever2005中数据库中,关键字()标志着批处理的结束。(选一项)[单选题]*A、ENDB、GO(正确答案)C、FINISHD、PRINT7、表结构如下,#号打头字段代表主键或组合主键,一份订单可以订购多种产品。

产品:#产品编号,产品名称,产品价格

订单:#订单编号,#产品编号,订购日期,订购数量;

该表最高符合第()范式。(选一项)[单选题]*A、一B、二(正确答案)C、三D、未规范化的8、常用的系统存储过程不包括()(选一项)[单选题]*A、sp_tablesB、sp_columnsC、sp_stored_proceduresD、sp_renametable(正确答案)9、创建存储过程的片断如下:Createprocedureproc_score@passedint=60,@excellentint=90AS

以下()调用方式是正确的。(选两项)*A、Execproc_scoreB、Execproc_score60,90(正确答案)C、Execproc_score@passed=65,@excellent=95(正确答案)D、Execproc_score@passed=6510、创建存储过程如下:CREATEprocedurebookproc@idint,@titlechar(20)OUTPUTasselect@title=titlefrookwhereid=@id

执行该存储过程的方法正确的是()(选两项)*A、execbookproc1,@titleoutputprint@title(正确答案)B、execbookproc@id=1,@titleoutputprint@title(正确答案)C、declare@titlechar(20)execbookproc1,@titleoutputprint@titleD、declare@titlechar(20)execbookproc@id=1,@titleoutputprint@title11、对事务描述错误的是()(选一项)[单选题]*A、一个事务中的所有命令作为一个整体提交或回滚。B、如果两个并发事务要同时修改同一个表,有可能产生死锁。C、Sqlserver默认将每条单独的T-SQL语句视为一个事务。D、事务必须使用begintransaction来明确指定事务的开始。(正确答案)12、对于下面的存储过程:CREATEPROCEDUREMyp1@pIntAsSelectStudentname,AgefromStudentswhereAe=@p

假如你要在Students表中查找年龄是18岁的学生,()可以正确的调用这个存储过。

(选一项)[单选题]*A、EXECMyp1@p='18'(正确答案)B、EXECMyp1@p=18C、EXECMyp1p='18'D、EXECMyp1p=1813、公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从部门到职员的联系类型是()(选一项)[单选题]*A、多对多B、一对一C、多对一D、一对多(正确答案)14、关于3范式的理论下列说法错误的是()(选两项)*A、1NF的要求是:关系中的每个属性必须是不可再分的简单项B、任何表都满足1NF(正确答案)C、2NF的要求是:在满足1NF的基础上,除了主健以外的列都依赖于主健(正确答案)D、3NF的要求是:在满足2NF的基础上,除了主健以外的列都直接依赖于主健15、关于触发器,()说法是错误的。(选两项)*A、触发器是一种特殊类型的存储过程。B、可以使用触发器来响应对数据的select,insert,update,delete操作。(正确答案)C、一个表上的触发器不可以包含对另外一个表的数据操作,以免造成死循环。(正确答案)D、触发器和触发它的语句构成一个事务。16、关于触发器和约束,以下说法错误的是()(选一项)[单选题]*A、触发器可以支持约束的所有功能。B、Check约束不能跟据另一个表中的列验证列值。C、最好在约束所支持的功能无法满足应用程序的需求时,再使用触发器。D、在维持数据完整性时,要使用标准的系统错误信息,必须使用触发器。(正确答案)17、关于存储过程,以下说法正确的是()(选一项)[单选题]*A、不能在存储过程中使用CREATEVIEW命令。(正确答案)B、T-SQL批代码的执行速度要快于存储过程。C、存储过程必须带有参数。D、存储过程不能返回结果集。18、关于聚集索引,以下()说法是错误的。(选两项)*A、一个表最多只能创建一个聚集索引。B、聚焦索引比非聚集索引有更快的访问速度。(正确答案)C、主键一定是聚集索引。(正确答案)D、创建了聚集索引的列不允许有重复值。19、关于视图,下列说法正确的是()(选一项)[单选题]*A、视图是用来简化复杂查询语句的良好手段,但不能嵌套B、视图和索引都不是真实存在的数据,因为不是对象,所以关于他的定义不是保存在sysobjects表,而是sysviews表C、要想让别人不知道建立视图的命令,就在建立时添加withencryption(正确答案)D、视图无法用drop命令删除,应使用delete命令20、关于视图,以下()说法是错误的。(选一项)[单选题]*A、使用视图,可以简化数据的使用。B、使用视图,可以保护敏感数据。C、视图是一种虚拟表,视图中的数据只能来源于物理数据表,不能来源于其它视图。(正确答案)D、视图中只存储了查询语句,并不包含任何数据。21、关于视图以下说法正确的是()(选一项)[单选题]*A、视图可以具有参数B、视图不可以加密C、定义视图时可以指定列名(正确答案)D、视图和表一样存储有数据22、关于数据库三大范式,以下说法错误的是()(选一项)[单选题]*A、数据库设计满足的范式级别越高,数据库性能越好(正确答案)B、数据库的设计范式有助于规范数据库的设计C、数据库的设计范式有助于减少数据冗余D、一个好的数据库设计可以不满足某条范式23、关于索引下面哪个是不正确的()(选一项)[单选题]*A、必须先创建一个聚集索引,然后才可创建一个或多个非聚集索引(正确答案)B、在一个表或视图中可以有多个同名的素引C、组合索引的所有字段必须取自于同一表D、如果对已存在数据的表创建聚合素引,必须保证索引项对应的值无重复值24、关于游标,下列说法正确的是()(选一项)[单选题]*A、定义只进游标的关键字是forward_only,它只能向前读记录,读完后就没用了,因为它不能回去,要想再次遍历只能重新定义一个新的B、游标的定义必须依托于某个查询,如果该查询的结果为0,则游标无法定义C、fetchnext可以提取下一行,且超过末行后会自动转到第一行D、在游标未到达末行前,fetchrelative1和fetchnext的效果完全一样(正确答案)25、关于子查询,以下说法正确的是()(选两项)*A、一般来说,表连接都可以用子查询替换。(正确答案)B、一般来说,子查询都可以用表连接替换。C、相对于表连接,子查询适合于作为查询的筛选条件。(正确答案)D、相对于表连接,子查询适合于查看多表的数据。26、关于子查询下列说法中正确的是()(选一项)[单选题]*A、子查询中的条件可以有变量(正确答案)B、子查询可以放在父查询的where后,但无法放在select和from中间C、如果子查询放在父查询中对父查询的语法结构不产生影响,那么子查询可以省略外面的小括号D、子查询可以嵌套,但最多不能超过3层27、假定一位教师可讲授多门课程,一门课程可由多位教师讲授,教师与课程之间是()(选一项)[单选题]*A、一对一的关系B、一对多的关系C、多对一的关系D、多对多的关系(正确答案)28、假设order表中存在orderid等于1的记录,执行下面T-SQL:BEGINTRANSACTIONDeletefromOrderwhereorderid=1IF(@@Error<>0)ROLLBACKTRANSACTIONROLLBACKTRANSACTION

以下说法正确的是()(选一项)[单选题]*A、执行成功,Orderid为1的记录被永久删除。B、执行成功,Order表没有任何变化。(正确答案)C、执行时出现错误。D、执行成功,但事务处理并没有结束。29、假设有表student的设计如下:ID(学号),Name(姓名),Address(家庭住址),Department(所在系),DepartmentHead(系主任).该表最高满足第()范式。(选一项)[单选题]*A、一(正确答案)B、二C、三D、不满足任何范式;30、将E-R图转换为表的过程中,如果实体之间存在多对多的关系,通常的做法是()(选一项)[单选题]*A、在两个实体间建立主外键关系。B、在两个实体间建立关联表,把一个多对多的关系分解成两个一对多的关系。(正确答案)C、在两个实体间建立关联表,把一个多对多的关系分解成两个一对一的关系。D、在两个实体间不建立任何关系。31、考虑下面的存储过程CREATEProcedureLookup(@aint)AsIf@aisnullBeginPrint'Youforgottopassinaparameter'ReturnEndSelect*fromsyssobjectswhereid=@aReturn如果这个存储过程不带参数运行会发生()(选一项)[单选题]*A、存储过程会打印“Youforgottopassinaparameter”B、该存储过程会基于无参数情况做一个查找,返回表中的所有行C、该存储过程有语法错误D、服务器打印一条消息,提示该存储过程需要提供一个参数(正确答案)32、使用T-SQL定义两个局部变量AA和BB,正确语句是()(选一项)[单选题]*A、DECLARE@AA,@BB(正确答案)B、PRIVATE@AA,@BBC、PUBLIC@AA,BBD、DECLARE@AA,BB33、为了加快对某表的访问速度,应对此表建立()(选一项)[单选题]*A、约束B、存储过程C、规则D、索引(正确答案)34、为数据库中一个或多个表中的数据提供另一种查看方式的逻辑表被称为()(选一项)[单选题]*A、存储过程B、触发器C、视图(正确答案)D、表35、下列()语句用于清除最近的事务语句以来所有的修改()(选一项)[单选题]*A、COMMITTRANSACTIONB、ROLLBACKTRANSACTION(正确答案)C、BEGINTRANSACTIOND、SAVETRANSACTION36、下列标识符可以作为局部变量使用()(选一项)[单选题]*A、yvarB、MyvarC、@Myvar(正确答案)D、@Myvar37、下面()不是数据库规范化要达到的效果。(选一项)[单选题]*A、改善数据库的设计B、实现最小的数据冗余C、可以用一个表来存储所有数据,使设计及存贮更加简化(正确答案)D、防止更新、插入及删除的时候,产生数据丢失38、现有游标myCursor,要删除此游标使用以下哪条命令()(选一项)[单选题]*A、DEALLOCATEmyCursor(正确答案)B、DELETEmyCursorC、REMOVEmyCursorD、CLOSEmyCursor39、项目开发需要经过几个阶段,绘制数据库的E-R图应该在()阶段进行(选一项)[单选题]*A、需求分析B、概要设计(正确答案)C、详细设计D、代码编写40、一个表中最多有()个非聚集索引(选一项)[单选题]*A、32B、64C、127D、249(正确答案)41、一个学生只能就读于一个班级,而一个班级可以同时容纳多个学生,学生与班级之间是()关系。(选一项)[单选题]*A、一对一B、一对多C、多对一(正确答案)D、多对多42、已知表A的列amount是int类型,表A的数据如下:Amount

1

2

3

现有如下语句,Declare@oneintSelect@one=amountfromA

则变量@one的结果是()(选一项)[单选题]*A、1B、2C、3(正确答案)D、错误43、已知有student表,studentid为主键,现在表中共有10行记录,studentid列值从1

到10。

创建试图:CREATEVIEWdbo.VIEW_studentASSELECT*FROMdbo.studentGO

接着执行如下命令:DELETEFROMVIEW_studentWHERE(studentid=8);

然后执行查询命令:SELECT*FROMstudent;SELECT*FROMVIEW_student;

假定上述命令全部执行成功,将各自返回()行记录。(选一项)[单选题]*A、10,10B、10,9C、9,10D、9,9(正确答案)44、以下关于规范设计的描述正确的是()(选两项)*A、规范设计的主要目的是消除数据冗余。(正确答案)B、规范设计往往会增加数据库的性能。C、设计数据库时,规范化程度越高越好。D、在规范化数据库中,易于维护数据完整性。(正确答案)45、银行系统中有帐户表和交易表,帐户表中存储了各存款人的帐户余额,交易表中存储了各存款人每次的存取款金额。为保证存款人每进行一次存、取款交易,都正确的更新了该存款人的帐户余额,以下选项中正确的做法是()(选一项)[单选题]*A、在帐户表上创建insert触发器。B、在交易表上创建insert触发器。(正确答案)C、在帐户表上创建检查约束。D、在交易表上创建检查约束。46、有关T-SQL中变量的使用,以下说法错误的是()(选一项)[单选题]*A、变量的使用必须先声明,后使用。B、变量的赋值只能使用set语句。(正确答案)C、可以使用print语句和select语句输出结果。D、局部变量的命名必须以@打头。47、阅读下面T-SQL语句,对变量赋值时存在错误的是()(选一项)[单选题]*A、DECLARE@idINT,@priceMONEYset@id=100set@price=$2.21B、DECLARE@idINT,@priceMONEYselect@id=100,@price=2.21C、DECLARE@idINT,@priceMONEYset@id=100,@price=2.21(正确答案)D、DECLARE@idINT,@priceMONEYselect@id=100select@price=$2.2148、运行以下语句,输出结果是()(选一项)CREATEPROCproc_lookup@mystuNovarchar(8)=NULLASIF@mystuNoISNULLBEGINPrint'您忘记了传递学号参数'RETURNENDSELECT*FROMstuInfoWHEREstuNO=@mystuNoGOExecProc_lookup[单选题]*A、编译错误B、调用存储过程Proc_lookup出错C、显示:您忘记了传递学号参数(正确答案)D、显示空的学员信息记录集49、在()的列上更适合创建索引。(选两项)*A、需要对数据进行排序(正确答案)B、具有默认值C、频繁更改D、频繁搜索(正确答案)50、在score表上创建一个触发器:createtriggertri_scoreonscoreforupdate,deleteasif(selectcount(*)frominserted)>0print('success')go

在查询分析器上执行以下()语句,可能会输出“success”。(选一项)[单选题]*A、Updatescoresetscore=20(正确答案)B、Deletefromscorewherescore<60C、Insertintoscorevalues(此处省略)D、Select*fromscore51、在SQLServer2005的查询分析器中运行以下的T-SQL:USEPUBSGOSELECTDISTNCTQTYFROMSALESWHEREQTY>=ALL(SELECTMAX(QTY)FROMSALES),结果()(选一项)[单选题]*A、正确查询,并返回Sales表中的所有的数据行B、正确查询,并返回一行数据(正确答案)C、提示子查询中因缺少GROUP或者GROUPBY子句而产生语法错误D、提示错误,因为在子查询中使用父查询中的同一张数据库表时,要求使用52、在SQLServer2005中,为数据库表建立索引能够()(选一项)[单选题]*A、防止非法的删除操作B、防止非法的插入操作C、提高查询性能(正确答案)D、节约数据库的磁盘空间53、在SQLSERVER服务器上,存储过程是一组预先定义并()的Transact-SQL语句。(选一项)[单选题]*A、保存B、编译(正确答案)C、解释D、编写54、在SQLServer数据库中,()可以看成为虚拟的表。(选一项)[单选题]*A、游标B、视图(正确答案)C、全文索引D、存储过程55、在SQLSever2005中,以下关于视图数据的操作,正确的描述是()(选一项)[单选题]*A、视图数据只能用来查询和浏览,不能进行修改、插入和删除B、可以修改和删除视图的数据,但是这些数据不更新到数据库表中C、可以在查询分析器中使用INSERT/UPDATE/DELETE等SQL语句对视图进行操作(正确答案)D、由于视图是数据库基表数据的复制,因此删除视图中的数据行,不会影响到基表的数据56、在SQLSever中,执行存储过程MY_PROC的正确的T_SQL为()(选一项)[单选题]*A、RUNMY_PROCB、EXECUTEMY_PROC(正确答案)C、STARTMY_PROCD、SHELLMY_PROC57、在SQLServer20050中,声明一个最多可以存储5个字符的变量A,正确的代码为()(选一项)[单选题]*A、DECLAREAVARCHAR(5)B、DECLARE@AVARCHAR(5)(正确答案)C、PrivateAVARCHAR(5)D、Private@AVARCHAR(5)58、在SQLServer2005中,假设orders表中存在自动编号字段oid等于1的记录,执行下面T-SQL,以下说法正确的是()(选一项)BEGINTRANSACTIONDeletefromOrderswhereoid=1IF(@@Error<>0)ROLLBACKTRANSACTIONElseCOMMITTRANS

温馨提示

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

评论

0/150

提交评论