ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:39.75KB ,
资源ID:8564976      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8564976.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机等级考试四级数据库技术复习笔记2.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机等级考试四级数据库技术复习笔记2.docx

1、计算机等级考试四级数据库技术复习笔记22011年计算机等级考试四级数据库技术复习笔记(5)第五章 关系数据库逻辑设计5.1 概述5.2 基本概念5.2.1 关系模型1、 关系模型采用一个二维表格在计算机中组织、存储、处理和管理数据。(1) 关系名(数据库名):由字母数字组成;(2) 属性名;(3) 关系模式和关系:描述模式描述关系的静态结构,由模式名、关系模式所包含的属性及属性值所满足的条件组成模式定义。(4) 元组:描述关系中的行;(5) 域:它定义关系的每个属性取值的类型;(6) 主码:能够惟一标识关系中每一个元组的属性或属性组;(7) 关系的数学定义:关系模式是建立在集合集论的基础上的,

2、用数学的概念定义关系有;(A) 定义一:域是值的集合,同一个域中的值具有相同的数据类型;(B) 定义二:(C) 定义三:(D) 当关系引用了属性名后关系具有以下属性:1 不能有重复的元组;2 元组上下无序;3 按属性名引用时属性左右无序;4 所有属性值都是原子项(不可再分);(8) 总结:关系是一张二维表,表中的一行被称为一个元组,一列称为属性,由一组域值组成。关系是元组的集合,关系中的每个元组在数学上被定义为这个关系所涉及的全部域值中笛卡儿积的一个元素。5.2.2 关系数据库1、 关系数据库是按照二维表组织和存储的相互关联的关系的集合,关系数据库模式是关系模式的集合;5.2.3 关系的完整性

3、1、 关系的完整性(完整性约束):是对关系的某种约束规则和关系满足的定义。通常这组约束规则用来限定和检查数据库所含实例的合法性和正确性;2、 完整性约束分静态和动态两种,静态完整性约束是基于关系模式的,主要有主码、外码约束和域约束组成;动态完整性约束是基于企业的业务规则的。3、 静态完整性约束规则:(1) 主码约束:主码必须满足:(A) 惟一性:在一个关系中不存在两个元组,它们具有相同的主码值;(B) 最小性:不存在从组成主码的属性集中去掉一个属性,还仍能保持数据的惟一性;(2) 外码约束:(3) 用户定义的完整性:5.3 关系数据库设计理论5.3.1 问题的提出究竟一个关系数据库包含哪些属性

4、是合理的,如何评价一个关系模式设计的优劣?5.3.2 函数依赖函数依理论利用一个关系中属性之间的依赖关系评价和优化关系模式,以保证存储到数据库中的关系具有较好特性;1、 函数依赖:(1) 设R(U)为一关系模式,X和Y为属性全集U的子集,若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数决定Y”或“Y函数依赖于X”,并记作XY,其中X称为决定因素,因为根据函数依赖定义,给定一个X,就能惟一决定一个Y。(2) 这里讨论的函数关系与数学上的不同,是不能计算的,是一个关系中属性之间存在的依赖关系;它是一种语义范畴的概念,只能根据两个属性

5、之间的语义来确定一个函数依赖是否存在。2、 完全与部分函数依赖:(1) 在关系模式R(U)中,如果XY成立,并且对X的任何真子集X不能函数决定Y,则称Y对X是完全函数依赖,被记作X-f-Y。(2) 若XY,但Y不完全函数依赖于X,则称Y对X是部分函数依赖,记作X-pY;3、 传递函数依赖:在关系R(U)模式中,如果X决定Y,(Y不属于X),Y不决定X,Y决定Z,则称Z对X传递函数依赖。4、 平凡与非平凡函数依赖:(1) 若X决定Y,但Y属于X,则称XY是平凡函数依赖,否则称非平凡函数依赖;(2) 即平凡函数依赖,仅当其右边的属性集是左边属性集的子集时成立;(3) 非平凡函数依赖,仅当其右边的属

