数据库重点 期末/复试自用整理 (王珊版本)

这份重点是在准备复试时边看mooc上战神视频时边手打的。掐指一算已经是整整一个月前的事情惹。
把自己整理的重点放上来,希望能帮到期末、复试以及自学数据库的小可爱♥

  1. 数据库系统=数据库+数据库管理系统(核心)+数据库应用系统+数据库管理员(用户)。
  2. 数据:数据库中存储的基本对象;
  3. 数据库:长期储存在计算机内、有组织、可共享的大量数据的集合;
  4. 数据库管理系统:科学地组织和存储数据、高效地获取和维护数据的一组管理软件;
  5. 数据管理技术三阶段:人工管理阶段-文件系统阶段-数据库系统阶段;
  6. 数据库语言=DDL(定义)+DML(操纵)+DCL(控制)
  7. 数据库系统结构
  8. 数据库迭代:①层次型和网状型②关系型③面向对象
  9. 模式(Schema):对数据库中数据所进行的一种结构性的描述,即所观察到数据的结构信息.
  10. 视图(View)/数据(Data):某一种表现形式下表现出来的数据库中的数据.
  11. 三级模式
  12. 建立三级模式的功能是由SQL语言的数据定义功能实现的。
  13. External=User=局部,Conceptual=Logic=全局,Internal=Physical=物理/存储
  14. 两层映像
  15. 数据库系统结构为三级模式二级映像,对保证数据的独立性起重要作用。
  16. 在这里插入图片描述
  17. 简述模型、模式与具体值的联系和区别:
    (1)数据模型是用来表示信息世界中的实体及其联系在数据世界中的抽象描述,它描述的是数据的逻辑结构。
    (2)模式的主体就是数据库的数据模型。数据模型与模式都属于型的范畴。
    (3)所谓型,是指只包含属性的名称,不包含属性的值;而所谓值,是型的具体实例值,即赋了值的型。在数据库 中型就是数据库表的结构,而值就是数据库表中存储的记录。
  18. 数据库系统的数据独立性: 不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序.
  19. 在这里插入图片描述
  20. 关系数据模型三要素:数据结构、数据操作、完整性约束条件。
  21. 完整性约束=实体完整性+参照完整性+用户自定义的完整性.
  22. 实体完整性:关系的主码中的属性值不能为空值(不知道/无意义的值).
  23. 参照完整性:外码值或为引用的另一关系的主码的值或为空值.
  24. 数据库的安全性:保护数据库,防止未经授权或不合法的使用造成的数据泄露、更改或破坏。
  25. 数据库的完整性:数据的正确性和相容性,防止不和语义的数据进入数据库。
  26. 表=关系,列=属性/数据项/字段.行=元组/记录,标题=模式.
  27. 关系第一范式=属性的不可再分特性.
  28. 关系代数基本运算:并、差、积、选择、投影。
  29. 投影后若有重复元组应去除(因为集合中元素不可重复)。
  30. 关系代数书写顺序:a.选表b.做积c.选择定行/元组d.投影定列/属性。
  31. 在这里插入图片描述左外连接就是保持左边的表的元组数目不变。
  32. 运算符的优先次序:括弧>θ>存在>任意>¬>∧>∨
  33. 关系代数=安全的元组演算表达式=安全的域演算表达式。
  34. SQL语言具有关系代数和关系演算双重特点。高度非过程化,
  35. SQL语言:①DDL语句:Creat(建立),Alter(修改),Drop(撤销)
    ②DML语句:Insert,Delete,Update,Select
    ③DCL语句:Grant(授权),Revoke(撤销授权)。
  36. 修正基本表:
    Alter table tablename
    [add {colname datatype,…}] 增加新列
    [drop {完整性约束名}] 删除完整性约束
    [modify {colname datatype,…}] 修改列定义
  37. Drop table(撤销基本表)是撤销包含表格式、所有元组、导出视图等所有相干内容;
    Delete语句只是删除表中的元组。
  38. [not] Exists(子查询):子查询结果中有无元组存在
  39. Having子句,即分组过滤子句,需有group by子句支持
    Group by 分组条件[having 分组过滤条件]
    e.g.求有10人以上不及格的课程号。
    Select Cnum from sc where score<60
    Group by Cnum Having Count(*)>10;
  40. 并UNION,交INTERSECT,差EXCEPT
    语法格式:子查询{Union[ALL] | Intersect[ALL] | Except[ALL]子查询}
    不带all:自动删除重复元组;带all:保留重复元组。
  41. 假设一个元组在子查询1中出现m次,在子查询2中出现n次,则该元组在:
     子查询1 Intersect ALL 子查询2中,出现min(m,n)次;
     子查询2 Except ALL子查询2中,出现max(0,m-n)次;
     该元组在“子查询1 Union ALL 子查询2”中出现m + n次;
     该元组在 “子查询1 Union 子查询2”中出现m+n次;
     该元组在“子查询1 Union ALL 子查询2”中出现1次;
     该元组在 “子查询1 Union 子查询2”中出现1次;
     union all 允许2边记录出现重复,union 2边去重
  42. NULL:空值
     除is [not] null外,不满足任何查找条件
     若null参与算术运算,则算术表达式的值为null
     若null参与比较运算,则结果可视为false(SQL-92中视为unknown)
     若null参与聚集运算,则除count(*)之外其他聚集函数都忽略null

