SQL数据库系统及应用_第1页
SQL数据库系统及应用_第2页
SQL数据库系统及应用_第3页
SQL数据库系统及应用_第4页
SQL数据库系统及应用_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、机密启用前大连理工大学网络教育学院2017年秋SQL数据库系统及应用期末考试复习题注意事项:本复习题满分共:400分。一、填空题1. 在关系数据库的规范中,在一个关系中,消除重复字段,且各字段都是最小的逻辑存储单元代表第范式。答案:一2. 在索引命令中使用关键字CLUSTERED和NONCLUSTERED分别表示将建立的是和答案:聚集索引、非聚集索引3. 常见的关系数据库有ACCESS. 和.答案:SQL Serverx Oracle4. 从表中删除数据的命令是fromwhere。答案:Delete.表名5. 向表中数据的命令是 insert into 表名(constantl, consta

2、nt2t )。答案:插入、 values6. 在一个表上,最多可以泄义个聚集索引,最多可以有个非聚集索引。答案:1、多7. ABS函数的功能是返回数值表达式的。答案:绝对值8. LIKE查询中符号代表由零个或更多字符组成的任意字符串,下划线“一”符号代表字符。答案:、任意单个9. 创建表的语句是:。答案;CREATE TABLE表剑10. 在Microsoft SQL Server 2008中,主数据文件的后缀是。答案:.mdf11. 在Microsoft SQL Server 2008中,日志文件的后缀是。答案:ldf12. 创建索引的语句是: INDEXo答案:CREATE13. 语句 s

3、elect round (12. 3421, 2), round (23. 4567, 3)的执彳亍结果是: 和答案;12. 34, 23. 45714. 关系是笛卡尔积的有限子集,所以是一个维表,表的每行对应一个,每列对应_个。答案:二、元组、域二、问答题1. 对SQLServer实例访问,SQLServer 2008支持哪几种身份验证模式?答案:SQL Server 2008支持两种身份验证模式:Windows身份验证模式(2分)和混合身份验证模式(2分)。Windows身份验证模式使用Windows操作系统中的信息验证账户攵和密码,默认的身份验证模式。(3分)混合身份验证模式允许用户使用

4、Windows身份验证或SQL Server身份验证进行连接(3分)。2. 简述SELECT语句中的FROM、WHERE以及ORDER BY子句的作用。SQL Server 2008系统中主要数据库对象都有哪些?答案:在SELECT语句中:FROM子句:用来指左数据来源的表;(2分)WHERE子句:用来限左返回行的搜索条件;(2分)ORDER BY子句:用来指泄结果的排序方式。(2分)主要的数拯库对象包括数据库关系图、表、视图、同义词、存储过程、函数、触发器、程序集、类型、规则和默认值等。(酌情给分,共4分)3. 如何使用IF-ELSE流程控制语句?答案:一个逻辑表达式的结果要么为貞,要么为假

5、。根据不同的结果,对应于不同的操作。这时就需要 使用IF-ELSE语句在程序中对于给左条件进行判断。语法格式如下:IF条件表达式语句体1ELSE语句体2 (5分)说明: 条件表达式的运算结果应该为TRUE(真)或FALSE(假),如果条件表达式中含有SELECT语句,则必 须用圆括号将SELECT语句括起来:(2分) 当条件表达式的值为TRUE时执行语句体1.然后执行IF语句之后的语句:如果条件表达式的值 为FALSE,则执行ELSE关键字后而的语句体2,然后执行IF语句之后的语句;(2分)可以在IF区域或若ELSE区域嵌套另一个IF语句,对于嵌套的层数没有限制。(2分)4. 如何使用WHIL

6、E流程控制语句?答案:WHILE语句是一种将同一段代码循环运行多次的方法,它可以根据一个条件表达式的结果,将代 码从0次开始运行到指泄次数,或者是持续运行直到遇见BREAK关键字退出循环。(5分)WHILE语句的语法格式如下:WHILE条件表达式Begin循环体end可以在循环体内设B BREAK和CONTINUE关键字,以便控制循环语句的执行。(5分)5. T-SQL的注释符是什么?参见P67答案:注释也称注解,是程序代码中不执行的文本字符串。注释主要描述程序名称、作者名称、变疑说 明、代码更改日期、算法描述等。使用注释对代码进行说明,不仅能够使程序易读易懂,而且有助于日 后对程序的管理与维