6、性集至少有一个属性不属于左边有集合时成立;(4) 完全非平凡函数依赖:仅当其右边的属性集中属性都不在左边的集合时成立;5、 码:(1) 在关系模式R(U)中,K为R的属性或属性组,若K函数决定A1.A2.An,则K为关系模式R的候选码,包含在候选码中的属性称为主属性,否则为非主属性;(2) 若一个关系的候选码不止一个,则选定其中一个作为关系R的主码;(3) 关系的码属性除了必须完全函数决定关系的所有其他属性外,还必须满足最小化规则,即在关系模式R(U)中,不存在一个K的真子集能够函数决定R的其他属性。6、 函数依赖的推理规则:(1) 自反律:若Y(包含于)X(包含于)U,则XY成立;(2) 增

7、广律:若XY,且Z(包含于)U,则XZYZ成立;(3) 传递律:若XY,YZ,则XZ成立;(4) 合并规则:若XY,XZ成立,则XYZ;(5) 分解规则:若XY和Z(包含于)Y成立,则XZ也成立;(6) 伪传递规则:若XY,YWZ,则XWZ成立;7、 属性集闭包:(1) 设F是属性集U上的函数依赖集,X为U的一个子集,那么对于F,属性集X关于F的闭包(用X+表示)为:X+=A|XA(2) 由属性集团包的定义可知,若想判断函数依赖XY是否成立,只要计算X关于函数依赖集F的闭包,若Y是X闭包中的一个元素则XY成立;8、 确定关系的码:(1) 利用迭代算法计算X+,步骤如下:(A) 选X作为闭包X+

8、的初值X(0);(B) 由X(i)计算X(i+1)时,它是由X(0)并上属性集合A所组成,其中A满足下列条件:Y(包含于)X(i),且F中存在函数依赖YZ,而A(包含于)Z。因为U是有穷的,所以会得到X(i)=X(i+1),此时X(i)为所求的X+。5.3.3 规范化设计方法1、 第一范式:(1) 定义:设关系模式R(F,U),如果R的每一个属性都是不可分的数据项,则此关系模式为第一范式;(2) 一个给定关系和第一范式(1NF)的区别:(A) 一个关系中的数据按照行和列的形式组织,每个元组具有相同数目的属性个数,且每一个元组的属性值具有统一的数据类型和长度;元组或属性的排列与顺序无关,每个元组

9、必须通过一个属性或属性组惟一识别;(B) 第一范式实际上对关系增加了一个约束,即关系中元组的每个属性都只取一个值,第一范式是对关系模式的基本要求,不满足第一范式的数据库就不是关系数据库。2、 第二范式:(1) 定义:若关系模式R(F,U)是1NF,且每个非主属性完全函数依赖于码,则称R为第二范式,即在2NF中不存在非主属性对码的部分依赖;(2) 仅满足第一范式关系会存在种种问题,要消除必须用更高级的范式标准来设计,称为标准化;(3) 具体做法是将大的关系分解成多个小的关系,使分解后的关系满足更高级范式的要求。(4) 第二范式实际上对关系增加了一个约束,就是关系中的每一个属性必须完全依赖于主码,

10、即在第一范式的基础上,消除非主属性对主码的部分函数依赖可达到2NF;3、 第三范式:(1) 定义:若关系R(U,F)为第一范式,且不存在非主属性对主码的传递函数依赖,则称R为第三范式;(2) 第三范式是在第二范式的基础上对关系又增加了一个约束,就是关系中的每一个非主属性必须只依赖于主码。即2NF的基础上,消除非主属性对主码的传递函数依赖可达到3NF。4、 改进的第三范式:(1) 定义:如果关系模式R是1NF,且每个属性既不相存在部分函数依赖也不存在传递函数依赖于候选码,则称R是改进的第三范式(BCNF)。5、 多值依赖与4NF:(1) 多值依赖:表示关系中属性(如A、B、C)之间的依赖,对于A

