数据库基础知识考试题库(附答案)_第1页
数据库基础知识考试题库(附答案)_第2页
数据库基础知识考试题库(附答案)_第3页
数据库基础知识考试题库(附答案)_第4页
数据库基础知识考试题库(附答案)_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库基础知识考试题库(附答案)单选题1.执行以下语句后,employees表中salary列的值将:UPDATEemployeesSETsalary=salary*1.1WHEREdept='Sales';A、所有员工薪资上调10%B、销售部员工薪资上调10%,其余不变C、销售部员工薪资设为1.1D、语句语法错误,无法执行参考答案:B2.执行以下SQL后,表t中最终剩余几行记录?CREATETABLEt(idINT);INSERTINTOtVALUES(1),(2),(3);BEGINTRANSACTION;DELETEFROMtWHEREid=2;ROLLBACK;SELECTCOUNT(*)FROMt;A、0B、1C、2D、3参考答案:D3.在数据库事务的ACID特性中,“I”代表?A、IntegrityB、IsolationC、IndependenceD、Instantaneity参考答案:B4.在数据库设计的E-R模型中,菱形框通常表示:A、实体集B、属性C、联系(Relationship)D、主键参考答案:C5.在数据库三级模式结构中,描述数据库全体逻辑结构和特征的是:A、外模式B、概念模式(逻辑模式)C、内模式D、存储模式参考答案:B6.在数据库三级模式结构中,描述全体数据逻辑结构和特征的是?A、外模式B、概念模式C、内模式D、存储模式参考答案:B7.在数据库并发控制中,丢失修改问题是指:A、事务T1读取数据后,事务T2修改并提交,T1再修改同一数据并提交,覆盖T2结果B、事务T1读取数据后,事务T2也读取同一数据,T2修改并提交,T1再读取发现数据变化C、事务T1读取满足条件的数据集后,事务T2插入新数据并提交,T1再次读取得到更多记录D、事务T1修改数据后未提交,事务T2读取该未提交数据,T1随后回滚参考答案:A8.在关系数据库中,主键(PrimaryKey)的主要作用是:A、加快查询速度B、确保表中每一行数据的唯一性和非空性C、建立表与表之间的外键关联D、允许同一表中存在重复记录参考答案:B9.在关系数据库中,用于唯一标识表中每一行记录的约束是?A、CHECK约束B、DEFAULT约束C、PRIMARYKEY约束D、FOREIGNKEY约束参考答案:C10.在关系模型中,“关系(Relation)”对应数据库中的:A、行(Tuple)B、列(Attribute)C、表(Table)D、数据库(Database)参考答案:C11.在关系代数中,从关系中选取满足给定条件的元组的操作称为?A、投影B、连接C、选择D、并参考答案:C12.在关系代数中,从关系R中选取满足条件F的元组所使用的运算是:A、投影A、正确B、错误参考答案:AB、连接A、正确B、错误参考答案:AC、选择A、正确B、错误参考答案:AD、并A、正确B、错误参考答案:A参考答案:C13.在关系代数中,从关系R中选取满足条件F的元组所使用的运算是:A、投影A、正确B、错误参考答案:AB、连接A、正确B、错误参考答案:AC、选择A、正确B、错误参考答案:AD、并A、正确B、错误参考答案:A参考答案:C14.在标准SQL中,用于修改已有表结构(如添加列)的语句是:A、ALTERTABLEB、MODIFYTABLEC、UPDATETABLED、CHANGETABLE参考答案:A15.在SQL中,执行“DELETEFROMStudents;”语句的结果是:A、删除Students表的结构和所有数据B、仅删除Students表中的所有数据,保留表结构C、删除Students表中满足WHERE条件的记录,无WHERE时语法错误D、清空表并重置自增主键计数器(在所有数据库系统中均如此)参考答案:B16.在SQL中,用于在查询结果中对行进行排序的关键字是:A、SORTBYB、ORDERBYC、GROUPBYD、ALIGNBY参考答案:B17.在SQL中,用于统计表中记录总数的聚合函数是?A、SUM()B、AVG()C、COUNT()D、MAX()参考答案:C18.在SQL中,用于删除表中全部数据但保留表结构的语句是?A、DROPTABLEB、TRUNCATETABLEC、DELETEFROMD、REMOVETABLE参考答案:B19.在SQL中,用于去除查询结果中重复行的关键字是:A、DISTINCTB、UNIQUEC、REDUCED、FILTER参考答案:A20.在SQL中,下列哪个子句用于对分组后的结果进行条件筛选?A、WHEREB、GROUPBYC、HAVINGD、ORDERBY参考答案:C21.在SQL中,COUNT(*)与COUNT(列名)的主要区别在于:A、COUNT(*)统计所有行(含NULL),COUNT(列名)只统计该列非NULL值行数B、COUNT(*)只能用于主键列,COUNT(列名)可用于任意列C、COUNT(*)比COUNT(列名)执行效率低D、COUNT(*)不包含重复行,COUNT(列名)包含重复行参考答案:A22.以下关于NULL值的描述,正确的是?A、NULL等于0B、NULL等于空字符串C、NULL表示“未知”或“不存在”的值D、NULL可以参与所有算术运算并返回确定结果参考答案:C23.下列约束中,属于域完整性约束的是:A、PRIMARYKEYB、FOREIGNKEYC、CHECKD、UNIQUE参考答案:C24.下列哪个操作属于数据定义语言(DDL)?A、INSERTB、COMMITC、CREATED、GRANT参考答案:C25.下列哪个操作不属于DDL(数据定义语言)?A、CREATETABLEB、DROPINDEXC、INSERTINTOD、ALTERDATABASE参考答案:C26.下列哪个不是关系数据库的典型特征?A、使用SQL作为标准查询语言B、数据以二维表形式组织C、支持事务处理与并发控制D、数据存储采用键值对(Key-Value)结构参考答案:D27.下列哪个SQL子句用于对查询结果进行分组?A、ORDERBYB、HAVINGC、GROUPBYD、WHERE参考答案:C28.下列关于外键(ForeignKey)的描述,正确的是:A、外键字段必须与对应主键字段同名B、外键所在表称为主表,被引用表称为从表C、外键值可以为空(NULL),但若非空则必须在被引用表的主键中存在D、一个表只能定义一个外键参考答案:C29.下列关于外键(ForeignKey)的描述,正确的是:A、外键字段必须与参照表的主键同名B、外键字段可以取NULL值,除非被显式定义为NOTNULLC、一个表中只能定义一个外键D、外键值允许在参照表中不存在,只要不违反CHECK约束即可参考答案:B30.下列关于索引的叙述中,错误的是?A、索引可以加快SELECT查询速度B、索引会降低INSERT、UPDATE、DELETE的执行效率C、一个表只能有一个聚集索引D、主键自动创建非聚集索引参考答案:D31.下列关于索引的叙述,错误的是:A、主键自动创建唯一聚簇索引(多数数据库默认)B、索引能提高SELECT查询效率,但可能降低INSERT/UPDATE/DELETE性能C、一个表最多只能有一个聚簇索引D、创建索引越多,查询性能一定越好参考答案:D32.下列关于索引的叙述,错误的是:A、索引可以加快SELECT查询速度B、创建索引会占用额外存储空间C、对频繁更新的列建立索引总是提升整体性能D、主键自动创建唯一索引(多数DBMS中)参考答案:C33.下列关于视图(View)的描述,错误的是:A、视图本身不存储数据,仅保存查询定义B、可以对视图执行INSERT、UPDATE、DELETE操作,且一定会影响基表C、创建视图时可包含JOIN、WHERE、GROUPBY等子句D、视图可简化复杂查询并提供数据安全性控制参考答案:B34.下列关于事务隔离级别的描述,正确的是:A、READUNCOMMITTED级别下不会发生脏读、不可重复读和幻读B、REPEATABLEREAD级别可防止脏读和不可重复读,但可能发生幻读C、SERIALIZABLE是最低隔离级别,性能最好D、READCOMMITTED是SQLServer默认隔离级别参考答案:B35.下列关于规范化(Normalization)的说法,正确的是:A、第一范式(1NF)要求消除所有函数依赖B、满足BCNF的关系模式一定满足3NFC、3NF允许主属性对码存在传递函数依赖D、将关系分解为更高范式总会提高查询效率参考答案:B36.下列关于NULL值的叙述,正确的是:A、NULL表示空字符串B、表达式5+NULL的结果为5C、NULL参与的任何比较运算(如=、<、<>)结果均为UNKNOWND、COUNT(NULL)返回1参考答案:C37.下列SQL语句中,能正确为student表添加一个名为email的VARCHAR(50)列的是?A、ADDCOLUMNemailVARCHAR(50)TOstudent;B、ALTERTABLEstudentADDemailVARCHAR(50);C、MODIFYTABLEstudentADDCOLUMNemailVARCHAR(50);D、UPDATETABLEstudentSETemailVARCHAR(50);参考答案:B38.下列SQL语句中,能正确删除students表中所有grade字段值为NULL的记录的是:A、DELETEFROMstudentsWHEREgrade=NULL;B、DELETEFROMstudentsWHEREgradeISNULL;C、DELETEFROMstudentsWHEREgrade==NULL;D、DELETEFROMstudentsWHEREISNULL(grade);参考答案:B39.下列SQL语句中,能正确查询出每个部门的平均工资,并只显示平均工资大于6000的部门的是:A、SELECTdept,AVG(salary)FROMemployeesGROUPBYdeptHAVINGAVG(salary)>6000;B、SELECTdept,AVG(salary)FROMemployeesWHEREAVG(salary)>6000GROUPBYdept;C、SELECTdept,AVG(salary)FROMemployeesGROUPBYdeptWHEREAVG(salary)>6000;D、SELECTdept,AVG(salary)FROMemployeesHAVINGAVG(salary)>6000GROUPBYdept;参考答案:A40.下列SQL语句中,能正确查询出“工资高于部门平均工资的员工姓名”的是:A、SELECTnameFROMempWHEREsalary>AVG(salary);B、SELECTnameFROMempWHEREsalary>(SELECTAVG(salary)FROMemp);C、SELECTnameFROMempGROUPBYnameHAVINGsalary>AVG(salary);D、SELECTnameFROMempe1WHEREsalary>(SELECTAVG(salary)FROMempe2WHEREe2.dept_id=e1.dept_id);参考答案:B41.下列SQL语句中,能正确查询“年龄大于20且姓名不为NULL的学生姓名”的是:A、SELECTnameFROMStudentWHEREage>20ANDname!=NULL;B、SELECTnameFROMStudentWHEREage>20ANDnameISNOTNULL;C、SELECTnameFROMStudentWHEREage>20ANDname<>NULL;D、SELECTnameFROMStudentWHEREage>20ANDNOT(name=NULL);参考答案:B42.下列SQL语句中,能正确查询“工资高于5000且部门为‘研发部’的员工姓名”的是?A、SELECTnameFROMempWHEREsalary>5000ANDdept='研发部';B、SELECTnameFROMempWHEREsalary>5000ORdept='研发部';C、SELECTnameFROMempWHEREsalary>5000,dept='研发部';D、SELECTnameFROMempWHEREsalary>5000&dept='研发部';参考答案:A43.下列SQL语句中,能够实现“查询选修了课程号为‘C002’的学生学号及成绩,并按成绩降序排列”的是:A、SELECTsno,gradeFROMSCWHEREcno='C002'ORDERBYgradeASC;B、SELECTsno,gradeFROMSCWHEREcno='C002'ORDERBYgradeDESC;C、SELECTsno,gradeFROMSCGROUPBYcno='C002'ORDERBYgradeDESC;D、SELECTsno,gradeFROMSCHAVINGcno='C002'ORDERBYgradeDESC;参考答案:B44.数据库中“参照完整性”主要通过以下哪种约束实现?A、CHECKB、UNIQUEC、PRIMARYKEYD、FOREIGNKEY参考答案:D45.数据库事务的ACID特性中,“一致性(Consistency)”主要指:A、事务执行前后数据库从一个一致状态转移到另一个一致状态B、并发事务之间互不干扰C、已提交事务对数据库的修改永久保存D、事务要么全部完成,要么全部不执行参考答案:A46.数据库事务的ACID特性中,“I”代表:A、IntegrityB、IsolationC、IndependenceD、Indexing参考答案:B47.视图(View)的本质是?A、物理存储的数据表B、数据库中真实存在的二维表C、保存了SELECT语句的虚拟表D、用户权限控制的访问通道参考答案:C48.视图(View)的本质是:A、物理存储的数据副本B、预编译的INSERT语句集合C、基于一个或多个表的SELECT查询结果的虚拟表D、数据库用户权限的映射表参考答案:C49.使用CREATETABLE语句创建表时,若希望某列自动递增(如MySQL的AUTO_INCREMENT),该列必须同时满足:A、必须是CHAR类型且为主键B、必须是数值类型且定义为NOTNULLC、必须是主键或具有唯一索引,且为整数类型D、必须是主键,且类型为BIGINT参考答案:C50.设有学生表students(id,name,age),其中id为主键。执行以下语句:INSERTINTOstudentsVALUES(1,'Alice',20);INSERTINTOstudentsVALUES(1,'Bob',22);该操作的结果是:A、成功插入两条记录B、第二条插入失败,违反主键约束C、第一条插入失败,第二条成功D、两条均失败参考答案:B51.设有学生表Student(Sno,Sname,Sage,Sdept),其中Sno为主键。执行语句:INSERTINTOStudent(Sno,Sname)VALUES('2023001','张三');则Sage和Sdept字段的值将:A、自动设为0和空字符串B、被拒绝插入,因违反NOTNULL约束C、设为NULL(假设该列允许NULL)D、使用默认值(若定义了DEFAULT)参考答案:C52.设有学生表student(sno,sname,sage),要查询年龄在18至22岁之间的学生信息,正确的WHERE子句是?A、WHEREsageBETWEEN18AND22B、WHEREsage>=18ANDsage<=22C、WHEREsageIN(18,19,20,21,22)D、A和B都正确参考答案:D53.若关系R(A,B,C)中有函数依赖A→B和B→C,则可推导出:A、A→C(传递依赖)B、C→AC、AB→C且AC→BD、R属于BCNF参考答案:A54.若关系R(A,B)与S(B,C)进行自然连接,则结果关系的属性列为?A、A,BB、A,B,CC、A,CD、A,B,B,C参考答案:B55.关于外键(ForeignKey)约束,以下说法正确的是:A、外键列允许存在NULL值,且无需引用主表中实际存在的值B、外键列必须与被引用列具有相同的数据类型和长度,且必须是非空的C、外键只能引用同一数据库内另一表的主键,不能引用唯一约束列D、定义外键后,删除主表记录时从表对应记录会自动级联删除参考答案:A56.关于索引(Index),下列说法错误的是:A、主键自动创建唯一聚集索引(在SQLServer中)B、索引能加快SELECT查询速度,但会降低INSERT/UPDATE/DELETE性能C、一个表最多只能有一个聚集索引D、唯一索引不允许任何两行在索引列上具有相同值,包括NULL参考答案:D57.关于数据库规范化(Normalization),第一范式(1NF)要求:A、消除非主属性对码的部分函数依赖B、每个属性都不可再分,即表中不能有复合属性或多值属性C、所有非主属性完全函数依赖于候选键D、消除非主属性对码的传递函数依赖参考答案:B58.关于NULL值的描述,正确的是:A、NULL表示数值零B、NULL与空字符串''等价C、任意数据类型字段均可取NULL值,除非被定义为NOTNULLD、COUNT(*)统计时包含NULL值的行参考答案:C59.关系模型中,“实体完整性”主要通过以下哪项保证?A、外键约束B、非空约束C、主键约束D、唯一约束参考答案:C60.关系模型中,“实体完整性”规则指的是:A、外键值必须等于被参照表中某个主键值,或为NULLB、主键值不能为空且不能重复C、数据库中所有表必须通过外键相互连接D、每个关系必须有且仅有一个候选键参考答案:B61.关系模式R(A,B,C)中,若函数依赖集为{A→B,B→C},则R的候选键是:A、AB、BC、CD、AB参考答案:A62.关系R(A,B,C)中,若函数依赖A→B,B→C成立,则必然存在?A、A→CB、C→AC、AB→CD、A→BC参考答案:A63.SQL语句中,用于从数据库中检索数据的关键字是?A、INSERTB、UPDATEC、SELECTD、DELETE参考答案:C64.SQL语句中,用于从数据库中检索数据的关键字是:A、SELECTB、FETCHC、GETD、RETRIEVE参考答案:A65.SQL语句中,用于从数据库中检索数据的关键字是:A、GETB、FETCHC、SELECTD、READ参考答案:C66.SQL语句“SELECT*FROMemployeesWHEREsalaryBETWEEN5000AND8000;”等价于:A、SELECT*FROMemployeesWHEREsalary>=5000ANDsalary<=8000;B、SELECT*FROMemployeesWHEREsalary>5000ANDsalary<8000;C、SELECT*FROMemployeesWHEREsalaryIN(5000,8000);D、SELECT*FROMemployeesWHEREsalary=5000ORsalary=8000;参考答案:A67.SQL事务的ACID特性中,“一致性(Consistency)”主要指:A、事务操作必须全部完成或全部不执行B、事务执行前后数据库必须处于一致状态(满足所有完整性约束)C、并发事务之间互不干扰D、已提交事务对数据库的修改永久保存参考答案:B多选题1.在SQL中,以下哪些操作属于数据定义语言(DDL)?A、CREATETABLEB、DROPINDEXC、INSERTINTOD、ALTERDATABASE参考答案:ABD2.在MySQL中,下列关于存储引擎的描述,正确的有:A、InnoDB支持事务、行级锁和外键约束B、MyISAM支持全文索引,但不支持事务和行级锁C、MEMORY引擎将表数据存储在内存中,重启后数据丢失D、CSV引擎允许将表映射为CSV文件,支持SELECT但不支持索引和事务参考答案:ABCD3.下列约束类型中,可在CREATETABLE语句中定义的有:A、PRIMARYKEYB、FOREIGNKEYC、CHECKD、UNIQUE参考答案:ABCD4.下列哪些约束可用于保证数据完整性?A、CHECKB、FOREIGNKEYC、DEFAULTD、UNIQUE参考答案:ABD5.下列哪些因素可能影响SQL查询性能?A、缺失合适的索引B、查询中使用SELECT*C、在WHERE子句中对索引列使用NOT或!=D、统计信息过期或缺失参考答案:ABCD6.下列哪些因素会影响查询执行计划(ExecutionPlan)的选择?A、表的行数与数据分布统计信息(Statistics)B、索引的存在与否及选择性C、JOIN顺序与算法(NestedLoop/HashJoin/MergeJoin)D、当前系统内存与并发负载参考答案:ABCD7.下列哪些属于数据库对象?A、表(Table)B、视图(View)C、索引(Index)D、存储过程(StoredProcedure)参考答案:ABCD8.下列哪些是数据库规范化(Normalization)的目标?A、消除数据冗余B、避免插入、更新、删除异常C、提高查询执行速度D、确保数据依赖关系合理并符合范式要求(如1NF、2NF、3NF)参考答案:ABD9.下列哪些是数据库备份的常见类型?A、完整备份B、差异备份C、事务日志备份D、文件组备份参考答案:ABCD10.下列哪些是关系数据库设计范式的目标?A、减少数据冗余B、避免插入异常C、避免删除异常D、避免更新异常参考答案:ABCD11.下列哪些是常见的数据库备份策略?A、完整备份(FullBackup)B、差异备份(DifferentialBackup)C、日志备份(TransactionLogBackup)D、快照备份(SnapshotBackup)参考答案:ABCD12.下列哪些是常见的数据库安全机制?A、用户身份认证(Authentication)B、基于角色的访问控制(RBAC)C、数据加密(TDE或列级加密)D、审计日志(AuditLogging)参考答案:ABCD13.下列哪些情况可能导致全表扫描(FullTableScan)?A、WHERE子句中对索引列使用函数(如UPPER(name)='ABC')B、查询条件中使用LIKE'%abc'(前导通配符)C、索引列参与了算术运算(如salary*12>50000)D、使用OR连接多个非索引列条件参考答案:ABCD14.下列哪些情况会导致索引失效(在大多数场景下)?A、对索引列使用函数或表达式(如WHEREUPPER(name)='LISA')B、使用前导通配符的LIKE查询(如WHEREnameLIKE'%son')C、在索引列上使用不等于操作符(!=或<>)D、在复合索引中,仅使用非最左前缀列进行查询(如索引为(a,b,c),查询条件为WHEREb=1)参考答案:ABD15.下列哪些操作属于数据库的DML(数据操纵语言)?A、INSERTB、CREATEC、UPDATED、DROP参考答案:AC16.下列哪些操作属于数据定义语言(DDL)?A、CREATETABLEB、ALTERINDEXC、DROPDATABASED、TRUNCATETABLE参考答案:ABCD17.下列哪些操作可能导致隐式事务开启(在未显式BEGINTRANSACTION的情况下)?A、执行INSERT语句B、执行UPDATE语句C、执行DROPTABLE语句D、执行SELECT...FORUPDATE(在支持该语法的DBMS中,如MySQLInnoDB)参考答案:ABCD18.下列哪些SQL语句可用于去重?A、SELECTDISTINCTB、GROUPBYC、UNIOND、ROW_NUMBER()OVER(...)参考答案:ABC19.下列哪些SQL语句可触发隐式事务(在未显式开启事务时)?A、INSERTB、ALTERTABLEC、DELETED、TRUNCATETABLE参考答案:ABCD20.下列关于字符集(CharacterSet)与排序规则(Collation)的说法,正确的是?A、字符集定义了可存储的字符范围及其编码方式(如utf8mb4)B、排序规则决定了字符串比较和排序的行为(如大小写敏感、重音敏感)C、同一列可同时指定字符集和排序规则(如VARCHAR(50)CHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci)D、数据库级字符集设置会自动继承给所有新建表和列,不可覆盖参考答案:ABC21.下列关于索引的陈述,正确的有:A、聚集索引(ClusteredIndex)决定了表中数据的物理存储顺序,一个表最多只能有一个聚集索引B、非聚集索引(Non-clusteredIndex)的叶子节点存储的是指向数据行的指针(如RID或聚簇键)C、在WHERE条件中频繁使用的列都应创建索引,无论该列选择性高低D、对经常更新的列创建索引会降低INSERT/UPDATE/DELETE性能参考答案:ABD22.下列关于视图(View)的描述,正确的是?A、视图本身不存储数据,仅保存查询定义B、可以在视图上执行INSERT、UPDATE、DELETE操作(取决于视图定义及底层表结构)C、视图可以基于多个基础表或其它视图构建D、创建视图时使用WITHCHECKOPTION可防止通过视图插入/更新违反定义条件的数据参考答案:ABCD23.下列关于规范化(Normalization)的说法,正确的有:A、第一范式(1NF)要求每个属性不可再分,即消除重复组和多值属性B、第二范式(2NF)要求满足1NF,且所有非主属性完全函数依赖于整个候选键(消除部分依赖)C、第三范式(3NF)要求满足2NF,且所有非主属性不传递依赖于候选键D、BCNF(Boyce-Codd范式)比3NF更严格,要求所有决定因素都必须是超键参考答案:ABCD24.下列关于关系型数据库中主键(PrimaryKey)的描述,正确的有:A、一个表可以定义多个主键B、主键列不允许包含NULL值C、主键值在表中必须唯一D、主键可以由多个列组合构成(复合主键)参考答案:BCD25.下列关于关系数据库中主键(PrimaryKey)的描述,哪些是正确的?A、一个表可以有多个主键B、主键列不允许包含NULL值C、主键值在表中必须唯一D、主键可以由多个列组合构成(复合主键)参考答案:BCD26.下列关于触发器(Trigger)的描述,正确的有:A、触发器可定义在INSERT、UPDATE、DELETE事件上B、BEFORE触发器可在数据修改前执行校验逻辑并阻止操作(如RAISE_ERROR)C、AFTER触发器中可安全访问被修改行的旧值(OLD)和新值(NEW)D、触发器执行失败会导致其关联的DML语句回滚(在支持事务的引擎中)参考答案:ABCD27.下列关于SQL注入防御措施,正确的有:A、使用参数化查询(PreparedStatements)替代字符串拼接B、对用户输入进行白名单校验(如仅允许数字、指定长度字母)C、在数据库中禁用危险函数(如MySQL的LOAD_FILE()、xp_cmdshell)D、应用层对所有输入做HTML实体编码(如&→&)参考答案:ABC28.下列SQL语句中,能正确实现“查询学生表中年龄在18至22岁之间(含边界)且性别为‘男’的学生姓名和学号”的有:A、SELECTname,idFROMstudentWHEREageBETWEEN18AND22ANDgender='男';B、SELECTname,idFROMstudentWHEREage>=18ANDage<=22ANDgender='男';C、SELECTname,idFROMstudentWHEREageIN(18,19,20,21,22)ANDgender='男';D、SELECTname,idFROMstudentWHEREageBETWEEN18AND22ORgender='男';参考答案:AB29.下列SQL语句中,能正确实现“查询学生表中年龄在18到22岁之间(含边界)且性别为‘女’的学生姓名和年龄”的是?A、SELECTname,ageFROMstudentWHEREageBETWEEN18AND22ANDgender='女';B、SELECTname,ageFROMstudentWHEREage>=18ANDage<=22ANDgender='女';C、SELECTname,ageFROMstudentWHEREageIN(18,19,20,21,22)ANDgender='女';D、SELECTname,ageFROMstudentWHEREageBETWEEN18AND22ORgender='女';参考答案:AB30.下列SQL语句中,能正确删除student表中所有重复邮箱(email)记录、仅保留每组中id最小的一条的有(假设表有id和email两列):A、DELETEt1FROMstudentt1INNERJOINstudentt2WHEREt1.email=t2.emailANDt1.id>t2.id;B、DELETEFROMstudentWHEREidNOTIN(SELECTMIN(id)FROMstudentGROUPBYemail);C、WITHdupAS(SELECTid,ROW_NUMBER()OVER(PARTITIONBYemailORDERBYid)rnFROMstudent)DELETEFROMstudentWHEREidIN(SELECTidFROMdupWHERErn>1);D、DELETEFROMstudentWHEREemailIN(SELECTemailFROMstudentGROUPBYemailHAVINGCOUNT(*)>1);参考答案:AB31.下列SQL函数中,属于聚合函数(AggregateFunctions)的有:A、COUNT()B、MAX()C、SUBSTRING()D、AVG()参考答案:ABD32.关于主键(PrimaryKey)的描述,以下哪些是正确的?A、一个表可以有多个主键B、主键列不允许为NULLC、主键值必须唯一D、主键可由多个列联合组成(复合主键)参考答案:BCD33.关于外键(ForeignKey)约束,以下说法正确的是?A、外键列的数据类型必须与所引用的主键列完全一致(含长度、精度等)B、外键列允许取NULL值(除非显式定义为NOTNULL)C、外键引用的父表中对应列必须具有唯一性约束(如PRIMARYKEY或UNIQUE)D、删除父表记录时,若子表存在关联外键,默认会触发级联删除(CASCADE)参考答案:BC34.关于外键(FOREIGNKEY)约束,以下哪些说法正确?A、外键列的值必须在被引用表的对应主键或唯一键列中存在,或为NULLB、外键约束可定义ONDELETECASCADE行为C、被引用的列必须已建立索引(在多数RDBMS中为强制要求)D、外键列与被引用列的数据类型必须严格一致(含长度、精度、字符集)参考答案:ABCD35.关于索引的描述,以下哪些是正确的?A、聚集索引决定了表中数据的物理存储顺序B、一个表最多只能有一个聚集索引C、非聚集索引的叶节点存储的是数据行的物理地址或聚集索引键值D、创建索引总会提升SELECT性能,且不影响INSERT/UPDATE/DELETE效率参考答案:ABC36.关于索引(Index),以下说法正确的是?A、主键自动创建唯一聚集索引(在SQLServer中默认,MySQLInnoDB中主键即聚簇索引)B、创建索引一定能提升所有SELECT查询的性能C、过多索引会降低INSERT/UPDATE/DELETE操作的性能D、唯一索引(UNIQUEIndex)允许存在一个NULL值(按SQL标准,单列唯一索引中NULL视为非重复)参考答案:ACD37.关于数据库用户权限管理,以下说法正确的是?A、GRANT语句用于授予权限,REVOKE用于撤销权限B、PUBLIC角色代表数据库中所有用户(包括未来新建用户)C、系统权限(如CREATETABLE)控制用户对数据库整体操作能力,对象权限(如SELECTONemp)控制对特定对象的操作D、权限可被授予时附加WITHGRANTOPTION,允许被授权者再转授参考答案:ABCD38.关于数据库用户权限管理,以下操作符合最小权限原则的有:A、为报表应用账户仅授予SELECT权限,禁止INSERT/UPDATE/DELETEB、为ETL任务账户授予目标表的INSERT和UPDATE权限,不授予DROP权限C、为开发人员分配DBA角色以便快速调试D、为Web应用数据库账户禁用SHOWDATABASES权限参考答案:ABD39.关于数据库事务的ACID特性,以下描述正确的有:A、Atomicity(原子性)指事务中的所有操作要么全部成功,要么全部失败回滚B、Consistency(一致性)指事务执行前后数据库必须从一个一致状态转移到另一个一致状态C、Isolation(隔离性)确保并发事务互不干扰,其级别包括READUNCOMMITTED、REPEATABLEREAD等D、Durability(持久性)指事务一旦提交,其结果将永久保存在磁盘上,即使系统崩溃也不丢失参考答案:ABCD40.关于数据库事务的ACID特性,下列描述准确的是?A、Atomicity(原子性)指事务中所有操作要么全部成功,要么全部失败回滚B、Consistency(一致性)保证事务执行前后数据库始终满足所有定义的完整性约束C、Isolation(隔离性)确保并发事务互不干扰,等价于串行执行效果D、Durability(持久性)表示事务一旦提交,其结果将永久保存在磁盘上,即使系统崩溃也不丢失参考答案:ABCD41.关于数据库日志(TransactionLog)的描述,正确的有:A、日志按顺序写入,保证WAL(Write-AheadLogging)机制生效B、日志记录了每个事务的开始、数据修改操作(如UPDATE前镜像和后镜像)、提交或回滚标记C、日志可用于数据库崩溃恢复,重放(Redo)已提交事务,撤销(Undo)未提交事务D、归档日志(ArchiveLog)在开启归档模式的数据库中用于支持时间点恢复(PITR)参考答案:ABCD42.关于数据库连接池的作用,以下说法正确的有:A、减少频繁创建/销毁物理数据库连接的开销B、限制并发连接数,防止数据库过载C、自动重连失效连接,提升应用健壮性D、缓存SQL执行计划,加速查询响应参考答案:ABC43.关于数据库并发控制,以下机制正确的是?A、乐观锁通常通过版本号(version)或时间戳字段实现,在提交时检查是否被修改B、悲观锁在操作开始时即加锁(如SELECT...FORUPDATE),阻塞其他事务访问C、行级锁比表级锁并发度更高,但锁管理开销更大D、死锁(Deadlock)发生时,DBMS会自动选择牺牲一个事务(回滚)以解除循环等待参考答案:ABCD44.关于数据库备份策略,以下属于常见且有效的做法有:A、定期执行全量备份(FullBackup)B、结合增量备份(IncrementalBackup)减少备份体积和时间C、将备份文件存储在与数据库服务器同一物理磁盘上以提高恢复速度D、定期验证备份文件的可恢复性(RestoreTest)参考答案:ABD45.关于视图(View)的特性,以下哪些说法正确?A、视图本身不存储数据,仅保存查询定义B、可以在视图上创建索引(即索引视图/物化视图,取决于DBMS)C、对视图执行INSERT/UPDATE/DELETE操作,不一定总能成功D、视图可简化复杂查询并提供逻辑数据独立性参考答案:ABCD46.关于视图(View)的描述,正确的有:A、视图本身不存储数据,仅保存查询定义B、可以在视图上执行INSERT、UPDATE、DELETE操作,前提是视图满足可更新条件(如不包含聚合、DISTINCT、GROUPBY等)C、创建视图时使用WITHCHECKOPTION可强制通过视图插入/更新的数据仍满足视图的WHERE条件D、视图能提高查询性能,因为数据库会自动为视图预计算并缓存结果参考答案:ABC47.关于连接查询(JOIN),以下说法正确的是?A、INNERJOIN返回两个表中满足连接条件的匹配行B、LEFTJOIN返回左表全部行,右表无匹配则补NULLC、FULLOUTERJOIN返回左右两表所有行,无匹配侧补NULL(MySQL原生不支持,但可通过UNION模拟)D、CROSSJOIN产生笛卡尔积,不带ON子句参考答案:ABCD48.关于连接(JOIN)操作,以下哪些说法正确?A、INNERJOIN只返回两表匹配的行B、LEFTJOIN返回左表所有行,右表无匹配则补NULLC、FULLOUTERJOIN返回左右表所有行,无匹配侧补NULLD、CROSSJOIN产生笛卡尔积,结果行数为两表行数之积参考答案:ABCD49.关于规范化(Normalization)与反规范化(Denormalization)的权衡,以下哪些说法正确?A、规范化有助于减少数据冗余和维护一致性B、反规范化常用于提升读取性能(如避免多表JOIN)C、反规范化可能引入更新异常和数据不一致风险D、在OLAP场景中,反规范化(如星型模型)比规范化更常见参考答案:ABCD50.关于存储过程(StoredProcedure)的优点,以下哪些正确?A、减少网络传输量(客户端只需传调用语句)B、提高执行效率(预编译、执行计划缓存)C、增强安全性(可通过权限控制访问,隐藏底层表结构)D、支持事务控制与错误处理逻辑封装参考答案:ABCD51.关于存储过程(StoredProcedure),以下描述正确的是?A、可以接受输入参数、输出参数,也可返回结果集B、执行时减少网络传输量(客户端只需发送调用语句,而非完整SQL)C、支持事务控制(BEGIN/COMMIT/ROLLBACK)D、无法在存储过程中调用其他存储过程参考答案:ABC52.关于触发器(Trigger)的描述,以下哪些正确?A、可定义在表或视图上B、可响应INSERT、UPDATE、DELETE事件C、BEFORE和AFTER是常见的触发时机(部分DBMS支持)D、触发器中可执行事务控制语句(如COMMIT/ROLLBACK),但需谨慎使用参考答案:ABC53.关于触发器(Trigger),以下说法正确的是?A、可在INSERT、UPDATE、DELETE操作前(BEFORE)或后(AFTER)触发B、行级触发器对每一行变更执行一次,语句级触发器对整个DML语句执行一次C、在MySQL中,触发器不能修改触发表本身(防止递归)D、触发器可用于实现审计日志、数据校验、级联更新等业务逻辑参考答案:ABCD54.关于SQL中的JOIN操作,以下说法正确的有:A、INNERJOIN只返回两个表中连接字段值都匹配的行B、LEFTJOIN返回左表所有行,右表无匹配时补NULLC、FULLOUTERJOIN在MySQL原生不支持,需用UNION模拟D、CROSSJOIN生成两个表的笛卡尔积,不带ON条件参考答案:ABCD55.关于NULL值的处理,以下说法正确的有:A、任何与NULL进行比较的表达式(如col=NULL)结果均为UNKNOWN,而非TRUE或FALSEB、使用ISNULL或ISNOTNULL才能正确判断NULL值C、聚合函数如SUM()、AVG()、COUNT()默认忽略NULL值(COUNT(*)除外)D、NULL参与算术运算(如5+NULL)结果为NULL参考答案:ABCD56.关于NULL值的处理,以下哪些说法正确?A、NULL与任何值(包括另一个NULL)比较结果均为UNKNOWNB、COUNT(*)统计所有行,COUNT(列名)忽略该列值为NULL的行C、在ORDERBY中,NULL默认排在最前(ASC)或最后(DESC),具体依DBMS而定D、所有聚合函数(如SUM、AVG)自动忽略NULL值参考答案:ABCD57.关于NULL值的处理,下列说法正确的是?A、表达式5+NULL的结果为NULLB、WHEREcolumn=NULL总是返回FALSE(或空结果集),无法查出NULL值C、COUNT(*)统计所有行,包括含NULL值的行;COUNT(column_name)忽略该列值为NULL的行D、ORDERBY列名时,NULL值在升序排列中默认排在最前(如PostgreSQL、SQLServer),但在MySQL中默认排最后参考答案:ABC58.关于GROUPBY子句,以下说法正确的是?A、SELECT列表中所有非聚合列都必须出现在GROUPBY子句中(严格SQL标准)B、可以对表达式或列别名进行分组(如GROUPBYYEAR(order_date))C、HAVING子句用于过滤分组后的结果,可使用聚合函数D、WHERE子句在分组前过滤行,HAVING在分组后过滤组参考答案:ABCD判断题1.主码(PrimaryKey)和候选码(CandidateKey)都具有唯一性和最小性,二者完全等价。A、正确B、错误参考答案:B2.主键约束自动隐含NOTNULL约束和唯一性约束。A、正确B、错误参考答案:A3.主键约束自动隐含NOTNULL和UNIQUE约束。A、正确B、错误参考答案:A4.在关系数据库中,主键约束要求主键列的值不能为NULL,但可以重复。A、正确B、错误参考答案:B5.在关系模型中,“实体完整性”指主键不能取空值,“参照完整性”指外键必须有效引用被参照表的主键或唯一键。A、正确B、错误参考答案:A6.在关系模型中,“实体完整性”要求外键必须取空值或参照表中某主键的有效值。A、正确B、错误参考答案:B7.在关系模型中,“关系”对应数据库中的“表”,“元组”对应“行”,“属性”对应“列”。A、正确B、错误参考答案:A8.在标准SQL中,CREATETABLE时若未对某列指定NOTNULL约束,则该列默认允许存储NULL值。A、正确B、错误参考答案:A9.在标准SQL中,COUNT(*)会统计包含NULL值的行,而COUNT(列名)会忽略该列值为NULL的行。A、正确B、错误参考答案:A10.在SQL中,使用GROUPBY子句时,SELECT列表中的非聚合列必须全部出现在GROUPBY子句中(遵循标准SQL-92及后续规范)。A、正确B、错误参考答案:A11.在SQL中,UNION操作符默认去除重复行,而UNIONALL保留所有行(含重复)。A、正确B、错误参考答案:A12.在SQL中,HAVING子句用于过滤分组后的结果,其条件中可使用聚合函数;WHERE子句用于过滤分组前的行,不可直接使用聚合函数。A、正确B、错误参考答案:A13.在SQL中,HAVING子句用于对分组后的结果进行筛选,其条件中可使用聚合函数,而WHERE子句不可。A、正确B、错误参考答案:A14.在SQL中,HAVING子句用于对分组后的结果进行筛选,其条件中可包含聚合函数;而WHERE子句作用于分组前,不可直接使用聚合函数。A、正确B、错误参考答案:A15.在SQL中,DELETE语句删除表中所有数据后,该表的结构将同时被删除。A、正确B、错误参考答案:B16.在MySQL中,InnoDB存储引擎支持事务、行级锁和外键约束,而MyISAM不支持事务和外键。A、正确B、错误参考答案:A17.在E-R图中,菱形框表示实体,矩形框表示联系。A、正确B、错误参考答案:B18.在CREATETABLE语句中,若未显式指定某列是否允许NULL,则该列默认允许NULL。A、正确B、错误参考答案:B19.一个关系模式中可以存在多个候选键,但只能指定一个作为主键。A、正确B、错误参考答案:A20.外键约束只能引用被参照表的主键,不能引用唯一约束(UNIQUE)列。A、正确B、错误参考答案:B21.外键约束要求外键列的取值必须在被参照表的主键或唯一键列中存在,或为NULL(若允许空值)。A、正确B、错误参考答案:A22.外键列的取值必须在被引用的主键或唯一键列中存在,或为NULL(若允许空值)。A、正确B、错误参考答案:A23.索引一定能提高所有SELECT查询的执行效率。A、正确B、错误参考答案:B24.索引能加快SELECT查询速度,但对INSERT、UPDATE、DELETE操作通常会降低性能。A、正确B、错误参考答案:A25.数据库中的“游标(Cursor)”主要用于在应用程序中逐行处理查询结果集。A、正确B、错误参考答案:A26.数据库系统中的“死锁”是指两个或多个事务永久等待对方释放资源,需由DBMS检测并主动终止至少一个事务来解除。A、正确B、错误参考答案:A27.数据库系统(DBS)包括数据库(DB)、数据库管理系统(DBMS)和数据库管理员(DBA)三部分。A、正确B、错误参考答案:A28.数据库事务的ACID特性中,“一致性(Consistency)”指事务执行前后数据库从一个一致状态转移到另一个一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论