7、护。(5分)在T-SQL中,可以使用两种类型的注释符: 注释符-”用于单行注释(2分) 注释符“广*/”,用于注释多行文字(3分)3/196. SQL语句中SUM函数、COUNT函数、AVG函数的功能是什么?答案:SUM函数:讣算值的总和并返回总数。COUNT函数:计算记录数。AVG函数:返回指泄列中的平均值。7. 简述插入操作过程中的常见异常情况。答:1)插入数据值的个数多于列的个数2)提供数据的类型与列类型不兼容3)插入数据时违背了约朿8. 对表进行数据操作包括哪几种?答:包括数据的插入,修改,删除三种操作9. 任关系数据库中是按照“二维表”的形式来组织数据的,每张表由哪两部分组成?答:一

8、部分是关于表的结构定义信息,包括表的爼称,列的爼称,列的长度和列的数据类型等:另一部分是 存储在表中的用户数据。10. SQLServer中,约朿条件有哪几种类型,都是什么?答:有五种类型:空值约束,唯一约朿,主键约朿,外键约朿,检查约朿.11. 说明HAVING子句与WHERE子句之间的区別。答:WHERE子句是用来指立数据库表中数据行应该满足的条件,HAVING子句是在分组(GROUP BY子句)前提下选择每一个分组应该满足的条件12. 简述修改操作过程中的常见异常情况。答:1)没有要修改的数据2)设苣新值时,数据类型不兼容.3)修改数据时违背了约束13. SQL语言的命令一般分为哪四类语