Inner join即关系代数中的θ-连接运算。
连接条件:
Natural:出现在结果关系中的两个连接关系的元组在公共属性上取值相等,且该属性只出现一次;
On<连接条件>:出现在结果关系中的两个连接关系的元组取值满足连接条件,且该属性出现两次;
Using(col):(col)是两个连接关系的公共属性的子集,元组在该子集上取值相等,且该子集属性只出现一次。
44. 等值连接与自然连接的区别与联系:自然连接是除去重复属性的的等值连接。自然连接一定是等值连接,反之不一定。等值连接要求相等的属性分量,但不一定是相同的属性,而自然连接必须是相同属性。等值连接不把相同的属性去掉,而自然连接去掉。
如R有属性组abc,S有属性组be,R与S等值连接结果属性组为a、R.b、c、S.b、e,自然连接结果属性组为abce。
45. 视图View=外模式+E-C映像
 视图是从一个或多个视图或基本表导出的虚表,数据库中只存放视图的定义,
 更新视图是指通过视图来插入、修改和删除数据。
 定义视图:create view view_name [(列名[,列名]…)]
As 子查询 [with check option]
 With check option指明当对视图进行insert,update,delete时,要检查进行变更的元组是否满足视图定义中子查询中定义的条件表达式。
46. 在这里插入图片描述
47. 数据库完整性(DB Integrity):DBMS应保证DB中的数据在任何情况下的正确性、有效性、相容性、 一致性。
 广义:语义完整性、并发控制、安全控制、DB故障恢复等;
 狭义:专指语义完整性。
 完整性约束条件作用对象:
