SQL大数据库系统及应用
- 格式:doc
- 大小:137.50 KB
- 文档页数:19
实用标准文档 文案大全 机 密★启用前
大连理工大学网络教育学院
2017年秋《SQL数据库系统及应用》 期末考试复习题
☆ 注意事项:本复习题满分共:400分。
一、填空题 1.在关系数据库的规范中,在一个关系中,消除重复字段,且各字段都是最小的逻辑存储单元代表第______________范式。 答案:一 2.在索引命令中使用关键字CLUSTERED和NONCLUSTERED分别表示将建立的是______________和______________。 答案:聚集索引、非聚集索引 3.常见的关系数据库有ACCESS、______________和______________。 答案:SQL Server、Oracle 4.从表中删除数据的命令是______________from______________where……。 答案:Delete、表名 5.向表中______________数据的命令是insert into表名______________(constant1,constant2,……)。 答案:插入、values 6.在一个表上,最多可以定义______________个聚集索引,最多可以有______________个非聚集索引。 答案:1、多 7.ABS函数的功能是返回数值表达式的______________。 答案:绝对值 8.LIKE查询中______________符号代表由零个或更多字符组成的任意字符串,下划线“_”符号代表______________字符。 答案:%、任意单个 9.创建表的语句是:______________。 答案:CREATE TABLE 表名 实用标准文档 文案大全 10.在Microsoft SQL Server 2008中,主数据文件的后缀是______________。
答案:.mdf 11.在Microsoft SQL Server 2008中,日志文件的后缀是______________。 答案:.ldf 12.创建索引的语句是:______________ INDEX…… 。 答案:CREATE 13.语句 select round(12.3421,2),round(23.4567,3)的执行结果是:______________和______________。 答案:12.34,23.457 14.关系是笛卡尔积的有限子集,所以是一个______________维表,表的每行对应一个______________,每列对应一个______________。 答案:二、元组、域 二、问答题 1.对SQL Server实例访问,SQL Server 2008支持哪几种身份验证模式? 答案:SQL Server 2008支持两种身份验证模式:Windows身份验证模式(2分)和混合身份验证模式(2分)。 Windows身份验证模式使用Windows操作系统中的信息验证账户名和密码,默认的身份验证模式。(3分) 混合身份验证模式允许用户使用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流程控制语句? 答案:一个逻辑表达式的结果要么为真,要么为假。根据不同的结果,对应于不同的操作。这时就需要使用IF…ELSE语句在程序中对于给定条件进行判断。 语法格式如下: 实用标准文档 文案大全 IF 条件表达式 {语句体1} [ELSE {语句体2}](5分)
说明: ● 条件表达式的运算结果应该为TRUE(真)或FALSE(假),如果条件表达式中含有SELECT语句,则必须用圆括号将SELECT语句括起来;(2分) ● 当条件表达式的值为TRUE时执行语句体1,然后执行IF语句之后的语句;如果条件表达式的值为FALSE,则执行ELSE关键字后面的语句体2,然后执行IF语句之后的语句;(2分) 可以在IF区域或者ELSE区域嵌套另一个IF语句,对于嵌套的层数没有限制。(1分)
4.如何使用WHILE流程控制语句? 答案:WHILE语句是一种将同一段代码循环运行多次的方法,它可以根据一个条件表达式的结果,将代码从0次开始运行到指定次数,或者是持续运行直到遇见BREAK关键字退出循环。(5分) WHILE语句的语法格式如下: WHILE 条件表达式 Begin 循环体 end 可以在循环体内设置BREAK和CONTINUE关键字,以便控制循环语句的执行。(5分)
5. T-SQL的注释符是什么? 参见p67 答案:注释也称注解,是程序代码中不执行的文本字符串。注释主要描述程序名称、作者名称、变量说明、代码更改日期、算法描述等。使用注释对代码进行说明,不仅能够使程序易读易懂,而且有助于日后对程序的管理与维护。(5分) 在T-SQL中,可以使用两种类型的注释符: ● 注释符“--”用于单行注释(2分) ● 注释符“/* */”,用于注释多行文字(3分)
6. SQL语句中SUM函数、COUNT函数、AVG函数的功能是什么? 答案:SUM函数:计算值的总和并返回总数。 COUNT函数:计算记录数。 AVG函数:返回指定列中的平均值。 实用标准文档 文案大全 7. 简述插入操作过程中的常见异常情况。 答: 1)插入数据值的个数多于列的个数 2)提供数据的类型与列类型不兼容 3)插入数据时违背了约束
8.对表进行数据操作包括哪几种? 答: 包括数据的插入,修改,删除三种操作
9. 在关系数据库中是按照“二维表”的形式来组织数据的,,每张表由哪两部分组成? 答: 一部分是关于表的结构定义信息,包括表的名称,列的名称,列的长度和列的数据类型等;另一部分是存储在表中的用户数据。
10. SQL Server 中,约束条件有哪几种类型,都是什么? 答: 有五种类型:空值约束,唯一约束,主键约束,外键约束,检查约束.
11. 说明HAVING 子句与WHERE子句之间的区别。 答: WHERE子句是用来指定数据库表中数据行应该满足的条件,HAVING子句是在分组(GROUP BY子句)前提下选择每一个分组应该满足的条件
12. 简述修改操作过程中的常见异常情况。 答:1)没有要修改的数据 2)设置新值时,数据类型不兼容.3)修改数据时违背了约束
13. SQL语言的命令一般分为哪四类语句? 答:分为查询,数据操纵,数据定义和数据控制四类语句。
四、程序题 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), 备注 nvarchar(1000))
(2)酌情给分(5分) alter table t1 add 手机 char(11)
2.(1)创建学生信息表,学生表的信息包括:StudID(代表学号char(8),非空主键),Name(学生姓名varchar(20),非空),Birthday(生日,非空),DeptID(院系号char(2),非空)。请创建该表。 (2)给某公司创建表tblEmployees:存储雇员的代号(4个字符,唯一)、身份证号码(18个字符)、名字(20个字符)和工资信息。请写出创建这个表的T-SQL语句,要保证:工资的值大于0,身份证号码唯一。
答案:代码酌情给分,每个5分 (1)CREATE TABLE 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 char(18) unique, Name char(20), 实用标准文档 文案大全 Gongzi int check (Gongzi>0))
3. 用SQL语言实现下列功能的sql语句代码: (1)创建数据表[宿舍表]:宿舍表(宿舍号 char(6),宿舍电话),要求使用:主键(宿舍号)、宿舍电话:以847开头的7位电话号码 (2)创建数据表[同学表]:同学表(学号 char(6),姓名,性别,年龄,民族,身份证号,宿舍号) ,要求使用:主键(学号)、外键(宿舍号)、默认(民族)、非空(民族,姓名,年龄)、唯一(身份证号)、检查(性别) (3)将下列宿舍信息添加到宿舍表: 宿舍号 宿舍电话 101 8471157 102 8471777 答案:酌情给分,共10分 (1)create table 宿舍表 ([宿舍号] char(6) primary key, [宿舍电话] char(7) check([宿舍电话] like '847[0-9][0-9][0-9][0-9]')) (2)create table 同学表 (学号 char(6) primary key, 姓名 nchar(4) not null, 性别 nchar(1) check(性别 in ('男', '女')), 年龄 int , 民族 nchar(8) default '汉族' not null, 身份证号 char(18) unique, 宿舍号 char(6) references 宿舍表(宿舍号) ) (3)insert 宿舍表 values('101', '8471157') insert 宿舍表 values('102', '8471777')
4.根据以下情况,写出创建course表的语句。 属性列 数据类型 长度 空值 列约束