数据库题目.docx
《数据库题目.docx》由会员分享,可在线阅读,更多相关《数据库题目.docx(19页珍藏版)》请在冰豆网上搜索。

数据库题目
第一章:
1.假定一位教师可讲授多门课程,一门课程可由多位老师讲授、教师与课程之间是:
C
A.一对一的关系
B.一对多的关系
C.多对多的关系
D.多对多的关系
2.在E-R图中,用长方行和椭圆分别表示C
A.联系、属性
B.属性、实体
C.实体、属性
D.属性、联系
3.用于表示数据库实体之间关系的图是A
A.实体关系
B.数据模型图
C.实体分类图
D.以上都不是
4所谓实体就是指现实世界中具有区分其他事物的特征或属性,并与其他实体有联系的对象,正确吗?
A
A.对
B.错
5.下列是有效的映射约束。
D
A.多对多
B.多对一
C.一对一
D.以上都是
6.关于数据库的设计范式,以下说法错误的是C
A.数据库的设计范式有助于规范化数据库的设计
B.数据库的设计范式有助于减少数据冗余
C.设计数据库时,一定要严格遵守设计范式。
满足的范式级别越高,系统性能就越好
7.应用三大范式,审核并规范第一阶段“C#+Winform”的“第一学期阶段项目MyQQ聊天工具”项目的数据设计。
问答题
建立一个学生数据库用来存放学生的相关信息,包括学生的基本信息和考试情况。
要求全部使用T-SQL语句来实现,操作环境为SQL查询分析器
推荐步骤如下:
(1)创建库:
创建数据库stuDB要求保存在D:
\project目录下。
文件增长率为15%
(2)创建表2-2
表2-2学生基本信息表stuInfo-1
字段名称
数据类型
说明
stuName
字符
学生姓名,必填,要考虑姓氏可能是两个字符(欧阳)
stuNo
字符
学号,必填,学好不能重复,且必须是S253**格式
stuSex
字符
学生性别,必填,且只能是男/女
stuAge
数字
学生年龄,必填,必须在15—40之间
stuSeat
数字
学生定座位号,必填,采用自动编号方式,且必须是1—30号
stuAdderss
文本
学生地址,可不填,如果没有填写,则显示“地址不详”
(3)添加约束:
根据表2-2中的说明字段,修改表,添加约束
(4)向表中插入测试的数据,并查询测试。
测试数据表2-3
表2-3学生基本信息表stuInfo-2
stuName
stuNo
stuSex
stuAge
stuSeat
stuAddress
张秋丽
S25301
男
18
1
北京海淀
李斯文
S25303
女
22
2
河南洛阳
李文才
S25302
男
31
3
欧阳俊雄
S25304
男
28
4
新疆威武哈
(5)添加SQL账户
班主任:
帐号是banzhuren密码是:
111111,能访问表stuInfo,用来填写和修改学员档案
教员:
帐号是:
jiaoyuan密码是123456,能访问表stuInfo,但是能查看学员的档案,不能修改
(6)测试权限
测试用列:
进入查询分析器,单击“文件”——>“连接”命令。
采用SQLServer登陆,输入相应的帐号进行测试
班主任:
Select*fromstuInfo正确
InsertintostuInfo……正确
Uodate……正确
同理:
教员:
Select*fromstuInfo正确
InsertintostuInfo……错误
第二章:
1.下面的()存储过程用于添加一个数据库安全账户并授予它访问权限。
A
A.sp_grandbaccess
B.sp_grantlogin
C.sp_grantuser
Dsp_grantall
2.成功登陆到SQLServer后,好可以访问任意数据库了,这种说法A
A.错误
B.正确
3.创建数据时,需要指定(C)属性
A、数据库初始大小(size)
B.数据库的存放位置
C数据库的物理名称和逻辑名称
E.数据库的访问权限
4.创建图书借阅表时,“归还日期”默认为当天,且必须晚与“借书日期”,应采用(A)约束
A.检查约束
B.默认约束
C.主键约束
D.外键约束
5.某个字段希望存放电话号码,该段应选用(B)数据类型
A.char(10)
B.varchar(13)
C.text
D.int
6在SQLServer中,删除数据库使用(D)语句
AREMOVE
BDELETE
CAKERT
DDROP
第三章
1批处理是一个单元发送的一条或多条SQL语句的集合,这种说法(A)
A.对
B错
2用户可以定义局部变量,也可以定义全局变量,这中说法(B)
A对
B错
3下列(B)语句可以用来从WHILE语句块中退出
ACLOSE
BBREAK
C以上都是
D以上都不是
4要将一组语句执行10次,下列(B)结构可以用来完成此项任务。
AIF…ELSE
BWHILE
CCASE
D以上都不是
5给变量赋值时,结果数据来源于表中是某一列,应采用(A)方式
ASELECT
Bprint
CSET
6在SQLServer的新建查询中运行下面的语句,得到的结果是(D)
CREATETABLEnumbers
(
N1int
N2numberic(5,0)
N3numberic(4,2)
)
Go
Insertnumbersvalues(1.5,1.5,1.5)
Select*fromnumbers
A返回2、2和1.50的记录
B返回1.5、1.5、和1.5的记录集
Ccreatetable命令不会执行,因为无法为列N2设置精度为0
D返回1、2和1.50的记录集
/////(还未做)7在成绩好表中,统计并显示机试成绩,鉴于试题偏难,假定要提分,确保每个机试都通过。
提分规则很简单,先每人都加2分,查看是否都通过,如果没有全部通过。
则每人再加2分,再看是否都通过,如此反复提分,直到所有人都通过为止。
如果加分超过100分,就按100计算,加分后,按美国的ABCDE五级打分制来显示成绩
请编写T-SQL来实现
第四章
1有关于下列T-SQL语句的功能,说法正确的是(CB)(选择两项)
WHILENOTEXISTS(SELECTlabExamfromstuMarkswherelabExam<70)
Begin
UpdatestuMarkessetlabExam=labExam*1.1
IF(selectMAX(labExam)fromstuMaeks)>95
Break
Else
Continue
End
Select*fromstuMarks
A当最高分没有超过70分时,循环加分
B当学员的平均分没有超过70分时,循环加分
C当机试最高分超过95分时,停止加分,否则继续加分
2.Select*fromstuInfowherestuNo(B)(selectstuNofromstuMarks)括号中应填()比较合理。
A“=”
B“IN”
C“like”
D“>=”
3合并多个表中的数据有哪3种方法?
(ABC)
A联合
B子查询
C连接
D角色
4下列(B)子句可以与子查询一起使用以检查行或列是否存在。
AUNION------把两个或多个SELECT语句查询的结果组合成一个结果集
BEXISTS------------确定数据是否在查询列表中存在
CDISTINCT---------可以消除重复行
DCOMPUTEBY-----能浏览数据,,又可以看到结果
5下列(A)可用于创建一个新表,并用已存在的表的数据填充新表
Aselectinto
Bunion--------将两个SQL语句的结果合并起来
C子查询
D连接
6下列有关于子查询和连接的说法,错误的是C
A子查询一般可以代替连接
B连接能代替所有的子查询,所以一般优先采用子查询
C如果需要要显示多表数据,优先考虑连接
D如果只要作为查询的条件部分,一般考虑子查询
问答题
1.在学员系统中,使用子查询,统计缺考的学员名单
2.改进T-SQL综合应用案例;除了显示要求的结果外,还要求显示加分科目;笔试成绩/机试成绩,加分值是多少?
结果如图4.12第二个记录所示。
3.
应到人数
实到人数
缺考人数
1
5
4
1
1
加分科目
加分值
机试
6
姓名
学号
笔试成绩
机试成绩
是否通过
1
张秋丽
S25301
90
89
是
2
李斯文
S25303
93
65
是
3
李文才
S25302
63
97
是
4
欧阳华
S25304
缺考
缺考
否
5
梅超峰
S25318
63
59
否
总人数
通过人数
通过率
1
5
3
60%
图4.12学员成绩统计情况
第五章
1包含了一组数据库操作命令,并且所有的命令作为一个整体一起向系统提交或撤销操作请求。
A事务
B更新
C插入
D以上都不是
2对数据库的修改必修遵循的规则是:
要么全部完成,要么全部修改。
这点可以认为是事务的特征
A一致的
B持久的
C原子的
D隔离的
3当一个事务提交或回滚时,数据库中的数据必须保持在状态
A隔离的
B原子的
C一致的
D持久的
4显示事务是明确定义其开始和结束的事务,这种说法
A对
B错
5下列的()语句用于清除自最近的事务语句以来所有的修改
ACOMMITTRANSACTION
BROLLBACKTRANSCTION
CBEGINTRANSACTION
DSAVETRANSSACTION
6下列的()总要对数据库行进排序
A聚集索引
B非聚集索引
C组合索引
D唯一索引
7下列关于视图的说法,错误的()
A可以使视图集中数据,简化和定制不同用户对数据的不同要求
B视图可以使用户只关心他感兴趣的某些特定数据和他们所负责的特征任务
C视图可以让不同的用户以不同的方式看到不同或者相同的数据库
D视图不能用于连接多表--------可以定义多个表
问答题
1班主任比较关心学生档案,包括姓名,学号,性别,和年龄,而教员比较关心学员成绩以及是否参加考试,包括姓名,学号,笔试,机试是否通过,没有参加考试的学员,成绩栏显示缺考,请根据stuInfo表和stuMarks表,使两个视图的查询结果如图5.10所示,请使用T-SQL分别创建班主任和教员的视图
姓名
学号
性别
年龄
1
张秋丽
S25301
男
18
2
李斯文
S25303
男
31
3
李文才
S25302
女
22
4
欧阳华
S25304
男
28
5
梅超峰
S25318
女
23
姓名
学号
笔试成绩
机试成绩
是否通过
1
张秋丽
S25301
90
83
是
2
李斯文
S25303
63
91
是
3
李文才
S25302
93
59
否
4
欧阳华
S25304
缺考
缺考
否
5
梅超峰
S25318
63
53
否
图5.10有关班主任和教员的视图
第六章
1有关存储过程的参数默认,下面说法正确的是()
A输入参数必须有默认值----可以有默认值
B带默认值的输入参数,方便用户调用
C带默认值的输入参数,用户不能再传入参数,只能采用默认
D输入参数也可以带默认值
2.下面有关存储过程的说法,()是错误的
A它可作为一个独立的数据库对象并作为一个单元供用户在应用程序中调用
B存储过程可以传入和返回(输入)参数值
C存储过程必须带参数,要么是输入参数,要么是输出参数
D存储过程提高执行效率
3查询SQLServer帮助。
EXECsp_pkeybuyers的功能为()
A查看表buyers的约束信息
B查看表buyers的列信息
C查看表buyers的主键信息
D查看表buyers的存放位置信息
4查阅SQLServer帮助,EXECxp_logininfo的功能为()
A查看表logininfo的约束信息
B查看账户信息
C查看当前登录信息
D查看当前权限
5调用示例6的存储过程,错误的是(C)
AEXECproc_stu@sumOUTPUT,604
BEXECproc_stu@sumOUTPUT,64,78
CEXECproc_stu604@sumOUTPUT
DEXECproc_stu@sumOUTPUT
6运行一下语句,输出结果是()------看到列子才能知道答案
Createprocproc_lookup
@mystuNovarchar(8)=NULL
AS
IF@mystuNOISNULL
Begin
Print‘您忘记了传递学号参数’
Return
End
Select* from stuInfowherestuNO=@mystuNO
Go
EXECproc_lookup
A编译错误
B调用存储proc_lookup过程出错
C显示“您忘记了传递学号参数”
D显示空的学号信息记录集
问答题
(1)查询本次考试未通过的学员,要求显示姓名,学号,笔试成绩,机试成绩,是否通过,没参加考试的学员成绩显示为“缺考”(使用左连接LEFTJION)
(2)存储过程带3个参数,分别表示未通过的学员人数,笔试及格和机试及格线,统计未通过的学员名单,并返回未通过的人数
(3)统计未通过学员的人数和名单时。
缺考的学员也计算在内,如图6.8所示
笔试及格
机试及格
1
58
60
姓名
学号
笔试成绩
机试成绩
是否通过
1
李文才
S25302
93
59
否
2
欧阳华
S25304
缺考
缺考
否
3
梅超峰
S25318
63
53
否
未通过人数
结论
1
3人
超过60%及格分数线还应下调
图6.8未通过考试的学员的统计结果
调用存储过程,笔试及格线为58分,机试及格线取默认值。
CCAADC
AACABD
ABBBCDCBBABCBACBCCBC