1数据库每一章节的习题训练第一章绪论一选择题:1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是阶段。A.数据库系统B.文件系统C.人工管理D.数据项管理答案:A2.数据库的概念模型独立于。A.具体的机器和DBMSB.E-R图C.信息世界D.现实世界答案:A4.是存储在计算机内有结构的数据的集合。A.数据库系统B.数据库C.数据库管理系统D.数据结构答案:B5.数据库中存储的是。A.数据B.数据模型C.数据以及数据之间的联系D.信息答案:C6.数据库中,数据的物理独立性是指。A.数据库与数据库管理系统的相互独立B.用户程序与DBMS的相互独立C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的D.应用程序与数据库中数据的逻辑结构相互独立答案:C8.数据库系统的核心是。A.数据库B.数据库管理系统C.数据模型D.软件工具答案:B11.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是。A.DBS包括DB和DBMSB.DDMS包括DB和DBSC.DB包括DBS和DBMSD.DBS就是DB,也就是DBMS答案:A12.在数据库中,产生数据不一致的根本原因是。A.数据存储量太大B.没有严格保护数据C.未对数据进行完整性控制D.数据冗余答案:D19.据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是()A.外模式B.内模式C.存储模式D.模式答案:D20数据库系统的数据独立性是指B。2A.不会因为数据的变化而影响应用程序B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他的存储结构答案:B二、填空题1.数据管理技术经历了人工管理、文件系统和数据库系统三个阶段。答案:①人工管理②文件系统②数据库系统2.数据库是长期存储在计算机内、有组织的、可共享的数据集合。答案:①组织②共享*****4.数据库管理系统的主要功能有__、__、数据库的运行管理和数据库的建立以及维护等4个方面。答案:①数据定义功能②数据操纵功能5.数据独立性又可分为逻辑数据独立性和物理数据独立性。答案:①逻辑数据独立性②物理数据独立性6.当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数据的物理独立性。答案:物理独立性7.数据模型是由、和三部分组成的。答案:①数据结构②数据操作③完整性约束*****8.是对数据系统的静态特性的描述,是对数据库系统的动态特性的描述。答案:①数据结构②数据操作*****9.数据库体系结构按照、和三级结构进行组织。答案:①模式②外模式③内模式10.实体之间的联系可抽象为三类,它们是1∶1、1∶m和m∶n。答案:①1∶1②1∶m②m∶n******11.数据冗余可能导致的问题有①和②。答案:①浪费存储空间及修改麻烦②潜在的数据不一致性三:简答题:1.什么是数据库?答:数据库是长期存储在计算机内、有组织的、可共享的数据集合。数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。3.什么是数据库管理系统?答:数据库管理系统(DBMS)是用户和操作系统之间的一层数据管理软件,它是数据库系统(DBS)的重要组成部分。不同的数据库系统都配有各自的DBMS,而不同的DBMS各支持一种数据库模型,虽然它3们的功能强弱不同,但大多数DBMS的构成相同,功能相似。一般说来,DBMS具有定义、建立、维护和使用数据库的功能,它通常由三部分构成:数据描述语言及其翻译程序、数据操纵语言及其处理程序和数据库管理的例行程序。第一章补充作业部分:假设教学管理规定:①一个学生可选修多门课,一门课有若干学生选修;②一个教师可讲授多门课,一门课只有一个教师讲授;③一个学生选修一门课,仅有一个成绩。学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。要求:根据上述语义画出ER图,要求在图中画出实体的属性并注明联系的类型;解答:第2章关系数据库一、选择题1、关系数据库管理系统应能实现的专门关系运算包括。A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表答案:B2、关系模型中,一个关键字是。A.可由多个任意属性组成B.至多由一个属性组成C.可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成D.以上都不是答案:C3、自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的。A.元组B.行C.记录D.属性答案:D4、关系运算中花费时间可能最长的运算是。成绩教师编号教师姓名学生选修m课程教师讲授nn1学号姓名课程号课程名4A.投影B.选择C.笛卡尔积D.除答案:C5.关系模式的任何属性。A.不可再分B.可再分C.命名在该关系模式中可以不惟一D.以上都不是答案:A6.在关系代数运算中,五种基本运算为。A.并、差、选择、投影、自然连接B.并、差、交、选择、投影C.并、差、选择、投影、乘积D.并、差、交、选择、乘积答案:C7、设有关系R,按条件f对关系R进行选择,正确的是。A.RRB.RRC.f(R)D.f(R)答案:C8、如图所示,两个关系R1和R2,它们进行运算后得到R3。R2R1ABCACD121XYyR3ABCDEACC122XYyMMNIIJA.交B.并C.笛卡尔积D.连接答案:D二、填空题1、一个关系模式的定义格式为。答案:关系名(属性名1,属性名2,…,属性名n)*2、.一个关系模式的定义主要包括、、、、。答案:①关系名②属性名③属性类型④属性长度⑤关键字*3、.关系代数运算中,传统的集合运算有①、②、③和④。答案:①笛卡尔积②并③交④差**4、关系代数运算中,基本的运算是①、②、③、④和⑤。答案:①并②差③笛卡尔积④投影⑤选择DEM125MNMIJK55、关系代数运算中,专门的关系运算有、和。答案:①选择②投影③连接**6、关系数据库中基于数学上两类运算是和。答案:①关系代数②关系演算7、.已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主关键字是①,系关系的外关键字②,学生关系的主关键字是③,外关键字④答案:①系编号②无③学号④系编号三、应用题:设有如下所示的关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE),试用关系代数表达式表示下列查询语句:(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。(2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。*(3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。(4)检索”李强”同学不学课程的课程号(C#)。*(5)检索至少选修两门课程的学生学号(S#)。(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。类似于(3)(7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。*(8)检索选修课程号为k1和k5的学生学号(S#)。(9)检索选修全部课程的学生姓名(SNAME)。(10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。(11)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。解:本题各个查询语句对应的关系代数表达式表示如下:(1).∏C#,CNAME(σTEACHER=‘程军’(C))(2).∏S#,SNAME(σAGE21∧SEX=”男”(S))(3).∏SNAME{s[∏S#,C#(sc)÷∏C#(σTEACHER=‘程军’(C))]}(4).∏C#(C)-∏C#(σSNAME=‘李强’(S)SC)(5).∏S#(σ[1]=[4]∧[2]≠[5](SC×SC))(6).∏C#,CNAME(C(∏S#,C#(sc)÷∏S#(S)))(7).∏S#(SC∏C#(σTEACHER=‘程军’(C)))(8).∏S#,C#(sc)÷∏C#(σC#=’k1’∨C#=’k5’(C))(9).∏SNAME{s[∏S#,C#(sc)÷∏C#(C)]}(10).∏S#,C#(sc)÷∏C#(σS#=’2’(SC))(11).∏S#,SNAME{s[∏S#(SCσCNAME=‘C语言’(C))]}6关系R和S如下图所示,试计算R÷S。RABCDabcdabefabhkbdefbddlckcdckef第3章关系数据库标准语言SQL一、选择题1、SQL语言是的语言,易学习。A.过程化B.非过程化C.格式化D.导航式答案:B2、SQL语言是语言。A.层次数据库B.网络数据库C.关系数据库D.非数据库答案:C3、SQL语言具有的功能。A.关系规范化、数据操纵、数据控制B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制D.数据定义、关系规范化、数据操纵答案:B5、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系。A.SB.SC,CC.S,SCD.S,C,SC答案:D*6、如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作不能执行。A.从职工表中删除行(‘025’,‘王芳’,‘03’,720)B.将行(‘005,’,‘乔兴’,‘04’,750)插入到职工表中C.将职工号为,‘001’的工资改为700D.将职工号为,’038’的部门号改为‘03’答案:BSCDcdef77、若用如下的SQL语句创建一个student表:CREATETABLEstudent(NOC(4)NOTNULL,NAMEC(8)NOTNULL,SEXC(2),注意:类型,若为CHAR则加‘’,若是INT则不加AGEN(2))可以插入到student表中的是。A.(‘1031’,‘曾华’,男,23)男改为‘男’B.(‘1031’,‘曾华’,NULL,NULL)C.(NULL,‘曾华’,‘男’,‘23’)D.(‘1031’,NULL,‘男’,23)答案:B第8到第11题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。8、检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是A.SELECTSN,AGE,SEXFROMSWHEREAGE>(SELECTAGEFROMSWHERESN=“王华”)B.SELECTSN,AGE,SEXFROMSWHERESN=“王华”C.SELECTSN,AGE,SEXFROMSWHEREAGE>(SELECTAGEWHERESN=“王华”)D.SELECTSN,AGE,SEXFROMSWHEREAGE>王华.AGE答案:A9、检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是。A.SELECTS#FORMSCWHEREC#=“C2”ANDGRAD>=(SELECTGRADEFORMSCWHEREC#=“C2”)B.SELECTS#FORMSCWHEREC#=“C2”ANDGRADEIN(SELECTGRADEFORMSCWHEREC#=“C2”)C.SELECTS#FORMSCWHEREC#=“C2”ANDGRADENOTIN(SELECTGRADEFORMSCWHEREC#=“C2”)D.SELECTS#FORMSCWHEREC#=“C2”ANDGRADE>=ALL(SELECTGRAD