数据库-高校教务管理系统.docx

上传人:小飞机 文档编号:5306223 上传时间:2023-06-24 格式:DOCX 页数:33 大小:1.14MB
返回 下载 相关 举报
数据库-高校教务管理系统.docx_第1页
第1页 / 共33页
数据库-高校教务管理系统.docx_第2页
第2页 / 共33页
数据库-高校教务管理系统.docx_第3页
第3页 / 共33页
数据库-高校教务管理系统.docx_第4页
第4页 / 共33页
数据库-高校教务管理系统.docx_第5页
第5页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《数据库-高校教务管理系统.docx》由会员分享,可在线阅读,更多相关《数据库-高校教务管理系统.docx(33页珍藏版)》请在三一办公上搜索。

1、高校高校教务管理系统学生姓名xxxxxxxxxxxxxxxxxx专业班级xxxxxxxxxxxxxxxxxxxxx一、问题分析31、设计背景32、运行环境3二、 需求分析31、用户需求42、系统主要功能43、系统总框架图6三、结构设计61、数据字典62、概念结构设计E-R图12四、系统代码实现(PowerBuilder环境)151、SQL Server 2008创建表格代码152、PowerBuilder环境数据库连接代码223、 运行结果24、问题分析1、设计背景教务管理系统是高等学校教育工作的一项重要内容,是整个学校学校管理的核心和基础。教务 管理工作是指学校管理人员按照一定的教育方针,运

2、用先进的管理手段,组织、协调,指挥和指导 各方面人员的活动,以便高效率、高质量地完成各项教学任务,完成国家所制定的教育目标。教务 管理工作是学校教学工作的中枢,是保证高等教学机制正常运转的枢纽,它是一项目的性、计划性、 适应性、创造性和科学性很强的工作。教务管理工作关系到高等教学秩序的稳定和教学质量的提高, 关系到搞笑的发展和人才的培养,教学管理在高校中占有相当重要的地位。随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统的教务管理方法、手段以及 工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。提高教务管理水平的主要途径 是更新管理者的思想,增强对管理活动的科学认识。同时,

3、运用先进的信息技术,开发高校综合教 务管理系统,是深化教务体制改革的有力措施。要全面理解高校教务管理系统的需求,首先需要了解高校教务管理的内容、方法和流程等知识。2、运行环境本学生学籍管理系统(数据库系统)的开发与运行环境如下:开发环境:Windows 7辅助工具:SQL Server 2008数据库管理系统:PowerBuilder 9.0运行环境:Windows 7/xp二、需求分析进行数据库设计首先必须准确了解也分析用户需求(包括数据和处理)。目的是为教务管理数 据库系统的设计打下牢牢的基础,是数据库开发的重要文件依据,主要为数据库设计人员使用,是 用户和系统分析员的项目依据文件。作为“

4、地基”的需求分析是否做得充分与准确,它决定了在其 上构建数据库大厦的速度和质量。需求分析做得不好,甚至会导致整个数据库设计返工重做。1、用户需求本系统是针对高等院校的教务管理系统,因此教务管理系统的用户包括学生和课程。主要涉及 系部信息、班级信息、学生信息、课程信息以及选课记录和成绩等多种数据信息。实现的具体功能如下:基础维护:1、班级信息维护2、学生信息维护3、课程信息维护教学管理:1、学生选课管理2、课表查询3、成绩输入报表打印一一打印成绩单以上是用户对系统的基本的功能要求,此外用户还要求系统的效率要高,查询速度要快, 比较小的冗余,易维护,具有较高的数据安全性。2、系统主要功能(1) 班

5、级信息维护界面-能够完成学校各个班级所有基本信息的输人登记,所有班级信息的修改、插人、删除等工 作。-可以按照特定的信息进行查找,并按照特定的要求进行排序。-提供一定的帮助文件和系统维护功能。(2) 学生信息维护界面-能够完成学生所有基本信息的输人登记,所有学生信息的修改、插人、删除等工作。-可以按照特定的信息进行查找,并按照特定的要求进行排序。-提供一定的帮助文件和系统维护功能。(3) 课程信息维护界面-能够完成学校不同专业课程信息的录入,包括任课老师的信息。还可以对课程信息进行修 改、删除等操作。-可以按照课程编号、课程名称、拼音码进行查询,相应的课程的信息会出现在窗口界面。学生选课界面此

