数据库原理与设计题库_第1页
数据库原理与设计题库_第2页
数据库原理与设计题库_第3页
数据库原理与设计题库_第4页
数据库原理与设计题库_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库原理与设计题库一 、单项选择题1. 下列哪些不是 SQL 中的数据类型。 (D )A. float B.money C.smallint D.small float2. 查询测验中分数不属于 80-100 之间的候选人,合适的查询语句是 _AA. SELECT vFirstName,vLastName,siTestScoreFROM ExternalCandidateWHERE siTestScore NOT BETWEEN 80 AND 100B. SELECT vFirstName,vLastName,siTestScoreFROM ExternalCandidateAWHERE s

2、iTestScore BETWEEN 80 AND 100C. SELECT vFirstName,vLastName,siTestScoreFROM ExternalCandidateWHERE siTestScore NOT BETWEEN 100 AND 80D. SELECT vFirstName,vLastName,siTestScoreFROM ExternalCandidateWHERE siTestScore BETWEEN 100 AND 803下面数据类型中,在定义时需要给出数据长度的是( A ) 。A. text B. intC. charD.money4. 下列函数中,

3、返回值数据类型为 int 的是( B )。A. LEFTB. LENC. LTRIMD. SUNSTRING5. 关于索引下面说法错误的是 ( B ) 。A. 索引可以加快数据的检索速度,但是降低看了数据维护的速度B. 非聚集索引应该在聚集索引被创建之前创建C. 在默认的情况下,所创建的索引是非聚集索引D. 建立主键约束时会自动建立唯一性索引6. 下列哪个不是数据库对象 ( A)。A. 数据模型B. 视图C. 表D. 用户7. 使用下列 A_语句可以删除数据库。精品资料A. DROP DATABASEB. CREATE TABLEC. ALTER DATABASE D.DROP TABLE8.

4、 在“工资表”中的“基本工资”列用来存放员工的基本工资金额(没有小数) ,下面最节省空 间的数据类型是 ( B )。A. tinyintB.smallintC.intD. decimal(3,0)9. 关于视图下面说法错误的是 ( C ) 。A. 视图不是真实存在的基础表而是一个虚拟的表B. 视图对应的数据存储在视图所引用的表中C. 视图只能由一个表导出D. 视图也可以包含几个被定义的数据列和多个数据行10. 执行以下创建视图的语句时出现错误,原因是 ( C)。Create view v_gAsSelect 商品名称 ,生产厂商 from goods order by 商品名称 descA.

5、视图数据只源于一个基表B. 没有使用 WITH CHECK OPTION 选项C. 创建视图时不能使用 ORDERY BY 子句D. 在创建视图时如果包含了 ORDERY BY 子句,则要使用 TOP 语句才能生成视图11. 以下关于外键和相应的主键之间的关系,正确的是 ( A)。A. 外键不一定要与相应的主键同名B. 外键一定要与相应的主键同名C. 外键一定要与相应的主键同名而且唯一D. 外键一定要与相应的主键同名,但是并不一定唯一12. 下面语句中, _C语句用来删除视图。A. CREATE TABLE B. ALTE VIEWC. DROP VIEWD.CREATE VIEW13. 在T

6、-SQL中,条件“年龄BETWEEN 15 AND 35 ”表示年龄在15岁到35岁之间且( A )。A. 包括15岁和 35岁B. 包括15岁但不包括35岁C. 不包括 15岁和35岁D. 包括35岁但不包括 15岁14. 在模糊查询中,与关键字 LIKE 匹配的表示任意字符串的符号是 ( B)。A.?B. %C. D.*15. 关于索引下面说法错误的是 ( B)。A. 索引可以加快数据的检索速度,但是降低看了数据维护的速度B. 非聚集索引应该在聚集索引被创建之前创建C. 在默认的情况下,所创建的索引是非聚集索引D. 建立主键约束时会自动建立唯一性索引16. 使用聚合函数把空值计算在内的是

7、( A)。A. COUNT(*)B. SUMC. MAXD. AVG17. 下面描述错误的事 _B.A. 每个数据文件中都有且只有一个主数据文件B. 日志文件可以存在于任意文件组中C. 主数据文件默认为 primary 文件组D. 文件组是为了更好地实现数据文件组织18. 下面语句中, _C 语句用来删除视图。A. CREATE TABLE B. ALTE VIEWC. DROP VIEWD. CREATE VIEW19. 已经声明了一个字符型局部变量 n,在下列语句中,能对该变量正确赋值的是( B) 。A. n= 'HELLO 'B. SELECTn= 'HELLO

