版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年数据库系统工程师(中级)基础知识考试备考试题库(新版)第一部分:数据库技术基础与三级模式1.数据库系统的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是()。A.外模式B.内模式C.存储模式D.模式答案:D解析:模式(又称概念模式或逻辑模式)处于三级结构的中间层,用于描述数据库中全体数据的逻辑结构和特征,不涉及物理存储细节,是所有用户的公共数据视图。2.在数据库三级模式结构中,视图(View)属于()。A.模式B.外模式C.内模式D.物理模式答案:B解析:外模式也称为子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述。视图是外模式的具体实现方式之一。3.保证数据库物理数据独立性需要修改的是()。A.模式与外模式之间的映射B.模式与内模式之间的映射C.模式D.内模式答案:B解析:物理独立性是指当数据库的存储结构(内模式)改变时,只需修改模式/内模式映像,而保持模式不变,从而应用程序(基于外模式)不受影响。4.数据库系统的核心软件是()。A.数据库B.数据库管理系统(DBMS)C.操作系统D.应用系统答案:B解析:数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件,负责数据库的建立、使用和维护,是数据库系统的核心。5.DBMS的DDL(数据定义语言)不包含以下哪项功能?()A.定义外模式、模式和内模式B.定义数据完整性约束C.对数据库中的数据进行查询和插入D.定义安全保密规则答案:C解析:数据的查询、插入、修改和删除属于DML(数据操纵语言)的功能,而非DDL的功能。DDL主要负责数据库结构的定义。6.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是()。A.DBS包括DB和DBMSB.DBMS包括DB和DBSC.DB包括DBS和DBMSD.DBS就是DB,也就是DBMS答案:A解析:数据库系统(DBS)是一个完整的运行环境,由数据库(DB,即存储的数据集合)、数据库管理系统(DBMS,管理数据的软件)、应用程序和数据库管理员(DBA)等组成。7.下列关于数据库系统特点的叙述中,不正确的是()。A.数据共享性高B.数据独立性高C.数据冗余度高D.数据由DBMS统一管理和控制答案:C解析:数据库系统的核心特点之一是“数据冗余度低”,通过规范化设计减少重复存储,以节省存储空间并避免数据不一致。文件系统的特点是冗余度高。8.数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是()。A.人工管理阶段B.文件系统阶段C.数据库阶段D.分布式数据库阶段答案:A解析:在人工管理阶段,数据不保存,由应用程序直接管理,没有专门的数据管理软件。文件系统阶段由文件系统管理,数据库阶段由DBMS管理。9.数据模型的三个核心要素是()。A.数据结构、数据操作、完整性约束B.实体完整性、参照完整性、用户自定义完整性C.外模式、模式、内模式D.数据定义、数据操纵、数据控制答案:A解析:数据模型是数据库系统的核心和基础,通常由数据结构(描述数据组织方式)、数据操作(定义操作集合)和完整性约束(数据约束条件)三部分组成。10.关系数据模型是目前最重要的数据模型,它的数据结构是()。A.树形结构B.有向图结构C.二维表结构D.层次结构答案:C解析:关系模型采用二维表格(关系)来表示实体及其之间的联系,结构简单直观。层次模型用树形结构,网状模型用有向图结构。11.数据库的存储结构与物理存取方式在三级模式结构中称为()。A.外模式B.模式C.内模式D.概念模式答案:C解析:内模式(也称为存储模式)是数据物理结构和存储方式的描述,涉及数据存储的文件结构、索引、聚簇等物理实现细节。一个数据库只有一个内模式。12.在关系模型中,实现不同关系之间数据联系的约束是()。A.实体完整性B.参照完整性C.用户自定义完整性D.域完整性答案:B解析:参照完整性(引用完整性)定义了外码与主码之间的引用规则,确保不同关系之间的有效联系,防止引用不存在的实体。13.关于数据独立性的描述,下列说法错误的是()。A.物理独立性是指内模式变化时,通过修改模式/内模式映像使模式不变B.逻辑独立性是指模式变化时,通过修改外模式/模式映像使外模式不变C.数据独立性是指数据与程序之间的互不依赖性D.为了提高数据独立性,应尽量增加映像的层次答案:D解析:三级模式两层映像(外模式/模式映像、模式/内模式映像)已经充分保证了数据独立性,过多的层次反而会增加系统开销和复杂性。14.NULL值在关系数据库中表示()。A.数值0B.空字符串C.不存在或不知道的值D.无穷大答案:C解析:NULL是关系数据库中的特殊标记,表示“未知值”、“不存在”或“无意义”,它不同于数值0或空字符串,且NULL与任何值(包括自身)比较结果均为UNKNOWN。15.数据库中,能够唯一标识一个元组的属性或属性组称为()。A.外码B.超码C.候选码D.主属性答案:C解析:候选码是能够唯一标识关系中每个元组的最小属性集。主码是从候选码中选定的一个作为主要标识。16.数据库应用系统通常构建于特定的体系结构之上。如果应用程序安装在客户机端,通过客户机程序与数据库服务器交互,这种结构是()。A.浏览器/服务器(B/S)B.客户机/服务器(C/S)C.集中式D.分布式答案:B解析:在C/S结构中,客户端需安装专门的应用程序(如PC版QQ、微信),由客户端程序负责业务逻辑展示及与数据库服务器的直接交互。B/S结构则是通过浏览器访问Web服务器。17.下列哪个不是数据库管理系统(DBMS)的主要功能?()A.数据定义B.数据操纵C.数据编译为机器码D.数据库的运行管理答案:C解析:DBMS的主要功能包括数据定义(DDL)、数据操纵(DML)、数据库运行管理(并发控制、安全、恢复)以及数据库的建立和维护,不包括将数据编译为机器码。18.在关系模型中,表达实体集及实体集之间联系的主要方式是()。A.指针B.链表C.公共属性D.二维表及公共属性答案:D解析:关系模型不仅用二维表(关系)来表示实体集,还通过不同关系中的公共属性(特别是外码与主码的参照)来建立实体集之间的联系。19.一个数据库系统能够支持多个不同的用户视图,这体现了数据库的()。A.共享性B.一致性C.完整性D.并发性答案:A解析:多个用户可以定义各自的外模式(视图),同时共享同一个底层数据库,这体现了数据的共享性。20.关于数据库外模式的描述,正确的是()。A.一个数据库只能有一个外模式B.外模式是对物理存储结构的描述C.外模式也称为子模式或用户模式D.外模式由DBMS自动生成,用户无法修改答案:C解析:外模式是面向用户的局部数据视图,一个数据库可以有多个外模式,以满足不同用户或应用的安全性和便捷性需求。外模式可由DBA或用户通过CREATEVIEW等语句定义。21.概念模型是现实世界到机器世界的一个中间层次,最常用的概念模型是()。A.关系模型B.层次模型C.实体-联系(E-R)模型D.面向对象模型答案:C解析:E-R模型(实体-联系模型)独立于具体的DBMS,用于信息世界的建模,是数据库设计过程中概念结构设计的主要工具。22.在数据库设计中,为了消除数据冗余、避免插入异常和删除异常,通常需要对关系模式进行()。A.合并B.分解(规范化)C.加密D.视图化答案:B解析:规范化是通过模式分解,使关系模式满足更高级别的范式(如2NF、3NF、BCNF),以解决数据冗余和操作异常问题。23.聚簇索引(ClusterIndex)的创建主要改变了数据库的()。A.外模式B.模式C.内模式D.概念模式答案:C解析:索引属于物理存储结构的优化,聚簇索引决定了数据在物理存储介质上的排列顺序,属于内模式范畴,其改变不影响上层模式和应用。24.数据库三级模式间存在两级映像。当下层物理存储结构发生改变时,通过修改(),可保持模式和应用程序不变。A.外模式/模式映像B.模式/内模式映像C.外模式/内模式映像D.物理映像答案:B解析:模式/内模式映像定义了逻辑结构与物理存储的对应关系。当内模式改变时,只需调整此映像,即可使上层的模式保持稳定,实现物理独立性。25.关系模型相比层次和网状模型的优势在于()。A.数据结构复杂,表示能力强B.存取路径对用户透明,数据独立性更高C.存储效率最高D.完全避免了数据冗余答案:B解析:关系模型通过二维表隐藏了物理实现细节(如存取路径),用户只需指明“做什么”而非“怎么做”,因此具有更高的数据独立性和易用性。规范化设计可控制而非完全避免冗余。26.在文件系统阶段,数据管理的主要缺点是()。A.数据不能长期保存B.数据不属于应用程序C.数据独立性高D.数据共享性差,冗余度高答案:D解析:文件系统阶段实现了数据的长期保存和按文件存取,但文件仍面向特定应用设计,导致不同应用间数据难以共享、冗余度高且容易产生不一致性。27.数据字典(DataDictionary)的主要作用是()。A.存储用户数据B.存储数据库的元数据(关于数据的数据)C.作为数据备份D.存放临时查询结果答案:B解析:数据字典是DBMS的重要组成部分,存储数据库的模式结构、约束定义、用户权限等元数据信息,DBMS在执行SQL语句时需查询数据字典以获取相关信息。28.当数据库的模式发生改变(如增加新的关系或字段)时,通过修改(),可以使基于外模式的应用程序保持不变或仅受最小影响。A.外模式/模式映像B.模式/内模式映像C.应用程序代码D.内模式结构答案:A解析:外模式/模式映像定义了外模式与模式的对应关系。当模式变化时,修改该映像可尽量维持外模式不变,从而保护应用程序,实现逻辑数据独立性。29.下列关于关系模型术语的对应关系中,错误的是()。A.关系——表B.元组——行C.属性——列D.分量——表名答案:D解析:关系模型中的“分量”指的是元组中的一个属性值,即表格中某一行某一列的单元格数据值。30.数据库系统的组成包括()。A.硬件系统、数据库、DBMS、应用程序和DBAB.硬件系统、DBMS和用户C.数据库、应用程序和OSD.数据库、OS和硬件答案:A解析:完整的数据库系统(DBS)包含五个主要部分:计算机硬件、数据库(数据集合)、数据库管理系统(DBMS)、相关应用程序和数据库管理员(DBA)。31.在数据管理技术中,与文件系统相比,数据库系统最大的改进是()。A.提高了数据处理的效率B.增强了数据的安全性C.实现了有结构的数据集合及数据间的联系D.能够并发访问答案:C解析:文件系统的数据虽然也是记录集合,但缺乏全局结构定义和数据间联系。数据库系统不仅存储数据本身,还通过数据模型存储数据间的内在联系(如参照完整性)。32.现实世界中的事物(如一个学生、一门课程)在信息世界中通常被抽象为()。A.关系B.属性C.实体D.元组答案:C解析:客观存在并可相互区别的事物称为实体(Entity),它是E-R模型的基本成分。33.实体所具有的某一特性(如学生的姓名、年龄)在E-R模型中称为()。A.实体型B.属性C.码D.域答案:B解析:属性是实体某一特征的抽象描述。属性的取值范围称为域。34.对于学生实体,其“年龄”属性通常属于()。A.派生属性B.复合属性C.多值属性D.基础属性答案:A解析:年龄可以通过“当前日期”和“出生日期”计算得出。为了减少冗余,数据库中通常存储“出生日期”作为基础属性,而“年龄”作为派生属性不直接存储或在需要时计算。35.一个部门可以有多个职工,但一个职工只能隶属于一个部门。部门与职工之间的联系类型是()。A.1:1B.1:NC.M:ND.无联系答案:B解析:这是典型的一对多联系,“一”方是部门,“多”方是职工。36.一个学生可以选修多门课程,一门课程可以被多个学生选修。学生与课程之间的联系类型是()。A.1:1B.1:NC.M:ND.不确定答案:C解析:多对多联系在关系数据库中必须转换为一个独立的关联表(选课表)来表示,该表至少包含两个外码分别引用学生和课程的主码。37.区分不同实体的依据是()。A.名称B.属性C.对象D.概念答案:B解析:实体是根据其具有的不同属性值来区分的。例如,学生实体通过学号、姓名等属性值的不同来区分不同的学生个体。38.在一个E-R图中,如果有5个实体类型,它们之间存在着一个多对多对多的三元联系,根据转换规则,该E-R图转换为关系模式时,至少应包含()个关系模式。A.5B.6C.7D.8答案:B解析:5个实体各转换为一个关系模式(5个)。一个多对多的三元联系也必须转换为一个独立的关系模式(1个),因此至少包含6个关系模式。如果是一对多的联系,则可以把联系合并到“多”方的实体关系模式中。39.数据库中“弱实体”的存在依赖于()。A.自身属性B.强实体C.复合属性D.派生属性答案:B解析:弱实体(如职工家属)的存在以强实体(如职工)的存在为前提。如果强实体被删除,弱实体通常也会被级联删除。40.以下关于E-R模型向关系模型转换的叙述,错误的是()。A.一个实体型转换为一个关系模式,实体的属性就是关系的属性B.一个1:1联系可以与任意一端对应的关系模式合并C.一个1:N联系必须转换为一个独立的关系模式D.一个M:N联系必须转换为一个独立的关系模式答案:C解析:1:N联系通常不需要转换为独立的关系模式,只需将“1”方的主码作为外码加入到“N”方对应的关系模式中即可。而M:N联系必须转换为独立的关系模式。第二部分:关系代数与SQL语言(第41-110题)41.五种基本的关系代数运算是()。A.并、差、笛卡尔积、选择、投影B.并、交、差、笛卡尔积、连接C.并、交、选择、投影、除D.并、差、连接、选择、除答案:A解析:关系代数中,并(∪)、差(-)、笛卡尔积(×)、选择(σ)、投影(π)是五种基本运算,其他运算(如连接、除)均可由这五种基本运算导出。42.从关系R中选出满足给定条件的元组组成新的关系,应使用的运算是()。A.投影(π)B.选择(σ)C.连接(⋈)D.除(÷)答案:B解析:选择运算是水平分割,针对行(元组)进行操作。投影运算是垂直分割,针对列(属性)进行操作。43.SQL语言中,实现数据控制功能的语句是()。A.CREATE,ALTER,DROPB.SELECT,INSERT,UPDATE,DELETEC.GRANT,REVOKE,DENYD.COMMIT,ROLLBACK,SAVEPOINT答案:C解析:A属于DDL(数据定义),B属于DML(数据操纵),C属于DCL(数据控制),D属于TCL(事务控制)。44.在SQL中,与关系代数中的投影运算对应的子句是()。A.WHEREB.FROMC.SELECTD.ORDERBY答案:C解析:SQL语句中的`SELECT`子句指定要查询的属性列,相当于关系代数的投影运算(π);`WHERE`子句指定选择条件,相当于选择运算(σ)。45.在SQL查询中,若要消除查询结果中的重复行,应使用()关键字。A.UNIQUEB.DISTINCTC.PRIMARYKEYD.CHECK答案:B解析:`SELECT`后的`DISTINCT`关键字用于强制消除结果集中的重复元组。`ALL`(默认)表示保留所有行。46.设有关系模式Student(S,Sname,Sage,Sdept),查询年龄在18到22岁之间的学生姓名和年龄,正确的SQL语句是()。A.`SELECTSname,SageFROMStudentWHERESage>18ANDSage<22`B.`SELECTSname,SageFROMStudentWHERESageBETWEEN18AND22`C.`SELECTSname,SageFROMStudentWHERESage>=18ORSage<=22`D.`SELECTSname,SageFROMStudentWHERESage>18ORSage<22`答案:B解析:`BETWEEN...AND...`是包含边界值的范围查询。题目要求18到22岁之间,通常包含边界,使用`BETWEEN18AND22`最简洁准确。47.在SQL中,用于分组的子句是()。A.ORDERBYB.GROUPBYC.HAVINGD.WHERE答案:B解析:`GROUPBY`将查询结果按指定列分组,聚集函数(如COUNT,AVG)通常配合使用。`HAVING`用于对分组后的结果进行过滤,`WHERE`用于分组前对原始行进行过滤。48.SQL中,删除表中所有数据但保留表结构的命令是()。A.DELETETABLEB.DROPTABLEC.TRUNCATETABLED.REMOVETABLE答案:C解析:`TRUNCATETABLE`是DDL操作,快速清空表数据并重置自增计数器,不记录单行删除日志。`DELETEFROM`是DML操作,逐行删除并记录日志。`DROPTABLE`会删除表结构和数据。49.SQL的聚合函数中,用于计算某列平均值的函数是()。A.SUM()B.COUNT()C.AVG()D.MAX()答案:C解析:`AVG()`计算数值列的平均值,忽略NULL值。`SUM()`求和,`COUNT()`计数,`MAX()`求最大值。50.关于SQL中的视图(VIEW),下列说法错误的是()。A.视图是虚表,不独立存储数据B.视图可以基于一个或多个基本表定义C.任何视图都可以执行更新操作(INSERT/UPDATE/DELETE)D.视图可以简化复杂查询答案:C解析:视图更新有严格限制。如果视图定义包含聚集函数、DISTINCT、GROUPBY、连接多个表等情况,通常是不可更新的。51.SQL语句中,向表中插入一条新记录的命令是()。A.ADDINTOB.INSERTINTOC.UPDATED.CREATEROW答案:B解析:`INSERTINTO表名(列名)VALUES(值)`是标准的插入语句。52.在关系代数中,自然连接(NaturalJoin)要求两个关系必须具有()。A.相同数量的属性B.相同名称的属性C.至少一个公共属性D.完全相同的结构答案:C解析:自然连接是一种特殊的等值连接,要求两个关系有共同的属性(列名和域相同),连接时会自动合并公共属性并消除重复列。53.当使用SQL语句`SELECTCOUNT(Sage)FROMStudent`查询时,如果Sage列有NULL值,则()。A.NULL值会被计数B.NULL值不会被计数C.语句执行报错D.NULL值计为0答案:B解析:`COUNT(列名)`会忽略指定列中的NULL值。若要统计包含NULL的所有行数,应使用`COUNT()`。54.设有关系R和S,计算R和S的并集,要求R和S必须满足()。A.具有相同的元组数B.具有相同的属性个数,且对应属性域相同C.具有相同的码D.没有任何要求答案:B解析:并(∪)、交(∩)、差(-)运算要求参与运算的关系必须满足“并兼容”(UnionCompatibility),即属性个数相同,且对应属性的数据类型(域)兼容。55.在SQL查询中,若要对分组后的结果设置筛选条件,应使用()子句。A.WHEREB.GROUPBYC.HAVINGD.ORDERBY答案:C解析:`WHERE`筛选原始行,`HAVING`筛选分组后的组。`HAVING`通常与`GROUPBY`联用,且`HAVING`条件中可以使用聚集函数,而`WHERE`不能。56.关系代数的表达式`π_{Sname}(σ_{Cname='数据库'}(Student⋈SC⋈Course))`表示()。A.查询选修了数据库课程的学生姓名B.查询数据库课程的任课教师C.查询所有学生的选课情况D.查询选修了所有课程的学生姓名答案:A解析:最内层自然连接三个表,中间层选择`Cname='数据库'`的元组,最外层投影出学生姓名`Sname`,即查找选修“数据库”课程的学生姓名。57.下列SQL语句中,能够正确创建学生表(含学号主键,姓名非空,性别默认'男')的是()。A.`CREATETABLEStudent(SnoCHAR(9),SnameCHAR(20)NOTNULL,SexCHAR(2)DEFAULT'男',PRIMARYKEYSno);`B.`CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameCHAR(20)NOTNULL,SexCHAR(2)DEFAULT'男');`C.`CREATETABLEStudent(SnoCHAR(9),SnameCHAR(20),SexCHAR(2),PRIMARYKEY(Sno)NOTNULL);`D.`CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameCHAR(20)NOTNULL,SexCHAR(2)='男');`答案:B解析:A选项中`PRIMARYKEYSno`缺少括号;C选项中`NOTNULL`位置错误;D选项默认值语法错误(应为`DEFAULT'男'`)。B选项语法完全正确。58.SQL中的`JOINON`操作等价于关系代数中的()。A.选择+投影B.笛卡尔积+选择C.投影+并D.交+除答案:B解析:`RJOINSON条件`首先计算R和S的笛卡尔积(×),然后根据`ON`指定的条件进行选择(σ),最后通常还会自然地去重或投影。因此核心是笛卡尔积+选择。59.在SQL中,修改表结构的命令是()。A.MODIFYTABLEB.CHANGETABLEC.ALTERTABLED.UPDATETABLE答案:C解析:`ALTERTABLE`用于增加、删除或修改列,修改约束等表结构定义操作。`UPDATE`用于修改表中的数据行。60.要查询“既选修了课程001又选修了课程002的学生学号”,以下SQL语句中不正确的是()。A.`SELECTSnoFROMSCWHERECno='001'INTERSECTSELECTSnoFROMSCWHERECno='002'`B.`SELECTDISTINCTX.SnoFROMSCX,SCYWHEREX.Sno=Y.SnoANDX.Cno='001'ANDY.Cno='002'`C.`SELECTSnoFROMSCWHERECno='001'ORCno='002'GROUPBYSnoHAVINGCOUNT()=2`D.`SELECTSnoFROMSCWHERECno='001'UNIONSELECTSnoFROMSCWHERECno='002'`答案:D解析:`UNION`表示“或”,查询的是选修了001或002任意一门的学生,而非同时选修两门。A(交)、B(自连接)、C(分组计数)均可正确表达“同时选修”。61.在SQL中,`LIKE'_A%'`不能匹配的字符串是()。A.'BA'B.'aA'C.'BCD'D.'A'答案:D解析:`_`匹配任意单个字符,`%`匹配任意长度字符串(包括空串)。'_A%'要求第二个字符必须是A。选项D长度不足2。62.设有关系模式SC(S,C,Grade),查询平均成绩大于85分的课程号,正确的SQL是()。A.`SELECTCFROMSCWHEREAVG(Grade)>85`B.`SELECTCFROMSCGROUPBYCWHEREAVG(Grade)>85`C.`SELECTCFROMSCGROUPBYCHAVINGAVG(Grade)>85`D.`SELECTCFROMSCHAVINGAVG(Grade)>85GROUPBYC`答案:C解析:先按C分组,然后对每组计算平均分,最后用`HAVING`过滤平均分>85的组。`WHERE`不能直接使用聚合函数。63.关系R有m个元组,关系S有n个元组,则R与S的笛卡尔积(R×S)包含的元组数为()。A.m+nB.m-nC.m×nD.min(m,n)答案:C解析:笛卡尔积的结果元组数是两个关系元组数的乘积,属性数是两个关系属性数之和。64.以下哪个不是SQL标准支持的连接类型?()A.INNERJOINB.LEFTOUTERJOINC.FULLOUTERJOIND.CROSSJOIN(笛卡尔积)E.以上都是标准支持的连接答案:E解析:内连接、左/右/全外连接、交叉连接均为SQL标准定义的连接类型。65.在SQL中,要限制返回的行数(如只返回前10行),在不同数据库中有不同实现,以下哪个是SQL标准(SQL:2008以后)的写法?()A.`SELECTTOP10FROMStudent`B.`SELECTFROMStudentLIMIT10`C.`SELECTFROMStudentFETCHFIRST10ROWSONLY`D.`SELECTFROMStudentROWNUM<=10`答案:C解析:`TOP`是SQLServer语法,`LIMIT`是MySQL/PostgreSQL语法,`ROWNUM`是Oracle语法。`FETCHFIRSTnROWSONLY`是SQL标准语法。66.关于SQL的集合运算,以下哪种运算能够保留两个查询结果中的所有重复行?()A.UNIONB.UNIONALLC.INTERSECTD.EXCEPT答案:B解析:`UNIONALL`直接将两个结果集拼接,不去重,效率高于`UNION`。`UNION`会排序并去除重复行。67.在关系代数中,操作符`÷`(除法)的作用是()。A.找出R中满足S中所有条件的元组B.计算R和S的商集C.求R中属性值除以S中属性值的结果D.对R进行分组除法运算答案:A解析:除法运算`R÷S`通常用于查询“满足所有条件的...”这类问题。例如查询“选修了所有课程的学生”。68.在SQL中,删除触发器`trg_student_log`的正确语句是()。A.`DELETETRIGGERtrg_student_log`B.`DROPTRIGGERtrg_student_log`C.`ALTERTABLEDROPTRIGGERtrg_student_log`D.`REMOVETRIGGERtrg_student_log`答案:B解析:删除数据库对象(表、视图、索引、触发器、存储过程等)通常使用`DROP`命令。69.在SQL查询中,当表名或列名与保留字冲突时,可以使用()将其括起以转义(以SQLServer/T-SQL为例)。A.单引号''B.双引号""C.方括号[]D.花括号{}答案:C解析:SQLServer使用方括号`[]`(如`SELECT[table]FROM[user]`)。MySQL使用反引号``````。标准SQL使用双引号`""`。70.关系代数表达式`π_{A}(σ_{B='5'}(R))`等价于SQL语句()。A.`SELECTDISTINCTAFROMRWHEREB='5'`B.`SELECTAFROMRWHEREB=5`C.`SELECTAFROMRHAVINGB='5'`D.`SELECTFROMRWHEREB='5'`答案:A解析:σ对应WHERE,π对应SELECTDISTINCT(关系代数默认去重,因此SQL中需加DISTINCT以精确对应)。71.设有表T(A,B,C),要插入一条记录(1,2,3),下列语句正确的是()。A.`INSERTINTOTVALUES(1,2,3)`B.`INSERTINTOT(A,B,C)VALUES(1,2,3)`C.`INSERTINTOT(A,B)VALUES(1,2)`D.以上均正确答案:D解析:A和B均正确。A要求VALUES后的值顺序和数量与表定义完全一致;B显式指定列名。C如果C列允许空或有默认值也是正确的。72.在SQL中,要修改学号为S001的学生年龄为20,应使用()。A.`UPDATEStudentSETSage=20`B.`UPDATEStudentSETSage=20WHERESno='S001'`C.`UPDATEStudent.Sage=20WHERESno='S001'`D.`MODIFYStudentSETSage=20WHERESno='S001'`答案:B解析:`UPDATE表名SET列名=值WHERE条件`是标准语法。若缺少WHERE子句将修改表中所有记录。73.在SQL中,索引的建立是为了()。A.提高查询速度B.节省存储空间C.提高数据独立性D.增强数据安全性答案:A解析:索引是一种数据结构(如B+树),用于快速定位数据行,提高查询效率。代价是占用额外存储空间并降低增删改速度。74.关于SQL中的存储过程,下列说法错误的是()。A.存储过程可以包含复杂的业务逻辑B.存储过程预编译后执行,效率较高C.存储过程只能返回单个结果D.存储过程可以接受输入参数答案:C解析:存储过程可以返回多个结果集,也可以包含输出参数,功能非常灵活。它可以封装多条SQL语句,在数据库服务器端执行。75.关系R(A,B)和S(B,C)进行自然连接后,结果的属性个数是()。A.2B.3C.4D.5答案:B解析:自然连接合并公共属性B,属性集为(A,B,C),共3个属性。76.在关系代数中,表达式`σ_{2>3}(R)`表示()。A.选择R中第2个属性值大于第3个属性值的元组B.选择R中第2个元组的值大于第3个元组的值的属性C.选择R中第2个分量大于数值3的元组D.表达式非法答案:A解析:当不使用属性名而使用数字索引时,`σ_{2>3}`表示选择关系中第2个属性的值大于第3个属性的值的那些行(元组)。77.SQL中的`CHECK`约束用于实现()。A.实体完整性B.参照完整性C.用户自定义完整性D.域完整性答案:C解析:`CHECK`约束限制某列的取值范围(如`CHECK(SageBETWEEN18AND60)`),属于用户根据业务规则自定义的完整性约束。域完整性类似但特指对数据类型的约束。78.在关系代数中,条件连接`R⋈_{R.A>S.B}S`的结果包含的元组数量最多为()。A.R的元组数B.S的元组数C.R的元组数×S的元组数D.R的元组数+S的元组数答案:C解析:条件连接等价于先做笛卡尔积(m×n),然后按条件筛选。在最坏(或未加选择条件)情况下,筛选可能保留所有行,因此最大元组数为m×n。79.下列哪种聚合函数能够正确处理包含NULL值的列,并返回非空值的个数?()A.COUNT()B.COUNT(列名)C.SUM(列名)D.AVG(列名)答案:B解析:`COUNT()`返回总行数(包含全NULL行);`COUNT(列名)`返回该列非NULL值的个数;`SUM`和`AVG`在计算时自动忽略NULL值。80.在SQL中,撤销用户U1对表Student的SELECT权限的语句是()。A.`DELETESELECTONStudentFROMU1`B.`REVOKESELECTONStudentFROMU1`C.`REMOVESELECTONStudentFROMU1`D.`DROPSELECTONStudentFROMU1`答案:B解析:`REVOKE...FROM...`是标准的数据控制语言(DCL)语句,用于回收权限。`GRANT...TO...`用于授予权限。81.关于SQL中`EXISTS`和`IN`的说法,正确的是()。A.`EXISTS`关心子查询返回的具体值,`IN`只关心是否存在B.`EXISTS`通常比`IN`效率低C.当子查询结果集较大时,`EXISTS`通常比`IN`效率高D.两者在任何情况下执行计划都完全相同答案:C解析:`EXISTS`在找到第一个匹配行后即返回真,不关心具体返回值,特别适合外表小、内表大且有索引的场景。`IN`需要处理子查询返回的结果集。但这依赖于具体优化器。82.设有表Employee(ID,Name,Salary,DeptID),查询每个部门平均工资高于5000的部门ID和平均工资,正确的SQL是()。A.`SELECTDeptID,AVG(Salary)FROMEmployeeWHEREAVG(Salary)>5000GROUPBYDeptID`B.`SELECTDeptID,AVG(Salary)FROMEmployeeGROUPBYDeptIDHAVINGAVG(Salary)>5000`C.`SELECTDeptID,AVG(Salary)FROMEmployeeGROUPBYDeptIDWHEREAVG(Salary)>5000`D.`SELECTDeptID,AVG(Salary)FROMEmployeeHAVINGAVG(Salary)>5000GROUPBYDeptID`答案:B解析:分组后的过滤必须使用`HAVING`子句,且位置应在`GROUPBY`之后。83.在关系代数中,表达“不是”或“否定”逻辑通常需要使用()运算结合差运算来实现。A.选择B.投影C.笛卡尔积D.连接答案:C解析:关系代数没有直接的“非”运算符。要表达“查询没有选修某课程的学生”,通常先构造“所有学生”与“选修了该课程的学生”的笛卡尔积相关集合,再用差运算(减掉已选修的)。84.SQL语句`SELECTSnameFROMStudentWHERESnoIN(SELECTSnoFROMSCWHERECno='1')`可以改写为()。A.`SELECTSnameFROMStudentJOINSCONStudent.Sno=SC.SnoWHERECno='1'`B.`SELECTSnameFROMStudentWHEREEXISTS(SELECTFROMSCWHERECno='1'ANDSC.Sno=Student.Sno)`C.`SELECTSnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDCno='1'`D.以上都可以答案:D解析:IN子查询通常可以改写为连接查询或EXISTS子查询,它们在逻辑上是等价的。连接查询的结果可能会包含重复行,需加DISTINCT去重以严格等价。85.要创建一个名为`idx_name`的索引,基于`Student`表的`Sname`列降序排列,正确的SQL是()。A.`CREATEINDEXidx_nameONStudent(SnameDESC)`B.`CREATEINDEXidx_nameONStudent(Sname)ORDERBYDESC`C.`ADDINDEXidx_nameONStudent(Sname)DESC`D.`CREATEUNIQUEINDEXidx_nameONStudent(Sname)`答案:A解析:标准创建索引语法为`CREATEINDEX索引名ON表名(列名[ASC|DESC])`。86.SQL中,删除表S中所有数据的效率最高且能重置自增列计数(在支持该特性的DBMS中)的语句是()。A.`DELETEFROMS`B.`DELETEFROMS`C.`DROPTABLES`D.`TRUNCATETABLES`答案:D解析:`TRUNCATE`是DDL,直接释放数据页,速度极快且重置标识列。`DELETE`逐行删除记录日志,速度慢且不重置标识列(除非显式重设)。`DROP`会删除整个表。87.在查询中,若希望将查询结果按照“系别”升序排列,同一系别内按“年龄”降序排列,应使用()。A.`ORDERBYSdept,SageDESC`B.`ORDERBYSdeptASC,SageDESC`C.`ORDERBYSdept,SageASC`D.`SORTBYSdept,SageDESC`答案:B解析:默认为ASC升序,降序需显式指定DESC。多个排序条件用逗号分隔,按优先级从左到右。88.在SQL中,表达式`SELECTR.A,S.BFROMR,S`在没有WHERE条件时,实现的是()。A.内连接B.外连接C.等值连接D.笛卡尔积答案:D解析:`FROMR,S`且无连接条件时,SQL将计算两个表的交叉连接(笛卡尔积),结果集为R和S中元组的所有可能组合。89.关系数据模型中,实体完整性规则是指()。A.主键的值不能为空或部分为空B.外键的值必须等于被引用关系的主键值或为空C.用户定义的约束必须满足D.元组的顺序无关紧要答案:A解析:实体完整性(EntityIntegrity)要求主码唯一且非空。参照完整性(ReferentialIntegrity)对应B选项。90.设有表Student,要添加一个新列`Phone`(字符型,长度15),正确的SQL是()。A.`ALTERTABLEStudentADDPhoneCHAR(15)`B.`ALTERTABLEStudentADDCOLUMNPhoneCHAR(15)`C.`MODIFYTABLEStudentADDPhoneCHAR(15)`D.`ALTERTABLEStudentINSERTPhoneCHAR(15)`答案:A解析:在SQLServer中语法为A;在MySQL/PostgreSQL中通常需要加`COLUMN`关键字,但很多数据库(如SQLServer)`ADD`后直接跟列名也是合法的。从标准及大多数DBMS兼容角度,A是正确形式。91.在SELECT语句中,`WHERE`子句与`HAVING`子句的区别在于()。A.`WHERE`在分组前过滤行,`HAVING`在分组后过滤组B.`HAVING`在分组前过滤行,`WHERE`在分组后过滤组C.两者功能完全相同D.`WHERE`必须与`GROUPBY`一起使用答案:A解析:这是SQL执行逻辑的重要区别。`WHERE`作用于原始数据行(FROM之后),`HAVING`作用于分组后的组数据(GROUPBY之后)。92.查询选修了课程名为“数据库”的学生学号和姓名,需要关联的表至少包括(假设有Student,Course,SC表)?A.StudentB.Student,SCC.SC,CourseD.Student,SC,Course答案:D解析:需要从SC获取选课关系,从Course获取课程名(用于筛选),从Student获取姓名。因此三个表都需要关联。93.关系代数运算中,与SQL的`LEFTOUTERJOIN`逻辑最接近的代数运算是()。A.自然连接B.条件连接C.左外连接(⟕)D.除运算答案:C解析:左外连接会保留左边关系中的所有元组,即使在右边关系中找不到匹配(用NULL填充)。关系代数有对应的左外连接运算符。94.关于SQL中的`NULL`值,下列运算结果为`NULL`的是()。A.`NULLANDFALSE`B.`NULLORTRUE`C.`NULL=NULL`D.`10+NULL`答案:D解析:任何算术运算包含NULL,结果均为NULL。逻辑运算中,`NULLORTRUE`结果为`TRUE`;`NULLANDFALSE`结果为`FALSE`。`NULL=NULL`结果为`UNKNOWN`(在WHERE条件中被视为FALSE)。95.SQL语句中,能够终止当前事务并撤销所有已做更改的命令是()。A.COMMITB.ROLLBACKC.SAVEPOINTD.REVOKE答案:B解析:`ROLLBACK`用于回滚事务,撤销事务开始以来或回滚到某个保存点的所有操作。96.在SELECT语句中,与`WHEREageBETWEEN20AND30`等价的是()。A.`WHEREage>=20ANDage<=30`B.`WHEREage>20ANDage<30`C.`WHEREage>=20ORage<=30`D.`WHEREageIN(20,30)`答案:A解析:`BETWEENaANDb`表示取值在闭区间`[a,b]`内。97.要查询学生表中姓“张”的所有学生,应使用的条件语句是()。A.`WHERESname='张%'`B.`WHERESnameLIKE'张%'`C.`WHERESnameLIKE'张_'`D.`WHERESnameIN'张'`答案:B解析:`LIKE`配合通配符进行模糊查询,`%`表示任意长度字符,`_`表示单个字符。98.SQL聚合函数中,`COUNT()`和`COUNT(column)`的主要区别是()。A.没有区别B.`COUNT()`统计所有行,`COUNT(column)`只统计指定列非空的行C.`COUNT(column)`统计所有行,`COUNT()`只统计指定列非空的行D.`COUNT()`效率远低于`COUNT(column)`答案:B解析:`COUNT()`是对全表行数进行计数,不忽略任何行。`COUNT(列名)`会忽略指定列值为NULL的行。99.设表S有10行,表C有5行,表SC有50行。执行`SELECTFROMS,C,SC`(无连接条件)的结果行数是()。A.65B.500C.2500D.10答案:C解析:无连接条件的三表查询将产生笛卡尔积:10×5×50=2500行。100.关于SQL中的`UNION`和`JOIN`,下列说法正确的是()。A.`UNION`是横向合并表(增加列),`JOIN`是纵向追加记录(增加行)B.`UNION`是纵向追加记录,`JOIN`是横向合并表C.两者都可以不加条件地直接使用D.`UNION`的结果列数可以与原表不同答案:B解析:`JOIN`(连接)是将不同表的列横向拼接。`UNION`(并集)是将结构相同的多个查询结果的行纵向合并。`UNION`要求列数相同且类型兼容。101.在SQL中,为了防止插入的外键值在父表中不存在,应该创建()约束。A.PRIMARYKEYB.FOREIGNKEYC.CHECKD.UNIQUE答案:B解析:外键(FOREIGNKEY)约束强制参照完整性,确保子表引用的值在父表主键或唯一键中存在。102.关于SQL中的触发器(Trigger),下列描述错误的是()。A.触发器是一种特殊的存储过程,由事件自动触发B.触发器可以定义在INSERT、UPDATE、DELETE操作之前或之后C.触发器可以用于维护复杂的完整性约束D.每张表上只能定义一个触发器答案:D解析:一张表上可以定义多个触发器,针对不同的事件(INSERT/UPDATE/DELETE)和时机(BEFORE/AFTER/INSTEADOF)。103.在SQL查询中,`GROUPBY`子句的作用是()。A.对查询结果进行排序B.根据指定列对结果集进行分组,以便应用聚合函数C.筛选符合条件的行D.限制返回的行数答案:B解析:`GROUPBY`将具有相同分组列值的行合并成组。聚合函数(SUM,AVG等)针对每个组独立计算。104.以下SQL片段中,能够返回选修课程门数大于2的学生学号的是()。A.`SELECTSnoFROMSCHAVINGCOUNT()>2`B.`SELECTSnoFROMSCGROUPBYSnoHAVINGCOUNT()>2`C.`SELECTSnoFROMSCWHERECOUNT(Cno)>2GROUPBYSno`D.`SELECTSnoFROMSCGROUPBYSnoWHERECOUNT()>2`答案:B解析:正确顺序:先按学号分组(`GROUPBYSno`),然后对每组统计课程数,最后用`HAVING`筛选统计结果大于2的组。105.SQL语句`CREATEASSERTION`的作用是()。A.创建表级断言,定义更复杂的跨表完整性约束B.创建索引C.创建触发器D.声明变量答案:A解析:断言(Assertion)是数据库级的完整性约束,可以涉及多张表,当约束条件被违反时,DBMS会拒绝操作。许多DBMS(如MySQL)未完全支持断言。106.若一个属性虽然在基本表中不存在,但其值可由其他属性计算得出,则在设计视图或查询时,通常称之为()。A.派生属性B.复合属性C.多值属性D.NULL属性答案:A解析:例如由“出生日期”计算出的“年龄”即为派生属性。在视图中可以通过计算列(ComputedColumn)定义派生属性。107.在SQL中,`REVOKE`语句的`CASCADE`选项表示()。A.仅撤销指定用户的权限B.撤销指定用户权限,同时撤销由该用户授予其他用户的权限(级联收回)C.如果用户权限被授予了他人,则拒绝撤销D.撤销系统管理员权限答案:B解析:`CASCADE`(级联)用于在回收权限时,自动回收该用户转授出去的权限,保证权限回收的彻底性。`RESTRICT`选项则在有转授情况时阻止回收。108.假设有关系模式R(A,B,C)和S(C,D,E),以下哪种连接的结果模式为(A,B,C,D,E)?()A.`RJOINSONR.B=S.D`B.`RNATURALJOINS`C.`RCROSSJOINS`D.`RLEFTJOINSUSING(C)`答案:B解析:自然连接(`NATURALJOIN`)自动寻找同名列(C),并合并该列,结果模式为(A,B,C,D,E)。A的结果模式为(A,B,C,C,D,E)有两个C列。C结果为6个列。D的`USING(C)`也能正确合并为5列,但B是最直接且关系代数中对应的自然连接。109.在关系数据库中,索引的维护由()自动完成。A.应用程序员B.数据库管理员(DBA)C.数据库管理系统(DBMS)D.操作系统答案:C解析:当对表进行增删改操作时,DBMS会自动更新该表上的所有索引,无需用户干预。这也是索引会增加写操作开销的原因。110.SQL中,数据类型`TIMESTAMP`用于存储()。A.仅日期B.仅时间C.日期和时间D.时间间隔答案:C解析:`TIMESTAMP`(时间戳)类型包含年、月、日、时、分、秒甚至小数秒,用于精确记录某个时刻。`DATE`仅日期,`TIME`仅时间。第三部分:数据库设计与规范化理论(第111-160题)111.在关系数据库中,设计关系模式时,如果出现插入异常,通常是因为关系中存在()。A.数据冗余B.部分函数依赖或传递函数依赖C.多值依赖D.主键约束答案:B解析:插入异常通常是因为关系模式设计不合理,未达到高级范式。例如,若存在非主属性部分依赖于码,会导致新插入的数据因缺少码的一部分而无法插入。规范化到3NF可消除非主属性对码的部分和传递依赖,从而解决插入异常。112.关系模式R中的属性全部是主属性,则R的最高范式必定达到()。A.1NFB.2NFC.3NFD.BCNF答案:C解析:全主属性意味着不存在非主属性对码的部分或传递依赖,因此至少满足3NF。但不一定满足BCNF(可能存在主属性对码的部分依赖)。113.设有关系模式R(学号,课程号,成绩,教师,教师职称),其中学号+课程号→成绩,课程号→教师,教师→教师职称。该关系模式最高属于()。A.1NFB.2NFC.3NFD.BCNF答案:B解析:候选码为(学号,课程号)。非主属性“成绩”完全依赖于码。但存在传递依赖:课程号→教师→教师职称,导致非主属性“教师职称”传递依赖于码。因此最高满足2NF,不满足3NF。114.设关系模式R(U,F),其中U={A,B,C,D},F={A→B,B→C,A→D},则A的闭包(A⁺)为()。A.{A,B}B.{A,B,C}C.{A,B,D}D.{A,B,C,D}答案:D解析:由A→B得B加入;由B→C得C加入;由A→D得D加入。因此A可以决定U中的所有属性,A是候选码。115.在关系规范化中,如果关系模式R∈1NF,且每一个非主属性完全函数依赖于码,则R属于()。A.1NFB.2NFC.3NFD.BCNF答案:B解析:2NF的定义即是在1NF基础上消除了非主属性对码的部分函数依赖。116.关系模式R∈3NF,但仍有冗余和异常问题,这通常是因为存在()。A.非主属性对码的部分依赖B.非主属性对码的传递依赖C.主属性对码的部分依赖D.多值依赖答案:C解析:3NF消除了非主属性对码的部分和传递依赖,但未解决主属性内部可能存在的部分依赖问题。BCNF进一步要求所有函数依赖的决定因素都必须包含码,解决了主属性对码的部分依赖。117.设有关系模式R(学生,教师,课程),假设语义为:一个学生选修一门课程只对应一个教师;一个教师只教一门课;一门课可由多个教师教。该关系模式的候选码是()。A.(学生,教师)B.(学生,课程)C.(学生,教师,课程)D.(教师,课程)答案:B解析:根据语义:(学生,课程)→教师;教师→课程。计算(学生,课程)的闭包:可推出教师,进而推出课程。因此(学生,课程)可决定全部属性,是候选码。118.接上题,该关系模式R属于()。A.1NFB.2NFC.3NFD.BCNF答案:B解析:码为(学生,课程)。存在函数依赖:教师→课程。决定因素“教师”不包含码,因此不满足BCNF。但由于“课程”是主属性,且没有非主属性对码的部分或传递依赖(只有一个候选码且全为主属性?此处(学生,课程)是码,“教师”是非主属性,但教师→课程是主属性依赖于非主属性?实际上“教师”也是非主属性,而“课程”是主属性。存在非主属性“教师”决定主属性“课程”,这仍属于BCNF违例,但3NF允许主属性对候选码的传递依赖?3NF定义为无非主属性对码的传递依赖。教师→课程中,决定因素教师不是超码,但课程是主属性,不违反3NF。因此最高为3NF。119.在数据库设计中,将E-R图转换为关系模型的过程属于()阶段。A.需求分析B.概念结构设计C.逻辑结构设计D.物理结构设计答案:C解析:概念结构设计产出E-R图(独立于具体DBMS)。逻辑结构设计将E-R图转换为特定DBMS支持的关系模式(二维表),并进行规范化。120.数据库设计过程中,确定数据存放位置、索引结构、存储分配等细节属于()阶段。A.概念结构设计B.逻辑结构设计C.物理结构设计D.数据库实施答案:C解析:物理结构设计关注数据在物理设备上的存储和存取方式,如选择堆文件、哈希文件还是B+树索引,以及聚簇索引的设计等。121.在E-R模型中,描述“学生”实体时,其属性“学号”是()。A.候选码B.主码C.外码D.主属性答案:A解析:在概念模型中,“学号”是能够唯一标识学生的属性,是候选码(CandidateKey)。主码(PrimaryKey)是逻辑设计阶段从候选码中选定作为主标识的码。122.如果关系模式R中存在非平凡的多值依赖,且R的所有属性都是主属性,则R至少满足()。A.1NFB.2NFC.3NFD.BCNF答案:C解析:全主属性必满足3NF。多值依赖对应4NF。如果存在非平凡多值依赖且不满足4NF,它依然可能满足BCNF。因此题目问“至少”,全主属性最低保证3NF。123.在关系模式R(A,B,C)中,有函数依赖集F={A→B,B→C}。该关系模式分解为R1(A,B)和R2(B,C)后,该分解是()。A.无损连接,不保持函数依赖B.有损连接,保持函数依赖C.无损连接,保持函数依赖D.有损连接,不保持函数依赖答案:C解析:这是典型的保持依赖且无损的分解。R1∩R2=B,且B→BC(在R2中),满足无损连接条件。且A→B在R1,B→C在R2,依赖均保持。124.设关系模式R(ABCD),F={A→B,B→C,A→D}。其候选码是()。A.AB.BC.CD.D答案:A解析:A的闭包:A⁺={A,B,C,D}=U。A是唯一候选码。125.如果一个关系模式R的每个属性都不可再分,则R至少满足()。A.1NFB.2NFC.3NFD.BCNF答案:A解析:1NF的定义是关系中的每个分量必须是不可再分的数据项(原子性)。这是关系模式最基本的要求。126.数据库设计中,需求分析阶段输出的主要文档是()。A.E-R图B.数据流图和数据字典C.关系模式集合D.物理存储结构说明书答案:B解析:需求分析阶段通过调查了解用户需求,产出数据流图(DFD)描述数据处理过程,以及数据字典(DD)定义数据项。E-R图是概念设计阶段的产出。127.在函数依赖`X→Y`中,如果Y完全包含于X,则称该依赖为()。A.非平凡函数依赖B.平凡函数依赖C.部分函数依赖D.传递函数依赖答案:B解析:若Y⊆X,则X→Y是平凡函数依赖(如(Sno,Cno)→Sno)。规范化主要讨论非平凡函数依赖(Y⊈X)。128.Armstrong公理系统中,如果X→Y且Z⊆U,则XZ→YZ。这是()。A.自反律B.增广律C.传递律D.伪传递律答案:B解析:增广律(AugmentationRule)是推导函数依赖的重要规则。伪传递律是X→Y,WY→Z=>WX→Z。129.关系模式R中,若属性X与Y之间存在一对多关系(即一个X值对应多个Y值),则存在的函数依赖是()。A.X→YB.Y→XC.X↔YD.不存在函数依赖答案:B解析:一对多关系中,“多”方的值决定了“一”方的值(多个学生只能属于一个班级,则学生学号→班级编号)。因此是Y→X。130.设U={A,B,C,D,E},F={A→BC,CD→E,B→D,E→A}。则属性集{BC}的闭包(BC⁺)是()。A.{B,C}B.{B,C,D}C.{B,C,D,E}D.{B,C,D,E,A}答案:D解析:BC初始化;B→D加入D(得BCD);CD→E加入E(得BCDE);E→A加入A(得ABCDE)。因此BC⁺=U。BC是候选码。131.当关系模式R存在多值依赖时,最高可能达到的范式是()。A.1NFB.2NFC.3NFD.4NF答案:C解析:即使存在多值依赖,只要函数依赖满足BCNF,模式就可以是BCNF。但只有消除了非平凡多值依赖(即每个多值依赖的决定因素都是超码),才能达到4NF。因此存在多值依赖时,最高可能仍是BCNF(题目问“可能”,则3NF/BCNF均可能,但若选项无BCNF则选3NF;此处参考教材通常认为多值依赖违例阻止其成为4NF)。132.数据库逻辑设计的主要任务是()。A.绘制E-R图B.将E-R图转换为指定DBMS支持的数据模型C.建立索引和分区D.编写应用程序答案:B解析:逻辑设计阶段选定DBMS(如Oracle,MySQL),然后将概念模型(E-R图)转换为逻辑模型(关系表、字段、约束)。133.关于范式的概念,下列叙述正确的是()。A.范式越高,数据冗余越少,但表的数量通常越多,连接查询开销可能越大B.一个低级别范式的关系模式通过模式分解总能转换为高级别范式且完全等价C.任何关系模式都能无损分解到5NFD.规范化程度越高,数据库操作效率一定越高答案:A解析:规范化通过分解减少冗余,但会导致表变多,查询时需要连接(Join),可能降低复杂查询的性能。B错误,分解不一定能完全保持函数依赖。C错误,不一定都能无损分解到5NF。D错误,过高的规范化有时需要反规范化以提升性能。134.在SQL中,要实现“如果插入的课程号不存在于课程表,则拒绝插入”的功能,最标准的设计是在定义选课表时使用()。A.CHECK约束B.RULE约束C.FOREIGNKEY约束D.TRIGGER答案:C解析:外键约束(FOREIGNKEY)是SQL标准中专门用于维护参照完整性(引用完整性)的机制,由DBMS自动强制执行,效率高于触发器。135.在数据库设计中,经常采用“反规范化”技术,其主要目的是()。A.减少数据冗余B.提高查询性能C.保证数据一致性D.简化数据库设计答案:B解析:反规范化(Denormalization)是故意保留或增加冗余数据,减少表连接操作,以空间换时间,提高读取查询的效率。代价是增加了维护数据一致性的复杂度。136.设有关系模式R(ABCD),F={B→D,AB→C,D→B}。该关系模式的候选码为()。A.AB和ADB.AB和ACC.AC和ADD.只有AB答案:A解析:(AB)⁺=ABCD;(AD)⁺=AD,由D→B得B加入(ABD),由AB→C得C加入(ABCD)。因此AB和AD均是候选码。137.在E-R图中,表示多对多联系的图形是()。A.带有1和n的菱形B.带有m和n的菱形C.带有箭头的线条D.双线菱形答案:B解析:联系用菱形表示,无向边连接实体。联系类型(1:1,1:N,M:N)标注在菱形与实体的连线旁。138.数据库物理设计阶段,选择索引的主要依据是()。A.表的行数B.查询的WHERE条件中频繁出现的列,以及连接、排序涉及的列C.所有字符型列D.所有数值型列答案:B解析:索引设计主要针对查询中的过滤条件(WHERE)、连接条件(JOINON)、排序(ORDERBY)和分组(GROUPBY)字段。盲目建索引会降低写入性能。139.关于E-R模型向关系模型转换的规则,一个M:N联系转换为一个独立关系模式后,该关系模式的码是()。A.各实体的码的组合B.联系本身的属性C.任意一方实体的码D.M端实体的码答案:A解析:M:N联系转换的关系模式,其主码通常由相关联的各个实体(两端或多端)的主码共同组成的联合主键。140.在数据库设计中,若一个关系模式的部分函数依赖未被消除,会导致()。A.插入异常和删除异常B.查询效率低C.无法建立索引D.数据无法存储答案:A解析:部分依赖是导致2NF违例的原因。例如在选课关系中加入学生姓名,导致未选课的学生无法录入姓名(插入异常),删除选课记录会丢失学生姓名(删除异常)。141.设有关系R(A,B,C)和S(B,C,D),关系代数表达式`π_{B}(R)-π_{B}(σ_{C='c1'}(R))`的含义是()。A.查询在C列为'c1'中出现的B值B.查询在C列不为'c1'中出现的B值C.查询所有B值D.语法错误答案:B解析:全集B减去C列为'c1'的B值,得到的是C列不是'c1'的B值。142.在SQL中,以下哪种约束可用于保证某列的取值在指定范围内?()A.PRIMARYKEYB.FOREIGNKEYC.CHECKD.UNIQUE答案:C解析:`CHECK`约束用于限制列值的取值范围(例如`CHECK(scoreBETWEEN0AND100)`),属于用户自定义完整性。143.以下哪项不是数据库物理设计阶段应考虑的内容?()A.确定数据的存放位置和存储结构B.确定系统配置参数(如缓冲区大小)C.确定关系模式的规范化程度D.评价物理结构的时间和空间效率答案:C解析:关系模式的规范化属于逻辑设计阶段的任务。物理设计阶段是在逻辑设计确定的表结构基础上,优化物理存取。144.概念结构设计阶段,集成局部E-R图时可能会产生冲突。以下哪项不属于常见的冲突类型?()A.属性冲突(类型、取值范围不同)B.命名冲突(同名异义、异名同义)C.结构冲突(同一对象在不同视图中作为实体或属性)D.事务冲突(读写锁冲突)答案:D解析:E-R图集成冲突包括属性冲突、命名冲突和结构冲突。事务冲突是并发控制层面的概念,与概念模型设计无关。145.数据字典中不包含以下哪项信息?()A.数据项的名称、类型、长度B.数据流图(DFD)C.数据存储的描述D.用户表中的具体数据值答案:D解析:数据字典存储元数据(描述数据的数据),如库表结构定义、约束、视图定义等。用户表中的具体业务数据(如“张三的年龄”)不属于数据字典内容。146.设关系模式R(ABCDE),F={A→BC,C→D,B→E}。分解ρ={R1(ABC),R2(CD),R3(BE)}。该分解是否保持函数依赖?()A.保持B.不保持,丢失了A→DC.不保持,丢失了C→DD.不保持,丢失了B→E答案:B解析:F在R1、R2、R3上的投影:R1保持A→BC;R2保持C→D;R3保持B→E。但由A→BC,C→D可推导出A→D,这个依赖在分解后的任意一个子关系模式中都无法被蕴含,因此丢失了A→D依赖。147.在函数依赖集的最小化处理中,“使每个函数依赖的右部仅含一个属性”是为了()。A.便于求候选码B.满足3NF要求C.消除冗余属性D.这是最小依赖集的必须步骤答案:D解析:最小函数依赖集(正则覆盖)的条件之一就是所有函数依赖的右部均为单属性。这有助于简化分析和分解。148.数据库设计时,如果一个实体“人”的属性“出生地”包含了“国家”、“省”、“市”三个部分,那么“出生地”属于()。A.单值属性B.派生属性C.复合属性D.多值属性答案:C解析:复合属性是由多个简单属性组合而成的属性。在关系模型中,通常将复合属性拆分为多个独立的列,或者合并为一个列。149.当关系模式R的候选码只有一个属性时,R一定不会违反()。A.2NFB.3NFC.BCNFD.4NF答案:A解析:部分函数依赖存在的条件是候选码必须由多个属性组成。若候选码为单属性,则不存在非主属性对码的部分依赖,因此至少满足2NF。但可能存在对码的传递依赖(违反3NF)。150.规范化理论是数据库逻辑设计的理论依据。关系规范化的过程实质上是()。A.不断分解关系以消除不合适的数据依赖的过程B.不断合并关系以减少表数量的过程C.提高关系模式物理存取效率的过程D.增加数据冗余的过程答案:A解析:规范化通过模式分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《FZT 22005-2019 半精纺毛机织纱线》
- 深度解析(2026)《FZT 08008-2025纺织服装企业供应商能力评价规范》
- 深度解析(2026)《FZ 65008-1995特种工业用纺织品 检验规则》
- 《JBT 8458-2024电气设备辅件塑料制品一般要求和试验方法》专题研究报告
- 中国汽车:海外新能源车机遇和可能带来的风险(摘要)-2026.1.20
- 2026年湘潭市雨湖区社区工作者招聘笔试模拟试题及答案解析
- 第9课 循线而行-地面传感器和机器人的循线行走 教学设计 -粤教清华版初中信息技术九年级下册
- 2026年吉林省白山市社区工作者招聘考试参考题库及答案解析
- 2026年芜湖市新芜区社区工作者招聘笔试模拟试题及答案解析
- 2026年山西省社区工作者招聘考试模拟试题及答案解析
- DB31/T 1339-2021医院多学科诊疗管理规范
- 建筑节能检测技术课件
- 2025年中盐安徽红四方肥业股份有限公司招聘笔试参考题库附带答案详解
- 《住院患者身体约束的护理》团体标准解读课件
- 辽宁省部分重点中学协作体2025年高考模拟考试数学试卷(含答案)
- 宫颈癌膀胱功能管理
- 2025年国家社科基金年度项目申请书
- 车间生产废料管理制度
- 2023中国铁路成都局集团有限公司招聘高校毕业生2241人(一)笔试参考题库附带答案详解
- 船舶动力配套甲醇重整制氢装置 技术规范标准正文
- 抛丸除锈施工方案
评论
0/150
提交评论