11、的每个值,都存在一个B或C的值的集合,而且B和C的值相互独立,记为:AB、AC(2) 第四范式:如果关系模式R属于1NF,对于R的每个非平凡的多值依赖XY(Y不属于X),X含有候选码,则R是第四范式。即是从BCNF范式中消除主码内的独立依赖集(非平凡多值依赖)可达4NF;6、 连接依赖与5NF(1) 连锁依赖:设关系模式R,R的属性子集为R1、R2、R3、R4、R5、R6、R7.,当且仅当R的每个合法值等于R1、R2、R3、R4、R5、R6、R7的投影连接时,称R满足连接依赖;(2) 第五范式:设R是一个满足5NF的关系模式,当且仅当R的每一个非平凡连接依赖都被R的候选码所蕴含,即从4NF中消

12、除非候选码所蕴含的连接依赖为5NF;7、 总结:(1) 范式表达了关系模式满足的条件,也是衡量关系模式设计优劣的标准;(2) 利用范式进行规范化设计的目的是消除数据冗余,避免出现异常,使结构更合理;(3) 规范化设计的基本过程是对关系进行的分解,消除属性间不合理的数据依赖,用一组等价的子关系代替原有的关系;(4) 数据库规范化的程序越高,其关系表就越多,从而增加了表之间连接运算的代价,影响了数据库的执行速度和性能。所以通常关系模式规范化工作仅做到3NF,这样既使关系中不合理的属性基本消除,规范化程度也不太高,保证数据库有较好的性能。5.4 数据库模式设计5.4.1 初始关系模式的设计1、 把E

13、R图转换成关系模式:(1) 把ER模型中的每个实体集转换成一个同名的关系,实体集的属性就是关系的属性,实体集的码就是关系的码;(2) 把ER模型中的每个联系转换成一个关系,与该联系相连的各实体集的码以及联系的属性转换成为关系的属性。(A) 若联系为1:1,则每个实体集的码均是该关系的候选码;(B) 若联系为1:n,则关系的码为n端实体集的码;(C) 若联系为m:n,则关系的码为各实体集码的组合;(3) 合并具有相同码的关系2、 检查确认对象:检查转换后的每个关系名和属性名是否符合数据库设计关于统一命名的约定;5.4.2 优化关系模式1、 模式分解原则:(1) 分解具有无损连接性:分解后的关系能

14、够恢复成原来的关系;(2) 分解保持函数依赖:(A) 无损连接和保持函数依赖是用于衡量一个模式分解是否导致原有模式中部分信息丢失的两个标准;(B) 当一个关系被分解后会出现几种结果,既有无损连接,又能保持函数依赖是较理想的分解结果,意味着在分解的过程中没有丢失原有模式的任何信息;(C) 一般情况下,分解到3NF就足够了,但在3NF关系下,仍存在一定程度上的更新异常或不一致的隐患,但与数据库性能比较起来是可以忽略的,因为在数据库设计过程中通过增加一些数据约束,就可以解决3NF引起的数据问题了。3、 优化属性:确定各字段的类型和长度;4、 确认模式满足需要:5.4.3 数据完整性设计1、 指定义数

15、据库中存储的数据值满足的约束条件,通过对存储的数据值的约束维护关系的完整性。2、 数据值满足条件分为:(1) 域约束:限制指定列的取值及范围;(2) 主码约束:定义每个关系的主码值不空,且惟一;(3) 引用完整性约束:定义不同模式的属性间满足的条件,及一个关系模式中属性间可能满足的条件;5.4.4 安全模式和外模式的设计1、 根据选定的DBMS支持的安全控制特征来确定;2、 根据不同用户对数据库存取特点定义相关的外模式;2011年计算机等级考试四级数据库技术复习笔记(6)第六章 存储技术与数据库物理设计6.1 文件组织6.1.1 数据库的物理结构1、 数据库中的应用数据是以文件形式存储在外存上