8、'C. SET n=HELLOD. SELECT n=HELLO20. 关于 SQL Server 2008 数据库事务日志文件叙述错误的是_C_ 。A. 一个数据库可以有多个事务日志文件B. 创建数据库时,如果未指定事务日志文件, SQL Server 则会自动创建一个C. 事务日志文件的默认大小为 5MBD. 如果未指定事务日志文件的增长量,则文件大小也会不断变化。21. 下列函数中,返回值数据类型为int 的是( B )。A. LEFTB. LENC. LTRIMD. SUNSTRING22语句 print cast (123 as nchar ( 5 ) + '456

9、'的结果是( C )。A.'579'B.579C. '123456 ' D.'123 456 '23. 表达式 Datepart(yy, '2016-9-13 ')+2 的结果是( C )。A. '2016-9-15B. 2016C. '2018 'D. '2016-11-13 '24. 对数据进行统计时,求最大的函数值是哪个( A )。A max( )B. min( )C. lenth( )D. count()25. 下面标志符不合法的是( A )。A. my deleteB._m

10、ybase C.$money D.triggerl26 下列哪个既不是 SQL 数据文件也不是日志文件的后缀 ( C)。A.mdfB. .ldfC. .tifD. .ndf27. 下面对 union 的描述正确的是 _D_。A. 任何查询语句都可以用 union 来连接B. union 只连接结果集完全一样的查询语句C. union 是筛选关键词,对结果集再进行操作D. union 可以连接结果集中数据类型个数相同的多个结果集28 下列哪个既不是 SQL 数据文件也不是日志文件的后缀 ( C)。A.mdfB. .ldfC. .tifD. .ndf29. 关于 DROP DATABASE 语句叙

11、述错误的是( C )A 一次可以删除一个或多个数据库B 在删除数据库时不会显示确认信息C 会删除数据库的磁盘文件D 如果数据库正在使用,删除数据库将导致应用程序出错30. 下列关于执行 SQL Server 2008 查询叙述正确的是( C )A 如果没有选中的命令,则只执行最前面的第一条命令B 如果有多条命令选择,则只执行选中命令的第一条命令C 如果查询中有多条命令有输出,则按顺序显示所有结果D 都正确31. 在模糊查询中,与关键字 LIKE 匹配的表示任意字符串的符号是 ( B)。A.?B. %C. D.*32. 执行下面语句的结果是 _A 。PRINT UPPER(LTRIM(RTRIM

12、(' Hello,world ')A. 'HELLO,WORLD'B.' Hello,world 'C.' Hello,world'D.'HELLO,WORLD'33. 语句 PRINT DATEDIFF(mm,'2016-10-26','2016-10-8')的执行结果是 _A_。A.OB.-1C.1D.234. 在WHILE循环语句中,如果循环体语句条数多于一条,必须使用A .A. BEGIN ENDB. CASE ENDC. IF THEND. GOTO35. 对数据进行统计时

13、,求最大的函数值是哪个(A )oA . max( ) B. min( )C. lenth( )D. count()36. 关系运算不包括_DA.连接 B.投影 C.选择D.查询二. 填空题1. 根据索引的属性列是否有重复值,可以把索引分为唯一索引和重复索引。2. 函数 ROUND ( 558.3049,2 )的返回值是 558.303.SELECT 查询语句中两个必不可少的子句是FROM子句 和WHERE子句。4.SQL Server 2008 中的变量分为全局变量和局部变量两种。其中全局变量的名称以 字符开始,由系统定义和维护;局部变量的名称是以字符开始,由用户自己定义和赋值。5. 在Tra

14、n sact-SQL 语句中,使用 ALTER VIEW 命令可以修改视图。6. 在SELECT 语句中用distinct关键字消除重复行。7.SQL Sever 2008使用的运算符共有7类:算术运算符、逻辑运算符、关系运算符字符串串联运算符、按位运算符、赋值运算符和一元运算符。8. 声明游标的命令是 declare cursor,释放游标的命令是deallocate9. 创建视图的命令是 Create View,修改视图的命令是 Alter view10. 从存储结构上来看,数据库文件主要由主数据文件和日志文件组成,相应的文件扩展名是.mdf、空11. 用于删除表数据的命令是delete1

15、2. 计算字段的累加和的函数是sum,统计项目数的函数是count13. 在Transact-SQL 语句中,使用 Alter view命令可以修改视图。14. 表达式是标识符,常量,变量,函数运算符 和 操作数 的组合。15. 给局部变量赋值可以使用set语句 或者select语句赋值。16. 建立表所使用的命令是CREATE TABLE 。三、简答题(每题5分,共20分)1. 视图和表有什么区别?简述视图的优点。1. 视图是虚拟表,其结构和数据是建立在对表的查询基础上,是基表的数据的映射。而表的结构和数据在数据库中是真实存在,能够进行增删改查等操作。( 2 分)视图的优点:(1)视点集中。

16、使用户只关心感兴趣的某些特定数据和他们所负责的特定任务,那些 不需要或无用的数据则不必在视图中显示。(2)简化操作。视图大大简化了用户对数据的操作。因为在定义视图时,若视图本身 就是一个复杂查询的结果集, 这样在每一次执行相同的查询时, 不必重新编写这些复杂的查 询语句,只要一条简单的查询视图语句即可。(3)定制数据。视图能够实现让不同的用户以不同的方式看到不同或相同的数据集。 因此,当有许多不同水平的用户共用同一数据库时,这就显得极为重要。( 4)合并分割数据。可以重新保持表原有的结构关系, 从而使外模式保持不变, 原有的应用程序仍可以通过 视图来重载数据。( 5)安全性。视图可以作为一种安

17、全机制。通过视图用户只能查看和修改他们所能看到 的数据, 其他数据库或表既不可见也不可以访问。 如果某一用户想要访问视图的结果集, 其 必须被授予访问权限。视图所引用表的访问权限与视图权限的设置互不影响。(3 分)1 . 简述在数据库中创建索引的必要性。1 、 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性2、可以大大加快数据的检索速度,这也是创建索引的最主要的原因3、可以加速表的和表之间的链接,特别是在实现数据的参考完整性方面特别有意义4、在使用分组和排序子句进行数据检索时, 同时可以显著减少查询中分组和排序的时间 通过使用检索,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

18、2. 存储过程与存储在客户计算机的本地T-SQL 语句相比,它具有什么优点?1)执行速度快,改善系统性能。2)减少网络流量。3)增强代码的重用性和共享性。4)提供了安全机制。3. 什么是存储过程?有什么优点?存储过程是一种数据对象, 是存放在数据库服务器上的 T SQl 的控制语句构成的语句集合。存储过程具有输入参数和输出参数, 通过这些参数返回结果集。通过使用存储过程,一些负责的操作可以封装为独立的程序模块,并且具有“一次编译,多次执行”优点。3. 已知两个日期为 2016-10-29 和 2016-11-01 ,要求编程生成两个日期之间的所有日期, 生成结果如下:2016-10-29201

