《数据库原理与应用》试题-------------------------------------------------------------------------------————————————————————————————————————————————1《SQL数据库管理与开发教程与实训》试题(A卷)一、单项选择题(每小题1分,共10分)1.下列四项中,不属于数据库特点的是(C)。A.数据共享B.数据完整性C.数据冗余很高D.数据独立性高2.下列四项中,不属于SQL2000实用程序的是(D)。A.企业管理器B.查询分析器C.服务管理器D.媒体播放器3.SQLServer安装程序创建4个系统数据库,下列哪个不是(C)系统数据库。A.masterB.modelC.pubD.msdb4.(A)是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。A.DBMSB.DBC.DBSD.DBA5.在SQL中,建立表用的命令是(B)。A.CREATESCHEMAB.CREATETABLEC.CREATEVIEWD.CREATEINDEX6.SQL语言中,条件年龄BETWEEN15AND35表示年龄在15至35之间,且(A)。A.包括15岁和35岁B.不包括15岁和35岁C.包括15岁但不包括35岁D.包括35岁但不包括15岁7.下列四项中,不正确的提法是(C)。A.SQL语言是关系数据库的国际标准语言B.SQL语言具有数据定义、查询、操纵和控制功能C.SQL语言可以自动实现关系数据库的规范化D.SQL语言称为结构查询语言8.在MSSQLServer中,用来显示数据库信息的系统存储过程是(D)。A.sp_dbhelpB.sp_dbC.sp_helpD.sp_helpdb9.SQL语言中,删除表中数据的命令是(A)。A.DELETEB.DROPC.CLEARD.REMOVE10.SQL的视图是从(C)中导出的。A.基本表B.视图C.基本表或视图D.数据库《数据库原理与应用》试题-------------------------------------------------------------------------------————————————————————————————————————————————2二、判断题(每空1分,共10分)1.'在那遥远的地方'是SQL中的字符串常量吗?Y2.'11.9'是SQL中的实型常量吗N3.select16%4,的执行结果是:4吗?N4.2005.11.09是SQL中的日期型常量吗?N5.¥2005.89是SQL中的货币型常量吗?N6.select25/2的执行结果是:12.5吗?N7.'岳飞''文天祥'比较运算的结果为真吗?Y8.一个表可以创建多个主键吗?N9.创建唯一性索引的列可以有一些重复的值?N10.固定数据库角色:db_datarader的成员能修改本数据库内表中的数据吗?N三、填空题(每空1分,共20分)1.数据库系统具有数据的___外模式______、____模式_____和内模式三级模式结构。2.SQLServer2000局部变量名字必须以___@______开头,而全局变量名字必须以____@@_____开头。3.语句selectascii('D'),char(67)的执行结果是:__68_______和____C_____。4.语句selectlower('Beautiful'),rtrim('我心中的太阳')的执行结果是:___beautiful_________和____我的太阳_______。5.选择运算是根据某些条件对关系做__水平____分割;投影是根据某些条件对关系做__垂直____分割。6.关系运算主要有___选择_____、___投影_____和连接。7.完整性约束包括__实体____完整性、__域____完整性、参照完整性和用户定义完整性。8.在SQLServer2000中,数据库对象包括__表____、__视图____、触发器、过程、列、索引、约束、规则、默认和用户自定义的数据类型等。9.语句selectday('2004-4-6'),len('我们快放假了.')的执行结果是:___6___和____7_____。10.语句selectround(13.4321,2),round(13.4567,3)的执行结果是:__13.4300____和__13.4570____。四、简答题(每小题5分,共10分)1.在SQLServer2000中,使用视图的好处是什么?(1)为用户集中需要的数据,简化了数据的用户操作;(2)对用户隐藏了数据库设计的复杂性;(3)简化用户权限的管理(4)组织数据导出到其它应用程序;2.在SQLServer2000中,用户访问表/视图、列的权限是什么?1.数据表/视图(selectinsertupdatedelete)2.列(字段)的访问(selectupdate)五、设计题(共50分)现有关系数据库如下:数据库名:我班同学数据库同学表(学号char(6),姓名,性别,年龄,民族,身份证号,宿舍号)宿舍表(宿舍号char(6),宿舍电话)用SQL语言实现下列功能的sql语句代码:1.创建数据库[我班同学数据库]代码(2分)。《数据库原理与应用》试题-------------------------------------------------------------------------------————————————————————————————————————————————3createdatabase[我班同学数据库]gouse[我班同学数据库]Go2.创建数据表[宿舍表]代码(3分);宿舍表(宿舍号char(6),宿舍电话)要求使用:主键(宿舍号)、宿舍电话:以633开头的7位电话号码createtable宿舍表([宿舍号]char(6)primarykey,[宿舍电话]char(7)check([宿舍电话]like'633[0-9][0-9][0-9][0-9]'))3.创建数据表[同学表]代码(6分);同学表(学号char(6),姓名,性别,年龄,民族,身份证号,宿舍号)要求使用:主键(学号)、外键(宿舍号)、默认(民族)、非空(民族,姓名,年龄)、唯一(身份证号)、检查(性别)createtable同学表(学号char(6)primarykey,姓名nchar(4)notnull,性别nchar(1)check(性别in('男','女')),年龄int,民族nchar(8)default'汉族'notnull,身份证号char(18)unique,宿舍号char(6)references宿舍表(宿舍号))4.将下列宿舍信息添加到宿舍表的代码(8分)宿舍号宿舍电话10163311571026331777修改宿舍号为101的宿舍电话:6331158删除宿舍号为102的宿舍信息insert宿舍表values('101','6331157')insert宿舍表values('102','6331777')update宿舍表set宿舍电话='6331158'where宿舍号='101'delete宿舍表where宿舍号='102'5.创建视图[同学表视图]代码(5分);同学表视图(学号,姓名,性别,年龄,民族,身份证号,宿舍号,宿舍电话)createview[同学表视图]asselect学号,姓名,性别,年龄,民族,身份证号,同学表.宿舍号,宿舍电话from同学表,宿舍表where同学表.宿舍号=宿舍表.宿舍号《数据库原理与应用》试题-------------------------------------------------------------------------------————————————————————————————————————————————46.从同学表视图中查询姓张的女同学的姓名、性别、宿舍电话。(4分)select姓名,性别,宿舍电话from同学表视图where姓名like'张%'and性别='女'7.从同学表中查询女同学的最大年龄、最小年龄、平均年龄。(5分)select最大年龄=max(年龄),最小年龄=min(年龄),平均年龄=avg(年龄)from同学表where性别='女'8.创建带参数的存储过程[某宿舍同学]:姓名,性别,宿舍电话执行此过程,查询'101'宿舍情况(8分)createprocedure[某宿舍同学]@宿舍号varchar(6)asselect姓名,性别,宿舍电话from同学表视图where宿舍号=@宿舍号goexecute[某宿舍同学]'101'9.设置一SQL身份验证的用户账户:登录名:U班主任,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程。请写出账户、权限设置的T_SQL脚本。(9分)execsp_addlogin'U班主任','888','我班同学数据库'execsp_grantdbaccess'U班主任','U读者'execsp_addrolemember'db_datareader','U读者'