关系模式规范化实例析解

合集下载

泛关系模式的规范化处理及其实例研究

泛关系模式的规范化处理及其实例研究
W ANG o qn Gu — ig
(l tn Ee r i I o ao ni en eatet P tnU i rt, ua 5 10 C i ) c o c& n r tnE g er gDpr n, ua n esy P tn3 10 ,hn fm i n i m i v i i a
 ̄ : h sp p rd s u s s n v ra lt n l o c ps ie otm- p a po c o d tb s e i ae i u ies lrlt n l T i a e i s e ie s l eai a n e t ,sr sab t c u r o c o u p r a hfr aa aed sg b s d Ol n v ra eai a n o d c mp s in t r v n ep si l c ur r eo p ae a o l s a d rd c e o o io p e e t h o s e 0 c r l f d t n ma e n u e t o t b ec u i e
维普资讯
20 第 6期 06年
计 算 删 椰

与 现 代 化 Y U ⅪA D Ⅲ I N A y A
总 第 10期 3
文章 编号 :062 7 (0 60 - 5 -3 11 - 520 )60 8 3 4 0 0
泛 关 系模 式 的规 范 化处 理 及其 实例 研 究
的基本思想是逐步消除数据依赖 中不合适的部分 , 消 除各类操作异常, 减少数据的冗余。
定义 3 1 设 R u 是一个属性集 u上 的关 系模 式 , . () X是
u的一个子集 。如果 ) u在 R上 成立 , 那么 称 X是 R的一 个超键 。如果 ) u在 R上 成立 , 但对 于 X的任一 真子 集 X1 都有 x 一u不成立 , 1 那么称 X是 R上的一个候选键 。

关系模型规范化

关系模型规范化

规范化的必要性
❖ 关系模式的简化定义 ❖ 数据依赖 ❖ 数据依赖对关系模式影响
关系模式的简化定义
关系模式由五部分组成,即它是一个五元组:
R(U, D, DOM, F)
R: 关系名 U: 组成该关系的属性名集合 D: 属性组U中属性所来自的域 DOM: 属性向域的映象集合 F: 属性间数据的依赖关系集合
第三范式 (3NF)
➢ 采用投影分解法将一个2NF的关系分解为多个3NF的 关系,可以在一定程度上解决原2NF关系中存在的插入异 常、删除异常、数据冗余度大、修改复杂等问题。
➢ 将一个2NF关系分解为多个3NF的关系后,仍然不能 完全消除关系模式中的各种异常情况和数据冗余。
关系模式的规范化
1. 规范化的必要性 2. 规范化 3. 小结
数据依赖对关系模式的影响
把这个单一模式分成3个关系模式: S(Sno,Sdept,Sno → Sdept) SC(Sno,Cno,Grade,(Sno,Cno) → Grade) DEPT(Sdept,Mname,Sdept→ Mname)
关系模式的规范化
1. 规范化的必要性 2. 规范化 3. 小结
➢ 分解后的关系模式S-D与D-L中不再存在传递依赖
第三范式(3NF)
S-D的码为Sno, D-L的码为Sdept
S-D
D-L
Sno
Sdept
Sdept
Sloc
S-L(Sno , Sdept , Sloc) ∈ 2NF
S-L(Sno , Sdept , Sloc) ∈ 3NF S-D(Sno ,Sdept) ∈ 3NF D-L(Sdept , Sloc)∈ 3NF
关系模式的简化表示
➢ 关系模式R(U, D, DOM, F)

浅析关系数据库的规范化设计

浅析关系数据库的规范化设计

现实世界随着时间的变化 , 不同时刻构成数据的关 系
世界 , 再将信息世界转化 为计算机世界?实现在信息管理 系统开发中所 需的数据 库呢?在把现实 世界抽象 为信息 世界的过 程中 , 实际上是抽象 出现实世界 中有应用价值 的 元素及其关联 , 在这一 描述与转换 过程 中, 一种 简单实 用 的方法是采用实体 一 联系模型分析方法( E—R分 析图 即 表示 法) 运用 E—R分 析工具 所形成 的分析结 果就 是 E ,
方 鹏
( 湖北工业大学 , 湖北武 汉, 304) 4 07