列:对属性的取值类型、范围、精度等的约束条件;
元组:对元组中各属性间的联系的约束;
关系:对若干元组间、关系集合上以及关系间的联系的约束。
48. 数据库保护又叫做数据库控制,是通过四方面实现的,即安全性控制,完整性控制,并发性控制和数据恢复。
数据库的安全性是保护数据库,以防止因非法使用数据库,造成的数据泄漏,更改或破坏。
数据库的完整性是保护数据库中的数据的正确性,有效性,相容性。
并发控制是为了防止多个用户同时存取同一数据,造成的数据不一致。
数据库恢复是指将数据库从错误的状态恢复到某一已知的正确的状态
49. 触发器(Trigger):一种过程完整性约束,是一段程序,可以在特定时刻被自动触发执行,在某事件发生时(Before/After),对该事件产生的结果(每一元组/所有元组)检查条件search_condition,若满足条件则执行后面的程序段 。实现动态约束以及多个元组之间的完整性约束以实现DB动态完整。
50. 数据库安全性:DBMS应保证DB免受非法、非授权用户的使用、泄露、更改或破坏。
51. 授权命令:GRANT{all privileges | privilege{,privilege…}}
On [table] tablename |viewname
To {public |user-id{,user-id…}}
[with grant option] //允许传播权利
52. 强制安全性机制访问规则:
在这里插入图片描述
53. 关系模型是数据模型,E-R模型是概念模型。
54. 数据库的概念模型独立于具体的DBMS和机器。
55. E-R图建模关键是发现实体之间存在什么联系,其重点是发现实体之间联系的基数(即一个实体实例能够和另外实体的多少个实例发生联系)。
56. 模型与元模型的关系:模型是依据元模型中的抽象概念及其关系,对现实世界进行理解,获得具体概念及其具体关系所形成的;元模型是对模型的抽象,而模型是对现实世界的抽象;同一元模型,可以产生不同的模型;而同一现实世界,也可以产生不同的模型;相比元模型,模型是由一组具体概念及其之间关系构成的。
57. 数据库设计的过程:
需求分析(最困难)-概念结构设计(关键)-逻辑结构设计-物理结构设计-数据库实施-数据库运行和维护。
58. 概念设计阶段:ER图;
逻辑设计阶段:关系模式;
59. 合并ER图时的冲突:
1.属性冲突:域冲突、取值单位冲突;
2.命名冲突:同名异义、一义多名
3.结构冲突:同一对象具有不同抽象(如实体&属性)
60. 数据字典的内容和作用:
 数据字典是系统中各类数据的集合,内容通常包括:①数据项(数据的最小组成单位,若干个数据项可组成一个数据结构)②数据结构③数据流④数据存储⑤处理过程五部分。
 数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容,是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。
61. 在这里插入图片描述
在这里插入图片描述
62. 多值依赖:对于一个X值,会有一组Y值与之对应,记作X→→Y。
e.g:课程名/教师名多值决定上课时间与上课教室,即同一门课或同一教师对同一批学生可以在不同时间不同地点上课。
63. 在这里插入图片描述
64. 关系范式:
 第一范式1NF:关系模式中关系的每个分量都是不可分的数据项(值、原子);
 第二范式2NF:关系模式属于1NF且关系中每一非主属性完全函数依赖于候选键。
 第二范式3NF:关系模式属于2NF且关系中非主属性不传递依赖于候选键。
 BCNF:关系模式属于1NF且每一对函数依赖X→Y中的X都含有候选键,消除了主属性对候选键的部分和传递依赖。
 4NF:关系模式属于1NF且每一组多值依赖X→→Y的X必为超键。若有多值依赖,则一定依赖于候选键;消除了非主属性对候选键以外属性的多值依赖。
 W4NF:设R(U)∈3NF,R上任何互补多值依赖X→→Y和X→→(U-X-Y)中必有一个是函数依赖。
 定理:若R(U,F)∈BCNF,则R(U,F )∈3NF.
 定理:若R上仅存在函数依赖,则若有R∈BCNF即有R∈4NF,反之成立。
 定理:W4NF不一定是BCNF,反之亦然。
 多值依赖传递律:X→→Y,Y→→Z,则X→→Z-Y.
 若X→Y,则X→→Y。
 若X→→Y且X→→Z,则X→→YZ.
 若X→→Y,Z包含于Y且有与Y不相交的W使W→Z,则X→Z.
 若X→→Y且WY→→Z,则X→→Z-WY.
 若X→→Y,XY→Z,则X→Z-Y.
 若X→→Y,X→→Z,则X→→Y-Z,X→→Z-Y,X→→Y∩Z.
