SQL Server数据库试题A答案.doc
2015-2016年度第一学期SQL Server数据库期末考试题签A一、简答题:(共15分)1、什么是数据库?(1分)答:数据库是按照一定的组织方式存储起来的、相互关联的数据集合2、什么是数据模型?(3分)答:数据模型是一种形式化描述数据、数据之间的联系以及有关语义约束规则的方法。这些规则分为3个方面:描述实体静态特征的数据结构、描述实体动态特征的数据操作规则和描述实体语义要求的数据完整性约束规则。因些,数据结构、数据操作及数据的完整性约束也被称为数据模型的3个组成要素。3、SQL Server提供的系统数据库master作用是什么?(3分)答:记录SQL Server系统的所有系统级信息。主要包括实例范围的元数据、端点、链接服务器和系统配置以及记录了所有其他数据库的存在、数据库文件的位置以及SQL Server的初始化信息。4、在 SQL的查询语句 SELECT中,使用什么选项实现投影运算?什么选项实现连接运算?什么选项实现选择运算? (3分)答:在 SQL的查询语句中, select选项实现(投影)运算,from选项实现(连接)运算,where选项实现(选择)运算。5、在T-SQL语句中,与表达式“工资 BETWEEN 2000 AND 5000”功能相同的表达式如何写? (3分)答: 工资>=2000 AND 工资<=50006、语句“SELECT * FROM 成绩表WHERE 成绩>(SELECT avg(成绩) FROM 成绩表)”的功能是什么? (2分)答:查询成绩表中所有成绩大于平均成绩的记录二、选择题:(共5分,每题1分)1、数据库系统与文件系统的主要区别是( A )。 A数据库系统复杂,而文件系统简单 B文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件 C文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量 D文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决2、事务日志用于保存( C. )。 A. 程序运行过程 B. 程序的执行结果 C. 对数据的更新操作 D. 数据操作3、下列文件中不属于SQL Server数据库文件的是( C )。 Adevice_data.MDF Bdevice_log.LDF Cdevice_mdf.DAT Ddevice_data.NDF4、CREATE TABLE 语句( C ) 。 A必须在数据表名称中指定表所属的数据库 B必须指明数据表的所有者 C指定的所有者和表名称组合起来在数据库中必须唯一 D省略数据表名称时,则自动创建一个本地临时表5、在T-SQL语句中,与表达式“仓库号Not In("wh1","wh2")”功能相同的表达式是 ( D ) 。 A仓库号="wh1" And 仓库号="wh2" B仓库号<>"wh1" Or 仓库号<>"wh2" C仓库号<>"wh1" Or 仓库号="wh2" D仓库号<>"wh1" And 仓库号<>"wh2"三、操作题:(共80分)(第一部分)在SQL Server数据库中,使用命令方式创建Student1数据库。该数据库的主文件逻辑名称为student1_data,物理文件名为Student1.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Student1_log,物理文件名为Student1.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。(物理文件保存到F盘的data文件夹中)1、使用命令方式建立该数据库(注:写入TSQL语句即可)(10分)Create database student1On primary(name=student1_data,Filename=f:datastudent1.mdf,Size=10MB,Maxsize=unlimited,Filegrowth=10%)Log on(name=student1_log,Filename=f:datastudent1.ldf,Size=1MB,Maxsize=5MB,Filegrowth=1MB)2、使用命令方式在该数据库中创建表(表名为t_student,写入TSQL语句即可)(6分) 字段如下: 字段名称字段类型大小S_numberchar10S_namechar8sexchar2birthdaydatetimepolitychar4Create table t_student(S_number char(10) not null,S_name char(8),Sex char(2 ),Birthday datetime,Polity char(4) 3、使用命令方式在t_student表中录入下列记录(8分)S_numberS_namesexbirthdaypolity981101张维斌男1980-12-20群众981102顾景革男1981-5-16团员981103李欣灿女1980-6-12群众981104张晓云女1980-7-22群众981105王猛男1980-11-26党员981106张以磊男1980-7-5群众use student1goinsert into t_student values('981101','张维斌','男','1980-12-20','群众'),('981102','顾景革','男','1981-05-16','团员'),('981103','李欣灿','女','1980-06-12','群众'),('981104','张晓云','女','1980-07-22','群众'),('981105','王猛','男','1980-11-26','党员'),('981106','张以磊','男','1980-07-05','群众')(第二部分)有一个学生课程数据库,数据库中包括三个表:学生表:Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为:Student(Sno,Sname,Ssex,Sage,Sdept),Sno 为关键字。课程表:Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记为: Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。 成绩表:SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为: SG(Sno,Cno,Grade) (SNO, CNO) 为关键字。1查考试成绩有不及格的学生的学号。(5分)select distinct sno from sgwhere grade < 602将学号为05001学生的年龄改为22岁。(6分)update student set sage=22 where sno='05001'3计算1号课程的学生平均成绩。(4分)select avg(grade) from sgwhere cno='1'4. 查计算机系姓赵的男同学的姓名(Sname)、性别(Ssex)、年龄(Sage)。(6分)select sname,ssex,sage from sdudent where sdept=计算机系and sname like '赵 %' and ssex ='女'针对MBOOK数据库中的相关表,利用select语句查询下列问题。1、模糊查询书名中有“SQL Sever”字样的图书的书名、作译者和出版社。查询结果中将这三列的标题更改为BookName、Author和Press。(6分)SELECT 书名 AS BookName, 作译者 AS Author, 出版社 AS PressFROM TBookWHERE 书名 LIKE '%SQL Server%'2、读者记录需要分页显示,现要查询TReader表中第6到10行的读者记录。(9分)SELECT TOP 5 * FROM TReaderWHERE 借书证号 NOT IN (SELECT TOP 5 借书证号FROM TReader)3、查询图书管理数据库MBOOK中读者的总数。(4分)USE MBOOKGOSELECT COUNT(*) AS 读者总数 FROM TReader4、统计图书管理数据库中男女生的人数。(4分)SELECT 性别, COUNT(性别) AS 人数FROM TReaderGROUP BY 性别5、将图书管理数据库中的图书信息按照出版年月降序排列。(4分)SELECT ISBN, 书名, 作译者, 出版社, 出版年月, 价格 FROM TBook ORDER BY 出版年月 DESC针对PXSCJ数据库,查询XSB表中计算机系各同学的XH(学号)、XM(姓名)和ZXF(总学分),对其总学分按以下规则进行替换:若总学分为空值,替换为“尚未选课”;若总学分小于50,替换为“不及格”;若总学分在50与52之间,替换为“合格”;若总学分大于52,替换为“优秀”。列标题更改为“等级”。 (8分)SELECT XH AS 学号, XM AS 姓名, 等级= CASE WHEN ZXF IS NULL THEN '尚未选课'WHEN ZXF < 50 THEN '不及格'WHEN ZXF >=50 and ZXF<=52 THEN '合格'ELSE '优秀'ENDFROM XSBWHERE ZY= '计算机'GO