《SQL数据库管理与开发》试题M卷Word格式.docx
《《SQL数据库管理与开发》试题M卷Word格式.docx》由会员分享,可在线阅读,更多相关《《SQL数据库管理与开发》试题M卷Word格式.docx(7页珍藏版)》请在冰豆网上搜索。
A.属性名都不相同
B.去掉了重复的列
C.行都不相同
D.属性值都不相同
5.在数据操作语言(DML)的基本功能中,不包括的是(B)
A.插入新数据
B.描述数据库结构
C.修改数据
D.删除数据
6.在采用客户机/服务器体系结构的数据库应用系统中,应该将用户应用程序安装在
(A)
A.客户机端
B.服务器端
C.终端
D.系统端
7、实体型学生与任课教师之间具有(D)联系。
A一对一
B一对多
C多对一
D多对多
8.数据库系统的日志文件用于记录下述哪类内容(D)
A)程序运行过程B)数据查询操作
C)程序执行结果D)数据更新操作
9.数据库管理系统的英文缩写是(D)。
A.DB
B.DBS
C.DBA
D.DBMS
10.SQL语言中,删除一个表的命令是(B)
A.DELETE
B.DROP
C.CLEAR
D.REMOVE
二、判断题(每空1分,共10分)
1.在查询分析器中执行SQL语句的快捷键是F1。
N
2.计算ASCII('
also'
)结果为97。
Y
3.UNION运算符是用于将两个或多个检索结果合并成一个结果。
4.在事务中包含createdatabase语句吗?
5.Lock权限不是数据库的访问权限。
6.数据库管理系统管理并且控制数据资源的使用。
————————————————————————————————————————————
1
7.'
李白'
>
'
杜甫'
比较运算的结果为真吗?
8.在事务中包含createdatabase语句吗?
9.SQLServer有数据导入功能但没有数据导出功能。
10.SQLServer的角色与windowsNT的组含义相似。
三、填空题(每空1分,共20分)
1.SQLServer2000最常用的四个工具是__服务管理器________、___企业管理器_______、
___查询分析器_______和联机帮助。
2.SQLServer2000四个系统数据库是__master____、__model___、___msdb___和tempdb。
3.Transact-SQL语言主要由___数据定义_______语言、__数据操作________语言、___数
据控制_______语言和一些附加的语言元素等部分组成。
4.数据定义语言是指用来创建、修改和删除各种对象的语句是____create______、
___alter_______和____drop______。
5.数据操纵语言是指用来查询、添加、修改和删除数据库中数据的语句,这些语句包括
select、___insert_______、____update______和____delete______。
6.数据控制语言是用于控制对数据库对象的权限的SQL语句,授权、拒绝和撤销访问数据
库对象权限的语句是___grant_______、___deny_______和____revoke______。
7.语句selectchar(68),len('
你是BigTiger'
)的执行结果是:
___D__和____11_____。
四、简述题(每小题5分,共10分)
1.试述关系的性质。
1)每一列中的数据必须具有相同的数据类型。
2)每一个关系模式中属性的个数是固定的,并且必须命名,而且属性名不能相同。
3)在同一个关系模式中,每一个属性必须是不可分解的。
4)在关系中,行和列的顺序是无关紧要的。
5)在关系中,不允许出现两个完全相同的元组。
2.数据库系统的特点有哪些?
1)采用特定的数据模型来管理数据。
2)程序独立于数据,实现了数据的独立性。
3)数据的共享性好,冗余度低,进而也减少了数据的不一致性。
4)数据由数据库管理系统统一管理和控制。
五、设计题(共50分)
现有关系数据库如下:
数据库名:
学生选课数据库
学生表(学号,姓名,性别,年龄,专业)
课程表(课程号,课程名,学分,先行课程号)
选课表(ID,学号,课程号,分数)
用SQL语言实现下列功能的sql语句代码:
1.创建数据库[学生选课数据库]代码(2分);
2.创建[课程表]代码(2分);
课程表(课程号char(6),课程名,学分,先行课程号)
要求使用:
主键(课程号)、非空(课程名,学分)
3.创建[学生表]代码(6分);
学生表(学号char(6),姓名,性别,年龄,专业)
主键(学号)、非空(姓名,专业)、检查(性别)
4.创建[选课表]代码(4分);
选课表(ID,学号,课号,分数)
外键(选课表.学号,选课表.课程号)、检查(分数),自动编号(ID)
5.将下列课程信息添加到课程表的代码(8分)
课程号课程名学分先行课程号
100001C语言2
100002数据结构2100001
100003数据库原理2
修改课程号为100003的课程名:
SQL数据库
删除课程号为100002的课程信息
6.写出创建:
选课表视图(学号,姓名,课程号,课程名,学分,分数)的代码;
(4分)
7.写出创建:
某门课程成绩内嵌表值函数以及检索的代码;
(6分)
检索:
所有修SQL数据库这门学生的成绩;
8.写出创建:
某门课程高低均分计算某门课程成绩最高分、最低分、平均分存储过程
以及执行的代码;
执行:
所有修SQL数据库这门学生的最高分、最低分、平均分;
9.检索姓张的女同学的情况:
姓名、学号、专业。
(2分)
10.检索有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、姓名。
11.设置一SQL身份验证的账户:
登录名:
U领导,密码:
888,数据库用户名:
U读者,权
限:
可查询查询本数据库中所有表、视图、内嵌表值函数的数据。
请写出账户、权限设置的T_SQL脚本。
1.createdatabase[学生选课数据库]
go
use[学生选课数据库]
2.createtable学生表
([学号]char(6)primarykey,
[姓名]nchar(4)notnull,
[性别]nchar
(1)check([性别]in('
男'
'
女'
)),
[年龄]numeric
(2),
[专业]char(18)notnull)
3.createtable课程表
([课程号]char(6)primarykey,
[课程名]char(40)notnull,
[学分]numeric
(2)notnull,
[先行课程号]char(6))
4.createtable选课表
(IDIDENTITY(1,1),
[学号]char(6)references学生表(学号),
[课程号]char(6)references课程表(课程号),
[分数]integercheck([分数]between0and100))
5.insert课程表values('
100001'
C语言'
2)
insert课程表values('
100002'
数据结构'
2,'
)
100003'
数据库原理'
2)
update课程表set课程名='
SQL数据库'
where课程号='
delete课程表where课程号='
6.createview[选课表视图]as
select选课表.学号,姓名,选课表.课程号,课程名,学分,分数
from选课表,学生表,课程表
where选课表.学号=学生表.学号
and选课表.课程号=课程表.课程号
--或
createview[选课表视图]as
select选课表.学号,姓名,选课表.课程号,课程名,学分,分数
from选课表join学生表on选课表.学号=学生表.学号
join课程表on选课表.课程号=课程表.课程号
7.createfunction[某门课程成绩](@课程名varchar(40))
returnstableas
return(select学号,姓名,课程名,学分,分数from选课表视图
where课程名=@课程名)
select*from[某门课程成绩]('
8.createprocedure[某门课程高低均分]
@课程名varchar(40)as
select课程名,最高分=max(分数)、最低分=min(分数)、平均分=avg(分数)from选课表视图
where课程名=@课程名
execute[某门课程高低均分]'
9.select姓名,学号,专业from学生表
where姓名like'
张%'
and性别='
10.select学号,姓名,专业from学生表where学号in
(selectdistinct学号from选课表where分数<
60)
11.use[学生选课数据库]
execsp_addlogin'
U领导'
NULL,'
学生选课数据库'
简体中文'
execsp_passwordNULL,'
888'
execsp_grantdbaccess'
U读者'
execsp_addrolemember'
db_datareader'