模拟测验1一、选择题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共10小题,每小题2分,总计20分)1.()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。A.DBMSB.DBC.DBSD.DBA2.下列四项中,不属于SQL2005实用程序的是()。A.对象资源管理器B.查询分析器C.服务管理器D.媒体播放器3.SQLServer安装程序创建4个系统数据库,下列哪个不是()系统数据库。A.masterB.modelC.pubD.msdb4.下列哪个不是sql数据库文件的后缀。A..mdfB..ldfC..tifD..ndf5.SQL语言允许使用通配符进行字符串匹配的*作,其中‘%’可以表示()A.零个字符B.1个字符串C.多个字符串D.以上都是6.SQL语言中,条件年龄BETWEEN15AND35表示年龄在15至35之间,且()。A.包括15岁和35岁B.不包括15岁和35岁C.包括15岁但不包括35岁D.包括35岁但不包括15岁7.SQL的视图是从()中导出的。A.基本表B.视图C.基本表或视图D.数据库8.在SQL语言中,建立存储过程的命令是()A、CREATEPROCEDUREB、CREATERULEC、CREATEDURED、CREATEFILE9.SQL语言中,删除表中数据的命令是()。A.DELETEB.DROPC.CLEARD.REMOVE10.在MSSQLServer中,用来显示数据库信息的系统存储过程是()。A.sp_dbhelpB.sp_dbC.sp_helpD.sp_helpdb二、简答题(16分)1、什么是游标?使用游标的步骤?2、什么是事务?事务的基本属性是什么?三、应用题1、创建一个名字为ks的数据库,包含一个数据文件和一个日志文件,逻辑文件名为ks_data,磁盘文件名为ks_data.mdf,文件初始容量为5MB,最大容量为10MB,文件递增量为1MB;而事务日志文件的逻辑文件名ks_log,磁盘文件名为ks_log.ldf,文件初始容量为1MB,最大容量为5MB,文件递增量为1MB(数据库创建在C:\SERVER文件夹下)(10分)2、假设ks数据库有以下三张表,请写出下列问题的SQL语句:(每题6分,共54分)学生(学号,姓名,年龄,性别)课程(课程号,课程名,任课教师)成绩(学号,课程号,成绩)(1)如何在SQLServer上创建这三张表;(2)查询刘峰教师所授课程号,课程名;(3)查询年龄大于20岁的所有男同学的学号、姓名;(4)查询王文芳同学选修的所有课程的课程号;(5)查询所有上刘峰老师课程的学生学号;(6)查询所有选修“数据库技术”的学生的学号;(7)向学生表中插入一条记录(’2003001’,’吴红’,21,’女’);(8)删除三张表中所有学号为20020001的学生信息;(9)把学号为20030002的学生的年龄改为22岁;SQLServer2005复习题一、选择题1.SQL语言允许使用通配符进行字符串匹配的*作,其中‘%’可以表示(C)A零个字符B1个字符串C多个字符串D以上都是2如何在已经创建好的表上添加一个外键(A)AAltertable表名addforeignkey(键名)reference关联表(关联键名)BAltertable表名addPrimarykey(键名)reference关联表(关联键名)CAlter表名addforeignkey(键名)reference关联键名)DAlter表名addPrimarykey(键名)reference关联表(关联键名)3.要修改表名为Table1的字段Field1长度,原为Char(10)要求用SQL增加长度为char(20),以下语句那个正确(C)AAltertableTable1AlterField1char(20)BAlterTable1AltercolumnField1char(20)CAltertableTable1AltercolumnField1char(20)DAltercolumnField1char(20)4.下面聚集函数中哪个只能用于计算数值类型的数据(D)ACOUNT()BMIN()CMAX()DSUM()5.以下哪个关键字用来定义记录在某属性上的约束条件(D)ADEFAULTBDISTINCTCUNIQUEDCHECK6.欲往表中增加一条记录,应该用哪一条SQL语句(B)AALTERTABLEBINSERTINTOTABLECCREATETABLEDDROPTABLE7.以下哪一个不是逻辑运算符(D)ANOTBANDCORDIN8.在创建表的过程中,哪个关键字用来定义默认值(D)ADISTINCTBUNIQUECCHECKDDEFAULT二、填空题1数据库技术经历了人工管理阶段,_________和_______三个发展阶段。2数据库系统中最常用的三种数据模型有层次模型,_________和_______。3关系模式的三类完整性约束条件分别是_____,_____,和______。4E-R图的主要元素是实体型,______,______。5在E-R模型的主要术语中,属性的取值范围称为_______。能够区别不同的实体且能唯一标识实体的最小属性集,称为______。填空题答案:1文件系统阶段,数据系统阶段2网状模型,关系模型3实体完整性,引用完整性约束,用户自定义完整性4属性,联系5域,实体集的实体键三、判断题1默认值绑定到列上后,该列上的值将固定不能改变(X)2一张表允许有多个主键,但只能有一个外键(X)3可以通过SQL语句修改数据库名称及表的名称(√)4聚集函数SUM()与AVG()可以用来操作任何类型的数据(X)5要删除一条记录使用DROP指令(X)6在空串处理语句中,ISNULL用来判断属性值是否为空,在此IS是关键字,不是标准的逻辑运算符(√)7在模糊查询中可以使用LIKE结合通配符一块儿实现,其中%代表单个字符(X)8在查询语句中,若要把记录进行降序排列应使用ORDERBY字段名DESC(√)9在创建表的过程中,如果一属性是DATETIME类型需要指定长度(X)10在关系数据库的设计过程中,允许在设计后对表结构进行修改(√)四、基本操作现在要为学校建立一个数据库,设学校的环境如下:一个系有若干个专业,每个专业一年只招一个班,每个班有若干个学生,现要建立关于系、学生、班级的数据库,关系模式为:学生表STUDENT(学号,姓名,性别,生源地,出生日期)班级表CLASS(班号,专业名,系号,入学年份)系DEPARTMENT(系号,系名)使用SQL语句完成一下功能:1建立数据库名为SCHOOL并激活当前新建的数据库CREATEDATABASESCHOOLONPRIMARY(NAME=SCHOOL,FILENAME='D:\SCHOOL.mdf',SIZE=5MB,MAXSIZE=20MB,FILEGROWTH=1MB)LOGON(NAME=SCHOOL_log,FILENAME='D:\SCHOOL_log.ldf',SIZE=2MB,MAXSIZE=20MB,FILEGROWTH=10%)GOuseSCHOOL2建表:在定义中声明1)每个表要有主键2)学生的性别只能取‘男’或者‘女’3)学生姓名不能为空4)表CLASS中建立外键系名,关联表DEPARTMENT中的系名5)系代号不能重复且不能为空(1)学生表STUDENT(学号,姓名,性别,生源地,出生日期)createtablestudent--学生表定义(学号char(10)primarykey,--主键为学号姓名varchar(20)notnull,--姓名不能为空值性别char(4)default'男',--性别默认为男性生源地varchar(12),--生源地出生日期datetime,check((性别='男')or(性别='女'))--性别必须为男性或女性)(2)班级表CLASS(班号,专业名,系名,入学年份)--班级表CLASS(班号,专业名,系名,入学年份)createtableclass--班级表定义(班号char(4)primarykeynotnull,--定义班号不能为空值专业名char(20),--定义专业名系号char(4),--定义学分入学年份datetime,--入学年份foreignkey(系号)referencesdepartment(系号),)(3)系DEPARTMENT(系号,系名)createtabledepartment--系表定义(系号char(4)primarykeynotnull,--系代号不能为空系名char(8),--系名unique(系号),--系号是唯一的,即系号不能重复)3插入如下数据CALSS(101,软件,02,2003;102,微电子,02,2004)STUDENT(8101,张三,男,101,山东,1984;8102,钱四,女,121,济南,1984;8103,王玲,女,131,福建,1985;8105,李飞,男,102,河北,1985)DEPARTMENT(02,计算机;03,数学;04,化学)insertintoclassvalues('101','软件','02','2003-09-01')insertintoclassvalues('102','微电子','02','2004-09-01')insertintostudentvalues('8101','张三','男','山东','1984-01-01')insertintostudentvalues('8102','钱四','女','济南','1984-01-01')insertintostudentvalues('8103','王玲','女','福建','1985-01-01')insertintostudentvalues('8105','李飞','男','河北','1985-01-01')insertintodepartmentvalues('02','计算机')insertintodepartmentvalues('03','数学')insertintodepartmentvalues('04','化学')4完成以下的查询功能(1)通过对学生信息表的查询,查询出所有学生的学号,姓名和性别select学号,姓名,性别fromstudent(2)通过对学生信息表的查询,查询来自福建的学生的记录select*fromstudentwhere生源地='福建'(3)在查询语句中,查询出学生姓名并计算出学生的年龄大小select姓名,datediff(yy,出生日期,getdate())fromstudent(4)用模糊查询出姓钱的女生记录select*fromstudentwhere姓名like'钱%'(5)在查询语句中使用聚合函数计算出所有学生总数起别名为学生人数selectcount(*)as'学生人数'fromstudent(6)查询所有班级的信息,并用班级号进行降序排序select*fromclassorderby班号desc(7)更新学号为8103的这位学生的姓名为张玲updatestudentset姓名='张玲'where学号='8103'(8)查找出学号在8101到8103的学生信息select*fromstudentwhere学号between'8101'and'8103'(9)删除姓名为李飞的学生记录deletefromstudentwhere姓名='李飞'(10)删除数据表STUDENTdroptablestudentSQLSERVER2005填空题填空:1.SQL(structuredpackingQueryLanguage)是__结构化查询_____________语言。2.SQLSERVER的实例有两种,分别是__默认实例____和__命名实例_____。