蚌埠学院2013—2014学年第一学期 题 《SQL数据库系统》期末考试试题(A)
注意事项:1、适用班级:11计算机科学与技术(本1、本2、本3班)
答2、本试卷共2页。满分100分。 3、考试时间120分钟。 4、考试方式:闭卷
一、选择题(每小题1分,共25分)
要1、在SQL SERVER中,使用update语句更新数据库表中的数据,以下说法正确的是 ( b )。
(A)每次只能更新一行数据 (B)每次可以更新多行数据 不(C)如果没有数据项被更新,将提示错误信息 (D)更新数据时,必须带有WHERE条件子句
2、在SQL Server 2008中,要防止大于100的数据被保存到int类型的列,可以使用 ( d )。
内(A)主键约束 (B)限制约束 (C)外键约束 (D)检查约束
3、在SQL Server 2008 中,有students(学生)表,包含字段:Sid(学号),SName(姓名), Grade(成绩)。现要将所有学员的成绩加10分。下列SQL语句正确的是( d )。 线(A)update students set Grade=Grade+10 where Sid=1 (B)update * set Grade=Grade+10
(C)update * from students set Grade=Grade=Grade+10 (D)update students set Grade=Grade+10
订4、在SQL Server 2008 中,有一个product(产品)表,包含子段:pname(产品名称), 要从此表中筛选出产品名称为“苹果”或者“香蕉”的记录,下列语句正确的是( c )。 (A) SELECT*FROM product ON pname=’苹果’OR pname=’香蕉’ 装(B) SELECT*FROM product ON pname=’苹果’ AND pname=’香蕉’ (C) SELECT*FROM product WHERE pname=’苹果’ OR pname=’香蕉’ (D) SELECT*FROM product WHERE pname=’苹果’ AND pname=’香蕉’
.
.
5、在SQL Server 2008中,附加数据库操作是指( b )。 (A)把SQL Server数据库文件保存为其他数据库文件。
(B)根据数据库物理文件中的信息,把数据库在SQL Server 2008中恢复。 (C)把所有该数据库表的数据清空。 (D)把数据库删除掉。
6、在SQL Sever 2008中,假设表 users 包含主键列 id ,那么执行“Update users SET id=20 WHERE id=30”,执行的结果可能有( c )。
(A)如果表中含有id为30的记录,但不包含id为20的记录,则更新失败。 (B)执行出错,因为主键列不可以被更新。
(C)如果表中同时含有id 为20和id 为30的记录,则更新失败。 (D)如果表中不包含id为20 和id 为30 的记录,则更新一行记录。
7、在SQL Sever 2008中,查找 student 表中所有身份证号码CardNo的前三位为010或020的记录,以下语句正确的是( c )。
(A)select * from student where cardno like ‘010%’ and cardno like ‘020%’ (B)select * from student where cardno like ‘010%’ or ‘020%’ (C)select * from student where cardno like ‘0[1,2]0%’ (D)select * from student where cardno like ‘0(1,2)0%’
8、在SQL Sever 2008中,学生表student中包含以下字段:学生编号 sid(主键),学生姓名 sName ,现在查询所有姓名重复的记录,以下语句正确的是( b )。 (A)select * from student where count(sid)>1
(B)select a. * from student a, student b where a.sname=b.sname
(C)select a.* from student a, student b where a.sname=b.sname and a.sid<>b.sid
(D)select * from student group by sName where count(sid)>1
9、在SQL Sever 2008 中,有系统数据库和用户数据库,下列不属于系统数据库的是( d )。
(A) master (B) model (C) msdb (D) pubs
10、在SQL Server 2008中,外键用于将一个表中的列与另一表中的列关联起来,为了确保引用的完整性,要求( a )。
(A)外键列的列值必须已经存在于主键表的对应列的列值中 (B)外键列的列值必须与主键表的对应列的列值一一对应 (C)外键列不能有重复的值
(D)外键表的数据行行数必须大于主键表的数据行行数
11、在SQL Server 2008中,现有定单表orders,包含用户信息userid,产品信息productid,以下( d )语句能够返回至少被定购过两回的productid。
(A)select productid from orders group by productid where count(productid)>1 (B)select productid from orders having count(productid)>1 group by productid (C)select productid from orders where having count(productid)>1 group by productid
(D)select productid from orders group by productid having count(productid)>1 12、在SQL Server 2008中,假定一个学生选修课管理系统中有两个表,包括:student (学生)表,其结构为:sID (学号),sName(姓名);studentCourse(学生选课) 表,其结构为:sID(学号),cID(课程编号),score(成绩)。那么列出所有已选课学生的学号、姓名、课程编号和成绩的SQL语句是( bd )。
(A)SELECT sID,sName,cID,score FROM student,studentCourse
(B)SELECT sID,sName,cID,score FROM student INNER JOIN studentCourse ON student.sID=studentCourse.sID
(C)SELECT sID,sName,cID,score FROM student OUTER JOIN studentCourse ON student.sID=studentCourse.sID
(D)SELECT sID,sName,cID,score FROM student,studentCourse WHERE student.sID=studentCourse.sID
13、在SQL Sever2008中,假定grade(成绩)表中包含字段:sID(学号),cID(班级编号)、lang(语文成绩)、math(数学成绩),那么计算所有学生人数和各科最高成绩的SQL语句是( )。
(A)SELECT COUNT(*),MAX(lang),MAX(math) FROM grade
(B)SELECT COUNT(*),MAX(lang),MAX(math) FROM grade GROUP BY sID (C)SELECT SUM(*),MAX(lang),MAX(math) FROM grade GROUP BY sID (D)SELECT SUM(*),MAX(lang),MAX(math) FROM grade
.
.
14、在数据库中,设计用户表时,固定长度的身份证号码最好采用下面( )数据类型进行存储。
(A)char (B)text (C)varchar (D)int
15、在SQL sercer 2008中,假设表ABC中有,A,B,C三列,设为字符数据类型,其中A列的默认值为‘AV’如果能够正确执行语句:INSERT ABC (A,C)VALUES(‘V’,‘NULL’),下列的说法正确的是( )。
(A)插入A列的值为V (B)插入A列的值为AV (C)插入B列的值为空 (D)插入C列的值为空
16.SQL server 数据库文件有3类,其中日志文件的后缀为( )。 (A).ndf (B) .ldf (C) .mdf (D) .idf
17、根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项( )。 (A)只存在一对多的实体关系,以图形方式来表示。
(B)以二维表格结构来保存数据,在关系表中不允许有重复行存在。 (C)能体现一对多、多对多的关系,但不能体现一对一的关系。 (D)关系模型数据库是数据库发展的最初阶段。 18、 关系数据库中,主键是( )。
(A)为标识表中唯一的实体 (B)创建唯一的索引,允许空值 (C)只允许以表中第一字段建立 (D)允许有多个主键的
19、 表在数据库中是一个非常重要的数据对象,它是用来( )各种数据内容的。 (A)显示 (B)查询 (C)存放 (D)检索 20、为数据表创建索引的目的是( )。
(A)提高查询的检索性能 (B)创建唯一索引 (C)创建主键 (D)归类
21、在Transact-SQL语法中,用来插入数据的命令是( ),用于更新的命令是( )。 (A)INSERT,UPDATE (B)UPDATE,INSERT (C)DELETE,UPDATE (D)CREATE,INSERT INTO
22、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分( )。 (A)SELECT,INTO (B)SELECT,FROM (C)SELECT,GROUP (D)仅SELECT
23、视图是一种常用的数据对象,它是提供( )和( )数据的另一种途径,可以简化数据库操作。
(A)查看,存放 (B)查看,检索 (C)插入,更新 (D)检索,插入
24、在SQL SERVER服务器上,存储过程是一组预先定义并( )的Transact-SQL语句。 (A)保存 (B)编译 (C)解释 (D)编写
25、在SQL Server 2008中,索引的顺序和数据表的物理顺序相同的索引是( )。A (A)聚集索引 (B)非聚集索引 (C)主键索引 (D)唯一索引 二、简答题(每小题5分,共25分) 基于下列程序代码,回答相应的问题。
using System.Data.SqlClient; 语句标号(1) public Form1() { //定义并初始化参数 String ConnectionString = null; 语句标号(2) SqlConnection conn = null; 语句标号(3) SqlCommand cmd = null; 语句标号(4) String sql = null; //定义sql 语句字符串变量 InitializeComponent(); //初始化参数 string serverName = \数据库服务器 string databaseName = \ //访问的数据库设为空 string userID = \ string userPassword = \ //建立连接字符串 ConnectionString = \ \ \ \ conn = new SqlConnection(ConnectionString); 语句标号(5) } 1、语句标号(1)的语句的作用(本题5分)。
引进sql数据操作库
.
.
2、语句标号(2)的语句的作用(本题5分)。
定义链接字符串
3、语句标号(3)的语句的作用(本题5分)。
定义SqlConnection 链接对象
4、语句标号(4)的语句的作用(本题5分)。
定义SqlCommand命令对象
5、语句标号(5)的语句的作用(本题5分)。
创建一个连接对象
三、编程题(每小题10分,共50分)
写出T-SQL语句,对“教学管理数据库”进行如下操作:
表4.3“教师任课信息表”结构
字段名 类型 字段大小 说明 序号 自动编号 int 主键 课程号 nvarchar 3 非空 职工号 nvarchar 10 非空 表4.4“学生基本信息表”结构 表4.5“教师基本信息表”结构
字段名 类型 字段大小 说明 字段名 类型 字段大小 说明 学号 nvarchar 10 主键 职工号 nvarchar 10 主键 姓名 nvarchar 8 非空 姓名 nvarchar 8 非空 性别 nvarchar 1 非空 性别 nvarchar 1 非空 年龄 int 4 非空 年龄 int 4 非空 出生地点 nvarchar 20 工作日期 datetime 8 非空 专业 nvarchar 20 职称 nvarchar 10 电子信箱 nvarchar 50 婚姻状况 bit 1 表4.6“学生成绩表”结构 表4.7 “学生课程信息表”结构 字段名 类型 字段大小 说明 字段名 类型 字段大小 说明 序号 自动编号 int 主键 课程号 nvarchar 3 主键 学号 nvarchar 10 非空 课程名称 nvarchar 20 非空 课程号 nvarchar 3 非空 课程类型 nvarchar 8 非空 成绩 float 4 学时 int 4 非空 1、在“教学管理数据库”中“学生成绩表”中查询选修计算机文化基础的学生成绩信息,请写出T-SQL代码(本题10分)。
SELECT * FROM 学生成绩表 WHERE 课程号= ( SELECT 课程号
SQL数据库系统期末试题
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)