当前位置:文档之家› SQL数据库系统及应用

SQL数据库系统及应用

机密★启用前大连理工大学网络教育学院2017年秋《SQL数据库系统及应用》期末考试复习题☆注意事项:本复习题满分共:400分。

一、填空题1.在关系数据库的规范中,在一个关系中,消除重复字段,且各字段都是最小的逻辑存储单元代表第______________范式。

答案:一2.在索引命令中使用关键字CLUSTERED和NONCLUSTERED分别表示将建立的是______________和______________。

答案:聚集索引、非聚集索引3.常见的关系数据库有ACCESS、______________和______________。

答案:SQL Server、Oracle4.从表中删除数据的命令是______________from______________where……。

答案:Delete、表名5.向表中______________数据的命令是insert into表名______________(constant1,constant2,……)。

答案:插入、values6.在一个表上,最多可以定义______________个聚集索引,最多可以有______________个非聚集索引。

答案:1、多7.ABS函数的功能是返回数值表达式的______________。

答案:绝对值8.LIKE查询中______________符号代表由零个或更多字符组成的任意字符串,下划线“_”符号代表______________字符。

答案:%、任意单个9.创建表的语句是:______________。

答案:CREATE TABLE 表名10.在Microsoft SQL Server 2008中,主数据文件的后缀是______________。

答案:.mdf11.在Microsoft SQL Server 2008中,日志文件的后缀是______________。

答案:.ldf12.创建索引的语句是:______________ INDEX……。

答案:CREATE13.语句 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分)混合身份验证模式允许用户使用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函数、A VG函数的功能是什么?答案:SUM函数:计算值的总和并返回总数。

COUNT函数:计算记录数。

A VG函数:返回指定列中的平均值。

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 8471157102 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表的语句。

答案:酌情给分,共10分CREATE TABLE course(cs_id nVarChar(4) primary key NOT NULL ,cs_nm nVarChar(20) N OT NULL ,cs_tm int NULL ,cs_sc int NULL)5.(1)请写出在某数据库中执行以下语句后的输出结果。

相关主题