16、的,文件在逻辑上被组织成记录的序列,即每个DB文件可看作是逻辑记录的集合;2、 一个文件在磁盘上占有一定的物理存储空间,文件中的每个逻辑记录被映射存储到某个特定的磁盘块上,一个文件在物理上可以看作是由存放文件记录的一系列磁盘块组成,称为物理文件;3、 文件的逻辑记录与磁盘间的映射关系是由操作系统或DBMS来管理的,当需要对一个文件的逻辑记录进行操作时,先要根据这种映射关系找到该逻辑记录所在的磁盘块,然后再进行操作。4、 从数据库物理结构角度需要解决如下问题:(1) 文件的组织;(2) 文件的结构;(3) 文件的存取;(4) 索引技术;6.1.2 文件组织1、 数据库与文件的对应关系(1) 在外

17、存中,数据库以文件形式组织,文件由逻辑记录组成,记录由多个域组成;(2) 一个关系数据库包括一张或多张关系表,关系表与文件的对应关系有如下方式:(A) 每张关系表单独用一个文件来存储,由DBMS通过OS的文件管理功能来管理;(B) 现代中大型DBMS是由OS直接分配一块大的磁盘空间,DBMS将该磁盘空间作为数据库磁盘文件直接管理,DB的所有关系表都存储在该文件中;(1) 关系表在逻辑上由一系列元组组成,元组由多个属性组成,每个元组可以用磁盘文件中的一个逻辑记录来存储,记录包括多个域,对应元组的多个属性;2、文件记录格式:(1) 数据库文件通常采用两种逻辑记录格式:定长记录格式和变长记录格式;6

18、.2 文件结构与存取6.2.1 堆文件1、 堆文件也称无序文件,记录随机在存储在文件物理空间是,新插入的记录存储在文件的末尾;2、 堆文件常常用作存储那些将来使用,但目前不清楚如何使用的记录,为了实现文件记录的有效存取,堆文件经常与附加的存取路径一起使用;3、 查找操行平均需要搜索(B+1)/2个磁盘块,效率比较低;4、 插入操作十分简单,先读文件头,找到最末磁盘地址,将最末磁盘块读入内存,将需插入的新记录写入磁盘块的末端,最后将修改过的磁盘块写回磁盘;5、 删除比较复杂,可以先找到被删除记录所在的磁盘块,读入内存后在内存缓冲区删除记录,最后再写回磁盘;也可以在每个记录的磁盘空间增加一个删除标

19、志位,当需要删除记录时,将标示位置1;6.2.2 顺序文件1、 顺序文件按照文件记录在查询码上的取值的大小顺序排列各个记录;2、 顺序文件的每个记录中有一个指针字段,根据查询码大小用指针将各个记录按序连接起来;3、 文件建立时,应尽量使记录的物理顺序与查找码的顺序一致,以减少访问磁盘块的次数;4、 根据查询条件对顺序文件进行查询时,如查询条件定义在查找码上,则使用二分法查找技术快速找到记录,如条件不在查找码上,则必须从头到尾依次扫描磁盘块,与堆文件一致,所以顺序文件的访问效率也不高;5、 顺序文件插入工作包括定位和插入:(1) 定位:在指针链中找到插入的位置,即插入记录在哪个记录的前面;(2)

20、 插入:如有自由空间,则在该位置插入新记录,如没有自由空间,则只能插入溢出块中,重新调整记录指针链关系,保证记录顺序;6.2.3 聚集文件1、 聚集文件是一种具有多种记录类型文件,存储了来自多个关系表的数据,每个关系表对应文件中的一种记录类型;2、 当数据库中数据量效大时,对数据库查询需要多次访问磁盘文件,严重影响性能指标,为了降低多表操作时的磁盘访问次数,提高多表查询速度,可采用聚集文件;3、 聚集文件将不同关系表中有关联关系的记录存储在同一磁盘块内,从而减少多表查询时磁盘块的访问次数,提高处理速度;6.2.4 索引文件是一种利用索引技术技术快速文件访问的文件组织和存取方法;6.2.4 散列

