


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、机密启用前大连理工大学网络教育学院2017年秋SQL数据库系统及应用期末考试复习题 注意事项:本复习题满分共:400分。一、填空题1. 在关系数据库的规范中,在一个关系中,消除重复字段,且各字段都是最小的逻辑存储单元代表第范式。答案:一2. 在索 引命令中使用关键字 CLUSTERED和NONCLUSTER% 别表示将建立的是和答案:聚集索引、非聚集索引3. 常见的关系数据库有 ACCESS和。答案:SQL Server、Oracle4. 从表中删除数据的命令是 fromwhere 。答案:Delete、表名5. 向表中数据的命令是 insert into 表名(constant1,const
2、ant2,)。答案:插入、values6. 在一个表上,最多可以定义 个聚集索引,最多可以有 个非聚集索引。答案:1、多7. ABS函数的功能是返回数值表达式的 。答案:绝对值8. LIKE查询中 符号代表由零个或更多字符组成的任意字符串,下划线“符号代表字符。答案:%任意单个9. 创建表的语句是:答案:CREATE TABLE表名10. 在 Microsoft SQL Server 2008 答案:.mdf11. 在 Microsoft SQL Server 2008 答案:df12. 创建索引的语句是: 中,主数据文件的后缀是 中,日志文件的后缀是 。INDEX。答案:CREATE13.
3、语句 select round(12.3421,2),round(23.4567,3)的执行结果是: 和答案:12.34,23.45714. 关系是笛卡尔积的有限子集,所以是一个 维表,表的每行对应一个 ,每列对应一个。答案:二、元组、域、问答题1. 对SQL Server实例访问,SQL Server 2008支持哪几种身份验证模式?答案:SQL Server 2008支持两种身份验证模式:Windows身份验证模式(2分)和混合身份验证模式(2分)。Windows身份验证模式使用 Windows操作系统中的信息验证账户名和密码,默认的身份验证模式。(3分)混合身份验证模式允许用户使用Win
4、dows身份验证或SQL Server身份验证进行连接(3分)。2. 简述SELECT语句中的FROM、WHERE以及ORDER BY子句的作用。SQL Server 2008系统中主要数据库对象都有哪些?答案:在SELECT语句中:FROM子句:用来指定数据来源的表;(2分)WHERE子句:用来限定返回行的搜索条件;(2分)ORDER BY子句:用来指定结果的排序方式。(2分)主要的数据库对象包括数据库关系图、表、视图、同义词、存储过程、函数、触发器、程序集、类型、规则和默认值等。(酌情给分,共4分)3. 如何使用IFELSE流程控制语句?答案:一个逻辑表达式的结果要么为真,要么为假。根据不
5、同的结果,对应于不同的操作。这时就需要使 用IFELSE语句在程序中对于给定条件进行判断。语法格式如下:IF条件表达式语句体1 ELSE 语句体2 ( 5分)说明: 条件表达式的运算结果应该为TRUE真)或FALSE假),如果条件表达式中含有SELECT语句,则必须用圆括号将SELECT语句括起来;(2分) 当条件表达式的值为TRUE时执行语句体1,然后执行IF语句之后的语句;如果条件表达式的值为FALSE则执行ELSE关键字后面的语句体 2,然后执行IF语句之后的语句;(2分)可以在IF区域或者ELSE区域嵌套另一个IF语句,对于嵌套的层数没有限制。(1分)4. 如何使用 WHILE流程控制
6、语句?答案:WHILE语句是一种将同一段代码循环运行多次的方法,它可以根据一个条件表达式的结果,将代码从0次开始运行到指定次数,或者是持续运行直到遇见BREAK关键字退出循环。(5分)WHILE语句的语法格式如下:WHILE条件表达式Begin循环体end可以在循环体内设置 BREAK和 CONTINUE关键字,以便控制循环语句的执行。(5分)5. T-SQL的注释符是什么?参见p67答案:注释也称注解,是程序代码中不执行的文本字符串。注释主要描述程序名称、作者名称、变量说明、代码更改日期、算法描述等。使用注释对代码进行说明,不仅能够使程序易读易懂,而且有助于日后对程序的管理与维护。(5分)在
7、T-SQL中,可以使用两种类型的注释符: 注释符“-”用于单行注释(2分) 注释符“ /* */ ”,用于注释多行文字(3分)6. SQL语句中SUM函数、COUNT函数、AVG函数的功能是什么?答案:SUM函数:计算值的总和并返回总数。COUNT函数:计算记录数。AVG函数:返回指定列中的平均值。7. 简述插入操作过程中的常见异常情况。答:1)插入数据值的个数多于列的个数2)提供数据的类型与列类型不兼容3)插入数据时违背了约束8对表进行数据操作包括哪几种?答:包括数据的插入,修改,删除三种操作9. 在关系数据库中是按照“二维表”的形式来组织数据的,每张表由哪两部分组成?答:一部分是关于表的结
8、构定义信息,包括表的名称,列的名称,列的长度和列的数据类型等;另一部分是存储在表中的用户数据。10. SQL Server中,约束条件有哪几种类型,都是什么?答:有五种类型:空值约束,唯一约束,主键约束,外键约束,检查约束11. 说明HAVING子句与WHER子句之间的区别。答:WHERE子句是用来指定数据库表中数据行应该满足的条件,HAVING子句是在分组(GROUP BY子句)前提下选择每一个分组应该满足的条件12. 简述修改操作过程中的常见异常情况。答:1)没有要修改的数据2)设置新值时,数据类型不兼容.3)修改数据时违背了约束13. SQL语言的命令一般分为哪四类语句?答:分为查询,数
9、据操纵,数据定义和数据控制四类语句。四、程序题1. 有家企业要用表t1来存储客户的信息。客户的信息包括:代号(int,主键),名称(char(20),电话(char(20), 传真(char(20),备注(nvarchar(1000)。(1) 请写出创建该表的SQL语句。(2) 后来因手机流行,需要在表t1中再添加列“手机”,该列的类型是char (11)。请写出添加该列的SQL 语句。答案:(1) 酌情给分(5分)Create table t1(代号 int primary key ,名称 char(20),电话char(20),传真char(20),备注n varchar(1000)(2)
10、 酌情给分(5分)alter table t1 add 手机 char(11)2. ( 1)创建学生信息表,学生表的信息包括: StudID (代表学号 char(8),非空主键),Name (学生姓名 varchar(20),非空),Birthday (生日,非空),DeptID (院系号char(2),非空)。请创建该表。(2)给某公司创建表tbIEmployees :存储雇员的代号(4个字符,唯一)、身份证号码(18个字符)、名字(20个字符)和工资信息。请写出创建这个表的T-SQL语句,要保证:工资的值大于0,身份证号码唯一。答案:代码酌情给分,每个 5分(1) CREATE TABL
11、E student(StudIDchar(8)not n ull PRIMARY KEYNamevarchar(20)not null,Birthdaydate not n ull,DeptIDchar(2)not null(2) create table tblEmployees(ID char(4) uniq ue,IDCARD char(18) unique,Name char(20),Gon gzi int check (Gon gzi>0)3. 用SQL语言实现下列功能的 sql语句代码:(1) 创建数据表宿舍表:宿舍表(宿舍号char(6),宿舍电话),要求使用:主键(宿舍号
12、)、宿舍电话:以 847开头的7位电话号码(2)创建数据表同学表:同学表(学号char(6),姓名,性别,年龄,民族,身份证号,宿舍号 ),要求 使用:主键佇号)、外键(宿舍号)、默认(民族)、非空(民族,姓名,年龄)、唯一(身份证号)、检查(性别)(3)将下列宿舍信息添加到宿舍表:佰舍号宿舍电话10184711571028471777答案:酌情给分,共10分(1) create table佰舍表(宿舍号char(6) primary key,宿舍电话char(7) check(宿舍电话like '8470-90-90-90-9')(2) create table 同学表(学号
13、 char(6) primary key,姓名 nchar(4) not null,性别 nchar(1) check(性别 in ('男','女'),年龄int ,民族 nchar(8) default '汉族'not null,身份证号 char(18) uni que,宿舍号 char(6) references宿舍表(宿舍号)(3) insert 宿舍表 values('1O1', '8471157')insert 宿舍表 values('102', '8471777')4.
14、 根据以下情况,写出创建course表的语句。属性列数据类型长度空值列约束cs_idnV arChar4Not NullPKcs_nmnV arChar20Not Nullcs_tmintNullcs_scintNull答案:酌情给分,共10分CREATE TABLE course(cs_idn VarChar(4)primary key NOT NULLcs_nmn VarChar(20)NOT NULL ,cs_tmintNULL ,csscintNULL)5.(1) 请写出在某数据库中执行以下语句后的输出结果。CREATE TABLE tabl(CNO CHAR(3),NAME VARC
15、HAR(20),CLASS VARCHAR(20)INSERT INTO tabl values('001',方健','三年二班') INSERT INTO tabl values ('002',李勇','三年一班') select * from tabl(2) 请写出在某数据库中执行以下语句后的输出结果。CREATE TABLE table1(CNO CHAR(3) primary key,NAME VARCHAR(20),grade int)INSERT INTO table1 values('001&
16、#39;,方明',85)INSERT INTO table1 values('002',李元',90)INSERT INTO table1 values('003',徐汇',75)INSERT INTO table1 values('004',王希',59)INSERT INTO table1 values('005',刘玉',70)select CNO,NAME from table1 where grade between 60 and 80 order by grade答案:酌情给分,
17、每个5分(1)001方健三年二班002李勇三年一班005刘玉003徐汇6.已知有如下student表:StudIDNameDeptIDMin zu1张三12汉族2李赛12汉族3王明13家古族4李密12汉族5刘凤15满族请写出执行以下语句后的输出结果。(1) SELECT Name, Minzu FROM student WHERE DeptID BETWEEN '13' AND '15'(2) SELECT * FROM student WHERE DeptID IN ('12','15')答案:(1)5分王明家古族刘凤满族(2)
18、 5 分1张三12汉族2李赛12汉族4李密12汉族5刘凤15满族7. 请写出在某数据库中执行以下语句后的输出结果。CREATE TABLE table8(CNO CHAR(3) primary key,NAME VARCHAR(20),grade int)INSERT INTO table8 values('001',方明',85) INSERT INTO table8 values('002',李元',90)INSERT INTO table8 values('003',徐汇',75) INSERT INTO table
19、8 values('004',王希',59)(1) select max(grade) as 最高分,sum(grade)'总分',min(grade) 最低分 from table8(2) select avg(grade) as 平均分 from table8(3) select * from table8 where grade<80 order by eno desc答案:(1)3 分最高分总分最低分9030959(2)3 分平均分77或77.25 (任答一个均正确)(2)4 分CNONAMEgrade004王希59003徐汇758. 已知
20、有如下student表:StudIDNameDeptIDMin zu1张三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),姓名,性别,年龄,民族,身份证号,宿舍号 ),宿舍
21、表(宿舍号char(6),宿舍电话)。(1)从同学表中查询女同学的最大年龄、最小年龄、平均年龄。(2) 创建带参数的存储过程 某宿舍同学:姓名,性别,宿舍电话,执行此过程,查询'101'宿舍情况(3)将下列宿舍信息添加到宿舍表:佰舍号宿舍电话10484710571098470333答案:酌情给分,共10分(1) select最大年龄 =max(年龄),最小年龄 =min(年龄),平均年龄 =avg(年龄)from 同学表 where性 别='女'(2)create procedure 某宿舍同学宿舍号 varchar(6) asselect姓名,性别,宿舍电话f
22、rom同学表视图where宿舍号=宿舍号go execute 某宿舍同学'101'(3)insert 宿舍表 values('1O4', '8471057')insert 宿舍表 values('1O9', '8470333')10. 请写出在某数据库中执行以下语句后的输出结果。I:CREATE TABLE table2(CNO CHAR(3) primary key,NAME VARCHAR(20),grade int)I:INSERT INTO table2 values('001',方明
23、9;,89)INSERT INTO table2 values('002',李元',90)IINSERT INTO table2 values('003',徐汇',60)INSERT INTO table2 values('004',王希',75)I:CREATE TABLE table3(CNO CHAR(3) primary key,sdept char(20)iINSERT INTO table3 values('001',计算机系')INSERT INTO table3 values(
24、9;002',电子系')INSERT INTO table3 values('003',电子系')INSERT INTO table3 values('004',计算机系')(1) select sdept,SUM(grade) from table3 join table2 on o=ogroup by sdept(2)select max(grade) as 最高分,min(grade) 最低分 from table2(3) select name from table3 join table2 on o=o where ta
25、ble3.sdept='计算机系答案:(1)电子系150计算机系164最高分最低分9060(3)方明王希11. 现有数据表如下:学生信息表(学号char(6),姓名,性别,民族,身份证号),课程信息表(课号char(6),名称),成绩信息表(ID,学号,课号,分数)(1)从学生信息表中查询姓刘的女同学的情况:姓名、性别、民族。(2) 查询有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、姓名。答案:(1)select 姓名,性别,民族from学生信息表 where 姓名like ' 刘%' and性别='女'(5分)(2) select 学号
26、,姓名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 课程号='C001 '13. ( 1)在学生信息表(学号,姓名,性别)中查询所有学生的姓名,学号和性别信息。(2)按照性别
27、降序,显示学号、姓名和性别。答:(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 学生信息表 where 奖学金between 300 and 150015.
28、在学生基本信息表(字段为学号、姓名、性别)中建立一个DELETE类型的触发器“学生信息删除触发器”,触发动作是显示删除数据的提示信息。答:create trigger学生信息删除触发器on学生基本信息表for deleteasprint学生基本信息表删除了下列数据行select 学号,姓名,性别 from deleted16. 在学生基本信息表中(字段为学号、姓名、性别、出生年月日)查询年龄最小的学生的出生年月日。答:select max(出生日期)as '出生年月日from学生基本信息表17. 现有视图如下:成绩表视图(学号,姓名,课号,课程名称,分数)。要求创建查询某门课程的最高分
29、、最低分、平均分的存储过程某门课程高低均分,同时执行该过程,查询所有修“专业英语”这门课程的 学生的最高分、最低分、平均分。create procedure 某门课程高低均分课程名nchar(16) asselect 课程名称,最高分=max(分数),最低分=min(分数),平均分=avg(分数)from成绩表视图where课程名称=课程名group by 课程名称go18. 已知student数据库中学生信息表内容如下:学生信息表(SXS)学号姓名性别出生日期政治面貌(char,7)(char,8)(char,2)datetime(char,10)2041031林一帆男1982-4-5团员2
30、041012李华女1984-11-6群众(1)修改李华的政治面貌改为“党员”UPDATE sxsSET政治面貌='党员WHERE姓名='李华'(2 )删除李华的这条记录。DELETE FROM sxsWHERE姓名='李华'(3) 查询所有学生的基本信息,并按学号排序。SELECT * FROM sxsORDER BY 学号五、单选题1. Microsoft SQL Server 是( )。A. 基于网状型数据库模型的数据库管理系统B. 基于层次型数据库模型的数据库管理系统C. 基于关系型数据库模型的数据库管理系统D. 以上都不正确2. 若要在基本表de
31、p中增加一列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 的数据类型类型为type_ScoreC
32、. 编写一个触发器来检查Score的值,如果不在 0和120之间,则撤消插入D. 在Score列增加检查限制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='85' where sname='
33、;张三'and cname=' 化学'C. update grade=85 where sname='张三'and cname=' 化学'D. create CJ grade=85 where sname='张三'and cname=' 化学'A5. 您需要显示年龄从18到25的学生的姓名和年龄。 学生表xsxx包含列“姓名”和列“年龄”,下面()语句能完成该功能。A. SELECT姓名,年龄 FROM xsxxB. SELECT姓名,年龄 FROM xsxx WHERE年龄=18 OR 年龄=25C. S
34、ELECT姓名,年龄 FROM xsxx WHERE 年龄 BETWEEN 18 AND 25D. SELECT姓名,年龄 FROM xsxx WHERE年龄=18 AND 年龄!= 25C6. 有如下 SQL语句:SELECT FROMitudent where DeptID between 12 and 18,与该语句等价的是 ()。A. SELECT * FROM student where DeptlD<=18 and DeptlD>=12B. SELECT * FROM student where DeptID<=18 and DeptID>12C. SELE
35、CT * FROM student where DeptID<18 and DeptID<=12D. SELECT * FROM student where DeptID<18 and DeptID<123年以前的购买信息,下面()语句能够答案.AA.select * FROM订单表WHERE购买日期B.select * FROM订单表WHERE购买日期C.select * FROM订单表WHERE购买日期D.select * FROM订单表WHERE购买日期7.由于业务量很大,订单表存放了大量的数据。你想查询 完成该任务。A< GETDATE() + 3<
36、 GETDATE() - 3< DATEADD( YY, -3, GETDATE()< DATEADD( YY, 3, GETDATE()8. 设关系数据库中一个表 ST的结构为ST(sname,cname,grade),其中sname为学生姓名,cname为课程名,二者均为字符型,grade为成绩,数值型,取值范围 0-100。若要把张三的化学成绩 80分插入到ST中, 则可用()。A. add into ST values(' 张三','化学','80')B. inserts into ST values(' 张三'
37、;,'化学','80')C. insert ST values('化学','张三','80)D. insert into ST values('张三','化学',80)D9. 以下关于HAVINGF句描述错误的是()。A. HAVING?句允许与GROUP BY子句同时使用B. 使用HAVINGF句的同时不能使用 WHER子句C. 使用HAVING句的同时可以使用 WHER子句D. 使用HAVING句的作用是限定分组的条件答案.B)语句。10. 要查询book表中所有书名中以“计算机网络”开
38、头的书籍情况,可用(A. SELECT * FROM book WHERE book_name LIKE '计算机网络 *'B. SELECT * FROM book WHERE book_name LIKE '计算机网络 %'C. SELECT * FROM book WHERE book_name!='计算机网络 *'D. SELECT * FROM book WHERE book_name!='计算机网络 %'B11.在SQL的查询语句中如要指定列的别名,以下错误的是()。A.select原列名'列别名from数据源B.select原列名as列别名from数据源C.select原列名列别名from数据源D.select原列名to列别名from数据源D12. 在SQL server 2008系统中,如果创建视图的基表被删除,则视图(A. 还能使用,但字段数量会增加B. 不能被使用C. 还能使用,且字段数量没有改变D. 还能使用,但字段数量会减少B13. 以下对视图的描述错误的是()。A. 是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 租房合同范本 门面
- 套装电脑出售合同范本
- 外墙喷涂合同范本
- 弱电工程项目合同管理流程
- 二零二五年度白酒与文化主题公园合作包销合同
- 二零二五年度化妆品电商平台佣金结算合同
- 二零二五年度手房买卖电子合同安全性与隐私保护措施
- 二零二五家庭房产赠与合同附带家庭财务规划服务
- 二零二五年度办公楼转租协议合同:商务租赁权转让专案
- 二零二五年度舞台剧排练安全责任免除合同
- 护士临床护理组长
- 土建、装饰、维修改造等零星工程施工组织设计技术标
- 高速公路养护作业安全培训内容
- 2024年江苏经贸职业技术学院单招职业适应性测试题库
- 《大白菜种植栽培技》课件
- 北京工业大学《数据挖掘》2023-2024学年第一学期期末试卷
- 2024年物联网安装调试员(中级工)职业资格鉴定考试题库(含答案)
- 标准化机房改造方案
- 珠海市第三人民医院中医智能临床辅助诊疗系统建设方案
- 早产临床诊断与治疗指南
- 工程签证单完整版
评论
0/150
提交评论