19、6-10-302016-10-312016-11-01declare time1 datetime,time2 datetime,time3 datetimeset time1='2010/10/29'set time2='2010/11/01'set time3=time1while(time3<=time2)beginselect time3set time3=DateAdd(dd,1,time3)end4. 编写程序计算两个整数之和。 (变量 i=30 ,变量 j=50)Declare i int , j int , sum intSet i=30S

20、et j=50Select sum=i+jPrint sumgo四、综合题1. 在已创建的数据库 jiaoxue 中利用 Transact-SQL 语句完成操作。( 1 )创建一个如下所示的结构数据表 student 。Use jiaoxueGoCreate table student(学号 nchar(11) not null primary key ,姓名 nchar(10) not null ,院系 nchar(20) not null)GoStudent表结构列名数据类型及长度是否为空备注学号Nchar(11)NO主键姓名Nchar(10)NO院系Nchar(20)NO(2) 向上面的

21、表student中插入一行数据('1220160701 ''王刚'计算机学院'。Use jiaoxueGoInsert into student(学号,姓名,院系)Value( 01220160701'王刚'计算机学院')Go(3) 将student表中所有学号以1712开头的学生的院系修改改为“软件学院”。Use jiaoxueGoUpdate student set院系='软件学院'where 学号 like 1712% 'Go(4) 在student表中查询计算机学院学生或者姓王的学生信息。Use j

22、iaoxueGoSelect * from student where院系 ='计算机学院 'or 姓名 like 王 %'Go(5) 按院系分组,求出 student 表中每个院系学生的人数。Use jiaoxueGoSelect distinct 院系 , count(*) as 人数 from student group by 院系Go2. 根据下列数据库中表的结构,回答问题写出 Transact-SQL 语句。 学生 (学号 nchar(8) primary key, 姓名 nchar(8), 班级 nchar(10), 性别 nchar(2), 出生日期 ndatatime, 出生城市 nchar(10), 入学成绩 tinyint )nchar(6)课程 (课程号 nchar(6) primary key, 课程名 nchar(20) ) 学生选课信息表 (学期 nchar(2), 学号 nchar(8)

温馨提示

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

评论

0/150

提交评论