[ 摘
要】 数据库分析设计是 数据库应用 系统开发过程 中最重要 的环 节, 数据库设计 的好坏将直接影响整 个应 用 系统
的性 能, 本文围绕关 系数据库设计 中关系规范化 的理论与 实践 , 剖析 了范式规 范化 的一般原 理、 法与 步骤 , 方 以供数据 库
关系数据库规范化设计 的基础理论与技术 , 这种理论就是 范式理论 , 这种技术就是为满足 决策 支持及特殊数据存储
式构架 , 是对现实世界中各种事物或实体特征的数字化模 拟和抽象 , 用以表示 现实世界中的实体及实体间的联系使
的需要而涉及 到的数据仓库技术 , 本文 主要针对范式规范
化 加 以阐 述 。
2 1 年 5月 01
湖北成人教育学 院学报
J un l fHu e d l E u ainI s tt o ra B iA ut d c t n tue o o i
Ma y,2 0 1 1
第1 7卷
第 3期
V0 .1 N O 3 1 7 .
浅 析 关 系数 据 库 的 规 范 化 设 计
间 的联系为 5 F N ?B N ?3 F N ?1 F 1 F的 N ?4 F C F N ?2 F N 。N 概念为 : 若有一个关系 R, 其所有 的属性 都 是基本 的原子

数据库范式与关系模式示例

数据库范式与关系模式示例

补充讲义一、范式举例BCNF.如:课程号与学号)例4:R(X,Y,Z),F={XY->Z},R为几范式?BCNF。

例5:R(X,Y,Z),F={Y->Z,XZ->Y},R为几范式?3NF。

R的候选码为{XZ,XY},(R中所有属性都是主属性,无传递依赖)二、求闭包数据库设计人员在对实际应用问题调查中,得到的结论往往是零散的、不规范的(直观问题好办,复杂问题难办了),所以,这对分析数据模型,达到规范化设计要求,还有差距,为此,从规范数据依赖集合的角度入手,找到正确分析数据模型的方法,以确定关系模式的规范化程度。

例1.已知关系模式R(U、F),其中,U={A,B,C,D,E}; F={AB→ C, B→ D, EC → B , AC→B} ,求(AB)+F.解:设X(0)=AB○1计算X(1),在F中找出左边为AB子集的FD,其结果是:AB→C,B→D∴X(1)=X(0)UB=ABUCD=ABCD 显然,X(1)≠X(0)○2计算X(2),在F中找出左边为ABCD子集的FD,其结果是:C→E,AC→B∴X(2)=X(1)UB=ABCDUBE=ABCDE 显然,X(2)=U所以,(AB)+ F=ABCDE.(等于U,所以AB是唯一候选关键字)例2.设有关系模式R(U、F),其中U={A,B,C,D,E,I};F={A→D,AB→E,B→E,CD→I,E→C},计算(AE)+解:令X={AE},X(0)=AE○1在F中找出左边是AE子集的FD,其结果是:A→D,E→C∴X(1)=X(0)UB=X(0)UDC=ACDE 显然,X(1)≠X(0)○2在F中找出左边是ACDE子集的FD,其结果是:CD→I∴X(2)=X(1)UI=ACDEI显然,X(2)≠X(1),但F中未用过的函数依赖的左边属性已含有X(2)的子集,所以不必再计算下去,即(AE)+=ACDEI.因为,X(3)=X(2),所以,算法结束。

数据库课件第4章关系数据库(RDB)规范化设计理论

数据库课件第4章关系数据库(RDB)规范化设计理论


3. 完全函数依赖与部分函数依赖
完全函数依赖: 在关系模式R(U)中,如果X→Y,并且对于X的任何一 个真子集X′,都有X′ Y,则称Y完全函数依赖于X, 记作X f Y。 部分函数依赖: 若X→Y,但Y不完全函数依赖于X,则称Y部分函数依 p Y。 赖于X,记作X



例8: 学生(学号,姓名,所在系,系主任姓名,课程号,成绩) 学生关系模式存在的部分函数依赖: p (学号,课程号) 姓名 p 所在系 (学号,课程号) p (学号,课程号) 系主任姓名
教师姓 名
李林 78号
住址
课程号
C1
课程名
N1
李林
李林 汪佳 吴仪
78号
78号 59号 79号
C2
C3 C4 C5
N2
N3 N4 N5
师帆
76号
C6
N6