65. 模式分解:R(U)的分解是指用R的一组子集ρ={R1(U1),…Rk(Uk)}来代替它,其中U=U1∪…Uk.
对于R的任一关系r,它向ρ的投影连接记为mρ®:
mρ®=ΠR1®自然连接…ΠRk®=自然连接(i=1,…k)ΠRi®.

  1. 分解的无损连接性:R与ρ在数据内容方面是否等价;
    分解的保持依赖性:R与ρ在数据依赖方面是否等价。

  2. 规则:①r包含于mρ®,即分解后的模式进行投影连接后内容要多于原来的模式;
    ②若s=mρ®,则ΠRi(s)=ri,即投影连接后的内容在分解的关系模式上再次投影所得就是该关系模式的关系内容;
    ③mρ(mρ®)=mρ®,即连接投影后再次连接投影内容不变。

  3. 无损连接分解:r=mρ®.
    检验算法:
    ①构造Rρ表:以元素(属性)为列,关系子集(小模式)Ri为行。对第j元素,若有子集
    包含这个元素则取值为aj,否则取值为bij;
    ②对于每一个依赖X→Y,X值相同的行对应的Y值置为同值(优先置为aj);
    ③值全部更新完成后,若存在一行值全为a,则为无损连接分解。
    针对两个关系:
    在这里插入图片描述
    在这里插入图片描述

  4. 保持依赖分解: 所有R中的函数依赖X→Y中X、Y都包含于ρ中的某一组属性中。
    检验算法:对于R(U,F),U是属性全集,F是函数依赖集合,ρ={R1,…Rk}是R的分解。
    ①对ρ中的每一组属性集Ri,若函数依赖X→Y中的XY均属于Ri,则这些依赖就是依赖集F在Ri上的投影ΠRi(F).
    ②将所有投影结果并起来得G。若G包含原来的F则为保持依赖分解。

  5. 关系模式分解为BCNF:
    在这里插入图片描述
    在这里插入图片描述

  6. 关系模式分解成3NF:在这里插入图片描述
    有Ri包含候选键则为无损连接
    在这里插入图片描述

  7. 连接依赖:
    在这里插入图片描述

  8. 函数依赖是多值依赖的特例,多值依赖是连接依赖的特例。

  9. 关系规范化及目的:将低一级范式的关系模式通过模式分解转换为若干个高一级范式的关系模式的集合。控制冗余,避免插入异常、删除异常,从而增强数据库结构的稳定性和灵活性。

  10. 规范化的主要理论依据是关系规范化理论。

  11. 查询优化:分为语义优化(利用模型的语义及完整性规则优化查询)、语法优化/逻辑层优化(利用语法结构优化操作执行顺序:尽可能早做选择和投影运算)、执行优化/物理层优化(存取路径和执行算法的选择与执行次序优化)。
    总目标:选择有效策略,求得给定关系表达式的值;
    步骤:1.将查询转换成某种内部表示,通常是语法树;
    2.代数优化,根据一定的等价变换规则把语法树转换成标准(优化)形式;
    3.物理优化,选择底层的操作算法(对与语法树中的每一操作计算各种执行算法的执行代价、选择代价小的执行算法);
    4.生成查询计划(查询执行方案)

  12. 逻辑优化的策略/RDBMS查询优化的一般准则
    1)尽可能早做选择和投影(使中间结果变小,节省几个数量级的执行时间);
    2)把选择与投影串接起来同时做(一元运算序列可一起执行,只需对整个关系扫描一遍);
    3)把投影与其前或后的二元运算结合起来(在第一次用关系时去掉一些无关属性,避免多次扫描整个关系);
    4)把某些选择与其前的笛卡尔积合并成一个连接(RxS前有选择运算且其中有条件是R、S属性间比较的运算时将其转化为连接运算节省时间);
    *5)执行连接运算前对关系做适当预处理(文件排序、建立临时索引等使公共值高效联接);
    6)找出表达式里的公共子表达式(若结果不大则预先计算,视图情况下尤其有用)
    7)选取合适的连接算法。

  13. 事务Transaction:是用户定义的一个数据库操作序列,是不可分割的工作单位。要么都执行,要么都不执行。可以是一条SQL语句或一组SQL语句或整个程序(一个程序通常包含多个事务)。是恢复和并发控制的基本单位。
    结束标记:COMMIT/ROLLBACK。
    COMMIT:事务正常结束,提交所有操作(读+更新),对DB的更新永久生效。
    ROLLBACK:事务异常终止,回滚事务的所有更新操作,回到开始时的状态。
    特性:原子性Atomicity、一致性Consistency、隔离性Isolation、持续性Durability。
    一致性:事务执行结果必须使数据库中只包含成功事务提交的结果。
    隔离性:一个事务的执行不能被其他事务干扰,内部操作及使用数据对其他并发事务是隔离的,各事务间不能互相干扰。
    持续性:也称永久性Permanence,一旦提交对DB的改变是永久性的,接下来的其他操作或故障不对其结果产生影响。

  14. 事务故障:事务未运行至终止点而夭折。(输入数据有误、运算溢出、违反完整性限制、应用程序出错、并行事务死锁)
    恢复:撤销事务UNDO,强行回滚ROLLBACK,清除修改。

  15. 系统故障:整个系统的正常运行被破坏,所有事务夭折,内存数据库缓冲区信息丢失,外部存储设备不受影响。(操作系统或DBMS代码错误、操作失误、硬件错误、停电)

  16. 介质故障:硬件故障使外存数据丢失,可能性小破坏性大。(磁盘损坏、磁头碰撞、操作系统潜在错误、强磁场干扰)
    恢复:装入故障前某时刻数据副本,重做自此时始的所有成功事务,将已提交结果重新计入DB。

  17. 恢复操作的基本原理:冗余。即利用存储在系统其他地方的冗余数据来重建被破坏或错误数据。冗余数据即数据库副本+日志文件。
    如何建立冗余数据:数据转储backup、登录日志文件logging。

  18. 数据转储:将DB进行副本备份。
    按转储状态:
    静态转储:无事务运行时转储,DB处于一致性状态,期间不允许对DB进行存取、修改,实现简单,但降低了可用性。
    动态转储:与事务并发进行,期间允许对DB存取修改。不用等待事务结束,对转储期间事务活动进行登记生成日志文件,副本+日志才能对DB进行恢复。不会影响新事务的运行,但不能保证副本数据正确有效。
    按转储方式:
    海量转储:转储全部DB;增量转储:转储更新过的数据。海量方便,增量实用。

  19. 日志文件log:记录事务对DB的更新操作的文件。以记录为单位或以数据块为单位。
    log内容:事务的开始标记、结束标记、所有更新操作、相关内部更新操作。
    Log record内容:事务标识、操作类型、操作对象、旧值、新值。
    用途:进行事务故障恢复、系统故障恢复,协助副本进行介质故障恢复。

  20. 事务故障的恢复步骤:UNDO
    1.反向扫描文件日志,查找该事务的更新操作;
    2.对该事务的更新操作执行逆操作,将日志记录中的旧值写入DB;
    3.重复2,直到读到事务开始标记,恢复完成。

  21. 系统故障的恢复:UNDO未完成事务或REDO已完成事务。在系统重启时自动完成。
     当系统故障发生时,造成数据库处于一种不一致性状态的主要原因有两个:一个是一些未完成事务对数据库的部分更新已写入数据库中;另一个是一些已提交事务对数据库的更新还留在内存缓冲区,没来得及写回数据库。因此,基本的恢复操作分为以下两步:
    (1)根据日志文件建立重做队列和撤销队列:从头扫描日志文件,找出故障前已提交的事务记录,将其事务标识放入重做队列;还要找出故障前尚未完成的事务,将该事务放入撤销队列。
    (2)对重做队列中的事务进行重做处理,对撤销队列中的事务进行撤销处理。对重做处理,正向扫描日志文件,再根据重做队列,将已完成的事务的所有操作重新执行;对于撤销处理,反向扫描日志文件,再根据撤销队列,将未完成的事务的更新操作执行逆操作。

  22. 介质故障的恢复步骤:重装+REDO
    1.装入最新DB副本,使DB恢复最近一次转储时的一致性状态。
    2.装入有关日志文件副本,重做已完成的事务。
     在发生介质故障时,磁盘上的物理数据库被破坏,这时的恢复操作分为3步:
    (1)重装转储后的后备副本,使数据库恢复到转储时的一致性状态。
    (2)从故障开始,反向阅读日志文件,找出已经提交事务标记重做队列。
    (3)从故障开始,反向阅读日志文件,根据重做队列的记录,重做所有已完成的事务,将数据库恢复至故障前某一刻的一致性状态。

  23. 提高恢复效率的技术:检查点技术(系统故障/介质故障)、镜像技术(介质故障)

  24. 检查点checkpoint:若事务在检查点前提交,进行恢复处理时不进行redo操作。
    内容:建立时刻所有正在执行的事务清单以及这些事务最近一个日志记录的地址。
    恢复步骤:
    1.从重新开始文件中找到最后一个检查点记录在日志文件中的地址;
    2.由该地址在日志文件中找到最后一个检查点记录。

  25. 并发操作可能会产生的不一致情况:丢失修改、不可重复读和读脏数据。

  26. 在数据库中,产生数据不一致的根本原因是数据冗余。

  27. 数据冗余:各个数据文中存在重复的数据。

  28. 并发控制是保证数据库安全性的主要方法。

  29. 判断并发调度是否正确,可使用可串行化调度概念来解决。事务遵守完整性是可串行化调度的充分条件。

  30. 单处理机系统对于事务的并发执行方式为交叉并发方法。

  31. 并发控制机制的任务:对并发操作进行正确调度、保证事务隔离性、保证数据库一致性。
    主要技术:封锁locking、时间戳timestamp、乐观控制法optimisticscheduler、多版本并发控制MVCC等。

  32. 封锁:在事务T对某数据对象操作前向系统请求加锁,T释放锁之前其他事务不能更新此对象。是实现并发控制的一个非常重要的技术。
    类型:排他锁/写锁X(加锁后不允许其他事务再加锁)、共享锁/读锁S(加锁后其他事务只能再加S锁不能加X锁)。

  33. 封锁协议:运用X、S锁对数据对象加锁时需要遵守的规则。
    一级封锁协议:事务T在修改数据R之前必须先加X锁直到结束COMMIT/ROLLBACK才释放。防丢失修改,保证事务可恢复;不能保证可重复读和不读脏数据。
    二级封锁协议:一级+T在读取R前必须先加S锁,读完释放S。防丢失修改和读脏数据;不能保证可重复读。
    三级封锁协议:一级+T在读取R前必须加S锁直到事务结束后才释放。防丢失修改、读脏数据和不可重复读。

  34. 活锁:某一事务请求封锁某数据但一直处于等待状况。避免方法:先来先服务。

  35. 死锁 :两个及以上事务都已封锁某些数据。又都请求对已被对方封锁的数据加锁,出现死等待。避免方法:破坏产生死锁的条件。
    预防死锁方法:一次封锁法、顺序封锁法。
    诊断死锁方法:超时法、事务等待图法。
    解除死锁方法:撤销代价最小的事务,释放其锁。

  36. 可串行化:多个事务并发执行的结果与串行执行结果一致。是并发事务正确调度的准则。
    充分条件:冲突可串行化调度、两段锁协议2PL.

  37. 封锁粒度:越大-被封锁数据单元越少-并发度越小-开销越小。

  38. 关系代数中的除运算R÷S:设R(A,B,C),S(B,C,E)
    找在R中有但S中没有的属性A,共有属性BC,找出A中每一个值对应的BC值的象集(即BC属性的值的组合集),找出S在(B,C)上的投影集,A的哪个值对应的象集包含了该投影集则该值为运算结果。

  39. 建立索引:
    Create *UNIQUE index a on tablename(colname ASC/DESC,colname2 ASC/DESC…);
    建立视图:
    Create view viewname as select colname,colname2… from tablename where…;

  40. 简述数据管理技术的发展过程:
    1.人工管理阶段(40年代中-50年代中)
    2.文件系统阶段(50年代末-60年代中)
    3.数据库系统阶段(60年代末-现在)

  41. 什么是计算机系统安全性:
    为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。

  42. TCSEC/TDI安全级别划分有几个等级?
    四组七个等级,D,C(C1,C2),B(B1,B2,B3),A(A1).

  43. 模式/内模式映像为数据库提供了物理数据独立性。

  44. 保持无损分解为BCNF: R(U,F)
    1.找出R中候选码;
    2.选取某X不包含候选码的X→Y,将R分为R1(XY),R2(X+去掉XY后的R);
    3.计算R2的最小函数依赖集,求R2候选码,重复2步得R21,R22;
    4.求R22的最小函数依赖集与候选码,若满足BCNF,则分解结束,否则继续;
    5.分解结果为ρ={R1,R21,R22}.

  45. 保持依赖分解成3NF:
    1.先求最小依赖集Fm
    2.未出现的元素单独分成一个子集
    3.把Fm中每对 依赖单独组成一个子集(左部相同合并)
    4.添加候选码做子集即为无损连接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值