6、部分的功能如下:-学生根据自己的学号、姓名、年级进行选课。-可以通过课程拼音、课程名称、课程编号和课程序号对课程信息进行查询,然后会出现所 选课程的基本信息。-通过该界面既可以实现选课功能,还可以实现删课功能。(4) 课表查询界面-学生根据自己的学号、姓名、年级进行选课可以查到自己所选课程的详细上课时间。(5) 学生成绩输入界面-当选课结束时,教师可以根据课程编号查询其所教授的课程,然后给学生输入一定的成绩, 然后提交。打印成绩单界面-可以根据学号打印学生相应的成绩。由于数据库内的信息会很多,注意数据库表格设计,使得学生查询基本信息或学习成绩时使用 时间较短。按照数据库系统开发步骤进行数据库概

7、念结构设计、逻辑结构设计、物理结构设计。3、系统总框架图学生信息维护课表选课三、结构设计1、数据字典(1)数据项数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成 果,数据字典是对系统所用到的所有表结构的描述,教务管理的主要数据见下表。ZUOYANS-HP.eisbQQk -般,砌信息数据类型允许Null ff昭顷员缩号varcliar(14)B年级varchar(4)i园班纹名称uarchar(30)国既缀简称varcliar(lG)国人数numeric0)国班主任uancliar(8)E班级信息表/UOYANG-HPxiibfrtk - dbo. ZUOYAN