⑷当执行数据插入时,DB中的数据不能产生插入 异常现象 所谓“插入异常”是指希望插入的信息由于不 能满足数据完整性的某种要求而不能正常地被 插入到DB中的异常问题。 比如:上例中插入一个尚未安排授课的新进教师 信息. 原因: 因多种信息混合放在一个表中,可能造成因一 种信息被捆绑在其他信息上而产生的信息之间 相互依附存储的问题,使得信息不能独立插入。
第4章
关系数据库(RDB)规范化理论
4.1 关系模式规范化的必要性 4.2 数值依赖 4.3 范式与规范化 、关系分解原则






RDB规范化理论的目的是要设计“好的”RDB模式。要设计 好的关系模式,必须是关系满足一定的约束条件,此约束 形成了规范。 范式(Normal Form):衡量DB规范的层次或深度,DB规范化 层次由范式来决定。简记作NF. 根据关系模式满足的不同性质和规范化的程度,将关系模 式分为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、 BC范式、第四范式(4NF)、第五范式(5NF),范式越高规范 化程度越高。 规范化:低级关系模式通过模式分解转换为若干高级范式 的关系模式集合的过程。 规范化是在RDB中减少数据冗余的过程。

关系规范化理论及反规范化设计在数据库中的运用

关系规范化理论及反规范化设计在数据库中的运用
维普资讯
科技信息
0计算机 与信 息技术 O
SIN E&T C N L G N O M TO CE C E H O O YIF R A IN
20 07年
第 2 期 l
关系规范化理论及反规范化设计在数据库中的运用
李 荣 芳 ( 陕西 邮 电职 业技术 学 院计算 机 系 陕西
D S S O,N, E T)S 关 系模 式 的角 度 来 看 , 有满 足 第 三 范 式 或 B N 只 C F的 表结 构 是 最 容 易 取 出 来 ,把 表 分 解 为 S和 S 两 张 关 系 , 即 : (N S D P ,D D P MN) 两 张关 系 通 过 S的外 键 D P , E T来 联 接 。 维护 的, 而且 可 以基 本 满 足 实 际 应 用 的 要 求 。对 关 系 的规 范 化 处 理 具 ( E T, C, N 但 有 很 多 优 点 : 低 数 据 冗 余 , 免 了数 据 库 的修 改 异 常 , 入 异 常 和 删 分析 S 虽满足 3 F, 仍存在以下问题 : 降 避 插 除 异 常 ; 且 也 加 快 了单 表 查 询 的速 度 。 而
关 键 词 : 据 库 设 计 ; 范化 ; 规 范化 数 规 反
1引 言 .
在 关 系 数 据 库 设 计 中 , 范 化 是 一 个 很 重 要 的概 念 。 数 据 库 的 设 规
S O一 >S DEPI > ’ M 一
23第 三范式(N ) 若某关系模式 满足 2 F. , 3F N 且关系 中每一 个非 则 N。 计是 否 合 理 . 接 影 响 到 数 据 库 的 性 能 。 自 2 直 0世 纪 7 O年 代 首 次 提 出 主 属 性 都 直 接 函 数 依 赖 于侯 选 关 键 字 , 称 该 关 系 满 足 3 F 要 使 S NF 只要 去掉 S中的传递函数依赖 即可 , 将传递 函数依赖单 独 关 系 规 范化 理 论 以 来 , 系 规 范 从 第 一 范 式 提 高 到 第 五 范 式 , 是 从 满足 3 , 关 但

第4章+关系规范化理论 (数据库原理及应用) PPT

第4章+关系规范化理论 (数据库原理及应用) PPT

100101
姜珊

信电学院 C150101 数据结构
100101
姜珊

信电学院 C150103 数据库
120102
陈默

管理学院 C150102 操作系统
120102
陈默

管理学院 C150103 数据库
130103
孙浩

外语学院 C150100 计算机基础
Score 78
70 85 68 82 72
模式分解后,消除了原关系S中的部分函数依赖,即S1、 S2、S3 3个关系模式都不存在部分函数依赖,S1、S2、S3 都属于2NF。
PNO,PN,COLOR,PRICE,SNO商店号, SN商店名称,CITY所在城市, QTY销售 商品数量
❖(SNO,SN,CITY,PNO,PN,COLOR, PRICE,QTY)
(1)如果X→Y,且YX,则称X→Y是平凡的函数依赖。
YX
(2)如果X→Y,但
,则称X→Y是非平凡的函数依赖。
(3)如果X→Y,则称X为决定因素(Determinant),称Y
为依赖因素(Dependent)。
(4)如果X→Y且Y→X,则记作X←→→Y。
(5)如果Y不函数依赖于X,则记作X Y 。
4.3.2 第二范式(2NF)
定义4.5:如果关系模式R∈1NF,且每个非主属性 都完全函数依赖于主键,则称R属于第二范式,记为 R∈2NF。
由定义可知,如果某个1NF的关系的主键只由一个属 性组成或关系的全体属性均为主属性,那么这个关系就是 2NF。如果主键是由多个属性列共同构成的复合主键,并 且存在非主属性对主属性的部分函数依赖,则这个关系就 不是2NF。

关系模型设计(范式)_图文

关系模型设计(范式)_图文
定义:在关系模型中的每一个具体关系R中, 如果每个属性 都是不可再分的,则称R属于 第一范式(1NF),记作R∈1NF。
第一范式(1NF):数据库表中的字段 都是单一属性的,不可再分。
字段1
字段2
字段3
字段4
第一范式(1NF)
• 例如,如下的数据库表是符合第一范式的:
字段1 字段第2 一范式字(段13NF) 字段4
第二范式举例
• 假定选课关系表为SelectCourse(学号, 姓名, 年 龄, 课程名称, 成绩, 学分),关键字为组合关键字( 学号, 课程名称),因为存在如下决定关系: (学号, 课程名称) → (姓名, 年龄, 成绩, 学分)
这个数据库表不满足第二范式,因为存在如下决 定关系:
(课程名称) → (学分) (学号) → (姓名, 年龄)
关系模式规范化的作用

关系数据库的设计主要是关
系模式设计。关系模式设计的好
坏直接影响到数据库设计的成败
。将关系模式规范化,是设计较
好的关系模式的惟一途径。

关系模式的规范化主要是
由关系范式来完成的。
关系范式
所谓范式(Normal Form,NF)是指规 范化的关系模式。由规范化程度不同,就产 生了不同的范式。根据满足条件的不同,经 常称某一关系模式R为“第几范式”。
• 原则:遵从概念单一化 “一事一地”原则,即一个关系 模式描述一个实体或实体间的一种联系。
• 方法:将关系模式投影分解成两个或两个以上的关系模式 。
• 要求:分解后的关系模式集合应当与原关系模式“等价” ,即经过自然联接可以恢复原关系而不丢失信息,并保持 属性间合理的联系。
关键字段 → 非关键字段x → 非关键字段y
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关系模式规范化实例析解
摘要:关系模式是关系数据库的重要组成部份,其规范化理论在整个模式设计中占有主导地位。

下面我们试图采用接近课堂教学的方式给出一个完整实例,希望对初学者有所帮助。

关键词:关系模式;规范化;函数依赖;范式
众所周知,关系模式是关系数据库的重要组成部份,其好坏直接影响关系数据库的性能。

而关系模式的设计必须满足一定的规范化要求,从而满足不同的范式级别。

[1](P.46-52,57)在指导关系模式的设计中,规范化理论占有着主导地位,其基本思想是:消除数据依赖中不合理的部份,使各关系模式达到某种程度的分离,使一个关系仅描述一个实体或者实体间的一种联系。

[2]关系模式及其规范化的理论是我们设计和优化关系模式的指南。

作为一种优秀而成熟的理论,学习和实践会有一定的难度,但在因特网和相关书籍中难得有比较全面的实例,给我们学习和实践造成不便。

下面,我们试图采用接近课堂教学的方式给出一个完整的析解实例,以期对初学者有所帮助。

一、实例
假设某商业集团数据库中有一关系模式R(商店编号,商品编号,数量,部门编号,负责人),如果规定:
(1)每个商店的每种商品只在一个部门销售;
(2)每个商店的每个部门只有一个负责人;
(3)每个商店的每种商品只有一个库存数量。

试回答下列问题:
(1)根据上述规定,写出关系模式R的基本函数依赖;
(2)找出关系模式R的候选关键字;
(3)试问关系模式R最高已经达到第几范式为什么
(4)如果R已达3NF,是否已达BCNF 若不是BCNF,将其分解为BCNF模式集。

二、预处理
为了方便,我们用代号代表每个属性:
A—商店编号B—商品编号
C—部门编号D—数量
E—负责人
这样,有关系模式:R(U,F)U={A,B,C,D,E}
三、根据上述规定,写出关系模式R的基本函数依赖
为了消除关系模式在操作上的异常问题,优化数据模式,我们需要对关系模式进行规范化处理。

而首先需要做的就是函数依赖,以便能确切地反映实体内部各属性间的联系。

[2](P.经过对数据语义的分析我们得出下面的依赖关系:
1.语义:每个商店的每种商品只在一个部门销售,即已知商店和商品名称可以决定销售部门
例:东店——海尔洗衣机———定在家电部销售
所以得出函数依赖:AB→C
2.语义:每个商店的每个部门只有一个负责人,即已知商店和部门名称可以决定负责人
例:东店——家电部——部门经理一定是张三
所以得出函数依赖是:AC→E
3.每个商店的每种商品只有一个库存数量,即已知商店和商品名称可以决定库存数量
例:东店——海尔洗衣机——库存10台
所以得出函数依赖是:AB→D
这样:在关系模式R(U,F)中,基本函数依赖集是:F={ AB→C ,AC→E,AB→D }。

四、找出关系模式R的候选关键字
根据函数依赖和关键字的基本定义,我们可以说:只有在最小函数依赖集中才能科学、正确地寻找候选关键字。

那么何为最小函数依赖集又怎么求出F的最小函数依赖集呢根据函数依赖的相关定理我们得知:给定函数依赖集F,如果F中每一函数依赖X->Y∈F满足:(1)X->Y的右边Y为单个属性(F为右规约的);(2)F为左规约(即F中任一函数依赖X→Y∈F的左边都不含多余属性);
(3)F为非冗余的(即如果存在F的真子集F’,使得F’≡F,则称F是冗余的,否则称F是非冗余的);则称F为最小函数依赖集,或称F是正则的。

每一个函数依赖都等价于一个最小函数依赖集。

[3](P.150)按照上面的三个条件进行最小化处理,我们可得到一个求最小函数依赖集方法:第一步,为满足条件1,根据分解性把右侧是属性组的函数依赖分解为单属性的多个函数;第二步,为满足条件2,逐一考察最新F中的函数依赖,消除左侧冗余属性;为满足条件3,逐一考察最新F中函数依赖X->Y,检查X->Y是否被F-{X->Y}所蕴涵,如果是,则X->Y是冗余的,可以删除。

[4]所以,F的所谓最小函数依赖集就是去掉了多余依赖的F。

按上面提供的算法依据具体计算如下:
1.根据分解性先分解所有依赖的右边为单属性:
可以看出:F={ AB→C ,AC→E,AB→D }中所有依赖的右边已为单属性。

2.对所有依赖的左边为多属性的情况,消除左侧冗余属性:
下面计算判断AB→C中有无无关属性:
(1)设A→C,在F={ AB→C ,AC→E,AB→D }中计算A的闭包A+ :
首先,初始化A+ = {A};经观察,在F={ AB→C ,AC→E,AB→D }中,属性A不能“带进”任何
属性。

即A的闭包A+ 就是{A},也就是A+ = {A},所以AB→C中B不是无关属性。

(2)设B→C,在F={ AB→C ,AC→E,AB→D }中计算B的闭包B+:
首先,初始化B+ = {B};经观察,在F={ AB→C ,AC→E,AB→D }中,属性B不能“带进”任何属性。

即B的闭包B+就是{B},也就是B+ = {B},所以AB→C中A不是无关属性。

(3)同理,AC→E和AB→D中左边亦无无关属性。

3、下面计算在F={ AB→C ,AC→E,AB→D }中有无冗余依赖:
我们去掉AB→C,依赖集变为F={ AC→E,AB→D }。

首先,初始化{AB}+ = {A,B} ;在F={ AC→E,AB→D }中,有AB→D,即AB可以“带进”D属性,这时{AB}+ = {A,B,D};经观察已不能再“带进”其它属性。

即{AB}的闭包{AB}+ 就是{A,B,D},也就是{AB}+ = {A,B,D}。

因为{A,B,D}中不包含C,所以我们说AB→C不是冗余依赖。

同理计算,AC→E和AB→D亦不是冗余依赖。

到此,才能肯定F={ AB→C ,AC→E,AB→D }已是最小函数依赖集。

4、寻找候选关键字也需要一定的计算,下面计算R的候选关键字:
在F={ AB→C ,AC→E,AB→D }中,我们对所有属性进行归类如下:
L类属性,即仅在依赖左边出现的属性:A,B
R类属性,即仅在依赖左边出现的属性:E,D
LR类属性,即既在依赖左边又在依赖右边出现的属性:C
N类属性,即既不在依赖左边又不在依赖右边出现的属性:无
我们知道,L类属性和N类属性一定在候选关键字中,R类属性一定不在候选关键字中。

所以,A,B一定在候选关键字中,E,D一定不在候选关键字中。

这是定性的结果。

具体的候选关键字是什么呢
首先,计算L类属性AB的闭包:{A,B}+ ={A,B,D,C,E},因为AB的闭包{A,B,D,C,E}
已经包含了所有R的属性,所以,{A,B}是唯一候选关键字。

对于LR类属性参与候选关键字的相关计算稍嫌复杂,但这里已经找出了关系模式R{A,B,C,D,E}的唯一候选关键字。

[3](P.148-150)
五、关系模式R最高已经达到第几范式为什么
很明显,关系模式R(A,B,C,D,E)中的所有属性值都是不可再分的原子项,所以该关系模式已满足第一范式。

[1](P.53)那么关系模式R(A,B,C,D,E)是否满足2NF
根据范式的相关定义我们得知:如果关系模式R(U,F)中的所有非主属性都完全函数依赖于任一候选关键字,则该关系是第二范式。

[1](P.54)从上面的分析我们知道R(A,B,C,D,E)的唯一候选关键字是{A,B};非主属性是:C、D、E ;函数依赖集是{ AB→C ,AC→E,AB→D }。

所以:
AB→C
例:东店——海尔洗衣机———定在家电部销售
AB→D
例:东店——海尔洗衣机(——只在家电部销售)——库存10台
AB→E
例:东店——海尔洗衣机(——卖海尔洗衣机的部门——家电部)——部门经理是张三
关系模式R(A,B,C,D,E)已满足2NF。

进一步分析:非主属性C、D、E之间不存在相互依赖,即关系模式R(A,B,C,D,E)不存在非主属性对候选关键字的传递依赖,根据第三范式的定义,关系模式R(A,B,C,D,E)已满足3NF。

[1](P.55)
六、R已达3NF,是否已达BCNF 若不是BCNF,将其分解为BCNF模式集
由BC范式的定义得知:如果关系模式每个决定因素都包含关键字(而不是被关键字所包含),则R满足BC范式。

[1](P.56)分析:在F={ AB→C ,AC→E,AB→D }中,有依赖AC→E的左边{A,C}不包含候选关键字{A,B},即AC→E是BCNF的违例。

所以,关系模式R(A,B,C,D,E)不满足BCNF。

1、下面分解关系模式R(A,B,C,D,E):
分解3NF,有一定的规则。

从BCNF违例AC→E入手,我们得到两个新关系模式:R1(A,C,E)和R2(A,C,B,D)
R1由违例的所有属性组成,R2由违例的决定因素和R的其余属性组成。

即:R1(商店编号,部门编号,负责人),实际上描述了“负责人”这一件事。

R2(商店编号,商品编号,部门编号,数量),实际上描述了“商品库存”这一件事。

已经做到了“一事一地”的原则了,应该能符合更高的范式,但还得经过计算和判断。

2、下面我们判断R1是否满足BCNF:
对于一个新关系,不知道它的依赖集,不知道它的候选关键字,我们需要借助原R(A,B,C,D,E)的依赖集F={ AB→C ,AC→E,AB→D }。

相关文档
最新文档