数据库基础知识练习题
数据库练习题、数据库基础知识点
选择题
1、要保证数据库的逻辑数据独立性,需要修改的是||A||。
A: 模式与外模式之间的映射
B: 模式与内模式之间的映射
C: 模式
D: 三级模式
2、数据库系统的数据独立性体现在||B||。
A: 不会因为数据的变化而影响到应用程序
B: 不会因为数据存储结构与数据逻辑结构的变化而影响应用程序
C: 不会因为存储策略的变化而影响存储结构
D: 不会因为某些存储结构的变化而影响其他的存储结构
3、关系数据模型是目前最重要的一种数据模型,它的三个要素分别是||B||。
A: 实体完整性、参照完整性、用户自定义完整性
B: 数据结构、关系操作、完整性约束
C: 数据增加、数据修改、数据查询
D: 外模式、模式、内模式
4、||B||的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。
A: 网状模型
B: 关系模型
C: 层次模型
D: 以上都有
5、要保证数据库的数据独立性,需要修改的是||C|| 。
A: 模式与外模式
B: 模式与内模式
C: 三级模式之间的两层映射
D: 三层模式
6、概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是||D|| 。
A: 层次模型
B: 关系模型
C: 网状模型
D: 实体-关系模型
7、下述||D||不是DBA数据库管理员的职责 。
A: 完整性约束说明
B: 定义数据库模式
C: 数据库安全
D: 数据库管理系统设计
8、下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是||D||。 I.人工管理阶段 II.文件系统阶段 III.数据库阶段
A: I 和 II
B: 只有 II
C: II 和 III
D: 只有 I
9、数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是||A||。
A: DBS包括DB和DBMS
B: DBMS包括DB和DBS
C: DB包括DBS和DBMS
D: DBS包括DB,也就是DBMS
10、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立的最高的是||A||阶段。
A: 数据库系统
B: 文件系统
C: 人工管理
D: 数据项管理
11、数据库的概念模型独立于||A||。
A: 具体的机器和DBMS
B: E-R图
C: 信息世界
D: 现实世界
12、在数据库技术中,面向对象数据模型是一种||A||。
A: 概念模型
B: 结构模型
C: 物理模型
D: 形象模型
13、数据模型用来表示实体间的联系,但不同的数据库管理系统支持不同的数据模型。在常用的数据模型中,不包括||B||。
A: 网状模型
B: 链状模型
C: 层次模型
D: 关系模型
14、DBMS提供的SQL有两种方式,其中一种是将SQL嵌入到某一高级语言中,此高级语言称为||B||。
A: 查询语言
B: 宿主语言
C: 自含语言
D: 会话语言
15、数据库三级模式之间存在的映象关系正确的是||B||。
A: 外模式/内模式
B: 外模式/模式
C: 外模式/外模式
D: 模式/模式
16、数据库技术采用分级方法将数据库的结构划分成多个层次,是为了提高数据库||B|| 。
A: 数据规范性
B: 数据的独立性
C: 管理规范性
D: 数据的共享
17、存储在计算机外部存储介质上的结构变化的数据集合,其英文名称是||C||。
A: Data Dictionary(简写DD)
B: Data Base System(简写DBS)
C: Data Base(简写DB)
D: Data Base Management System(简写DBMS)
18、对于数据库系统,负责定义数据库内容,决定存储结构和存取策略及安全等授权工作的是||C||。
A: 应用程序开发人员
B: 终端用户
C: 数据库管理员
D: 数据库管理系统的软件设计人员
19、数据库中,数据的物理独立性是指||C||。
A: 数据库与数据管理系统的相互独立
B: 用户程序与DBMS的相互独立
C: 用户的应用程序与存储在磁盘上的数据中的数据是相互独立的
D: 应用程序与数据的逻辑结构相互独立
20、通过指针链接来表示和实现实体之间联系的模型是||D||。
A: 关系模型
B: 层次模型
C: 网状模型
D: 层次和网状模型
21、关系数据模型||D||。
A: 只能表示实体间的1∶1联系
B: 只能表示实体间的1∶n联系
C: 只能表示实体间的m∶n联系
D: 可以表示实体间的上述三种关系
22、一般地,一个数据库系统的外模式||D||。
A: 只能有一个
B: 最多只能有一个
C: 至少两个
D: 可以有多个
23、数据库三级模式中,真正存在的是||D||。
A: 外模式
B: 子模式
C: 模式
D: 内模式
24、在数据库中,产生数据不一致的根本原因是||D||。
A: 数据存储量太大
B: 没有严格保护数据
C: 未对数据进行完整性的控制
D: 数据冗余
25、层次模式、网状模型和关系模型的划分原则是||D||。
A: 记录长度
B: 文件的大小
C: 联系的复杂程度
D: 数据之间的联系
26、数据库的管理方法有||D||。
A: 批处理和文件系统
B: 文件系统和分布式系统
C: 分布式系统和批处理
D: 数据库系统和文件系统
27、在数据库设计中用关系模型来表示实体和实体之间的联系。关系模型的结构是||B||。
A: 层次结构
B: 二维表结构
C: 网状结构
D: 封装结构
28、应用数据库的主要目的是为了||C||。
A: 解决保密问题
B: 解决数据库完整性问题
C: 共享数据问题
D: 解决数据最大的问题
29、模式和内模式||A||。
A: 只能有一个
B: 最多只有一个
C: 至少两个
D: 可以有多个
30、在数据库的非关系模型中,基本层次联系是||B||。
A: 两个记录型以及它们之间的多对多联系
B: 两个记录型以及它们之间的一对多联系
C: 两个记录型之间的多对多的联系
D: 两个记录之间的一对多的联系
31、数据库技术的奠基人之一E.F.Codd从1970年起发表过多篇论文,主要论述的是||C||。
A: 层次数据模型
B: 网状数据模型
C: 关系数据模型
D: 面向对象数据模型
32、在数据库技术中,为提高数据库的逻辑独立性和物理独立性,数据库的结构被划分成用户级、||C||和存储级三个层次
A: 管理员级
B: 外部级
C: 概念级
D: 内部级
33、数据库系统的最大特点是||C||。
A: 数据的三级抽象和二级独立性
B: 数据共享性
C: 数据的结构化
D: 数据独立性
34、数据库管理系统中用于定义和描述数据库逻辑结构的语言称为||A||。
A: 数据定义语言
B: 数据库子语言
C: 数据操纵语言
D: 数据结构语言
35、在关系数据库设计中用||C||来表示实体及实体之间的联系。
A: 树结构
B: 封装结构
C: 二维表结构
D: 图结构
36、下面的选项不是关系数据库基本特征的是||A||。
A: 不同的列应有不同的数据类型
B: 不同的列应有不同的列名
C: 与行的次序无关
D: 与列的次序无关
37、现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位)医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是||A||。
A: 患者编号
B: 患者姓名
C: 患者编号和患者姓名
D: 医生编号和患者编号
38、假设有关系R和S,关系代数表达式R-(R-S)表示的是||A||。
A: R∩S
B: R∪S
C: R-S
D: R×S
39、关系代数中的连接操作是由||B||操作组合而成 。
A: 选择和投影
B: 选择和笛卡尔积
C: 投影、选择、笛卡尔积
D: 投影和笛卡尔积
40、关系模型中,一个码是||C||。
A: 可以由多个任意属性组成
B: 至多由一个属性组成
C: 由一个或多个属性组成,其值能够惟一标识关系中一个元组
D: 以上都不是
41、关系代数运算是以||C||为基础的运算 。
A: 关系运算
B: 谓词演算
C: 集合运算
D: 代数运算
42、从一个数据库文件中取出满足某个条件的所有记录形成一个新的数据库文件的操作是||C||操作 。
A: 投影
B: 连接
C: 选择
D: 复制
43、一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的||C|| 。
A: 记录
B: 行
C: 属性
D: 元组
44、一个关系只有一个||D|| 。
A: 候选码
B: 外码
C: 超码
D: 主码
45、两个关系在没有公共属性时,其自然连接操作表现为||B||。
A: 结果为空关系
B: 笛卡尔积操作
C: 等价连接操作
D: 无意义的操作
46、有两个关系R和S,分别包含15个和10个元组,那么在R∪S、R-S、R∩S,中不可能出现的元组数目情况是||B||。
A: 15,5,10
B: 18,7,7
C: 21,11,4
D: 25,15,0
47、取出关系中的某些列,并消去重复元组的关系代数运算称为||B||。
A: 取列运算
B: 投影运算
C: 连接运算
D: 选择运算
48、参加差运算的两个关系||B||。
A: 属性个数可以不相同
B: 属性个数必须相同
C: 一个关系包含另一个关系的属性
D: 属性名必须相同
49、若D1={a1,a2,a3},D2={1,2,3},则D1×D2集合中共有元组||C||个。
A: 6
B: 8
C: 9
D: 12
50、设有属性A,B,C,D,以下表达中不是关系的是||C||。
A: R(A)
B: R(A,B,C,D)
C: R(A×B×C×D)
D: R(A,B)
51、对关系模型叙述错误的是||D|| 。
A: 建立在严格的数学理论,集合论和谓词演算公式基础之一
B:微机DBMS绝大部分采取关系数据模型
C:用二维表表示关系模型是其一大特点
D:不具有连接操作的DBMS也可以是关系数据库管理系统
52、关系数据库中的码是指||D||。
A:能惟一决定关系的字段
B:不可改变的专用保留字
C:关键的很重要的字段
D:能惟一标识元组的属性或属性集合
53、自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的||D||。
A: 元组
B: 行
C: 记录
D: 属性
54、设W为R和S自然连接之后的结果,且W,R和S的元组个数分别为p,m,n,那么三者之间满足||D||。
A: p<(m+n)
B: p≤(m+n)
C: p<(m×n)
D: p≤(m×n)
55、若用如下的SQL语句创建一个表student:CREATE TABLE student (NO CHAR(4) NOT NULL,NAME CHAR(8) NOT NULL,SEX CHAR(2),AGE INT)可以插入到student表中的是||B||。
A: (\’1031\’,\’曾华\’,男,23)
B: (\’1031\’,\’曾华\’,NULL,NULL)
C: (NULL,\’曾华\’, \’男\’, \’23\’)
D: (\’1031\’,NULL,‘男’,23)
56、在视图上不能完成的操作是||C|| 。
A: 更新视图
B: 查询
C: 在视图上定义新的表
D: 在视图上定义新的视图
57、SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能||C||。
A: 数据查询
B: 数据操纵
C: 数据定义
D: 数据控制
58、SQL语言中,删除一个视图的命令是||B||。
A: DELETE
B: DROP
C: CLEAR
D: REMOVE
59、
在SQL语言中的视图VIEW是数据库的||A|| 。
A: 外模式
B: 模式
C: 内模式
D: 存储模式
60、下列的SQL语句中,||D||不是数据定义语句。
A: CREATE TABLE
B: DROP VIEW
C: CREATE VIEW
D: GRANT
61、若要撤销数据库中已经存在的表S,可用||C||。
A: DELETE TABLE S
B: DELETE S
C: DROP TABLE S
D: DROP S
62、若要在基本表S中增加一列CName(课程名),可用||C||。
A: ADD TABLE S(CName CHAR(8))
B: ADD TABLE S ALTER(CName CHAR(8))
C: ALTER TABLE S ADD(CName CHAR(8))
D: ALTER TABLE S (ADD CName CHAR(8))
63、学生关系模式 Student( Sno,Sname,Sex,Age),Student的属性分别表示学生的学号、姓名、性别、年龄。要在表Student中删除一个属性“年龄”,可选用的SQL语句是||B||。
A: DELETE Age from S
B: ALTER TABLE S DROP Age
C: UPDATE S Age
D: ALTER TABLE S ‘Age’
64、有关系S(Sno,SNAME,SAGE),C(Cno,CNAME),SC(Sno,Cno,GRADE)。其中Sno是学生号,SNAME是学生姓名,SAGE 是学生年龄, Cno是课程号,CNAME是课程名称。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL语句是 SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是||A||。
A: S.Sno = SC.sno and C.Cno = SC.Cno and SAGE>=20 and CNAME=\’ACCESS\’
B: S.Sno = SC.sno and C.Cno = SC.Cno and SAGE in>=20 and CNAME in \’ACCESS\’
C: SAGE in>=20 and CNAME in \’ACCESS\’
D: SAGE>=20 and CNAME=\’ ACCESS\’
65、设关系数据库中一个表S的结构为SC(SName,CName,grade),其中SName为学生名,CName为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要把“张二的化学成绩80分”插入S中,则可用||D||。
A: ADD INTO SC VALUES(\’张二\’,\’化学\’,\’80\’)
B: INSERT INTO SC VALUES(\’张二\’,\’化学\’,\’80\’)
C: ADD INTO SC VALUES(\’张二\’,\’化学\’,80)
D: INSERT INTO SC VALUES(\’张二\’,\’化学\’,80)
66、设关系数据库中一个表的结构为:SC(SName,CName,grade),其中SName为学生名,CNamee为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要更正王二的化学成绩为85分,则可用||A|| 。
A: UPDATE SC SET grade=85 WHERE SName=\’王二\’ AND CName=\’化学\’
B: UPDATE SC SET grade=\’85\’ WHERE SName=\’王二\’ AND CName=\’化学\’
C: UPDATE grade=85 WHERE SName=\’王二\’ AND CName=\’化学\’
D: UPDATE grade=\’85\’ WHERE SName=\’王二\’ AND CName=\’化学\’
67、在SQL语言中,子查询是||D|| 。
A: 返回单表中数据子集的查询语言
B: 选取多表中字段子集的查询语句
C: 选取单表中字段子集的查询语句
D: 嵌入到另一个查询语句之中的查询语句
68、SQL中的视图机制提高了数据库系统的||D||。
A: 完整性
B: 并发控制
C: 审计技术
D: 安全性
69、SQL语言的GRANT和REVOKE语句主要是用来维护数据库的||C||。
A: 完整性
B: 可靠性
C: 安全性
D: 一致性
70、在数据库的安全性控制中,授权的数据对象的||A||,授权子系统就越灵活。
A: 范围越小
B: 约束越细致
C: 安全性
D: 约束范围大
SQL设计
打开并运行X:/XSGL.sql文件,创建XSGL数据库。
试完成以下查询,分别存储为题号.sql,如:A.sql、B.sql……J.sql。
A. 查询年龄为19岁的“刘”姓学生。
B. 查询“李勇”选修的所有课程及成绩,显示结果为姓名,课程名,成绩。(用连接实现)
C. 查询“李勇”选修的所有课程的课程名程。(用嵌套查询实现)
D. 查询和“刘晨”在同一个系学习的其他同学的信息。
E. 查询每个系的学生数,显示结果为系名,人数。
F. 查询选修的课程数超过(含)3门的学生的学号。
G. 查询平均成绩在80分以上(含)的学生的姓名。
H. 查询至少选修了“95001”选的全部课程的学生的姓名。
I. 将女同学选修的“3”号课程成绩提高10%。
J. 删除还没有成绩的选课信息。(成绩为空)
SQL设计·参考答案:
–A.查询年龄为19岁的“刘”姓学生
select * from student where Sage=19 and sname like \’刘%\’
–B.查询“李勇”选修的所有课程及成绩,显示结果为姓名,课程名,成绩。(用连接实现)
select sname,cname,grade
from Student,Course,SC
where student.sno=sc.sno and Course.cno=SC.cno and sname=\’李勇\’
–C.查询“李勇”选修的所有课程的课程名程。(用嵌套查询实现)
select cname from course
where cno in
(select cno from sc where sno in
(select sno from student where sname=\’李勇\’)
)
–D.查询和“刘晨”在同一个系学习的其他同学的信息。
select * from student
where Sdept=
(select Sdept from student where sname=\’刘晨\’) and sname<>\’刘晨\’
–E.查询每个系的学生数,显示结果为系名,人数。
select SDept as 系名,count(*) as 人数
from student
group by SDept
–F.查询选修的课程数超过(含)3门的学生的学号。
select sno from sc
group by sno having count(*)>=3
–G.查询平均成绩在80分以上(含)的学生的姓名。
select sname from student
where sno in
(select sno from sc
group by sno having AVG(Grade)>=80)
–H.查询至少选修了“95001”选的全部课程的学生的信息。
select sname
from student
Where not Exists
(select * from SC Sc1
where sno in (\’95001\’) and not Exists
(select * from SC where Sc.sno=Student.sno and Sc1.cno=SC.cno))
–I.将女同学的“3”号课程成绩提高10%。
update sc set Grade=Grade*1.1
where cno=\’3\’ and sno in(select sno from student where SSEX=\’女\’)
–J.删除还没有成绩的选课信息。(成绩为空)
delete from SC where Grade is NULL