21、文件是一种利用散列函数支持快速文件访问的文件组织和存取方法;6.3 索引技术6.3.1 基本概念1、 索引技术:是一种快速文件访问技术,它将一个文件的每个记录在某个或某些域(属性)上的取值与该记录的物理地址直接联系起来,提供了一种根据记录域的取值快速访问文件记录的机制;它的关键是建立取值域到记录的物理地址刘的映射关系,这种映射关系叫索引;2、 索引技术分类:(1) 有序索引技术:利用索引文件实现记录域(查找码)取值到记录物理地址间的映射关系,索引文件由索引记录组成,每个记录中记载一个索引项,索引项记录了某个特定的查找码值和具有该值的数据文件记录的物理地址;(2) 散列技术:利用一个散列函数实现

22、记录域取值到记录物理地址间的直接映射关系;(3) 有序索引:有序索引作为基于索引文件的索引技术,需要考虑两个问题:(1)如何组织索引文件中的索引记录;(2)如何从索引文件出发,访问数据文件中的数据记录;(A) 当需要采用有序索引机制快速访问数据文件时,首先要为该数据文件建立一个索引文件,它是索引记录和索引项的集合;(B) 索引文件建立的方法:首先选定某些记录域作为查找码,然后建立数据记录在查找码上的取值与物理地址间的映射关系,组成索引项。所有索引项作为索引记录存储在索引文件中,索引文件根据某个特定的查找码值的顺序组织为顺序文件;(C) 一个数据文件可以有多个查找码和索引文件;6.3.2 有序索

23、引的分类及特点1、 聚集索引与非聚集索引(1) 对数据文件和它的一个特定的索引文件,如果数据文件中数据记录的排列顺序与索引文件中索引项的排列顺序相一致,则该索引文件称为聚集索引,否则称为非聚集索引;(2) 在一个数据文件上除了建立一个聚集索引外,还可建立多个非聚集索引;2、 稠密索引和稀疏索引如果数据文件中的每个查找码都在索引文件中都对应一个索引记录,称为稠密索引,如果只一部分对应,则称为稀疏索引;3、 主索引和辅索引在数据文件包含主码的属性集上建立索引称为主索引,在非主码属性上建立的索引称为辅索引;4、单层索引和多层索引(1) 单层索引(线性索引):索引项根据键值在索引文件中顺序排列,组织成

24、一维线性结构,每个索引项直接指向数据文件中的数据记录;(2) 当数据文件很大时,即使采用稀疏索引,建成的索引文件也很大,导致效率低下,为解决该问题,可对索引文件中的索引项本身再建立一级稀疏索引,组成2层索引结构;进一步地,可建立多层树型索引结构来快速定位;6.4 散列技术6.4.1 散列文件1、 散列是一种快速查找技术,它利用定义在文件记录上的查找码,通过计算一个散列函数,以散列函数值作为记录的物理地址,实现对文件记录直接快速访问。2、 首先指定文件记录的一个域作为查找码(散列域),然后定义一个查找码上的函数(散列函数),函数的输入为查找码值,输出为物理地址;3、 一般使用桶作为基本的存储单位

25、,一个桶可存放多个文件记录,物理地址可以是记录所在的桶号,散列函数的输出可以是桶号;6.4.2 散列函数1、 散列方法依赖于好的散列函数,它应该尽可能均匀地将查找码分布到各个桶中,具体要满足如下两个条件:(1) 地址的分布是均匀的;(2) 地址的分布是随机的;6.4.3 桶溢出1、 产生桶溢出的两个原因:(1) 文件初始设计时,为文件记录预留的存储空间不足;(2) 散列函数的均匀分布性不好;2、 设计散列函数时,应根据文件大小决定物理空间,一般应有20%余量,再设计合适的桶数目和桶大小,尽可能留有一些空闲桶,降低桶溢出的可能性;3、 桶溢出的现象是难免的,需要DBS采用相应的桶溢出处理机制;4