9、句?答:分为查询,数据操纵,数据立义和数拯控制四类语句。四. 程序题2有家企业要用表tl来存储客户的信息。客户的信息包括:代号(int,主键),名称(char(20),电话(char(20),传真(char(20) 备注(nvarchar(lOOO)。(1) 请写出创建该表的SQL语句。(2) 后来因手机流行,需要在表tl中再添加列手机”,该列的类型是char (11)。请写出添加该列 的SQL语句。答案:(1) 酌情给分(5分)Create table tl(代号 int primary key p名称 char(2O),电话 char(2O),传真 char(20),备注 nvarchar

10、( 1000)(2) 酌情给分(5分)alter table tl add机 char(ll)2. (1)创建学生信息表,学生表的信息包括:StudID (代表学号char(8),非空主键),Name (学生姓划 varchar(20)非空) Birthday (生日,非空),DeptID (院系号char(2)非空)请创建该表。(2)给某公司创建表tbIEmployees:存储廉员的代号(4个字符,唯一)、身份证号码(18个字符)、 名字(20个字符)和工资信息。请写出创建这个表的T-SQL语句,要保证:工资的值大于0,身份证号码 唯一。答案:代码酌情给分,每个5分(1) CREATE TA

11、BLE student(StudID char(8) not null PRIMARY KEY;Name varchar(20) not null,Birthday date not null,DeptID char(2) not null(2) create table tblEmployees(ID char(4) unique,IDCARD char18) unique,Name char(20)zGongzi int check (Gongzi0)3.用SQL语言实现下列功能的sql语句代码:(1) 创建数拯表宿舍表:宿舍表(宿舍号char(6),宿舍电话),要求使用:主键(宿舍号)、

12、宿舍电话:以847开头的7位电话号码(2) 创建数据表同学表:同学表(学号char(6),姓轲,性别,年龄,民族,身份证号,宿舍号),要求 使用:主键(学号)、外键(宿舍号)、默认(民族)、非空(民族,姓名,年龄)、唯一(身份证号)、检查(性别)(3) 将下列宿舍信息添加到宿舍表:宿舍号宿舍电话101 8471157102 8471777答案:酌情给分,共10分(1) create table 宿舍表(宿舍号char(6) primary key,宿舍电话char(7) check(宿舍电话like,8470-90-90-90-9门)(2) create table 同学表(学号 char(6

13、) primary key,姓名 nchar4) not null,性别 nchar(l) check(性别 in C男,女),年龄int,民族 nchar(8) default 汉族1 not null,身份证号 char(18) unique,宿舍号char(6) references宿舍表(宿舍号)(3) insert 宿舍表 valuesClOl; 871157)insert 宿舍表 values(,102,/ 84717771)7/194根据以下情况,写出创建course表的语句。属性列数拯类型长度空值列约朿csjdn VarChar4Not NullPKcs_nmnVarChar2

14、0Not Nullcs_tmintNullcs_scintNull答案:酌情给分,共10分CREATE TABLE coursecsdn VarChar(4)primary key NOT NULL,cs_nmn VarChar(20)NOT NULL,cs_tmintNULL,cs scintNULL5.(1) 请写出在某数据库中执行以下语句后的输出结果。CREATE TABLE tabl(CNO CHAR(3)ZNAME VARCHAR(20),CLASS VARCHAR(20)INSERT INTO tabl valuesCOOl1;方健丁三年二班)INSERT INTO tabl va

15、lues (002;李勇T三年一班)select * from tabl(2) 请写出在某数据库中执行以下语句后的输岀结果。CREATE TABLE tablel(CNO CHAR(3) primary key,NAME VARCHAR(20)/grade int)INSERT INTO tablet values(,001,;方明:85)INSERT INTO tablel valuesC0027李元:90)INSERT INTO tablel valuesfOS;徐汇:75)INSERT INTO tablel values(,004,;王希:59)INSERT INTO tablel v

16、alues(005T刘玉:70)select CNO,NAME from tablel where grade between 60 and 80 order by grade答案:酌情给分,每个5分001方健三年二班002卜I三年一班(2)005刘玉003徐汇6.已知有如卜student表:StudIDNameDeptIDMinzu1张三12汉族212汉族3王明13蒙古族4李密12汉族5刘凤15满族请写出执行以下语句后的输出结果。(1) SELECT Name, Minzu FROM student WHERE DeptID BETWEEN l13l AND llSl(2) SELECT *

17、 FROM student WHERE DeptID IN (,12,;15l)答案:(1)5分王明蒙古族刘凤满族(2) 5 分1张三12汉族212汉族4李密12汉族5刘凤15满族7 请写出在某数据库中执行以下语句后的输出结果。CREATE TABLE table8(CNO CHAR(3) primary key.NAME VARCHAR(20)zgrade int)INSERT INTO table8 valuesCOOl;方明:85) INSERT INTO table8 valuesCW/李元:90)INSERT INTO table8 values(OO3:徐汇75) INSERT I

18、NTO table8 values(,004,;王希:59)(1) select max(grade) as 最高分,sum(grade)1 总分:min(grade)最低分 from table8(2) select avg(grade) as 平均分 from table8(3) select * from table8 where grade80 order by eno desc答案;(1)3 分最髙分总分最低分9030959(2) 3 分Iw?77或77.25 (任答一个均正确)(2) 4 分CNONAMEgrade004王希59003徐汇758已知有如卜student表:StudI

19、DNameDeptIDMinzu1张三12汉族2仝冬12汉族3王明13蒙古族(1)写出査询student表中非12系(DeptID)的学生信息的语句(2)写岀查询表中Name包含“李”的所有信息的语句。答案:(1) SELECT * FROM student WHERE NOT (DeptID = 12) (5 分)(2) SELECT * FROM student WHERE Name LIKE %李( 5 分)9.已知数据库中存在以下两个表,同学表(学号char(6),姓名,性别,年龄,民族,身份证号,宿舍 号),宿舍表(宿舍号char,宿舍电话)。(1)从同学表中查询女同学的最大年龄、最

20、小年龄、平均年龄。(2)创建带参数的存储过程某宿舍同学:姓名,性别,宿舍电话,执行此过程,査询10U宿舍情况(3将下列宿舍信息添加到宿舍表:宿舍号宿舍电话9/1910484710571098470333答案:酌情给分,共10分(1) select最大年龄=max(年龄),最小年龄=min(年龄),平均年龄=avg(年龄)from同学表where性别=女I(2) create procedure 某宿舍同学宿舍号 varchar(6) asselect姓名,性别,宿舍电话from同学表视图where宿舍号=宿舍号go execute 某宿舍同学lOl*(3) insert 宿舍表 values(

21、l04: 8471057)insert 宿舍表 values(S09: 8470333)10 请写出在某数据库中执行以下语句后的输岀结果。ICREATE TABLE table2(CNO CHAR(3) primary key.NAME VARCHAR(20)/grade int)i! INSERT INTO table2 valuesfWl;方明:89) INSERT INTO table2 values(,002,/l李元:90)ii:INSERT INTO table2 valuesC0037徐汇:60) INSERT INTO table2 values(004:王希775)iCREA

22、TE TABLE table3(CNO CHAR(3) primary key.sdept char(20)iha. INSERT INTO table3 valuesfWl1;计算机系)INSERT INTO table3 values(,002,;电子系)INSERT INTO table3 values(003:电子系)INSERT INTO table3 values(I004,;计算机系J(1) select sdeptzSUM(grade) from table3 join table2 on o=o group by sdept(2) sele

23、ct max(grade) as 最髙分,min(grade)最彳氐分 from table2(3) select name from table3 join table2 on o=o where table3.sdept=if 算机系,答案:(1)(2)方明11.现有数据表如下:学生信息表(学号char (6),姓名,性别,民族,身份证号),课程信息表(课号 char (6),名称),成绩信息表(ID,学号,课号,分数)(1)从学生信息表中查询姓刘的女同学的情况:姓划、性別、民族。(2)查询有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、姓

24、爼。答案:(1) select姓名,性別,民族from学生信息表where姓需like 刘好and性别二女(5 分)(2) select学号,姓名 from学生信息表 where学号in (select distinct学号from成绩信息 表where分数60) (5分)12. (1)使用SQL语句把学生基本信息表中姓名由8个字符改为20个字符。(2)把课程表中课程号为C001的上课教师由胡小雨改为胡大雨。答:(1) alter table学生基本信息表alter column 姓名 char(20) not null(2) update课程表set课教师-胡大雨where 课程号=00r1

25、3. (1)在学生信息表(学号,姓名,性别)中查询所有学生的姓洛,学号和性别信息。(2)按照性别降序,显示学号、姓爼和性别。答:(1) select姓名,学号,性别from学生信息表(2) select学号,姓需,性别 from学生信息表order by性别desc14. (1)在学生信息表中(学号,姓名,奖学金,出生日期)查询学生中年龄最大的前三名的学号和姓名。(2)查询奖学金在300元(包括300元)与1500元(包括1500元)之间的学号、姓名和奖学金值。答.(1) select top 3学号,姓名from学生信息表order by出生日期(2) select学号,姓名,奖学金from

26、学生信息表where奖学金between 300 and 150015. 在学生基本信息表(字段为学号、姓名、性别)中建立一个DELETE类型的触发器“学生信息删除 触发器”,触发动作是显示删除数据的提示信息。答:create trigger学生信息删除触发器on学生基本信息表for deleteasprint 学生基本信息表删除了下列数据行select 学号,姓名,性别 from deleted16. 在学生基本信息表中(字段为学号、姓划、性别、出生年月日)査询年龄最小的学生的岀生年月日。答:select max(岀生日期)as 出生年月日from学生基本信息表17现有视图如下:成绩表视图(

27、学号,姓爼,课号,课程拿称,分数)。要求创建查询某门课程的最高 分、最低分、平均分的存储过程某门课程高低均分,同时执行该过程,查询所有修专业英语”这门 课程的学生的最高分、最低分、平均分。create procedure 某门课程高低均分课程名nchar (16) asselect课程名称,最高分二max(分数),最低分二min(分数),平均分二avg(分数)from成绩表视图where课程名称二课程名group by课程名称goexecute 某门课程高低沟分专业英语(10分)18.已知student数据库中学生信息表内容如下:学生信息表(sxs)学号姓名性别出生日期政治而貌(charj)(

28、char.8)(char,2)datetime(charJO)林一帆男1982-4-5团员李华女1984-11-6群众(1)修改李华的政治而貌改为“党员” OUPDATE sxsSET政治面貌党员WHERE姓名李华,(2)删除李华的这条记录。DELETE FROM sxsWHERE姓名李华,(3)查询所有学生的基本信息,并按学号排序。SELECT * FROM sxsORDER BY 学号五. 单选题1. Microsoft SQL Server 是()A. 基于网状型数据库模型的数据库管理系统B. 基于层次型数据库模型的数据库管理系统C. 基于关系型数据库模型的数据库管理系统D. 以上都不正

29、确C2. 若要在基本表dep中增加一列CN,可用()语句。A. add table dep(CN char(8)B add table dep alter(CN char(8)C alter table dep add CN char(8)D alter table add dep CN char(8) C3. 在登记学生成绩时要保证列Score的值在0到120之间,下而()方法最简单。A. 编写一个触发器来检查Score的值,如果在0和120之间,则撤消插入B. 生成用户自楚义类型type_Score和规则,将规则与数据类型type_Score相关联,然后设置列Score 的数据类型类型为t

30、ype_ScoreC. 编写一个触发器来检查Score的值,如果不在0和120之间,则撤消插入D. 在Scor亡列增加检査限制D4. 设关系数据库中一个表CJ的结构为CJ(sname, cname, grade),其中sname为学生姓名,cname为课程兔,二者均为字符型:grade为成绩,数值型,取值范围0-100。若要更正张三的化学成绩为85分,则 可用()。A update CJ set grade=85 where sname=,张三and cname=,化学B update set grade=,80 where sname二张三and cname二化学C update grade

31、=85 where sname二张三and cname二化学D create CJ grade=85 where snam已二张三and cname二彳匕学A5您需要显示年龄从18到25的学生的姓名和年龄。学生表XSXX包含列“姓名”和列“年龄”,下而17/19)语句能完成该功能。A.SELECT姓名,年龄FROMxsxxB.SELECT姓名,年龄FROMxsxxWHERE 年龄二 18 0R 年龄二 25C.SELECT姓名,年龄FROMxsxxWHERE 年龄 BETWEEN 18 AND 25D.SELECT姓名,年龄FROMxsxxWHERE 年龄二 18 AND 年龄!= 256.有

32、如卜SQL语句:SELECT * FROM student where DeptID between 12 and 18,与该语句等价的是A.SELECT* FROM studentwhere DeptID=12B.SELECT* FROM studentwhereDeptID12C.SELECT* FROM studentwhereDeptID18 and DeptID=12D.SELECT* FROM student whereDeptID18 and DeptID12答案.A)语句能7.由于业务量很大,订单表存放了大量的数据。你想查询3年以前的购买信息,下而(够完成该任务。A.selec

33、tFROM订单表WHERE购买日期DATEADD( YY, -3, GETDATEO )BselectFROM订单表WHERE购买日期 DATEADD( YY, 3, GETDATEO )C.selectFROM订单表WHERE购买日期 GETDATEO - 3D.selectFROM订单表WHERE购买日期GETDATEO + 38设关系数据库中一个表ST的结构为ST(sname, cname, grade),其中sname为学生姓名,cname为课程 名,二者均为字符型,grade为成绩,数值型,取值范用0-100。若要把张三的化学成绩80分插入到ST 中,则可用()。A. add int

34、o ST values (张三,化学, 80)B. inserts into ST values(* 张三,化学,80)C. insert ST values (化学,张三,80)D. insert into ST valuesC 张三,化学,80)D9.以下关于HAVING子句描述错误的是()。A. HAVING子句允许与GROUP BY子句同时使用B. 使用HAVING子句的同时不能使用WHERE子句C. 使用HAVING子句的同时可以使用WHERE子句D. 使用HAVING子句的作用是限泄分组的条件答案.B10. 要查询book表中所有书名中以“il算机网络”开头的书籍情况,可用()语句

35、。A.SELECTFROMbookWHEREbook nameLIKE 计算机网络*BSELECTFROMbookWHEREbook nameLIKE 计算机网络WC.SELECTFROMbookWHEREbook name!二计算机网络*D.SELECTFROMbookWHEREbook name!二计算机网络%11. 在SQL的查询语句中如要指左列的别名,以下错误的是()。A. select原列名,列别名,from数拯源Bselect原列名as列别名from数拯源C. select原列名列别名from数据源D. select原列名to列别名from数据源12在SQL server 2008系统中,如果创建视图的基表被删除,则视图()0A. 还能使用,但字段数量会增加B. 不能被使用C. 还能使用,且字段数虽没有改变D. 还能使用,但字段数疑会减少B13.以下对视图的描述错误的是()。A. 是一张虚拟的表B. 在存储视图时存储的是视图的定义C. 在存储视图时存储的是在视图中的可以查询的实际数据D. 可以像查询表一样来查询视图14. 以下关于触发器的描述,错误的是().A. 触发器是一种特殊的存储过程,用户可以宜接显示调用B. 触发器可以侦测数据库内的操作C. 触发器可以

温馨提示

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

评论

0/150

提交评论