8、G-HP.eishook - dbc列名数据类型允在Null ff?intB学号varhafln课程编号intOintn考试次数int园是否补修vanchar(z5是否重考varchar(2)国是否已确定成疆varchar(3回n成绩表/ZUOVANG HP.eibook - d昭籍贯代码表籍贯代码表/ZUOYANG-HP.eisbook -ZUOYANG-HP.eitb&ok -籍宣代磅列名教据类型允许Null ffintr s 津序号varchanflQ诔程蝙号inti上课时间天int0上课时间节intn上课地点v3rchsn(20)pan课程表/UOVANG-HP.eisbDDk -的。

9、.课程信宜列名数据类型允许Null值瞄1intO课程名称chanf-40)B课程简称chan(40)n拼音码char(6)国本学期课程char(nchanflO)开津系别chan(30)学分intB课程信息表/UOYANG-HP.eisbo&k - dbd民族代码表列名数据类型允许Null值vanchar(3E民族varchar(iS)囹B民族代码表ZUOYANG-HP.eil&k -列名数据类型允许Null值intE字号varchan(14)E课序号varchar(i4)nE选课表ZU CYANG-HP.eishook列名-皿月灌代町表数据类型允许Null值vsrcharfZ)B字籍名称va

10、rchar(8j陋B学籍代码表/ZU OYAMGH P. 6 i Sb&k - g学生信息列名数据类型Null值蕙V3irhar(14)姓名vanzhar(83vane har(14)性别varcharf年级int政治面貌编号vanzharf民侬煽号vane har(3籍贯编号varcharf身份证号V3irhar(15)学箱编号vanzharf学生信息/ZUOYAMG-HReis. - 6%政治面貌代丽表列名数据类型允许Null值vanchaO政治面貌varchar(14)同B政治面貌代码表(2)数据结构数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数

11、据结构组成,或若干个数据项和数据结构混合组成。经过数据项和用户需求的分析,我对本系统一 共分了 5个组,具体如下表所示:数据结构名含义说明组成部分班级信息描述班级基本信息班级编号+年级+班级名称+ 班级简称+人数+班主任学生信息描述学生基本信息学号+姓名+班级编号+性别 +年级+政治面貌+ 民族编号+籍贯编号+省份 证号+学籍编号课程信息描述学校课程的基本信息课程编号+课程名称+课程 简称+拼音码+本学期课程+ 教师+开课系别学生选课学生的信息和选课的课程 信息学号+课序号+课程名称+教 师+开课系别+上课时间+上 课时间(3) 数据流 系统流程图:数据流是数据结构在系统内传输的路径。通过对用

12、户的需求分析,以及数据项和数据流的设计, 得出了相应的数据流描述如下表所示:数据流定义表编号数据流名组成流量备注01班级信息班级编号+年级+班级名称+班级 简称+人数+班主任大班级基本信息02学生信息学号+姓名+班级编号+性别+年级+政治面貌+民族编号+籍贯编号+省份证号+ 学籍编号大学生详细信息03课程信息课程编号+课程名称+课程简称+ 拼音码+本学期课程+教师+开课 系别大课程详细信息04课程表信息学号+姓名+班级+课程名称大课程表 信息05成绩输入学生成绩+课程编号+课程名称+ 学号+姓名大学生成绩信息数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。经过数据项、数据结 构

13、和数据流的设计,本系统一共选用了三个数据存储,具体对数据存储的描述通常如下表所示:数据存储编号数据存储名输入数据流输出数据流数据量存取方式A1班级基本信息大批处理、顺序检索A2学生基本信息大批处理、顺序检索A3学生成绩单大批处理、更新、顺 序检索处理过程的具体处理逻辑一般用判定表或判定树来描述。对于本系统用于高校教务管理系统 共设计了三种处理方法,具体处理方式如下表所示:处理过程编号名称输入数据流输出数据流备注B1插入修改01, 02, 0301, 02, 03插入学生信息信息B2更新修改01, 02, 0301, 02, 03更新学生信息信息B3删除修改01, 02, 0301, 02, 0

14、3删除学生信息信息2、概念结构设计的E-R图图3-1学生实体E-R图图3-2课程信息实体E-R图图3-3选课表实体E-R图图3-4课程表实体E-R图图3-5成绩表实体E-R图在基础维护系统中存在这样的关系:学习(一个学生只能在一个班级学习,而一个班级可 以供多个学生学习,故是多对一的关系)。图3-5学生关系E-R图在教学管理中存在这样的关系:选课(一个学生可以选择多门课程,而一门课程可以供多 个学生选择,故是多对多的关系)图3-6选课关系E-R图3.对于报表统计,我们可以将成绩单实体抽象出来。图3-7课程实体E-R图以上是本系统中的基本的实体和关系,本系统是将其分步找出来加以描述,下面是本系统

15、 总体的E-R图:图3-8学籍管理系统E-R图四、系统代码实现(PowerBuilder环境)1、SQL Server 2008创建表格代码(1) 建立班级信息表格:CREATE TABLE dbo.班级信息(班级编号varchar(14) NOT NULL,年级varchar (4) NULL,班级名称varchar(30) NULL,班级简称varchar(16) NULL,人数numeric (3, 0 ) NULL,班主任varchar (8 ) NULL,CONSTRAINT PK班级信息PRIMARY KEY CLUSTERED(班级编号 ASC)WITH (PAD_INDEX =

16、 OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY(2) 建立成绩表格:CREATE TABLE dbo.成绩表(编号int IDENTITY (1,1) NOT NULL,学号varchar (14) NOT NULL,课程编号int NOT NULL,成绩int NOT NULL,考试次数int NULL,是否补修varchar(2) NULL,是否重考varchar(2) NULL,是否已确定

17、成绩varchar (2) NULL,CONSTRAINT PK成绩表PRIMARY KEY CLUSTERED (编号ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY(3) 建立籍贯代码表格:CREATE TABLE dbo.籍贯代码表(籍贯编号varchar (2) NOT NULL,籍贯 varchar (18) NULL,CONSTRAINT P

18、K_籍贯代码表PRIMARY KEY CLUSTERED(籍贯编号 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY(4) 建立课程表格:CREATE TABLE dbo.课程表(编号int IDENTITY (1,1) NOT NULL,课序号varchar (14) NOT NULL,课程编号 int NOT NULL,上课时间天int NOT NU

19、LL,上课时间节int NOT NULL,上课地点varchar (20) NOT NULL,CONSTRAINT PK_课程表PRIMARY KEY CLUSTERED (编号 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY(5) 建立课程信息表格:CREATE TABLE dbo.课程信息(课程编号 int NOT NULL,课程名称char (4

20、0) NOT NULL,课程简称char (40) NOT NULL,拼音码char (6) NULL,本学期课程char (2) NOT NULL,教师char (10) NULL,开课系别char (30) NULL,学分int NULL,CONSTRAINT PK课程信息PRIMARY KEY CLUSTERED(课程编号ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY)

21、 ON PRIMARY(6) 建立民族代码表格:CREATE TABLE dbo.民族代码表(民族编号varchar (2) NOT NULL,民族varchar (18) NULL,CONSTRAINT PK_民族代码表PRIMARY KEY CLUSTERED (民族编号 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY(7) 建立选课表格:CREA

22、TE TABLE dbo.选课表(编号int IDENTITY (1,1) NOT NULL,学号varchar (14) NOT NULL,课序号varchar (14) NOT NULL,CONSTRAINT PK_选课表PRIMARY KEY CLUSTERED (编号 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY(8) 建立学籍代码表格:CR

23、EATE TABLE dbo.学籍代码表(学籍编号varchar (2) NOT NULL,学籍名称varchar (8) NULL,CONSTRAINT PK_学籍代码表PRIMARY KEY CLUSTERED (学籍编号 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY(8)建立学生信息表格:CREATE TABLE dbo.学生信息(学号varc

24、har (14) NOT NULL,姓名varchar ( 8 ) NULL,班级编号varchar(14) NULL,性别varchar (2) NULL,年级int NULL,政治面貌编号varchar(2) NULL,民族编号varchar(2) NOT NULL,籍贯编号varchar(2) NOT NULL,身份证号varchar(15) NULL,学籍编号varchar(2) NOT NULL,CONSTRAINT PK学生信息PRIMARY KEY CLUSTERED (学号 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE =

25、OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY(9) 建立政治面貌代码表格:CREATE TABLE dbo.政治面貌代码表(政治面貌编号varchar (2) NOT NULL,政治面貌varchar (14) NULL,CONSTRAINT PK政治面貌代码表PRIMARY KEY CLUSTERED (政治面貌编号 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP

26、_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY(10) 创建主键及外键等表的约束ALTER TABLE dbo.学生信息WITH NOCHECK ADDCONSTRAINT PK 学生信息PRIMARY KEY CLUSTERED(学号) ON PRIMARY GOALTER TABLE dbo.学籍代码表WITH NOCHECK ADDCONSTRAINT PK_学籍代码表PRIMARY KEY CLUSTERED(学籍编号) ON PRIMARY GOALTER TABLE db

27、o.成绩表WITH NOCHECK ADDCONSTRAINT PK_成绩表PRIMARY KEY CLUSTERED (编号) ON PRIMARYGOALTER TABLE dbo.政治面貌代码表WITH NOCHECK ADDCONSTRAINT PK政治面貌代码表PRIMARY KEY CLUSTERED (政治面貌编号) ON PRIMARYGOALTER TABLE dbo.民族代码表WITH NOCHECK ADDCONSTRAINT PK_民族代码表PRIMARY KEY CLUSTERED(民族编号) ON PRIMARYGOALTER TABLE dbo.班级信息WITH

28、NOCHECK ADDCONSTRAINT PK班级信息PRIMARY KEY CLUSTERED(班级编号) ON PRIMARYGOALTER TABLE dbo.籍贯代码表WITH NOCHECK ADDCONSTRAINT PK_籍贯代码表PRIMARY KEY CLUSTERED(籍贯编号) ON PRIMARYGOALTER TABLE dbo.课程信息WITH NOCHECK ADDCONSTRAINT PK课程信息PRIMARY KEY CLUSTERED(课程编号) ON PRIMARYGOALTER TABLE dbo.课程表WITH NOCHECK ADDCONSTRAI

29、NT PK课程表PRIMARY KEY CLUSTERED(编号) ON PRIMARYGOALTER TABLE dbo.选课表WITH NOCHECK ADDCONSTRAINT PK选课表PRIMARY KEY CLUSTERED (编号) ON PRIMARY GOALTER TABLE dbo.成绩表ADDCONSTRAINT DF成绩表成绩DEFAULT 0) FOR 成绩 GOALTER TABLE dbo.学生信息ADDCONSTRAINT FK 学生信息班级信息FOREIGN KEY(班级编号)REFERENCES dbo.班级信息班级编号),CONSTRAINT FK 学生

30、信息籍贯代码表FOREIGN KEY(籍贯编号)REFERENCES dbo.籍贯代码表(籍贯编号),CONSTRAINT FK 学生信息民族代码表FOREIGN KEY(民族编号)REFERENCES dbo.民族代码表(民族编号),CONSTRAINT FK 学生信息学籍代码表FOREIGN KEY (学籍编号)REFERENCES dbo.学籍代码表(学籍编号),CONSTRAINT FK 学生信息政治面貌代码表FOREIGN KEY (政治面貌编号)REFERENCES dbo.政治面貌代码表( 政治面貌编号) GOALTER TABLE dbo.成绩表ADDCONSTRAINT FK

31、_成绩表课程信息FOREIGN KEY (课程编号)REFERENCES dbo.课程信息(课程编号),CONSTRAINT FK_成绩表学生信息FOREIGN KEY(学号)REFERENCES dbo.学生信息(学号) GOALTER TABLE dbo.课程表ADDCONSTRAINT FK_课程表课程信息FOREIGN KEY(课程编号)REFERENCES dbo.课程信息(课程编号)GO(11)创建存储过程create proc sf_成绩提交 courseid intasbegin tran-提交成绩,提交后不可以再修改update成绩表set 是否已确定成绩=Y where 课

32、程编号=courseidand成绩0commitGOSET QUOTED_IDENTIFIER OFFGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_NULLS ONGOcreate proc sf_终止选课asbegin tran-应该单独有一个【终止选课】的功能,终止选课后生成空的成绩单-所有学生将不允许更改课程信息,如果需要更改,必须单独申请,特殊处理。-终止选课一学年应该只能进行一次操作,实例没有制作开始选课等功能,终止-选课后在学生选课中仍然可以更改选择的课程。insert into成绩表(学号,课程编号,成绩,考试次数

33、,是否补修,是否重考,是否已确定成绩) select distinct a.学号,b.课程编号,0, 1, N, N,N from 选课表 as a,课程表 as b where a.课序号=b.课序号 and rtrim (a .学号)+rtrim(b .课程编号)not in(select rtrim (学号)+rtrim (课程编号)from 成绩表)-因为没有记录选课状态,上面的sql语句加了判断,如果成绩表以有-改学号/课程,就不插入,实际应用中如果是重复的,应该是补修和重考-的情况,应该更改已有信息的这些状态-还要注意select语句加了distinct说明,因为选课表一个课序号-

34、一个学号可能有两条记录commitGO2、PowerBuilder环境数据库连接代码:forwardglobal type eisbook from applicationend typeglobal transaction sqlcaglobal dynamicdescriptionarea sqldaglobal dynamicstagingarea sqlsaglobal error errorglobal message messageend forward global type eisbook from applicationstring appname = eisbookend

35、type global eisbook eisbookon eisbook.createappname=eisbook”message二create messagesqlca二create transactionsqlda二create dynamicdescriptionareasqlsa=create dynamicstagingareaerror=create errorend onon eisbook.destroydestroy(sqlca)destroy(sqlda)destroy(sqlsa)destroy(error)destroy(message)end on event o

36、pen;/ Profile hislinkSQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = ConnectString=DSN二eisbook;UID=local;PWD=Connect using SQLCA;/连接数据库连接失败则返回if SQLCA.sqlcode 0 thenMessageBox(提示信息,连接ODBC【liblink】失败!)returnend if/打开主窗口open(w_main) end eventevent close;disconnect using sqlca; /断开数据库连接end even

37、t3、运行结果:1、程序运行之后的主界面:2、基础维护/班级维护的界面:查询计算机专业的班级信息的结果:添加信息与计算科学09-1班:3、基础维护/学生信息维护的界面:查询学生王斌的信息:添加学生信息:4、基础维护/课程信息维护的界面:查询体育课程的基本信息:添加课程的基本信息: EIS较若-课程唁.巨普隹护裁字莒理(YJ损表沆计皿I退出戒试Eh| | -I x| n 刨 x| O| -d b昌符蝙己;|溟尺料相;|市并;|记柔致:E序号课程蝙号课程名称课程简称本字腿程物币开嗥系别1找我T当场切1sxfxY斐瑞丰割学学院2如3数据始欧数据皓构4 gY王琦熨学空院204*1数据库sjkYIds前

38、字字院4205(-程作系统czxtY昧晓红割学学院5?如让世代独近代jsdisY升晓山翌字学院620/1埋绮汁数埋顷计siyy敌宁字院7找8耳夸函靠加sY祁割学学院中谧分几何制分几河A/fjhY并琲附学学院洗程席号1课理客称很春简弥2D a附几何pTTT拼音码开误兵别字分4字期注程|wfjhpbT耕学学院3国是 L否5、教学管理/学生选课的界面:6、教学管理/课表查询界面:7、教学管理/成绩输入界面:8、报表统计/打印成绩单界面:蜓通用Ht喑口I A缩故比例: j厂打印预览 打印份数:j 卷置|打印崖)|关闭旧)|左杨成绩单学号 20096352教师成绩课程名称开课系别英语2)由外语系W1436高等数学计算机系物币5295计算机基础1计算机系物币5796英语与作基础(注)外语系教刷N明体肓2学校017385雨滴穿石,不是靠蛮力,而是靠持之以恒。一一拉蒂默

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号