题目、答案、解析完整呈现,便于学习和复习
解忧学生网提供技术支持
顶↑答案:D
解析:数据模型的三要素是数据结构、数据操纵和数据的完整性约束。A选项是逻辑模型的分类;B、C选项混淆了三要素与逻辑模型类型,故排除。
答案:C
解析:数据库系统以数据为核心,数据独立于程序存在,程序围绕数据展开,磁盘和内存是存储介质,程序是处理工具,均非中心位置。
答案:A
解析:数据库通过规范化设计和统一管理,实现数据冗余度低、共享性高、独立性强、长期存储的特点。A选项“数据冗余度大”是人工管理或文件系统阶段的缺陷,不属于数据库特点。
答案:B
解析:数据库系统由数据库、数据库管理系统(DBMS)、应用程序、数据库管理员(DBA)和用户组成。网络设备是硬件环境的一部分,并非DBS的核心组成部分。
答案:C
解析:DBMS是专门管理数据库的软件,介于用户和操作系统之间,负责数据的定义、操纵、维护。A选项是数据库系统的定义,B选项包含了硬件、DBA等超出DBMS范围的元素,D选项错误(DBMS不包含操作系统)。
答案:C
解析:概念模型是从用户视角对现实世界的抽象,用于数据库设计初始阶段,方便设计人员与用户沟通需求,不涉及物理存储或DBMS实现,也不用于设计后期。
答案:C
解析:E-R图的标准表示:实体(矩形)、属性(椭圆形)、联系(菱形),圆形无对应含义。
答案:B
解析:三级模式与二级映像的核心优点是数据独立性(逻辑+物理)、数据共享性、数据安全性,数据冗余性是需要避免的问题,并非优点。
答案:B
解析:模式/内模式映像关联数据的逻辑结构(模式)和物理存储结构(内模式),实现逻辑记录到物理记录的转换,保证物理独立性;外模式/模式映像保证逻辑独立性。
答案:B
解析:三级模式(外模式、模式、内模式)分别从用户使用、系统逻辑、物理存储三个层面对数据进行抽象,与存储器、程序、外存无关。
答案:C
解析:人工管理阶段(最早阶段)数据存储在卡片或纸带上,数据依赖程序;文件系统阶段存储在磁盘文件;数据库系统阶段存储在数据库中,无“智能管理阶段”的标准分类。
答案:B
解析:数据库系统阶段数据的核心特点:结构化、共享性高、独立性高、由DBMS统一管理。B选项“共享性差”是人工管理和文件系统阶段的特点。
答案:D
解析:数据库应用系统必须以数据库系统为基础,包含前端界面和后端数据库,开发过程涉及需求分析、设计、编码、测试、维护等多个阶段,核心功能是通过应用程序操作数据(查询、更新等),故D正确。
答案:A
解析:DBS的必要组成部分包括数据库、DBMS、DBA和用户,应用程序是用户与数据库交互的主要载体,属于DBS的重要组成部分(非核心但必要),故A错误。
答案:C
解析:普通读者的权限仅限于查询图书信息,删除、插入、修改图书记录属于管理员的权限,避免数据被非法篡改。
答案:数据库管理系统(DBMS)
解析:数据库系统的核心是DBMS,负责数据的管理和维护,应用程序需通过DBMS访问数据库。
答案:外模式、模式、内模式
解析:外模式(用户视图)、模式(逻辑视图)、内模式(物理视图),三级模式通过两级映像实现数据独立性。
答案:需求分析、系统设计、编码实现、测试、维护
解析:软件开发生命周期的标准阶段,数据库应用系统开发需遵循该流程确保功能达标。
答案:接口
解析:DBMS作为中间层,为用户和应用程序提供访问数据库的接口(如SQL语句、API等)。
答案:E-R图(实体-联系图)
解析:E-R图是概念模型的标准表示方法,通过实体、属性、联系直观描述现实世界。
答案:层次模型、网状模型、关系模型、面向对象数据模型
解析:逻辑模型是数据库系统中实际采用的数据模型,关系模型是目前最主流的类型(如MySQL)。
答案:计算机物理存储、描述数据的物理存储结构
解析:物理模型关注数据在磁盘上的存储方式(如文件结构、索引结构),为数据存储提供底层支持。
答案:外模式、模式、内模式
解析:与第2题一致,强调三级模式的完整构成。
答案:人工管理、文件系统、数据库系统
解析:数据管理技术的三个发展阶段,逐步实现数据的高效管理和共享。
答案:数据结构化、共享性高、冗余度低、数据独立性高(任选其三)
解析:数据库系统阶段的核心优势,区别于前两个阶段的关键特征。
答案:
解析:从共享、冗余、独立性、安全性、管理效率五个核心维度总结,覆盖数据库系统的核心优势。
答案:数据库系统由数据库、数据库管理系统(DBMS)、应用程序、数据库管理员(DBA)和用户组成:
解析:明确DBS的五大组成部分,分别解释各部分的核心职能,体现“数据-软件-人”的协同关系。
答案:示例:以“学生选课”场景为例
核心逻辑:学生(学号,姓名)通过“选课”联系(成绩)与课程(课程号,课程名)关联。
解析:结合实际场景,直观说明E-R图三大元素的表示规则,突出“实体-联系-属性”的关联关系。
答案:数据管理技术经历三个阶段:
解析:按时间顺序划分阶段,每个阶段从存储介质和核心特点两方面说明,突出各阶段的演进逻辑(从无管理到有管理,从低效率到高效率)。
答案:
解析:围绕“独立性”“共享性”“安全性”三大核心优点,结合两级映像的作用机制,解释三级模式结构的价值。
答案:C
解析:笛卡尔积运算的定义:两个关系的笛卡尔积结果,属性个数为两个关系属性个数之和,元组个数为两个关系元组个数之积。故选C。
答案:A
解析:选择操作(σ)的核心是“筛选元组”,根据指定条件从关系中选取满足条件的元组;B选项是投影操作(π)的作用;C选项是交集运算(∩)的作用;D选项需结合ORDER BY子句,关系代数中无直接排序操作。
答案:D
解析:关系代数的基本操作包括:并(∪)、差(-)、笛卡尔积(×)、选择(σ)、投影(π),这些操作不可再分解;聚合(如SUM、COUNT)属于扩展操作,需基于基本操作实现,故选D。
答案:C
解析:笛卡尔积的元组个数规则:两个关系的元组个数乘积,与属性个数无关。例如R有2个元组,S有3个元组,笛卡尔积有6个元组。
答案:C
解析:参照完整性约束通过外键与主键的关联实现,要求外键值必须是对应主键的有效值或空值,核心作用是确保两个关联表之间的数据一致性(如学生表与选课表,选课表的学号必须在学生表中存在);A、B是实体完整性的作用;D是外键的功能而非约束目的。
答案:C
解析:实体完整性规则的定义:关系中的主键值必须唯一且非空,确保每个元组可唯一标识;A选项错误(非主键属性值可重复);B选项错误(非主键属性值可空);D选项是参照完整性的要求(外键值可空)。
答案:A
解析:参照完整性规则的核心:外键所引用的主键必须存在于关联表中,不允许引用不存在的元组(如选课表的课程号不能引用课程表中不存在的课程号);C、D选项与属性无关,参照完整性关注元组关联。
答案:A
解析:外键与主键的核心要求是“数据类型一致”,名称可不同(如学生表主键为“学号”,选课表外键可名为“学生学号”);B正确;主键需满足实体完整性(非空唯一),外键可空(如未选课的学生,选课表中外键学号可空),C正确;外键可用于自关联(如员工表中“上级编号”引用自身“员工编号”),D正确。故选A。
答案:D
解析:查找逻辑:需从S表筛选“女”学生(sex='女'),从C表筛选“DB”课程(cname='DB'),通过SC表的sno关联S表,cno关联C表,三者缺一不可,才能获取选修目标课程的女生姓名。
答案:D
解析:验证各选项: A. 差运算的等价式:R减去S等于R减去R与S的交集,正确; B. 集合的划分:R可分为“属于R但不属于S”和“属于R且属于S”两部分,正确; C. 交集的等价式:R与S的交集等于S减去“属于S但不属于R”,正确; D. 并运算的正确等价式应为R∪S=(R-S)∪(R∩S)∪(S-R),选项中表达式结果为S,显然错误。
答案:B
解析:投影操作(π)的核心是“筛选属性”,从关系中选取指定属性列组成新关系;A选项是删除属性(需修改关系模式),C选项是删除元组(选择操作),D选项是查询所有属性(π_* (R))。
答案:A
解析:并操作(∪)的前提是两个关系“同构”,即属性个数相同且对应属性的域(数据类型)兼容,属性名可不同(但需按顺序对应);元组个数可不同,最终结果合并去重。B选项“完全相同的属性名”非必需,A选项是核心要求。
答案:二维表、行、列、主键(或唯一约束)保证元组唯一性
解析:关系的本质是二维表,元组对应表中的行,属性对应表中的列;重复元组会导致数据冗余和不一致,通过主键或唯一约束确保元组唯一性。
答案:主键、外键
解析:实体完整性约束主键的唯一性和非空性,参照完整性约束外键与主键的关联一致性。
答案:外码(外键)
解析:外键的定义:若关系中某属性是另一个关系的主键,则该属性为外键,用于建立两个关系的关联。
答案:职工号
解析:主码需唯一标识元组,职工号唯一,即使每个职工有多项技能,职工号仍可唯一标识每条记录(技能为多值属性,需确保主码唯一性)。
答案:用户自定义
解析:完整性约束分为实体完整性、参照完整性、用户自定义完整性,用户自定义完整性是根据业务需求设定的特定规则(如格式、范围约束)。
答案:参照完整性
解析:SC 表的 “学号” 是外键,引用 S 表的 “学号”(主键),需通过参照完整性约束确保选课表的学号在学生表中存在,避免数据不一致。
答案:中间(或关联)
解析:两个实体间的多对多(M:N)联系需通过中间关系实现(如学生与课程的 M:N 联系通过选课表实现),一对一、一对多联系可通过外键直接关联,但中间关系是通用方式。
答案:满足特定条件
解析:选择运算的核心是 “按条件筛选元组”,条件通常为逻辑表达式(如 σ_age>20 (学生))。
答案:自然(或等值)
解析:自然连接是等值连接的特殊形式,要求两个关系中连接属性(此处为 B)名称和域相同,自动合并重复属性;等值连接仅要求域相同,名称可不同。
答案:候选码(或主码)
解析:候选码的定义:能唯一标识元组的最小属性集,主码是选定的一个候选码。
答案:实体完整性、参照完整性、用户自定义完整性
解析:完整性约束的三大分类,分别保障元组唯一、关联一致、业务规则合规。
答案:并(∪)、差(-)、笛卡尔积(×)、选择(σ)、投影(π)
解析:关系代数的五大基本运算,可组合实现其他复杂运算(如连接、除运算)。
R(学生选课信息):
| SID | <Course |
|---|---|
| S001 | 数据库 |
| S001 | 数据结构 |
| S002 | 数据库 |
| S002 | 数据结构 |
| S003 | 数据库 |
S(必修课程信息):
| Course |
|---|
| 数据库 |
| 数据结构 |
要求:
答案:
解析:除运算的核心是“查找包含所有目标集合的元组”,适用于“选了所有某类课程”“满足所有条件”等场景。步骤中先计算象集(按SID分组聚合课程),再通过除运算筛选出象集包含S的学生,逻辑清晰且符合关系代数规则。
答案:A
解析:SQL由IBM公司于1974年首次提出,1986年成为美国国家标准(SQL-86),1987年成为国际标准。
答案:B
解析:SQL的核心功能包括数据查询(DQL,如SELECT)、数据定义(DDL,如CREATE)、数据操纵(DML,如INSERT/UPDATE/DELETE)、数据控制(DCL,如GRANT/REVOKE),不包含数据加密功能。
答案:C
解析:INSERT属于数据操纵(插入数据),CREATE属于数据定义(创建对象),GRANT属于数据控制(授予权限),SELECT是数据查询的核心动词。
答案:C
解析:INT是MySQL的标准整数类型,默认存储长度为4字节(范围-2147483648~2147483647);DECIMAL是十进制小数类型,FLOAT是浮点型,CHAR是字符串类型。
答案:D
解析:IN子句的语义是“值属于指定集合”,即SALARY等于集合中的任意一个值,逻辑上等价于OR连接的等式。A选项是BETWEEN 1000 AND 2000的语义,C选项逻辑矛盾(一个值不能同时等于两个数)。
答案:B
解析:GRANT用于授予用户权限(如GRANT SELECT ON students TO user1),REVOKE用于回收权限,INSERT/UPDATE属于数据操纵。
答案:C
解析:布尔型(BOOLEAN)的标准取值为True(真)和False(假),0和1是整数类型,"是"/"否"是字符串类型,均非布尔型的原生取值。
答案:D
解析:浮点型(FLOAT/DOUBLE)采用科学记数法存储,单精度(FLOAT)占4字节,双精度(DOUBLE)占8字节;但由于二进制存储的局限性,浮点型进行高精度计算(如金融计算)时会出现精度损失,需使用DECIMAL类型。
答案:B
解析:DECIMAL(p,s)的参数定义:p是数值的总长度(整数部分+小数部分),s是小数点后的位数。例如DECIMAL(5,2)表示总长度5位,小数2位(整数部分最多3位)。
答案:A
解析:SQL的核心特点包括综合统一(集多功能于一体)、面向集合(操作对象和结果是集合)、非过程化(无需指定执行步骤)、语法结构灵活(可交互或嵌入程序)。A选项“高度过程化”是其反面,不属于SQL特点。
答案:A
解析:PRIMARY KEY用于定义主键(唯一且非空),FOREIGN KEY定义外键,UNIQUE定义唯一约束(可空),DEFAULT定义默认值约束。
答案:B
解析:删除视图的标准语法为“DROP VIEW 视图名”,DELETE用于删除表中的记录,而非删除视图对象。
答案:A
解析:DISTINCT用于去除重复行(如SELECT DISTINCT sno FROM SC),ALL是默认值(保留重复行),UNIQUE不是SELECT的去重关键字,GROUP BY用于分组。
答案:B
解析:创建唯一索引的语法为“CREATE UNIQUE INDEX 索引名 ON 表名(列名)”,INDEX创建普通索引,PRIMARY INDEX非标准语法(主键索引通过PRIMARY KEY自动创建),FULLTEXT INDEX是全文索引。
答案:C
解析:视图是基于表的虚拟表,不存储数据,仅存储查询定义,可简化复杂查询(如将多表连接封装为视图);部分视图支持修改操作(如基于单表、无聚合函数的视图),并非所有视图都不能修改,故C错误。
答案:SQL-86
解析:1986年发布的首个SQL标准,后续还有SQL-92、SQL:2003等版本。
答案:数据查询、数据定义、数据操纵、数据控制
解析:SQL的四大核心功能,对应DQL、DDL、DML、DCL。
答案:CREATE TABLE、DROP TABLE、ALTER TABLE
解析:DDL的核心命令:创建表(CREATE TABLE)、删除表(DROP TABLE,删除表结构和数据)、修改表结构(ALTER TABLE,如添加列、修改列类型)。
答案:字符串类型、数值类型、日期和时间类型、布尔类型
解析:MySQL的核心数据类型分类,覆盖大部分业务场景:字符串(CHAR/VARCHAR)、数值(INT/DECIMAL/FLOAT)、日期时间(DATE/DATETIME)、布尔(BOOLEAN)。
答案:0~255
解析:CHAR是固定长度字符串,长度范围0~255字节,不足指定长度时用空格填充。
答案:YYYY-MM-DD、HH:MM:SS
解析:MySQL中DATE仅存储日期(年-月-日),TIME仅存储时间(时:分:秒),DATETIME存储日期+时间(YYYY-MM-DD HH:MM:SS)。
答案:只有两个条件都为True时结果为True、只要一个条件为True时结果为True、对布尔值取反
解析:布尔运算的逻辑规则:AND(与)、OR(或)、NOT(非),用于组合查询条件。
答案:主键(PRIMARY KEY)、外键(FOREIGN KEY)
解析:主键的核心作用是唯一标识元组(唯一+非空),外键通过引用另一表的主键建立关联。
答案:ALTER TABLE
解析:ALTER TABLE的常见用法:添加列(ALTER TABLE 表名 ADD 列名 类型)、修改列类型(ALTER TABLE 表名 MODIFY 列名 类型)、删除列(ALTER TABLE 表名 DROP 列名)。
答案:INSERT INTO
解析:插入数据的语法:INSERT INTO 表名(列名1,列名2) VALUES(值1,值2),若插入所有列可省略列名(需按表结构顺序)。
答案:DROP DATABASE 数据库名
解析:删除数据库的标准语法,执行后将删除数据库及其包含的所有表和数据,需谨慎操作。
答案:GRANT、REVOKE
解析:GRANT用于授予用户权限(如查询、修改权限),REVOKE用于回收已授予的权限。
答案:SQL语言的核心特点:
解析:从功能、操作方式、执行逻辑、使用场景、易用性五个维度总结,突出SQL与其他编程语言的核心区别(非过程化、面向集合)。
答案:
解析:字段定义说明:
- student_id:INT类型+PRIMARY KEY,确保唯一非空;
- name:VARCHAR(100)(可变长度字符串,最大100字符)+NOT NULL,不允许为空;
- age:INT类型,无额外约束(可空);
- score:DECIMAL(5,2),总长度5位,小数2位(整数部分最多3位,范围-999.99~999.99),适合存储分数类数据。
答案:
(1) 插入记录:
解析:指定插入的列名和对应值,字符串类型用单引号包裹,数值类型直接写值。
(2) 更新记录:
解析:UPDATE语句用于修改数据,SET指定修改的列和值,WHERE指定修改条件(避免全表更新)。
(3) 删除记录:
解析:DELETE语句用于删除数据,FROM指定表名,WHERE指定删除条件(避免全表删除)。
答案:
解析:索引创建语法:CREATE INDEX 索引名 ON 表名(列名);该索引为普通索引,用于加速按ename的查询(如WHERE ename='张三');若需唯一索引,可添加UNIQUE关键字(CREATE UNIQUE INDEX ...)。
答案:
(1) 检索超过50岁的男职工的工号和姓名:
解析:直接筛选EMP表中AGE>50且SEX='男'的记录,投影工号和姓名。
(2) 检索每个职工的兼职公司数目和工资总数:
解析:按E#分组(每个职工),COUNT(C#)统计公司数目,SUM(SALARY)计算工资总数,AS指定别名便于显示。
(3) 检索联华公司中低于本公司职工平均工资的所有职工的工号和姓名:
解析:子查询计算联华公司的平均工资,主查询关联三张表,筛选工资低于平均工资的职工。
(4) 为联华公司的职工加薪5%:
解析:子查询获取联华公司的C#,UPDATE语句为该公司的职工工资乘以1.05(加薪5%)。
(5) 在WORKS表中删除年龄大于60岁的职工记录:
解析:子查询获取年龄>60的职工E#,DELETE语句删除WORKS表中对应记录。
答案:C
解析:范围查询的两种常用方式:
- BETWEEN AND:表示闭区间范围(包含边界值,如AGE BETWEEN 20 AND 30 等价于AGE≥20 AND AGE≤30);
- IN:表示离散值范围(如SALARY IN (1000,2000,3000)),可用于数值、字符串等类型。
A错误(并非只能用BETWEEN AND),B错误(IN可用于数值范围),D错误(BETWEEN包含边界值),故选C。
答案:C
解析:模糊查询的核心运算符是LIKE,结合通配符使用:%表示任意长度的字符串(包括空字符串),_表示单个字符;=是精确匹配,<>是不等于,IN是离散值匹配,均不支持模糊查询。
答案:B
解析:ORDER BY的排序规则:ASC表示升序(默认,可省略),DESC表示降序(如ORDER BY SALARY DESC 按工资降序);ORDER和BY是子句关键字,非排序方向关键字。
答案:C
解析:聚合函数的功能:SUM(求和)、COUNT(统计记录数)、AVG(求平均值)、MAX(求最大值),故选C。
答案:C
解析:连接类型的核心区别:
- 内连接:仅返回两表中满足连接条件的记录;
- 左外连接:返回左表所有记录+右表满足条件的记录,右表无匹配时返回NULL;
- 右外连接:返回右表所有记录+左表满足条件的记录,左表无匹配时返回NULL;
- 自连接:表与自身连接,用于处理同一表中的关联数据(如员工与上级)。故选C。
答案:D
解析:子查询可出现在多个子句中:
- WHERE子句:如SELECT * FROM EMP WHERE AGE > (SELECT AVG(AGE) FROM EMP);
- FROM子句:如SELECT T.ENAME FROM (SELECT * FROM EMP WHERE SEX='男') T;
- SELECT子句:如SELECT ENAME, (SELECT CNAME FROM COMP WHERE C#=W.C#) FROM EMP E JOIN WORKS W ON E.E#=W.E#。故选D。
答案:D
解析:INSERT用于插入数据,UPDATE用于修改数据,DELETE用于删除数据,SELECT用于查询数据(选取数据)。
答案:C
解析:GROUP BY的使用规则:
- 功能:按指定列分组,将相同值的记录归为一组;
- 搭配:通常与聚合函数(SUM/COUNT/AVG等)一起使用,计算每组的统计值;
- 顺序:GROUP BY必须出现在WHERE子句之后、ORDER BY子句之前,不能出现在WHERE之前;
- 结果:每个分组对应一条记录,包含分组列和聚合函数结果。故选C。
答案:D
解析:聚合函数包括COUNT(统计)、SUM(求和)、AVG(求平均)、MAX(最大值)、MIN(最小值)等;DISTINCT是用于去除重复值的关键字(如SELECT DISTINCT E# FROM WORKS),并非聚合函数。
答案:B
解析:IN子句用于筛选列值属于指定集合的记录(如WHERE C# IN ('C1','C2'));A是精确匹配单个值,C是连续范围查询,D是模糊查询。
答案:B
解析:SQL中NULL表示“未知值”,不能用=或<>比较(结果仍为NULL),需使用IS NULL(判断为空)或IS NOT NULL(判断非空);BETWEEN和IN均不支持NULL比较。
答案:B
解析:HAVING的使用规则:
- 功能:筛选分组后的结果(如筛选平均工资>5000的部门);
- 搭配:必须与GROUP BY一起使用(不能单独使用),用于过滤分组统计结果;
- 区别于WHERE:WHERE筛选原始记录,HAVING筛选分组结果;
- 条件:可包含聚合函数(如HAVING AVG(SALARY)>5000)。
A错误(排序用ORDER BY),C错误(需搭配GROUP BY),D错误(可包含聚合函数),故选B。
答案:C
解析:SELECT(查询)、INSERT(插入)、UPDATE(更新)、DELETE(删除)是DQL和DML的核心语句,对应数据操作的不同场景。
答案:C
解析:删除数据的三种方式区别:
- DELETE FROM:删除表中的记录(可通过WHERE条件指定删除范围),保留表结构,可回滚;
- DROP TABLE:删除表结构和所有数据,不可回滚;
- TRUNCATE TABLE:删除所有记录(不可指定条件),保留表结构,不可回滚(效率高于DELETE);
- ALTER TABLE:修改表结构,不用于删除数据。故选C。
答案:C
解析:ORDER BY的使用规则:
- 功能:对查询结果排序,而非分组(分组用GROUP BY);
- 顺序:必须出现在WHERE、GROUP BY、HAVING之后,是SELECT语句的最后一个子句;
- 默认排序:ASC(升序),可省略;
- 排序列:可以是表中的列,也可以是聚合函数或表达式(如ORDER BY AVG(SALARY)),但并非“任意列”(需是查询结果中存在的列或可计算的表达式)。
A错误(分组用GROUP BY),B错误(顺序错误),D错误(非任意列),故选C。
答案:A
解析:两个条件需同时满足(单价>5 且 库存量<100),使用AND运算符;OR表示任意一个条件满足,NOT表示否定条件,BETWEEN用于范围查询。
答案:A
解析:多表联合查询的核心是JOIN(连接),通过关联条件将多个表的数据合并(如内连接、外连接);UNION用于合并两个查询结果集(需同构),INTERSECT用于取两个结果集的交集,VALUES用于插入数据时指定值。故选A。
答案:BETWEEN AND 或 AND
解析:两种实现方式:
- WHERE AGE BETWEEN 31 AND 49(闭区间,需排除30和50);
- WHERE AGE > 30 AND AGE < 50(直接用AND连接条件)。
答案:任意长度的字符串(包括空字符串)、单个字符
解析:通配符规则:%匹配任意长度(0个或多个)字符,_仅匹配单个字符(如LIKE '张%' 匹配“张三”“张伟”,LIKE '张_' 仅匹配“张三”“张丽”等两个字的姓名)。
答案:ASC(升序)
解析:ORDER BY默认升序,可省略ASC关键字;降序需显式指定DESC。
答案:COUNT(DISTINCT 列名)
解析:COUNT(列名)统计非空值个数,COUNT(*)统计所有记录数,COUNT(DISTINCT 列名)统计列中不同值的个数(如COUNT(DISTINCT E#) 统计不同职工的数量)。
答案:满足连接条件
解析:内连接(INNER JOIN)的核心是“匹配”,仅返回两个表中符合连接条件(如E#=E#)的记录,不匹配的记录会被过滤。
答案:左表中不满足连接条件
解析:左外连接(LEFT JOIN)以左表为基准,保留左表所有记录,右表匹配的记录显示对应值,不匹配的记录显示NULL。
答案:WHERE
解析:子查询最常用的场景是作为WHERE子句的条件(如筛选满足某个子查询结果的记录),也可出现在FROM、SELECT子句中,但WHERE子句是最常见的。
答案:DROP TABLE
解析:DROP TABLE 表名 会删除表的结构和所有数据,不可恢复;DELETE FROM仅删除数据,保留表结构;TRUNCATE TABLE删除数据,保留表结构。
答案:总和
解析:SUM函数的功能是对指定列的数值求和(忽略NULL值),如SUM(SALARY) 计算工资总和。
答案:GROUP BY、AVG
解析:GROUP BY 用于按指定列分组,AVG 函数用于计算每组的平均值,二者搭配实现分组统计(如 SELECT 部门, AVG(工资) FROM 员工 GROUP BY 部门)。
答案:%
解析:% 通配符匹配任意长度的字符串(包括空字符串),格式为 LIKE '前缀%'(如 LIKE 'SQL%' 匹配“SQL基础”“SQL进阶”)。
答案:左外(LEFT JOIN 或 LEFT OUTER JOIN)
解析:左外连接以左表为基准,保留左表所有记录,右表无匹配时返回 NULL,符合“包含左表所有记录”的需求。
答案:FROM
解析:FROM 子句明确查询的数据源,可指定表、视图或子查询(如 SELECT * FROM 员工 WHERE 年龄>30)。
答案:
1. 基本结构:SELECT语句用于从数据库中查询数据,核心逻辑是“选择列→从表中→筛选记录→分组→筛选分组→排序”。
2. 主要子句(按执行顺序排列):
示例:
解析:按执行顺序解释各子句的功能,突出“从原始数据到最终结果”的筛选、分组、排序流程,子句顺序不可随意调整。
答案:
1. 聚合函数的定义:对一组数据进行计算并返回单个结果值的函数,常用于分组统计(与 GROUP BY 搭配)。
2. 常见聚合函数及作用:
解析:聚合函数的核心特征是“多进一出”,即输入一组数据,输出一个统计结果,需与 GROUP BY 搭配使用(无 GROUP BY 时默认对全表统计)。
答案:
1. 核心区别:
2. 使用场景:
解析:核心区别在于“是否保留基准表的不匹配记录”,使用场景需根据“是否需要保留全量数据”判断,内连接强调“匹配”,外连接强调“全量+匹配”。
答案:
1. 作用:用于查询列值在某个连续范围内的记录,属于闭区间(包含边界值),等价于“列名 ≥ 最小值 AND 列名 ≤ 最大值”。
2. 使用示例:查询年龄在20~30岁(含20和30岁)的学生信息:
等价于:
解析:BETWEEN AND 简化了连续范围查询的语法,需注意边界值包含在内;若需排除边界值,需手动使用 > 和 < 运算符。
答案:
1. 模糊查询的定义:不明确指定查询条件的完整匹配值,而是通过通配符匹配部分符合条件的记录(如查询姓名包含“张”字的学生)。
2. LIKE运算符的使用:需搭配通配符,常用通配符包括:
3. 示例:
解析:模糊查询适用于“不确定完整查询值”的场景,通配符 % 用于任意长度匹配, 用于固定长度的单个字符匹配,需根据查询需求选择合适的通配符组合。
答案:
1. 子查询的作用:将一个查询结果作为另一个查询的条件、数据源或列值,用于解决复杂查询需求(如基于一个查询结果筛选另一个表的数据)。
2. 使用示例:查询工资高于公司平均工资的员工信息:
解析:子查询(SELECT AVG(salary) FROM emp)计算公司的平均工资,主查询筛选工资高于该平均值的员工。
其他场景示例:查询选修了“数据库”课程的学生姓名(子查询作为条件):
解析:子查询可嵌套在 WHERE、FROM、SELECT 子句中,核心是“用一个查询的结果辅助另一个查询”,简化复杂逻辑的实现。
答案:C
解析:删除异常通常指由于数据依赖(如部分依赖、传递依赖),导致在删除某个元组时,会连带删除掉其他不应被删除的信息。
答案:B
解析:由函数依赖集可推导出 \( A1 \rightarrow A2 \) 和 \( A2 \rightarrow A3 \),根据传递律可得 \( A1 \rightarrow A3 \),因此 \( A1 \rightarrow A3 \) 是冗余的。
答案:C
解析:函数依赖 \( XY \rightarrow Z \) 仅表示属性组 \( XY \) 决定 \( Z \),不能推出 \( X \) 或 \( Y \) 单独决定 \( Z \)。例如,当 \( X \) 和 \( Y \) 共同决定 \( Z \),但单独一个属性不能决定 \( Z \)。
答案:D
解析:函数依赖 \( A \rightarrow BC \) 可以通过分解规则推出 \( A \rightarrow B \) 和 \( A \rightarrow C \),但不能推出 \( B \rightarrow C \)。
答案:A
解析:在 \( R \) 中,主码是(学号, 课程号),但存在非主属性(姓名、性别、学院)部分依赖于主码中的“学号”,违反了2NF。因此,\( R \) 只满足1NF。
答案:C
解析:3NF消除了非主属性对码的部分和传递依赖。BCNF则更严格,要求消除所有属性(包括主属性和非主属性)对码的部分和传递依赖,即每一个决定因素都包含候选码。
答案:B
解析:2NF的定义就是在1NF的基础上消除了非主属性对码的部分函数依赖。
答案:A
解析:如果所有属性都是主属性,则不存在非主属性对码的部分和传递依赖问题,因此至少满足3NF。
答案:D
解析:候选码为 \( AB \) 和 \( BC \)。所有属性都是主属性,且所有函数依赖的左边都包含候选码(\( AB \) 或 \( BC \)),因此满足BCNF。
答案:B
解析:候选码为 \( A \)。存在非主属性 \( C \) 对候选码 \( A \) 的传递依赖(\( A \rightarrow B, B \rightarrow C \)),违反了3NF,但满足2NF(因为不存在部分依赖)。
答案:C
解析:对于包含三个属性的关系模式,可能存在非主属性对候选码的传递依赖,从而不满足3NF。例如 \( R(A,B,C) \),若 \( A \rightarrow B, B \rightarrow C \),则不满足3NF。而A、B、D选项的陈述是正确的。
答案:A
解析:1NF的核心要求是属性具有原子性,即不可再分。这指的是属性值本身是单一的、原子的,而不是说字段必须是唯一的或非空。
答案:B
解析:函数依赖是描述同一个关系模式中不同属性之间的一种制约关系,即一个(组)属性的值可以决定另一个(组)属性的值。
答案:C
解析:3NF的定义就是消除非主属性对候选码的传递依赖。确保每个非主属性都完全依赖于主键是2NF的要求,而3NF在此基础上进一步要求消除传递依赖。
答案:A
解析:传递依赖的经典形式是 \( A \rightarrow B \), \( B \rightarrow C \),并且 \( B \) 不决定 \( A \),同时 \( A \) 不是 \( B \) 的候选码(也不是 \( C \) 的候选码)。这导致了 \( C \) 通过 \( B \) 传递依赖于 \( A \)。
答案:数据冗余、插入异常、删除异常、更新异常
解析:一个不规范的关系模式通常会导致四大问题:数据冗余(同一信息多次存储)、插入异常(想插入数据却因缺少部分主属性而无法插入)、删除异常(删除一个元组时可能丢失其他有用信息)和更新异常(更新部分数据可能导致数据不一致)。
答案:函数
解析:3NF(第三范式)是基于函数依赖理论提出的,旨在消除关系模式中的传递函数依赖。
答案:低范式、高范式
解析:规范化的核心思想是将一个满足较低范式要求(存在较多问题)的关系模式,通过投影运算分解为多个满足较高范式要求(问题较少)的关系模式集合。
答案:范式
解析:范式是衡量关系模式设计优劣程度的理论标准。范式等级越高(如BCNF, 3NF),通常认为其结构越规范,产生数据异常的可能性越小。
答案:2NF
解析:第二范式(2NF)的定义:在满足1NF的基础上,消除了所有非主属性对候选码的部分函数依赖。
答案:3NF
解析:第三范式(3NF)的定义:在满足2NF的基础上,消除了所有非主属性对候选码的传递函数依赖。
答案:BCNF
解析:BCNF(Boyce-Codd范式)的定义:在满足1NF的基础上,对于关系模式中的每一个非平凡的函数依赖 \( X \rightarrow Y \),X都包含候选码。这等价于消除了任何属性(包括主属性和非主属性)对候选码的部分和传递依赖。
答案:\( x \rightarrow y \)、\( x \nrightarrow y \) (即存在 \( x' \subset x \),使得 \( x' \rightarrow y \))
解析:部分函数依赖的定义:如果 \( x \rightarrow y \),并且存在 \( x \) 的一个真子集 \( x' \),使得 \( x' \rightarrow y \) 也成立,则称 \( y \) 部分函数依赖于 \( x \)。
答案:\( y \rightarrow z \)、\( y \nrightarrow x \)
解析:传递函数依赖的定义:如果 \( x \rightarrow y \),\( y \rightarrow z \),并且 \( y \nrightarrow x \)(即 \( y \) 不决定 \( x \)),则称 \( z \) 传递函数依赖于 \( x \)。
答案:BCNF
解析:如果所有属性一起构成候选码(全码),则关系中不存在非主属性,自然满足2NF和3NF。同时,对于任何函数依赖 \( X \rightarrow Y \),其决定因素 \( X \) 必然包含候选码(因为所有属性都是主属性),因此满足BCNF。
答案:数据冗余、插入异常、删除异常、更新异常
解析:这是不规范关系模式带来的典型问题集合。
答案:非主属性对主码(候选码)的部分函数依赖
解析:这是2NF的核心要求。
答案:非主属性对主码(候选码)的传递函数依赖
解析:这是3NF的核心要求。
答案:部分函数依赖
解析:这是从1NF到2NF规范化过程的实质。
答案与解析:
(1)
候选码: \( AB \)(由 \( AB \rightarrow C, AB \rightarrow D, ABC \rightarrow E \) 可推出 \( AB \rightarrow E \))
检查范式:
答案与解析:
设属性:运动员编号(A),比赛项目(B),成绩(C),比赛类别(D),比赛主管(E)。
(1) 基本函数依赖集与候选码
答案与解析:
答案:B 解析:业务规则是构建数据库的约束和逻辑基础,需通过设计来体现,如设置唯一约束、外键约束、检查约束等。随意设计数据表结构不符合规范,无法体现业务规则。 答案:C 解析:逻辑结构设计阶段的主要任务是将概念模型(E-R图)转换为特定数据库管理系统所支持的数据模型(如关系模型,即表结构)。A是概念设计阶段,B、D是物理设计阶段的任务。 答案:C 解析:顺序存储中,新数据通常追加在末尾,插入方便。但若查询条件不按存储顺序,则需全表扫描,效率较低。哈希存储(针对等值查询)和索引存储(针对特定字段)通常能提高查询效率。 答案:C 解析:哈希存储的主要优点是精确匹配查询(等值查询)速度快。其缺点包括:可能产生哈希冲突、难以支持范围查询、对哈希函数设计有较高要求。因此,“数据检索速度慢”不是哈希存储的典型缺点。 答案:C 解析:数据库实施阶段是按照逻辑设计和物理设计的结果,在计算机上建立实际的数据库结构、装入数据、进行测试和试运行的过程。第一步是使用DDL语句创建数据库、表、视图等,即建立数据库结构。 答案:B 解析:概念结构设计的目标是产生反映企业组织信息需求的数据库概念结构,即概念模型。E-R图是概念模型的常用表示方法,它独立于具体的DBMS和计算机硬件,不涉及信息在计算机中的具体表示。 答案:C 解析:逻辑结构设计阶段的任务是将概念模型(如E-R图)转换为具体DBMS支持的数据模型(如关系模型)。对于关系数据库,这个转换的结果就是一组关系模式(表结构)的设计。 答案:D 解析:实体-联系模型(E-R模型)使用实体、属性和联系来描述现实世界的概念模型,它是数据库概念设计阶段最常用、最著名的工具。 答案:C 解析:需求分析阶段的任务是详细调查现实世界,了解用户的数据需求、处理需求和安全性与完整性要求。数据流程图(Data Flow Diagram, DFD)是描述系统中数据流程的常用工具,用于表达数据的流动和处理过程。 答案:C 解析:一个M:N联系转换为一个独立的关系模式时,该模式的属性包括联系本身的属性以及两端实体的主键。由于多对多关系中,单独一端实体的主键都无法唯一标识联系,所以必须将两端实体的主键组合起来作为该关系模式的主键。 答案:D 解析:A、B、C均为E-R图设计的正确原则。D选项错误,因为在集成后,为了保持信息的完整性或提高查询效率,有时需要保留一定的数据冗余和联系冗余。清除冗余应以不破坏数据完整性和不损失必要信息为前提,不能“全部清除”。 答案:D 解析:A、B、C均为正确的转换或优化原则。D选项错误,规范化理论主要解决数据冗余和更新异常问题。规范化程度越高(如达到BCNF),表分解得越细,在查询时可能需要更多的连接操作,反而可能导致查询效率降低。因此,需要在规范化和查询性能之间取得平衡。 答案:D 解析:概念结构设计通常采用自顶向下、自底向上、逐步扩张或混合策略,其核心步骤一般遵循:首先进行数据抽象(识别实体、属性、联系等),然后设计局部E-R视图(针对不同用户组或应用),接着将局部视图合并成全局视图(需解决命名、属性、结构等冲突),最后对全局E-R图进行优化(修改与重构,消除不必要的冗余)。 答案:B 解析:在合并局部E-R图时,命名冲突是指同一意义的对象在不同局部视图中命名不同(如本题的“教师”和“职工”),或者不同意义的对象具有相同的名字。 答案:A 解析:在需求分析阶段,数据流程图(Data Flow Diagram, DFD)是描述系统中数据流动、存储和处理的图形工具,它能清晰地表达用户单位的业务流程。E-R图用于概念设计,程序流程图和判定表多用于描述程序逻辑。 答案:B① A;② B 解析:
① 年龄可以从出生日期派生(计算)出来,因此属于派生属性。在数据库设计中,通常只存储出生日期,不存储年龄,以避免数据冗余和更新异常。
② 购买记录表中的客户信息必须参照客户表中的客户信息(如通过客户ID),这体现了表之间的引用关系,属于参照完整性约束。
答案:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与维护 解析:这是数据库设计的标准化流程,各阶段任务明确,环环相扣。 答案:将概念模型(如E-R图)转换为特定数据库管理系统支持的数据模型(如关系模型),并进行优化 解析:逻辑设计是连接概念世界与计算机实现的桥梁,核心任务是模型转换与模式优化。 答案:数据库的转储与恢复、数据库的安全性、完整性控制、数据库性能的监督、分析和改进、数据库的重组织与重构造 解析:维护工作贯穿数据库生命周期,确保系统持续稳定、安全、高效地运行。 答案:椭圆(或椭圆形) 解析:E-R图图例规定:实体用矩形,属性用椭圆,联系用菱形。 答案:自顶向下 解析:需求分析策略主要包括自顶向下(先全局后局部)和自底向上(先局部后汇总),实践中常结合使用。 答案:实体、属性、联系 解析:这三个元素构成了E-R模型描述现实世界的基本框架。 答案:聚集、概括(或分类) 解析:聚集是将若干对象及其联系组成一个更高-level的对象;概括是将一组具有共同特性的对象抽象为更一般的类型(如“学生”和“教师”概括为“人”)。 答案:唯一(UNIQUE)约束或主键(PRIMARY KEY)约束 解析:“唯一”是核心要求。若学号被选作表的主键,则主键约束天然包含唯一和非空约束;若仅要求唯一但允许空值,则使用UNIQUE约束。 答案:块 解析:数据库系统通常以“块”(Block)或“页”(Page)作为磁盘和内存之间数据传输的基本单位,其大小是物理设计的重要参数。 答案:哈希(Hash)索引 解析:B+树索引适用于范围查询和排序,是关系型数据库最常用的索引结构;哈希索引适用于等值查询,速度快但无法支持范围查询。 答案:物理上 解析:聚簇(Clustering)是指将一个或多个表中的相关数据行物理上相邻存储在同一或相邻的数据块中,以减少I/O次数,提高关联查询效率。 答案:最小(或不可再分) 解析:数据项是数据的最小单位,描述了数据的静态特征,如学号、姓名等,不能再分解为更小的有意义的单位。 答案:所选用的DBMS 解析:逻辑结构设计的输出是针对具体数据库管理系统(如MySQL、Oracle)的逻辑模式,因此转换过程必须考虑目标DBMS支持的数据模型特性。 答案:物理实现 解析:物理设计高度依赖于具体的DBMS产品,因为不同的DBMS在文件组织、索引机制、数据分区等方面有不同的实现方式和限制。 答案:D 解析:T2和T3对D2、D3已加排他锁(X锁),排他锁会阻塞其他任何事务对该数据项加锁(无论是共享锁S还是排他锁X)。因此,事务T1尝试对D2、D3加任何锁(S或X)都会失败,需要等待锁释放。 答案:C 解析:D1被T1加了共享锁(S锁),共享锁允许其他事务再加共享锁,但会阻塞排他锁。因此,T2对D1加共享锁(S)会成功,但对D1加排他锁(X)会失败。 答案:C 解析:原子性(Atomicity)是指事务是一个不可分割的工作单位,事务中的操作要么全部发生,要么全部不发生。A选项描述的是“一致性”,B选项描述的是“持久性”,D选项描述的是“隔离性”的目标(可串行化)。 答案:A 解析:一级封锁协议要求:事务在修改数据前必须先加X锁,直到事务结束才释放。这可以防止两个事务同时修改同一数据,从而解决了“丢失修改”问题。它不要求读数据时加锁,因此不能解决“读脏数据”和“不可重复读”问题。 答案:B 解析:一次封锁法要求事务在开始执行时,一次性申请它所需要的全部锁,从而避免了在运行过程中再申请锁,彻底杜绝了“持有并等待”的条件,因此能保证不产生死锁。两段锁协议(2PL)只能保证可串行化,不能防止死锁。一级、二级、三级封锁协议是解决数据不一致问题的不同级别协议,本身不解决死锁问题。 答案:C 解析:隔离性(Isolation)是指一个事务的执行不应受其他事务的干扰。题目描述的场景正是并发事务之间没有做好隔离,导致了数据访问的中间状态被暴露给其他事务,从而引发了结果不正确的问题。 答案:D 解析:持久性(Durability)是指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的,接下来的其他操作或故障不应该对其有任何影响。 答案:B 解析:分析T1和T2对D2的操作序列:T1在t2时刻读取D2=100后,T2在t6时刻读取D2=100,在t14时刻将D2修改为150并写回。随后T1在t8时刻再次读取D2,但此时它读取的仍是自己第一次读到的旧值100(这本身是“不可重复读”,但T1后续有计算和写操作),T1在t18时刻基于旧值100进行计算(D2=D3-D2),得到新值200,并在t19时刻将D2=200写回数据库。这导致T2在t14时刻对D2的修改(D2=150)被覆盖,即发生了“丢失修改”。 答案:C 解析:分析T2和T3对D2的操作序列:T3在t15时刻读取D2=200(这是T1修改后的值),然后T2在t14时刻将D2修改为150并写回。此时,T3在t17时刻再次读取D2,发现其值已变为150,与它第一次读取的200不同。对于T3这个事务来说,在同一个事务内两次读取同一数据D2,得到了不同的结果,这就是“不可重复读”问题。 答案:B 解析:两个售票事务T1和T2并发执行。理想情况:初始票数N,T1售出2张,票数应变为N-2;T2再售出2张,票数应变为N-4。但题目描述最终只减少了2张,即票数为N-2。这说明其中一个事务(比如T1)读取票数N,计算出N-2并写回后,另一个事务(T2)也读取了旧的票数N(在T1写回之前),也计算出N-2并写回,导致T1的修改被覆盖(丢失),总票数只减少了一次(2张)。这是典型的“丢失修改”问题。 答案:D 解析:多个事务因竞争资源而形成一种互相等待的环形链:T0→等待→T1→等待→T2→等待→T3→等待→T4→等待→T0。每个事务都持有部分资源,同时又等待其他事务释放资源,且这种等待关系形成一个闭环。没有任何一个事务能继续推进,系统陷入停滞,这就是“死锁”状态。 答案:B 解析:ROLLBACK语句的作用是使事务回滚,即撤销该事务从开始到回滚点之间所做的所有对数据库的修改(DML操作:INSERT, UPDATE, DELETE),将数据库状态恢复到该事务开始之前或上一个保存点的状态。它不影响程序变量的值,也不是简单的程序跳转。 答案:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability) 解析:ACID是事务的四个基本特性,是数据库管理系统维持数据正确性与可靠性的基石。 答案:Commit 解析:COMMIT语句用于提交事务,将事务中对数据库的所有更新操作永久生效,这是实现事务持久性的关键指令。ROLLBACK则用于撤销事务。 答案:丢失修改、读脏数据、不可重复读 解析:这是并发操作可能导致的三种主要数据不一致性问题。更高一级的并发控制协议(如封锁协议)正是为了解决这些问题而设计的。 答案:排他锁(X锁,写锁)、共享锁(S锁,读锁) 解析:排他锁(Exclusive Lock)用于写操作,一个数据项上只能有一个X锁;共享锁(Share Lock)用于读操作,一个数据项上可以有多个S锁。X锁与任何锁都不兼容,S锁只与S锁兼容。 答案:并发控制 解析:并发控制机制(如封锁、时间戳、乐观控制等)是数据库管理系统用来协调多个事务并发执行,保证数据一致性,并为每个用户提供隔离的、如同单用户环境般体验的关键技术。 答案:事务故障 解析:数据库系统中的故障主要分为事务故障、系统故障和介质故障。死锁是由于多个事务对锁的竞争不当引起的,属于事务内部或事务之间发生的逻辑错误,因此归为“事务故障”。 答案:排他锁(或X锁) 解析:排他锁(X锁)的特性是:一旦某个事务对数据对象加上了排他锁,其他任何事务都不能再对该数据对象加任何类型的锁(无论是共享锁还是排他锁),直到该锁被释放。 答案:死锁 解析:死锁的典型定义就是:两个或两个以上的事务在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力干涉,它们都将无法继续推进。 答案:原子性 解析:这正是事务原子性(Atomicity)的核心含义。它通过事务管理(如日志的Undo操作)来保证。 答案:日志(或日志记录与恢复) 解析:持久性是通过数据库的恢复机制(主要是日志机制)来保证的。系统会将事务对数据库的更新操作记录在日志中,并先于数据写盘(Write-Ahead Logging, WAL)。当发生故障时,DBMS可以利用日志来重做(Redo)已提交的事务,撤销(Undo)未完成的事务,从而确保提交事务的结果不丢失。 答案:共享锁(或S锁) 解析:共享锁(S锁)就是为“读”操作设计的。多个事务可以同时对同一数据项加S锁进行读取,但只要有一个事务持有S锁,其他事务就不能对该数据项加X锁进行修改。 答案:读脏数据(或脏读) 解析:“脏数据”是指未被最终提交的、可能被回滚的中间数据。一个事务读取了另一个未提交事务修改的数据,就发生了“脏读”。二级封锁协议通过要求读数据前加S锁并在读完后立即释放,可以避免脏读。 答案:C 解析:数据库安全的核心组件通常围绕“认证、授权、审计”展开,即身份认证策略(你是谁?)、访问控制策略(你能做什么?)和审计策略(你做了什么?)。加密技术是保障数据机密性的重要手段,但通常被视为更底层的安全技术或一种增强措施,不属于最核心的组成部分定义。 答案:D 解析:SQL注入、未授权访问和数据泄露是典型的数据库安全威胁,针对的是数据库的逻辑安全和数据安全。自然灾害(如地震、洪水)属于物理环境层面的威胁,虽然会影响数据库的可用性,但通常归类为“灾难”或“物理故障”,而非狭义的、由攻击或漏洞引发的“安全威胁”。 答案:B 解析:最小权限原则(Principle of Least Privilege, PoLP)是安全设计的基本原则之一,其核心是只授予用户或进程执行其合法操作所必需的最小权限集,以限制潜在安全事件(如误操作、账户被盗用)造成的损害范围。 答案:C 解析:身份认证策略关注“证明你是你”的方式。强密码策略、账户锁定策略(防止暴力破解)、双因素/多因素认证都是增强认证强度的具体手段。防火墙策略是网络边界安全控制措施,用于过滤网络流量,不直接属于身份认证的范畴。 答案:A 解析:数据库审计的核心目的是记录(跟踪)用户对数据库的所有操作活动,形成不可抵赖的证据链。这为事后追责、合规性检查、异常行为分析和安全事件调查提供了依据。提高性能、防止泄露、优化结构并非审计的直接目的,虽然审计数据可能间接用于这些方面。 答案:D 解析:数据库备份的常规类型包括完全备份(Full Backup)、增量备份(Incremental Backup)和差异备份(Differential Backup)。“实时备份”通常指数据复制(如主从复制)或持续数据保护(CDP),它们更侧重于高可用性和实时同步,而非传统意义上的“备份”类型。备份通常是周期性的快照。 答案:A 解析:基于日志的恢复是数据库恢复技术的核心,它利用事务日志(包含Redo和Undo信息)来恢复事务一致性状态。它能够处理事务故障和系统故障,确保已提交的事务被持久化(Redo),未提交的事务被撤销(Undo)。 答案:D 解析:制定备份策略时,核心考虑因素围绕恢复目标(RPO/RTO)、成本和安全性。包括:备份频率(多久一次)、介质可靠性(磁带、磁盘、云)、数据保管(存储位置、权限)和销毁(过期处理)。数据库性能优化属于日常运维和调优范畴,虽然备份操作本身会影响性能,但“性能优化”不是制定备份策略时的核心考量因素。 答案:C 解析:在紧急恢复场景下,保持通信畅通对于管理恢复过程至关重要。它有助于同步信息(A)、调配人力和物力(B)、以及处理意外情况(D)。数据完整性是由恢复技术本身(如日志的Redo/Undo)和操作步骤的正确性来保证的,与团队间的沟通没有直接因果关系。 答案:D 解析:数据库恢复技术正是为了应对各种故障(事务故障、系统故障、介质故障)而设计的。数据备份是恢复的前提和基础,是恢复过程中的一个步骤或资源,其本身不是恢复技术的“应用场景”。 答案:B 解析:访问控制策略(Authorization)是在身份认证(Authentication)之后,决定“用户能做什么”的环节。它通过授予或拒绝特定用户(或角色)对特定数据对象(如表、视图)执行特定操作(如SELECT, UPDATE)的权限来实现。 答案:C 解析:数据库审计的内容主要包括:生成和存储审计日志(A);对日志进行分析,以检测异常或可疑行为(B);以及根据法规或内部要求生成合规性报告(D)。数据完整性检查(如通过约束、触发器)是数据库本身的数据质量保障机制,不属于审计的范畴。审计关注“谁在什么时候做了什么”,而不直接验证数据内容是否正确。 答案:C 解析:一个严谨的恢复过程应包括:事前计划(B)、恢复前验证备份(A)和恢复后验证(D)。“立即恢复所有业务操作”是鲁莽的,正确的做法通常是先恢复核心系统,进行功能和数据验证后,再分阶段、有控制地恢复全部业务,以确保恢复的成功和数据的准确性。 答案:C 解析:数据库安全策略的目标是保障数据的机密性、完整性和可用性(CIA三要素),这直接对应保护企业资产(A)、维护客户信任(B,因数据泄露会破坏信任)和遵守法律法规(D,如GDPR)。提高数据库性能是系统运维和优化的目标,虽然安全措施可能对性能有影响,但它本身不是安全策略的出发点。 答案:D 解析:基于备份的恢复方法直接依赖于备份文件。完全恢复使用最近一次完全备份;增量恢复需要使用最近一次完全备份和之后的所有增量备份;差异恢复需要使用最近一次完全备份和最近一次差异备份。而“时间点恢复”(Point-in-Time Recovery, PITR)通常指恢复到故障前的某个精确时刻,这需要结合备份和事务日志(从备份时刻应用到指定时间点)来实现,因此它不完全等同于“基于备份的恢复”,后者更强调仅使用备份集。 答案:加密技术 解析:虽然选择题1中加密技术被列为“非核心”,但作为安全的重要组成部分,它常与访问控制、身份认证、审计并列,共同构成数据库安全的防御体系,特别是在保护静态和传输中数据的机密性方面。 答案:内部人员威胁(或权限滥用、社会工程学等,结合上下文) 解析:常见的数据库安全威胁除技术攻击(SQL注入、恶意软件)和访问控制失效(未授权访问)外,还包括来自内部人员的误操作、恶意行为或权限滥用,这也是非常重要的威胁源。上下文提到的“物理安全”也是威胁的一部分。 答案:权限(或访问规则) 解析:访问控制的核心就是定义和实施一系列权限规则,明确指定哪个主体(用户/角色)可以对哪个客体(数据/资源)执行何种操作(读、写、删等)。 答案:多因素认证(或双因素认证) 解析:这是增强身份验证强度的常用方法。在密码(你知道的东西)之外,增加第二种验证因素,如动态令牌(你拥有的东西)或生物特征(你固有的东西)。 答案:数据库用户(或数据库访问和操作) 解析:审计聚焦于对数据库的访问和操作行为进行监控和记录,对象是数据库用户(包括应用程序、管理员等)的行为。 答案:差异备份 解析:这是三种基本的物理备份策略类型。差异备份备份自上次完全备份以来所有发生变化的数据。 答案:可用性 解析:备份数据必须同时具备可用性(能够被成功读取和恢复)和完整性(数据内容没有损坏或丢失),否则恢复将无法进行或导致错误。 答案:介质恢复 解析:根据常见的分类,数据库恢复技术主要针对三类故障:事务故障(用日志恢复)、系统故障(用日志恢复)和介质故障(磁盘损坏)。针对介质故障的恢复通常称为“介质恢复”,它严重依赖于备份和归档日志。 答案:(题目为陈述句,无需填空) 解析:这是对最小权限原则的复述,强调了权限分配的克制和精准性。 答案:追踪(或调查、追溯) 解析:审计日志的核心价值在于其可追溯性。当发生安全事件或需要合规检查时,详细的日志可以用于追踪事件的源头、过程和影响。 答案:备份数据的安全性(或保管与销毁策略) 解析:除了频率和介质,备份数据本身的安全性至关重要,包括存储位置(本地/异地)、访问控制、加密以及生命周期结束后的安全销毁。 答案:连续性(或可用性) 解析:灾难恢复(DR)和业务连续性(BCP)的目标就是在中断后尽快恢复业务运营。数据库恢复是其中关键一环,旨在保障业务的连续性和数据的完整性。 答案:身份认证(或Authentication) 解析:这是身份认证的根本作用,是安全访问的第一道闸门,用于验证声称的身份是否属实。 答案:传输加密 解析:数据库加密主要在两个层面:静态数据(存储加密,如透明数据加密TDE)和动态数据(传输加密,如使用TLS/SSL协议保护客户端与数据库服务器之间的通信)。 答案:应对突发问题 解析:恢复过程往往是高压且多变的,有效的沟通机制能帮助团队快速同步信息、调整策略,共同解决恢复过程中出现的意外挑战。
设属性:宾客姓名(N),性别(S),年龄(Age),身份证号(ID),地址(Addr),客房号(RNo),住宿日期(CIn),退房日期(COut),押金(Dep)。
根据语义“宾客中可能存在同名的现象
习题6
一、选择题
二、填空题
习题7
一、选择题
D3被T3加了排他锁(X锁),会阻塞其他任何锁。因此,T2对D3无论加S锁还是X锁都会失败。
选项C描述了“对D1加共享锁成功(S锁兼容),对D3加排他锁失败(X锁被X锁阻塞)”的情况,是正确的一种可能性。选项A、B、D的表述均不完全正确或与题意不符。二、填空题
习题8
一、选择题
二、填空题
答案:C
解析:《大数据时代》的核心观点之一就是“样本=总体”,强调分析所有数据而非抽样;同时,该书作者也较早系统地阐述了大数据的特点,最经典的“4V”包括Volume, Velocity, Variety, Value,并指出大数据价值密度低的特点。后续实践中,“Veracity(真实性)”被广泛接受为第五个V。选项C的描述最为准确和全面。
答案:C
解析:物联网(IoT)领域是典型的大数据应用场景,其特点是海量设备持续产生带时间戳的数据(时间序列数据)。时序数据库(Time-Series Database)是专门为高效存储、查询这类数据而设计的数据库,属于大数据数据库在IoT领域的典型应用。A、B、D选项虽然也是大数据应用,但未明确指向物联网领域。
答案:B
解析:非关系型(NoSQL)数据库的核心优势之一就是其灵活的数据模型,能够很好地处理非结构化(如文本、图片、视频)和半结构化(如JSON、XML)数据。关系型数据库(A)主要处理结构化数据。数据仓库(C)通常用于分析处理,其底层可以是关系型或非关系型,但“数据仓库”概念本身不强调处理非结构化数据的灵活性。因此B选项最准确。
答案:C
解析:云数据库的核心优势在于其提供的“服务”模式。它消除了用户自建数据库的硬件投入和维护成本,允许用户根据业务需求的变化,灵活地(通常是自动化地)调整计算和存储资源,并只为实际使用的部分付费。这与A、B、D选项描述的缺点或限制正好相反。
答案:C
解析:数据库为AI提供训练数据和实时数据支撑。A(欺诈识别)需要交易历史数据库和机器学习模型;B(辅助诊断)需要医疗影像、病历数据库和AI分析;D(智能家居)需要用户行为数据、环境数据数据库和AI决策。烹饪领域的新菜式研发可能涉及数据(如食材搭配、口味偏好),但这不是当前数据库与AI技术结合的突出和典型应用领域。
答案:B
解析:大数据的“Value(价值)”特点通常描述为“低价值密度”,即海量的数据中,真正有价值的信息比例相对较低,需要强大的数据处理和分析技术(如数据挖掘、AI)才能提取出高价值的洞察。
答案:C
解析:半结构化数据具有一定的结构,但不像关系型数据库的表那样严格和固定。XML文件通过标签定义数据的层次和关系,是典型的半结构化数据。A是结构化数据,B是典型的非结构化文本数据(虽然可以从评论中提取结构化信息,但原始形态是非结构化的),D是非结构化数据。
答案:B
解析:物联网设备产生的时间序列数据,具有写入密集、按时间顺序排列、查询常围绕时间窗口等特点。专门的时序数据库(Time-Series Database,如InfluxDB, TimescaleDB)是处理这类数据的最佳选择,而它们都属于非关系型数据库(NoSQL)的范畴。虽然某些列式数据库(D)或分布式数据库(C)也可能用于此场景,但“非关系型数据库”这个大类包含了专门的时序数据库,是最适合的答案。
答案:C
解析:高灵活性是云计算的关键特点之一,体现在用户可以灵活选择服务类型(IaaS/PaaS/SaaS)、配置资源、部署应用等。A、B、D选项都是对云计算特点的错误描述,云计算的典型特点包括高可靠性、弹性可扩展和广泛的兼容性。
答案:B
解析:“按需部署”(或称按需付费)意味着创业公司无需投入大量资金购买硬件、软件许可证和建设数据中心,只需根据实际使用量付费。这极大降低了创业的初始IT成本(CAPEX转化为OPEX),使其能将有限的资金和精力集中于产品开发和市场拓展等核心业务。
答案:C
解析:关系型数据库的优势在于事务处理(ACID)、数据一致性和复杂的关联查询。金融机构的客户账户和交易记录对数据准确性、一致性和安全性要求极高,且涉及复杂的关联操作(如转账、对账),是关系型数据库的经典应用场景。A场景更适合时序数据库,B场景(评论、点赞)可能更适合文档型或键值型数据库,D场景(缓存)通常使用内存数据库如Redis。
答案:B
解析:内容管理系统(如博客、CMS)中的文章数据是典型的文档型数据,一篇文章(一个文档)包含多个字段(标题、作者、内容等),且结构可能因需求而变化(如新增“标签”字段)。文档型数据库(如MongoDB)以JSON/BSON格式存储数据,天然支持这种半结构化、灵活可变的模式,并且能轻松处理嵌套的评论信息。
答案:B
解析:数据库智能化旨在利用AI/ML技术提升数据库自身的“智商”。智能查询优化器可以学习查询历史、数据分布等,动态选择或生成最优的执行计划,甚至进行参数自动调优,这是数据库在“性能优化”方面智能化的核心体现。A属于数据集成,C属于安全,D属于数据分析,都不是针对数据库“自身性能优化”的。
答案:B
解析:自动化运维(AIOps)是数据库智能化的重要应用领域。它利用机器学习模型对数据库的运行指标(如CPU、内存、慢查询、锁等待)进行实时监控和分析,能够自动发现异常模式、预测性能瓶颈,并可能触发自动修复动作或告警,从而实现预防性维护和快速故障响应。
答案:关系型、键值对
解析:这是云数据库的基本分类。关系型数据库以SQL为主要操作语言。非关系型(NoSQL)数据库主要类型包括:文档型(如MongoDB)、键值对型(如Redis)、列族型(如HBase)、图形数据库等。
答案:高可靠性、高灵活性
解析:这是对云计算核心特性的总结。高可靠性通过冗余和分布式架构实现;高灵活性体现在服务模型和资源选择的多样性上。
答案:高效存储(或数据管理与访问、存储支持等,意思相近即可)
解析:本题强调数据库在AI应用中的基础支撑作用。无论在哪个领域,AI模型都需要从数据库中高效地读取训练数据和实时数据,并将结果写回。因此,数据库的核心功能就是提供高效、可靠的数据存储与访问服务。
答案:高速(Velocity)
解析:“Velocity(高速)”不仅指数据产生的速度快(如流数据),也指数据的变化和流动速度快,要求处理系统能实时或近实时地处理数据,并适应数据的动态变化。
答案:真实性(Veracity)
解析:“Veracity(真实性)”是大数据“5V”特性之一,强调数据质量的重要性。大数据中混杂着大量噪声、不一致甚至错误的数据,如何清洗和验证数据,确保分析基础的真实可靠,是大数据治理的重要课题。
答案:关系型
解析:这是对关系型数据库基本特征的描述。它以二维表为基本数据结构,遵循严格的模式(Schema),使用SQL进行管理和查询。
答案:时序(Time-Series)
解析:时序数据库是专门为处理时间序列数据优化的数据库。它针对时间戳索引、数据压缩、时间窗口聚合查询等场景进行了特殊设计,比通用数据库在此类应用上性能更高。
答案:动态可扩展(或弹性)
解析:动态可扩展(弹性伸缩)是云计算的标志性能力。它允许用户根据负载情况,自动或手动地增加或减少资源,实现资源利用率最优化和成本节约。
答案:(题目为陈述句,无需填空)
解析:这是对虚拟化技术的描述,它是实现云计算资源共享和隔离的基础技术。
答案:按需部署(或按需付费)
解析:与选择题第10题对应。按需付费模式将高昂的固定资产投入转变为可预测的运营费用,降低了创业的门槛和风险。
答案:A、C、D
解析: 这道题正确,说明E-R图中存在“顾客”、“物品”和“订购”三个实体,且“订购”是“顾客”与“物品”之间的多对多(M:N)联系。
答案:A、C
解析: 这道题错误,说明E-R图中“教师”与“部门”之间可能是多对一(N:1)或一对一(1:1)的联系,且教师实体为“N”端。
答案:A、C
解析: 这道题错误,说明E-R图中“医生”与“科室”之间很可能是多对一(N:1)的联系,即一个科室拥有多名医生,一名医生属于一个科室。
答案:B、A
解析: 这道题错误,说明E-R图关系复杂。需要分情况讨论: 情况一(最常见): 如果“科室”与“病房”是一对多(1:N)关系(一个科室有多个病房,一个病房属于一个科室)。
答案:A,C
解析: 这道题的正确选项组合表明,“病人”与“病房”之间是多对多(M:N)的“入住”联系。一个病人可能在不同时间入住不同病房,一个病房在不同时间会入住多个病人。