数据库原理课程设计报告.doc_第1页
数据库原理课程设计报告.doc_第2页
数据库原理课程设计报告.doc_第3页
数据库原理课程设计报告.doc_第4页
数据库原理课程设计报告.doc_第5页
免费预览已结束,剩余16页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库原理课程设计报告数据库原理课程设计报告专业:计算机科学与技术班级:0410303班学号:03100306,0310031003100323 姓名:赵海迪、卻耀卿、马序题目名称:人事管理系统完成日期:2005-12-11一、系统概述一个公司的管理离不开人事管理,对于现代社会的公司管理,人事管理系统是不可或缺的一部分。通过对人事管理部门的工作人员的基本工作任务和工作流程进行数据模拟,我们设计了一个公司的人事管理系统。该系统为人事管理部门的工作人员提供多种方式的人事查询以及统计功能,另外还提供对企业的人事调动(包括添加新员工、人员退休、人员辞职等)、人员信息的改动(包括职工增加工资、给退休员工发放退休金等)以及总揽企业员工信息等操作。另外,该系统设有管理员,管理员对工作人员进行统一的管理,可以对工作人员进行授权、收回权限以及删除增加工作人员。最后,我们还考虑到管理员对数据库的综合维护和管理,主要包括对数据库的备份、恢复数据库和查看数据库日志的操作。本系统为网络数据库系统,采用C/S结构。二、需求分析1、系统需要满足人事管理部门的工作人员的工作需求。系统需要具有的基本功能有:能完成员工各种信息的添加,包括员工的基本信息、学历信息、婚姻状况信息、职称等;能完成员工各种信息的修改(比如职称的修改);能对退休、辞退、辞职以及转出的员工信息进行相应的删除和修改;能完成各种条件(比如按婚姻状况查询、按学历查询、按工作岗位查询等)的查询功能;能完成各种条件的统计功能(比如按岗位查询、按学历查询等);此外还应该有一个人性化的对信息分类浏览的功能,类似现实生活中对档案的分类管理。另外,系统需要管理员来维护,管理员通过系统可以方便的管理工作人员,能够完成对工作人员授权、收回权限、添加工作人员以及删除工作人员等操作。最后,考虑到数据库的安全问题,我们也提出了数据库的备份、数据库的恢复以及查询数据库日志的功能。系统功能要求操作简便,实用性强,满足跨平台运行,是网络型数据库系统。2、系统逻辑模型:数据流程图文字描述:管理员根据实际的情况添加或者删除工作人员,并且根据需要对工作人员进行权限的授收活动;工作人员可以对自己的系统用户名以及系统登录的密码进行修改;工作人员可以分别对在职员工,退休员工和辞退人员的信息进行修改、删除、多种条件的查询和统计等操作,并且可以分类浏览整个公司的人员信息;新的员工报道,工作人员需要在职工表中添加新的职工信息;数据字典下面是该系统的数据结构和数据项。职工基本信息,包括的数据项有:职工号,姓名,隶属部门号,职工状态(是否退休、被辞职等),身份证号码,性别,生日,年龄,民族,政治面貌,婚姻状况,学历,联系电话,电子信箱,家庭地址,籍贯。职工家庭人员,包括的数据项有:家庭成员姓名,与本人关系,出生日期,工作单位,担任职务,政治面目,联系电话。职工学历信息,包括的数据项有:学历号,学历,专业,毕业时间,毕业院校,外语水平。职工工作经验,包括的数据项有:起始时间,结束时间,工作单位,担任职务,部门名称。职工所属部门,包括的数据项有:职工编号,部门号,部门名称,部门人数。职工职务信息,包括的数据项有:职工编号,职务号,职务名称,职称,工龄。工作人员信息,包括的数据项有:工作人员编号,工作人员名称,密码,工作人员权限。管理人员信息,包括的数据项有:管理人员编号,管理人员名称,密码。系统日志,包括的数据项有:事件编号,时间,操作人员,操作事件。三、系统设计1、概念结构设计局部ER图管理人员与工作人员的关系MMMM1111管理员名称密码管理员号工作人员工作人员号密码用户名权限添加用户删除用户授权收回权限管理人员对工作人员进行统一的管理,可以添加和删除工作人员,也可以对工作人员的权限进行授予和收回。另外,管理人员和工作人员还可以对自身的部分信息进行修改。工作人员与职工的关系MNMN工作人员姓名工作人员号权限密码职工添加信息删除信息修改信息查询信息统计信息NMNMNM工作人员对职工的信息进行统一的管理,这个部分是整个系统的主要部分。职工属性ER图N部门部门号名称人数资产N1家庭成员姓名与本人关系出生日期工作单位担任职务政治面貌电话1学历记录号文凭专业毕业时间毕业院校外语N1奖惩记录记录号奖惩种类奖惩日期奖惩批准单位职工职工号姓名状态身份证号性别年龄生日民族政治面貌婚否文化程度隶属部门联系电话邮箱家庭住址籍贯拥有N工作经验记录号工作单位起始时间结束时间担任职务部门名称拥有1拥有1拥有N职务职务号职务名职称工龄拥有M属于M原因系统ER图管理员工作人员职工家庭成员职务学历工作经验奖惩记录部门系统事件添加或删除修改权限查询修改添加修改拥有拥有拥有拥有拥有职工号姓名年龄婚否用户名密码修改时间事件编号事件描述记录号专业毕业时间姓名关系电话记录号日期单位职务单位记录号属于工龄职称职务号部门名称部门号人数1NNNMM1111NMNNNNM11NN1N权限工作人员号资产职务名管理员号用户名密码2、逻辑结构设计关系模式职工(职工号,姓名,身份证号码,性别,年龄,生日,民族,政治面貌,婚姻状况,文化程度,职工状态,联系电话,电子信箱,家庭地址,家庭地址,籍贯,职位号)学历(记录号、文凭、专业、毕业时间、学校、外语,职工号)家庭成员(记录号,姓名,与本人关系,出生日期,工作单位,担任职务,政治面目,联系电话,职工号)工作经验(记录号,工作单位,起始时间,结束时间,担任职务,部门名称,职工号)奖惩记录(记录号,奖惩种类,奖惩日期,奖惩批准单位,职工号)岗位(记录号,职工类型,入单位时间,工龄,职称,职工号)部门(部门号,部门名称,部门描述,上级部门)工作人员表(用户名,密码,权限)系统事件(记录号,时间,操作员,描述)数据项描述职工列名别名(english)数据类型可否为空职工号W_IDvarchar(20)NOT NULL姓名W_namevarchar(50)NOT NULL身份证号码W_cardIDsmallintNOT NULL性别W_sexchar(2)NOT NULL年龄W_agesmallintNOT NULL生日W_brithdayvarchar(20)notNULL民族W_nationvarchar(40)notNULL政治面貌W_politicsvarchar(40)notNULL婚姻状况W_marryvarchar(20)NULL文化程度W_educatevarchar(40)notNULL联系电话W_phoneVarchar(20)NOT NULL电子信箱W_emailvarchar(50)NULL家庭地址W_addressvarchar(40)NULL籍贯W_homeTownvarchar(60)NULL职位号W_SNOsmallintNOT NULL学历列名别名(english)数据类型可否为空记录号E_IDsmallintNOT NULL文凭Diplomavarchar(30)NOT NULL专业Mastervarchar(30)notNULL毕业时间LeaveTimevarchar(30)notNULL学校Schoolvarchar(40)notNULL外语Foreignvarchar(20)notNULL职工号W_IDsmallintNOT NULL家庭成员列名别名(english)数据类型可否为空编号H_IDSmallintNOT NULL姓名H_namevarchar(20)NOT NULL与本人关系Relativevarchar(40)NULL出生日期H_birthdayvarchar(30)NULL工作单位H_unitvarchar(30)NULL担任职务H_dutyvarchar(30)NULL政治面目H_politicsvarchar(30)NULL联系电话H_phonevarchar(20)NULL职工号W_IDsmallintNOT NULL工作经验列名别名(english)数据类型可否为空记录号P_IDsmallintNOT NULL工作单位W_unitvarchar(50)NOT NULL起始时间Time_begindatatimenotNULL结束时间Time_enddatatimenotNULL担任职务W_dutyvarchar(50)NOT NULL部门名称unit_namevarchar(50)notNULL职工号W_IDsmallintNOT NULL奖罚记录列名别名(english)数据类型可否为空记录号O_IDsmallintNOT NULL奖惩种类Kindvarchar(50)NOT NULL原因Reasonvarchar(50)NULL奖惩日期N_datadatatimenotNULL奖惩批准单位N_unitvarchar(40)notNULL职工号W_IDsmallintNOT NULL岗位列名别名(english)数据类型可否为空记录号J_IDsmallintNOT NULL职工类型W_kindchar(20)NOT NULL入单位时间W_timedatatimeNOT NULL工龄W_jageintNOT NULL职称W_jnameVarchar(40)NOT NULL职工号W_IDsmallintNOT NULL部门表列名别名(english)数据类型可否为空部门号U_IDsmallintNOT NULL部门名称U_namevarchar(40)NOT NULL部门描述U_depictVarchar(400)NOT NULL上级部门号U_upperIDsmallintNOT NULL职工号W_idsmallintNOT NULL工作人员列名别名(english)数据类型可否为空用户名M_IDvarchar(30)NOT NULL密码M_PWvarchar(30)NOT NULL权限M_SPVarchar(30)NOT NULL事件记录列名别名(english)数据类型可否为空记录号Event_IDsmallintNOT NULL时间E_timevarchar(30)NOT NULL操作员M_IDsmallintNOT NULL描述Depictvarchar(60)NOT NULL每个关系的主键都用下画线标出来的;对于职工表中的w_id,它分别和岗位,奖罚记录,工作经验,学历,家庭成员,部门,职称表里面的W_id做了主关键字约束和外关键字约束。这样,当在定义主关键字约束的表中更新列值时,其他表中与之相关联的外关键字约束的表中的外关键字列也相应的做相同的更新。而且当向含外关键字的表插入数据时,如果与之相关联的表的列中没有与插入的外关键字列值相同的值时,系统会拒绝插入数据。3、系统功能模块图修改信息转为在职删除信息数据库管理模块退休员工档案管理辞退员工档案管理档案基本管理模块在职员工档案管理登录工作人员管理员按姓名查询查找按职工号查询按职称查询按性别统计统计模块按部门统计按职称统计用户管理模块对工作人员授权收回工作人员权限增加或者删除用户数据库备份数据库恢复查询数据库日志转为退休转为辞退修改信息删除信息添加新员工删除信息4、其它设计图形工具在设计之初,我们用JBuilder自带的UML建模工具进行了初步的建模,下列各图为最终完成后的各模块UML视图:四、详细设计我们选择了Microsoft的SQL Server 2000企业版 作为我们的后台数据库。为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引。部分重要的后台SQL代码如下: 表格的建立1. 建立职工表(employee)CREATE TABLE dbo.employee (w_id varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL PRIMARY KEY CLUSTERED ,w_name varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,w_cardid varchar(50) NOT NULL ,w_sex varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,w_age varchar(50) NOT NULL ,w_brithday varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,w_nation varchar (40) COLLATE Chinese_PRC_CI_AS NULL ,w_politics varchar (40) COLLATE Chinese_PRC_CI_AS NULL ,w_marry varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,w_educate varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,w_phone varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,w_email varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,w_address varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,w_hometown varchar (60) COLLATE Chinese_PRC_CI_AS NULL ,w_sno varchar(50) NOT NULL ) ON PRIMARY2.建立学历表(study)CREATE TABLE dbo.study (master varchar (30) COLLATE Chinese_PRC_CI_AS NULL ,e_id varchar(50) NOT NULL PRIMARY KEY CLUSTERED ,diploma varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,leavetime varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,school varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,foreign varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,w_id varchar(50) NOT NULL ) ON PRIMARY3.建立家庭成员表(family)CREATE TABLE dbo.family (h_id varchar(50) NOT NULL PRIMARY KEY CLUSTERED,h_name varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,relative varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,h_birthday varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,h_unit varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,h_duty varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,h_politics varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,h_phone varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,w_id varchar(50) NOT NULL ) ON PRIMARY4.工作经验表(work experience)CREATE TABLE dbo. work experience (p_id varchar(50) NOT NULL PRIMARY KEY CLUSTERED,w_unit varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,time_begin varchar(50) NULL ,time-end varchar(50) NULL ,w_duty varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,unit_name varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,w_id varchar(50) NOT NULL ) ON PRIMARY5.奖罚记录表(award and punish)CREATE TABLE dbo. award and punish (o_id varchar(50) NOT NULL PRIMARY KEY CLUSTERED,kind varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,reason varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,n_date varchar(50) NULL ,n_unit varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,w_id varchar(50) NOT NULL ) ON PRIMARY6.岗位表(jop)CREATE TABLE dbo.job (j_id varchar (50)NOT NULL PRIMARY KEY CLUSTERED ,w_kind varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,w_time varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,w_jage varchar(50) NOT NULL ,w_jname varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,w_id varchar(50) NOT NULL ) ON PRIMARY7.部门表(department)CREATE TABLE dbo.department (u_id varchar(50) NOT NULL PRIMARY KEY CLUSTERED,u_name varchar (40) COLLATE Chinese_PRC_CI_AS NOT NULL ,u_depict varchar (400) COLLATE Chinese_PRC_CI_AS NOT NULL ,u_upperid varchar(50) NOT NULL w_id varchar(50) NOT NULL ) ON PRIMARY8.工作人员表(worker)CREATE TABLE dbo.worker (m_id varchar(50) NOT NULL PRIMARY KEY CLUSTERED ,m_name varchar (40) COLLATE Chinese_PRC_CI_AS NOT NULL ,m_scope varchar(50) NOT NULL ) ON PRIMARY9. 事件记录表(event)CREATE TABLE dbo.event (event_id varchar(50) NOT NULL PRIMARY KEY CLUSTERED ,e_time varchar (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,m_id varchar(50) NOT NULL ,depict varchar (60) COLLATE Chinese_PRC_CI_AS NOT NULL ) ON PRIMARY工作人员操作我们定义的工作人员包括超级管理员和一般的工作人员。一般工作人员的权限是由超级管理员来赋的。1.超级管理员操作:Insert into worker(m_id,m_name,m_scope)Values(#m_id,#m_name,#m_scope)添加一个一般工作人员并进行赋权 Delete from workerWhere m_id=#m_id删除一个工作人员的权限Exec sp_addumpdevice disk master1 #Back databases master to master1创建一个磁盘备分设备并放到#这个位置Sp_dropdevice # #将#位置的备分设备删去Restore database master From master1 With norecovery , stopat=#恢复数据库master到#这个时间前的状态2.一般工作人员操作Insert Into employee(w_id,w_name,w_cardid,w_sex,w_age,w_brithday,w_natio,w_politics,w_marry,w_educate,w_phone,w_sno,w_address,w_hometown,w_email)Values (#w_id, #w_name, #w_cardid, #w_sex, #w_age, #w_brithday, #w_politics, #w_marry, #w_educate, #w_phone, #w_sno, #w_address, #w_hometown, #w_email)Insert into study(master,e_id,diploma,school,w_id,foreign,leavetime)Values (#master, #e_id, #diploma, #school, #w_id, #foreign, #leavetime)Insert into family(h_id,h_name,relative,h_birthday,w_id,h_duty,h_politics,h_phone,h_unit)Values (#h_id,#h_name,#relative,#h_birthday,#w_id,#h_duty, #h_politics,#h_politics,#h_unit)Insert into work experience(p_id,w_unit,time_begin,time-end,w_id,unit_name,w_duty)Values(#p_id, #w_unit, #time_begin, #time-end, #w_id, #unit_name, #w_duty)Insert into award and punish(w_id,n_unit,n_date,reason,kind,o_id)Values(#w_id, #n_unit, #n_date, #reason, #kind, #o_id)Insert into job(j_id,w_id,w_time,w_jage,t_id,w_kind)Values(#j_id, #w_id, #w_time, #w_jage, #t_id, #w_kind)Insert into the title of a technical post(t_id,t_name)Values(#t_id,#t_name)Insert into department(u_name,u_id,u_depict,u_upperid)Values (#u_name, #u_id, #u_depict#u_upperid)Insert into worker(m_id,m_name,m_scope)Values (#m_id,#m_name,#m_scope)Insert into event(event_id,e_time,depict,m_id)Values (#event_id,#e_time,#depict,#m_id)在人事部门工作的一般工作人员添加本公司其他员工的信息由于我们关于职工的信息的表有多个,所以当要删除一个职工信息的时候,必须对每个表进行操作,这样会给使用本系统的工作人员带带大大的不方便,所以我们建立了一个视图,将包含有w_id的表,全部连接起来。SQL脚本如下:SELECT dbo.employee.*, dbo.study.master AS Expr1, dbo.study.e_id AS Expr2, dbo.study.foreign AS Expr3, dbo.study.school AS Expr4, dbo.study.leavetime AS Expr5, dbo.study.diploma AS Expr6, dbo.family.h_name AS Expr7, dbo.family.relative AS Expr8, dbo.family.h_birthday AS Expr9, dbo.family.h_unit AS Expr10, dbo.family.h_duty AS Expr11, dbo.family.h_politics AS Expr12, dbo.family.h_phone AS Expr13, dbo.work experience.unit_name AS Expr14, dbo.work experience.w_duty AS Expr15, dbo.work experience.time_begin AS Expr16, dbo.work experience.time-end AS Expr17, dbo.work experience.w_unit AS Expr18, dbo.work experience.p_id AS Expr19, dbo.award and punish.o_id AS Expr20, dbo.award and punish.kind AS Expr21, dbo.award and punish.reason AS Expr22, dbo.award and punish.n_date AS Expr23, dbo.award and punish.n_unit AS Expr24, dbo.jop.j_id AS Expr25, dbo.jop.w_kind AS Expr26, dbo.jop.w_time AS Expr27, dbo.jop.w_jage AS Expr28, dbo.jop.t_id AS Expr29, dbo.the title of a technical post.t_name AS Expr30, dbo.the title of a technical post.t_id AS Expr31FROM dbo.employee INNER JOIN dbo.study ON dbo.employee.E_id = dbo.study.e_id INNER JOIN dbo.family ON dbo.employee.w_id = dbo.family.w_id INNER JOIN dbo.work experience ON dbo.employee.w_id = dbo.work experience.w_id INNER JOIN dbo.award and punish ON dbo.employee.w_id = dbo.award and punish.w_id INNER JOIN dbo.the title of a technical post ON dbo.employee.w_id = dbo.the title of a technical post.w_id INNER JOIN dbo.jop ON dbo.employee.w_id = dbo.jop.w_id在这个视图中,w_id是主键,当需要删除一个职工的所有信息的时候,只需要在这个视图中删除这个职工对应的w_id就可以了。以下是我们系统的中一些查询语句:Select *From employeeWhere w_id=#查找一个职工号等于#的职工信息Select *From employeeWhere w_cardID=#查找一个身份证等于#的职工信息Select *From employeeWhere w_name=#查询一个名字叫#的职工信息五、系统实现与测试1、开发平台和工具选择此次系统开发,我们采用JAVA作为开发语言,用JBuilder9作为开发环境,后台数据库系统采用SQL Server 2000,采用SQL Server提供的 4 TYPE JDBC驱动程序,用InstallAnywhere制作最终发布的安装程序。数据库的访问是大多数关键性应用程序的核心需求,Sun公司将数据库访问和图形用户界面(GUI)相连接,从而使Java成为一种可与VB、PowerBuilder等开发工具相抗衡的语言。Java对分布式对象技术的支持使Java组件(我们使用的是JBuilder中的Swing组件)不再需要都定为在相同的Java虚拟机中,JSwing做为一种轻量级组件为纯JAVA编写,不依赖于本机系统,用JAVA开发的数据库系统可以轻易实现在oracal,sql server,db2等数据库系统上运行。Java语言与数据库的连接非常简洁方便。JDBC API提供了足够多的应用函数,可以使我们在不了解所使用的具体数据库类型,就能够写出可以访问关系数据库的应用程序,另外JDBC还提供了接口集,它们创建了一个应用程序和数据库引擎相交的点,使与数据库的连接比较得容易,可以说满足“一次编写,一次编译,到处运行”。SQL Server适用于各种大,中,小型系统,在稳定性,安全性等方面都有良好表现。JBuilder9作为专业级的JAVA开发环境,对开发各种应用程序都提供了极大的便利。本系统中的JDBC为TPYE4类型,专用用Application应用程序与数据库连接,效率相对较高。系统的运行环境需要提供java runtime environment(JRE)即JAVA运行时环境,为了满足该系统的可移植性,我们不单单将最后的作品做成一个可执行文件,而且还用InstallAnywhere制作了此系统的安装程序。2、系统测试JDBC是应用程序和数据库之间的桥梁,首先需要下载并安装一个JDBC的驱动程序,我们选用的是Type4驱动程序。我们不仅实现了应用程序和SQL Server创建的数据库的连接,而且也实现了在网络中连接数据库的功能,即C/S系统结构,这对系统应用来说提供了极大的方便,对系统安全性等都有很大提高。由于开发时间比较短,我们还没有对系统和数据库存储进行优化,所以当进行网络上的操作的时候,客户端响应的速度较慢。部分前台开发的功能模块截图说明如下:登录模块用户的登录分为管理员登录和工作人员登录,工作人员的权限有一定的限制,当工作人员登录以后,有一引起模块对于其是不可用的,比如“系统管理”模块中的“用户设置”和系统的“数据库管理”模块就是不可用的。用户管理界面这个模块只有管理员可以进入,管理员可以添加一个管理员或者工作人员,也可以修改密码和删除

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论