26、、 散列方法的缺点:为了避免桶溢出。必须选一合适的散列函数,但这比较复杂,而且不象索引文件那样可以据数据记录变化动态调整。6.5 数据字典1、 数据字典(系统目录)中存储了数据库对象的各类描述信息和DBMS所需的控制信息,全称数据库元数据;2、 数据库对象的各类描述信息:包括外模式、模式、内模式以及它们之间的映射的描述;3、 DBMS所需的控制信息:包括查询优化、安全性检查、用户权限验证等;4、 数据字典主要包括:(1) 关系模式信息;(2) 与视图描述有关的信息;(3) 关系的存储结构和存取方法信息;(4) 完整性约束信息;(5) 安全性有关信息;(6) 数据库运行统计信息;6.6 数据库物

27、理设计6.6.1 设计步骤和内容1、 数据库物理结构设计:在具体的硬件环境、OS、DBMS约束下,根据数据库逻辑设计结果,设计合适的数据库物理结构。目标是存储空间占用少、访问效率高和维护代价低;2、 一旦选定了硬件平台、OS和DBMS,数据库的数据存储和存取方式等可用的物理模式也就随之确定了;3、 数据库物理设计主要包括以下步骤:(1) 数据库逻辑模式调整:将数据库逻辑模式及其视图转换为DBMS支持的基本表和视图,并利用DBMS提供的完整性机制设计业务规则;(2) 文件组织与存取设计:配置基本表的文件组织形式,据实际情况为基本表设计合适的存取方法和路径;(3) 数据分布设计:(4) 安全模式设

28、计:(5) 确定系统配置:(6) 物理模式评估:6.6.2 数据库逻辑模式调整1、 物理数据库设计首先需要根据数据库逻辑结构信息,设计目标DBMS平台支持的基本表的模式信息,这些模式信息代表了所要开发的具体目标数据库的结构,这个过程称为数据库逻辑模式调整,主要包括如下设计内容:(1) 实现目标数据库基本表和视图:采用目标DBMS所支持的建表方法,设计基本表及其面向模型的完整性约束;(2) 设计基本表业务规则;6.6.3 DB文件组织与存取设计1、分析事务的数据访问特性(1) 使用事务-基本表交叉引用矩阵,分析系统内数据库事务对各个基本表的访问情况,确定事务访问了哪些基本表,对这些基本表执行了何

29、种操作,并进一步分析各操作涉及到的基本表属性;(2) 估计各事务的执行频率;(3) 对每张基本表,汇总所有作用于该表上的各事务的操作频率信息;2、 了解并选择数据库文件结构(1) 如果数据库中的一个基本表中的数据量很少,并且操作非常频繁,该基本表可采用堆文件组织方式;(2) 顺序文件支持基于查找码的顺序访问,也支持快速二分查找;(3) 如果用户查询是基于散列域值的等值匹配,特别是如果访问顺序是随机的,散列文件比较合适。但散列文件组织不适合以下情况:(A) 基于散列值域的非精确查询;(B) 基于非散列域进行查询时;(4) B-树和B+树文件是实际数据库系统中使用非常广泛的索引文件结构,适合于定义在大数据量基本表上、基于查找码的等值查询等;(5) 如果某此重要而频繁的用户查询经常需要进行多表连接操作,可考虑将这些基本表组织为聚集文件;3、 设计存取路径:(1) 为数据库文件设计合理的物理存储位置;(2) 为基本表设计索引机制:索引可以提高文件存取速度,改善访问性能,但索引由DBMS管理,它的建立、维护需要一定的系统开销,数据的操作会引起索引的重新调整,还占用一定的存储空间,可根据如下原则决定是否为一个基本表建立索引:(A) 对于经常需要查询、连接、统计操作,且数据量大的基本表可考虑建立索引,而对于经常执行插入、删除、更新操作或

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1