第4次作业及答案.docx
《第4次作业及答案.docx》由会员分享,可在线阅读,更多相关《第4次作业及答案.docx(8页珍藏版)》请在冰豆网上搜索。
第4次作业及答案
第4次作业及答案
一、单项选择题(每个题只有一个答案是正确的。
)
1.如果希望从学生表中查询出所有姓“李”的同学,那么条件语句应该是(B)。
A、Where姓名%‘李’
B、Where姓名LIKE‘李%’
C、Where姓名%‘LIKE李’
D、Where姓名LIKE‘李’
2.在一个教师关系中,能够成为主关键字(或称主码)的属性是(B)。
A、教师姓名
B、教师编号
C、教师年龄
D、教师性别
3.从最终用户应用程序的视角看,数据库系统的三级模式结构是(C)。
A、模式、外模式和内模式
B、内模式、外模式和模式
C、外模式、模式和内模式
D、外模式、内模式和模式
4.在一个学生关系中,能够成为主关键字(或称主码)的属性是(C)。
A、性别
B、年龄
C、学号
D、班级
5.有严格的数学基础的数据模型是(A)。
A、关系模型
B、网状模型
C、层次模型
D、面向对象模型
6.下列关于索引的说明不正确的是(A)。
A、索引必须创建在主关键字之上
B、索引与基本表分开存储
C、索引是为了提高查询速度而创建的
D、索引会在一定程度上影响增删改操作的效率
7.设关系R是满足第一范式的,若R中不存在非主属性对主键的部分函数依赖,则R符合(A)。
A、第二范式
B、第三范式
C、BNC范式
D、第四范式
8.下列符合第三范式的关系是(D)。
A、学生(学号,姓名,课程号,课程名)
B、学生(学号,姓名,课程名,成绩)
C、学生(学号,姓名,课程号,成绩)
D、学生(学号,姓名,性别)
9.在第一个关系中出现,而在第二个关系中不出现的记录组成的新关系称为(D)。
A、两个关系的积
B、两个关系的并
C、两个关系的交
D、两个关系的差
10.数据库应用程序开发中,需求分析阶段的主要目的是(A)。
A、回答“干什么”的问题
B、回答“怎么干”的问题
C、建立逻辑数据模型
D、建立最佳物理存储结构
11.用户使用SQLServer时,通常需要依次经过两个安全性阶段(C)。
A、登录验证、操作验证
B、操作验证、登录验证
C、身份验证、权限认证
D、权限认证、身份验证
12.SQLServer数据库中的一个完整的备份通常要包括(A)。
A、系统数据库、用户数据库和事务日志
B、系统数据库、系统表和数据字典
C、系统数据库、用户数据库和数据字典
D、用户数据库和事务日志
13.下列哪些不属于索引的类型(D)。
A、单列索引
B、惟一索引
C、聚集索引
D、事务日志索引
14.下列SQL语句中,能够完成并运算的是(A)。
A、SELECT*FROM篮球爱好者UNIONSELECT*FROM足球爱好者
B、SELECT*FROM篮球爱好者INTERSECTSELECT*FROM足球爱好者
C、SELECT*FROM篮球爱好者EXCEPTSELECT*FROM足球爱好者
D、SELECT*FROM篮球爱好者,足球爱好者
15.设学生表和课程表的结构分别为(学号,姓名)和(学号,课程号,成绩),如果希望查询出“成绩大于90分的学生姓名”,则对应的SQL语句是(D)。
A、SELECT姓名FROM学生表WHERE学生表.学号=课程表.学号AND课程表.成绩>90
B、SELECT姓名FROM课程表WHERE学生表.学号=课程表.学号AND课程表.成绩>90
C、SELECT姓名FROM学生表,课程表WHERE学生表.学号=课程表.学号OR课程表.成绩>90
D、SELECT姓名FROM学生表,课程表WHERE学生表.学号=课程表.学号AND课程表.成绩>90
二、填空题
1.数据库系统的三级模式结构是指数据库系统由外模式、模式和内模式三级抽象模式构成。
2.备份是指将数据从硬盘复制到可移动媒体上的过程。
3.“实体一联系”方法是描述数据库概念模型的主要方法,一般称这种方法为E-R方法(或E-R图方法)。
4.用户使用SQLServer数据库时,一般需要经过两个安全性阶段:
身份验证和权限认证。
5.E-R图设计一般在数据库设计的概念设计阶段使用。
三、判断题(正确的在括号内打上“√”,错误的打上“╳”。
)
1.能够惟一表示数据表中的每条记录的字段或者字段的组合称为主码或主键(√)。
2.SQLServer数据库中的NULL值(空值)表示的是“空格”或“0”值(╳)
3.一个不规范的关系模式通常会引发插入异常、删除异常和更新异常,导致大量的数据冗余。
(√)
4.根据索引的特点,应该对那些数据量大、查询频度较高、实时性要求强的基本表创建索引,(√)
5.数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。
(√)
6.参照完整性规则通常是指在两个参照和被参照关系中,参照关系中每条记录的外键或者为空,或者等于被参照关系中某条记录的主键。
(√)
四、简述题
1.请简要说明视图的概念和作用
参考答案:
视图是在基本表或其他视图上建立的表,它的结构和内容都来自某个基本表,是依据基本表存在而存在的。
删除一个视图时,不会对基本表产生任何影响,但当删除一张基本表时,与之相关联的视图就会自动被删除。
其作用主要是:
(1)视图是经过预编译的SELECT语句,存储在数据库服务器端,因此执行视图比从客户端直接执行SELECT语句速度更快、效率更高一些。
(2)视图属于用户模式范畴,在实际中,一般的用户不一定具有SELECT语句方面的专门知识,从用户友好性角度来说,视图更便于用户使用。
(3)利用视图可以简化的形式表达复杂的SELECT语句组,如嵌套查询等。
2.什么是函数依赖与函数决定,请举例说明
参考答案:
设一个关系为R,X和Y是它的两个属性集。
若对于X上的每个值都有Y上的一个惟一值与之对应,则称X和Y具有函数依赖关系,并称X函数决定Y,或称Y函数依赖于X,称X为决定因素。
假设一个职工关系为(职工号,姓名,性别,年龄,职务),职工号用来标识每个职工,选作该关系的主键。
我们可以从以下两方面理解函数依赖的概念:
首先,对于该关系中每个职工的职工号,都对应着姓名属性中的惟一值,即该职工的姓名,或者说一个职工的姓名由其职工号惟一确定,所以称职工号函数决定姓名,或称姓名函数依赖于职工号。
其次,除职工号外,其他属性都不能成为决定因素形成函数依赖,因为对于它们的每个属性值,都可能对应另一属性的多个不同的取值,比如对于性别属性的一个取值“男”就会对应多个而不是一个职工号。
3.请简要说明存储过程的概念和优点。
参考答案:
存储过程(StoredProcedure)是一组预先编译好的,以一种可执行的形式永久地存储在数据中的SQL代码。
使用存储过程的好处可归纳为以下几点:
(a)执行速度快。
在经过第一次调用以后,就驻留在内存中,不必再经过编译和优化;(b)模块化的程序设计。
经过了一次创建以后,可以被调用无数次;(c)减少网络流量;(d)保证系统的安全性。
五、综合应用题
1.设有有以下基本表:
(1)供应商表(供应商编号,供应商名称,供应商所在城市);
(2)零件表(零件编号,零件名称,零件颜色,零件重量);(3)工程项目表(工程编号,工程名称,工程所在城市);(4)工程供货表(工程编号,供应商编号,零件编号,零件数量)。
用SQL语言写出下列查询语句,
(1)查询所有工程的全部细节:
SELECT*FROM工程项目表
(2)查询所在城市为上海的所有工程的全部细节
SELECT*FROM工程项目表WHERE工程所在城市=’上海’
(3)查询重量最轻的零件代号
SELECT零件编号FROM零件表WHERE零件重量=
(SELECTMIN(零件重量)FROM零件表)
(4)查询为工程编号为“JG2008001”的工程提供零件的供应商编号
SELECT供应商编号FROM工程供货表WHERE工程编号=’JG2008001’
(5)查询为工程编号为“JG2008001”的工程提供零件编号为“P1”的供应商编号
SELECT供应商编号FROM工程供货表
WHERE工程编号=’JG2008001’AND零件编号=’P1’
(6)查询由供应商编号为S1的供应商提供零件的工程名称
SELECT工程项目表.工程名称FROM工程项目表,工程供货表
WHERE工程项目表.工程编号=工程供货表.工程编号AND工程供货表.供应商编号=’S1’
(7)查询供应商S1提供的零件的颜色
SELECTDISTINCT零件表.零件颜色FROM零件表,工程供货表
WHERE零件表.零件编号=工程供货表.零件编号AND工程供货表.供应商编号=’S1’
(8)查询为所在城市为上海的工程提供零件的供应商编号
SELECTDISTINCT工程供货表.供应商编号FROM工程项目表,工程供货表
WHERE工程供货表.工程编号=工程项目表.工程编号AND工程项目表.工程所在城市=’上海’
2.用SQL语句创建简单数据表
设有两个关系
(1)教师关系T,包括教师编号TNo,姓名TN,系别TD,职称RANK;
(2)课程关系C,包括课程号CNo,课程名CN。
教师编号和课程号分别是上述两个关系的主键,请用SQL语句创建教师数据表T。
参考答案:
CREATETABLET{
TNoINTPRIMARYKEY,
TNCHAR(30),
TDCHAR(20),
RANKCHAR(20)
};
3.用SQL语句创建数据表
在上题基础上,假设还存在教师教授课程关系TC,包括教师编号TNo和课程号CNo。
注意:
说明主键码和外键码约束
参考答案:
CREATETABLETC{
TNoINT,
CNoINT,
PRIMARYKEY(Tno,Cno),
FOREIGNKEY(TNo)REFERENCEST(TNo),
FOREIGNKEY(CNo)REFERENCESC(CNo)
};
4.利用SQL语句进行查询
在上题的基础上,如果要查询“张红老师承担的所有课程”,请写出对应的SQL查询语句。
参考答案:
SELECTC.CNo,C.CNFROMT,C,TC
WHERET.TNo=TC.TNoANDC.CN=TC.CNoANDT.TN=’张红’
5.程序应用题
设学生成绩表的结构为(学号、课程号、成绩),程序运行界面如图1所示。
进入界面后,用户首先选择学号(Combo1)、课程号(Combo2),姓名(Text1)和课程名(Text2)从数据库中自动读入;然后,用户输入对应的成绩(Text3),点击“确认”按钮后,将结果插入到学生成绩表中。
请补充完成下列程序代码。
图1“增加记录”窗体运行界面
Private