学生宿舍管理系统数据库设计_第1页
学生宿舍管理系统数据库设计_第2页
学生宿舍管理系统数据库设计_第3页
学生宿舍管理系统数据库设计_第4页
学生宿舍管理系统数据库设计_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

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

文档简介

信息工程学院oracle数据库课程设计学生宿舍管理系统数据库设计姓名:范春江专业:计算机科学与技术指导老师:杨海霞完毕日期:2023.6.26摘要学生宿舍管理系统是应对学生宿舍管理的现代化、网络化,逐步摆脱当前学生宿舍管理的人工管理方式,提高学生宿舍管理效率而开发的,它涉及宿舍学生基本信息管理、楼道工人基本信息管理、宿舍楼基本信息管理、宿舍基本信息管理、宿舍事故基本信息管理、宿舍楼物品出入基本信息管理、宿舍楼保卫处基本信息管理、宿舍配备物品及解决管理等八大功能模块,并提供了对各功能模块的查询和更新功能,且这两种功能基本上是通过存储过程来实现的,其中宿舍学生基本信息管理、宿舍基本信息管理是系统开发的重点。该系统开发由系统需求分析阶段、概念设计阶段、逻辑设计阶段、数据库实行阶段、系统调试和测试阶段、参考文献、附录等阶段组成。关键字:学生宿舍管理,宿舍管理现代化,宿舍管理网络化,人工管理,功能模块,存储过程目录TOC\o"1-4"\h\z\u1.系统需求分析阶段 11.1引言 11.2目的与任务 11.2.1需求分析阶段的目的 11.2.2需求分析阶段的任务 11.2.3需求分析阶段成果 22.概念设计阶段 112.1引言 112.2概念模型设计 122.3新系统流程 133.逻辑设计阶段 143.1逻辑设计的任务和目的 143.2数据组织 143.2.1将E-R图转换为关系模型 143.2.2模型优化 153.2.3数据库模式定义 163.2.4用户子模式设计 163.3数据解决 164.物理设计阶段 174.1物理设计阶段的目的与任务 174.2数据存储方面 174.3系统功能模块 174.3.1楼道工人基本的信息查询和更新模块 184.3.2宿舍楼基本信息的查询和更新模块 184.3.3宿舍基本信息的查询和更新模块 194.3.4学生基本信息的查询和更新模块 204.3.5宿舍物品的查询和更新模块 204.3.6宿舍事故的查询和更新模块 214.3.7宿舍物品解决的查询和更新模块 214.3.8宿舍保卫处基本信息的查询和更新模块 225.数据库实行阶段 225.1建立数据库、数据表、视图、索引 225.1.1建立数据库 225.1.2建立数据表 225.1.3建立视图 265.1.4建立索引 285.2数据入库 285.3创建各个功能的存储过程 296.系统调试和测试 297.实习心得 328.存在的问题及建议 32致谢 33参考文献 33附录1数据库逻辑结构定义 34附录2存储过程定义 38附录3数据查看和存储过程功能的验证 43附录4所有的SQL运营语句 481.系统需求分析阶段1.1引言通过对北校区25个学生宿舍楼的实地调查,了解到现在的学生宿舍管理仍停留在完全的人工管理阶段,楼管处没有标准的住宿学生存档信息。这中人工管理方式费时、费事、费力,导致工作效率低下。开发出合适的学生宿舍管理系统,可以方便学生宿舍的管理,提高宿舍管理工作效率及查询效率。1.2目的与任务1.2.1需求分析阶段的目的(1)了解目前宿舍管理的现状以及SQLServer2023的功能和特点。(2)通过实地调查和问答-记录的方式了解宿舍管理的工作业务流程,并记录和解决相关的数据。(3)与指导教师交流个人想法,征求意见,改正不合理的地方,为下面的概念设计与逻辑设计奠定基础。1.2.2需求分析阶段的任务(1)解决对象:系统要解决的对象涉及宿舍楼基本信息、学生基本信息、宿舍基本信息、楼道工作人员基本信息、宿舍保卫处基本信息、宿舍事故基本信息、物品出入基本信息等七个方面,各个对象涉及信息如下所示(具体的数据见于数据字典):1.宿舍楼基本信息(Dormitory):涉及宿舍楼编号、宿舍楼所在校区、宿舍楼再校区中区域、每一幢宿舍楼楼管处的电话、宿舍楼楼管员信息等方面,这样可以方便管理者对宿舍楼的管理,提高查询效率;2.学生基本信息(Student):涉及学生编号、学生所在学院信息、学生姓名、学生性别、学生来自省份、学生出生日期、学生入学时间、学生所学专业、所在班级等方面的信息,可以方便学信息的查询和更新;3.宿舍基本信息(Room,Fitment,FitmentDestruction,FitmentCompensate):宿舍基本信息涉及四个数据结构(宿舍信息(Room),宿舍物品信息(Fitment),宿舍物品损坏信息(FitmentDestruction),宿舍损坏物品补偿信息),每个数据结构中的数据项见数据字典;4.楼道工作人员基本信息(Worker):涉及工作人员编号、工作人员姓名、工作类型、工资、性别、联系方式、工作时间等数据项,可以方便管理人员对宿舍楼道工人的任用、信息查询及更改;5.宿舍保卫处基本信息(SafeGuard):涉及保卫处名称、人员数目、负责人信息、联系电话等四方面的信息;6.宿舍事故基本信息(Accident,AccidentResearch,AccidentCompensate):事故信息涉及三个数据结构(事故信息、事故解决信息、事故补偿信息),具体的数据项见数据字典;物品出入基本信息(ArticalInOut):涉及出入物品的学生信息、出入的物品信息、出入物品时的负责人信息、出入物品时间,尽量减少宿舍事故的发生,保障学生宿舍财产的安全。(2)解决功能规定系统重要完毕一下几个功能:1.宿舍楼基本信息查询与修改;2.学生基本信息查询与更新;3.每一幢宿舍楼中宿舍信息的查询与信息更新;4.宿舍保卫处基本信息的查询和修改;5.宿舍事故基本信息及事故解决信息的查询和修改;6.宿舍楼物品出入审批及记录;(3)安全性和完整性规定安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定限度上的安全性,再通过用户授权机制,欲用户登陆来辨认用户级别,根据这个级别来分派用户权限,达成数据更高层次的安全保密功能。完整性规定用于描述宿舍楼基本信息、学生基本信息、宿舍基本信息、楼道工作人员基本信息、宿舍保卫处基本信息、宿舍事故基本信息、物品出入基本信息中数据项能否为null,以及一些用户自定义完整性(符合实际规定),具体完整性规定见于系统的逻辑设计阶段。1.2.3需求分析阶段成果(1)体会与收获系统需求分析重要采用实地询问-记录和楼管处查询宿舍学生信息的方式,同时借鉴学长在做数据库开发这方面的经验。通过实地调查和询问,了解目前学生宿舍管理的现状,以及目前学生宿舍管理中一些问题,并对实际查询业务实地参与,了解了学生、楼管员、宿舍管理者、宿舍保卫人员对系统的信息解决规定,以及他(她)们对现存人工管理方式不能满足信息解决规定的苦恼。同时在调查中牵涉的许多的人际交流,恰当的询问方式,由于平时几乎没有做过这方面的调查,开始时有点胆怯和不知从何入手,但过了两三幢宿舍楼之后,开始的胆怯就感觉不到了。(2)学生宿舍管理系统业务流程图新生入住宿舍业务流程图: 查询业务流程图(查询宿舍学生信息、楼道工作人员信息、宿舍楼信息等):毕业生离宿业务流程图: 楼道工作人员任用业务流程图:宿舍楼物品出入业务流程图:宿舍事故解决业务流程图:(3)数据流程图顶层数据流程图:第2层数据流程图:从学生角度出发第2层数据流程图:从管理者角度出发图2.3从管理者角度出发的2层数据流程图第3层数据流程图:从新生角度出发 第3层数据流程图:从毕业生角度出发 第3层数据流程图:从宿舍楼物品出入出发 第3层数据流程图:从宿舍事故角度出入出发 第3层数据流程图:从楼道工作人员的任用角度出发 第3层数据流程图:从管理者和外来访客的角度出发(4)数据字典(a)数据项:系统涉及的数据项有71项表1.1数据项列表数据项编号数据项名数据项含义与其它数据项的关系存储结构别名DI-1StuNo学生编号char(9)学号DI-2DepName学生所在学院char(20)学院DI-3StuName学生姓名char(10)姓名DI-4StuSex学生性别char(2)性别DI-5StuHome学生来自省份char(10)祖籍DI-6StuBorth学生出生时间Date出生日期DI-7StuETime学生入学时间Date入学时间DI-8StuPerfect学生所在专业char(20)专业DI-9StuClass学生所在班级编号Int编号DI-10WorNo工作人员编号char(5)编号DI-11WorName工作人员姓名char(10)姓名DI-12WorType工作类型char(8)工作类型DI-13WorWage工作人员工资Int月工资DI-14WorSex工作人员性别char(2)性别DI-15WorPhNo工作人员联系方式char(12)电话DI-16WorTime工作人员工作时间char(30)工作时间DI-17RNo宿舍编号char(6)舍号DI-18RHeader舍长信息等于StuNamechar(10)舍长DI-19ROne宿舍学生信息同上char(10)舍员1DI-20RTwo宿舍学生信息同上char(10)舍员2DI-21RThree宿舍学生信息同上char(10)舍员3DI-22RFour宿舍学生信息同上char(10)舍员4DI-23RFive宿舍学生信息同上char(10)舍员5DI-24RSix宿舍学生信息同上char(10)舍员6DI-25RGrade宿舍学生所属年级等于StuETimechar(4)年级DI-26RDepart宿舍学生所在学院等于DepNamechar(20)学院DI-27RPerfect宿舍学生所学专业等于StuPerfectchar(20)专业DI-28RClass学生所在班级编号等于StuClasschar(2)班级DI-29DorNo宿舍楼编号smallint宿舍楼号DI-30DorCampus宿舍楼所属校区char(4)校区DI-31DorLocation宿舍楼在校区位置char(4)宿舍区位DI-32DorPhNo宿舍楼管处电话char(12)电话DI-33DorAdminist宿舍楼楼管员信息等于WorNochar(10)楼管员DI-34SGName保卫处名称char(15)名字DI-35SGWorNum保卫处人员总数Int人员数目DI-36SGHeader保卫处负责人信息char(10)负责人DI-37SGPhone保卫处电话char(12)电话DI-38FitName宿舍物品名称char(16)宿舍物品DI-39FitPrice宿舍物品价格Float价格DI-40FitNum每一种宿舍的数量Int数量DI-41FDFitment损坏物品信息等于FitNamechar(16)物品名DI-42FDStudent损坏的学生信息等于StuNochar(9)学生DI-43FDRoom损坏物品宿舍信息等于RNochar(6)舍号DI-44FDFitNum损坏物品的数量Int数量DI-45FCompFit补偿物品信息等于FitNamechar(16)物品名DI-46FCompStu需补偿学生信息等于StuNochar(9)学生DI-47FCompMon补偿价格Float补偿价格DI-48FCompPrin补偿负责人信息等于WorNochar(10)负责人DI-49FCompDate补偿日期Date日期DI-50FCompNum补偿物品数量Int数量DI-51AcNo事故编号int编号DI-52AcType事故类型char(10)类型DI-53AcArtical事故损失物品char(30)物品名DI-54AcArNum事故损失物品数量Int数量DI-55AcStu事故受害学生等于StuNochar(9)学生DI-56AcDate事故发生日期Date日期DI-57AcPrin事故负责人信息等于SGHeaderchar(15)负责人DI-58AcStuPh受害人联系方式char(12)学生电话DI-59AcVerify事故是否属实Bool核查DI-60ARNo事故调查编号char(4)编号DI-61ARName事故调查名称char(15)调查DI-62ARPrin事故调查负责人等于SGHeaderchar(10)负责人DI-63ARResult事故调查结果Bool结果DI-64ACStu事故补偿学生信息等于StuNochar(10)学生DI-65ACArtical事故补偿物品信息char(30)物品名DI-66ACDate事故补偿日期Date日期DI-67ACPrin事故补偿负责单位等于SGHeaderchar(15)负责单位DI-68AIOStu规定物品出入学生等于StuNochar(10)学生DI-69AIOArtical出入物品信息char(20)物品名DI-70AIOPrin出入物品审查人等于WorNochar(10)负责人DI-71AIODate出入物品日期Date日期DI-72AIONo物品出入序号Int序号(b)数据结构:表1.2数据结构列表数据结构编号数据结构名数据结构含义组成DS-1Student宿舍学生信息StuNo,DepName,StuName,StuSex,StuHome,StuBorth,StuETime,StuPerfect,StuClassDS-2Worker宿舍楼工作人员信息WorTime,WorName,WorType,WorWage,WorSex,WorPhNo,WorNoDS-3Room宿舍信息RNo,RHeader,ROne,RClass,RThree,RFour,RFive,RSix,RGrade,RDepart,RPerfect,RTwo,DS-4Dormitory宿舍楼信息DorNo,DorCampus,DorPhNoDorLocation,DorAdministDS-5SafeGuard宿舍保卫处信息SGName,SGWorNum,SGHeader,SGPhoneDS-6Fitment宿舍物品配备信息FitName,FitPrice,FitNumDS-7FitmentDestruction宿舍物品损坏信息FDFitment,FDStudent,FDRoom,FDFitNumDS-8FitmentCompensate宿舍损坏物品补偿信息FCompFit,FCompStu,FCompPrin,FCompDate,FCompNumDS-9Accident宿舍事故注册信息AcNo,AcType,AcStu,AcDate,AcArtical,AcVerify,AcPrin,AcArNum,AcStuPhDS-10AccidentResearch宿舍事故调查信息ARNo,ARName,ARPrin,ARResultDS-11AccidentCompensate事故损失物品补偿信息ACStu,ACArtical,ACDate,ACPrinDS-12ArticalInOut宿舍楼物品出入信息AIOStu,AIOArtical,AIOPrin,AIODate,AIONo(5)解决逻辑描述(鉴定表或鉴定树)表1.3解决逻辑列表鉴定条件决策判断用户查询涉及的功能模块宿舍基本信息模块、宿舍楼基本信息模块、学生基本信息模块、宿舍楼配备物品基本信息模块、宿舍事故基本信息模块、宿舍楼物品出入基本信息模块、宿舍楼保卫处基本信息模块、楼道工人基本信息模块:先拟定查询所涉及的功能模块;然后,拟定要查询的内容,拟定查询数据流向;最后显示查询结果。判断用户修改要涉及的模块,同时把相应的修改数据传到相应的模块之中宿舍基本信息模块、宿舍楼基本信息模块、学生基本信息模块、宿舍楼配备物品基本信息模块、宿舍事故基本信息模块、宿舍楼物品出入基本信息模块、宿舍楼保卫处基本信息模块、楼道工人基本信息模块:先拟定更新所涉及的功能模块;然后,把更新信息传送到相应的模块中;最后,进行相应的更新操作。2.概念设计阶段2.1引言概念设计阶段重要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键,涉及概念模型设计和新系统流程两个阶段。2.2概念模型设计(1)根据不同的对象,从第3层数据流程图(中层数据流程图)入手,分别画出分E-R图:(a)从数据流程图图2.4与图2.5抽象出的分E-R图:图3.1分E-R图1图3.2分E-R图2图3.3分E-R图3(b)从数据流程图图2.6与图2.8抽象出的分E-R图:图3.4分E-R图4(c)从数据流程图图2.7抽象出的分E-R图:图3.5分E-R图5(2)各分E-R图中每个实体的属性如下所示:学生:Student(StuNo,DepName,StuName,StuSex,StuHome,StuBorth,StuETime,StuPerfect,StuClass); 宿舍:Room(RNo,RHeader,ROne,RClass,RThree,RFour,RFive,RSix,RGrade,RDepart,RPerfect,RTwo); 宿舍楼:Dormitory(DorNo,DorCampus,DorLocation,DorPhNo,DorAdminist); 宿舍物品:Fitment(FitName,FitPrice,FitNum); 楼道工作人员:Worker(WorNo,WorName,WorType,WorWage,WorSex,WorPhNo,WorTime); 保卫处:SafeGuard(SGName,SGWorNum,SGHeader,SGPhone); 各分E-R图中联系的属性如下所示:物品出入:ArticalInOut(AIONo,AIOStu,AIOArtical,AIOPrin,AIODate);宿舍物品解决:包含物品损坏和物品补偿两个数据结构(将在逻辑设计阶段给出);事故:包含宿舍事故注册、宿舍事故调查、事故损失物品补偿三个数据结构(具体的结构将在系统逻辑设计阶段给出)。 (注:为了节省篇幅,实体与属性的关系没有用图形表达,实体的标记码用下划线划出。)(3)合并各分E-R图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的基本E-R图如下所示:2.3新系统流程 新系统流程图:3.逻辑设计阶段3.1逻辑设计的任务和目的以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容涉及数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据解决(画出系统功能模块图)两大任务3.2数据组织3.2.1将E-R图转换为关系模型由于宿舍楼与楼道工人的联系方式是1:n(一对多),可以将其之间的联系与n端实体楼道工人合并,宿舍楼与宿舍之间的联系、宿舍与学生之间的联系方式也是1:n,同样也将其之间的联系与n端实体宿舍、学生合并,而宿舍物品与学生、学生与楼道工作人员之间的联系方式则是n:m(多对多),这样要把它们之间的联系转化为独立的关系模式,保卫处与学生之间的联系是1:n(一对多),但是它们之间的联系事故则包含数据结构,为了便于模型优化,将其联系也转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:楼道工人:Worker(WorNo,WorName,WorType,WorWage,WorSex,WorPhNo,WorTime,DorNo,DorCampus,DorLocation);宿舍楼:Dormitory(DorNo,DorCampus,DorLocation,DorPhNo,DorAdminist);宿舍:Room(RNo,RHeader,ROne,RClass,RThree,RFour,RFive,RSix,RGrade,RDepart,RPerfect,RTwo,DorNo,DorCampus,DorLocation);宿舍物品:Fitment(FitName,FitPrice,FitNum,DorNo,DorCampus,DorLocation);学生:Student(StuNo,DepName,StuName,StuSex,StuHome,StuBorth,StuETime,StuPerfect,StuClass,RNo,DorNo,DorCampus,DorLocation);保卫处:SafeGuard(SGName,SGWorNum,SGHeader,SGPhone);物品出入:ArticalInOut(AIONo,StuNo,AIOArtical,AIOPrin,AIODate,DorNo, DorCampus,DorLocation);宿舍物品解决包含两个数据结构(宿舍物品损坏信息,宿舍物品损坏补偿信息),基于表的各个属性都是原子项的考虑,现将宿舍物品解决分解为:宿舍物品损坏、宿舍损坏物品补偿,具体如下:宿舍物品损坏:FitmentDestruction(FitName,StuNo,RNo,FDFitNum,DorNo,DorCampus,DorLocation);(消除命名冲突)宿舍物品损坏补偿:FitmentCompensate(FitName,StuNo,FCPrin,FCompDate, FCompNum);(消除命名冲突)宿舍事故包含三个数据结构(宿舍事故注册信息、宿舍事故调查信息、宿舍事故损失物品补偿信息),同样基于表的原子性的考虑也将事故分解为:事故注册、事故调查、事故补偿,具体如下:事故注册:Accident(AcNo,AcType,StuNo,AcDate,AcArtical,AcVerify,SGName,AcArNum,AcStuPh);事故调查:AccidentResearch(AcNo,ARName,SGName,ARResult);事故补偿:AccidentCompensate(AcNo,ACStu,AcArtical,ACDate,SGName);(注:标有直线下划线的为主属性,标有波浪线下划线的是外键属性,主属性与外键属性一起构成主码)3.2.2模型优化关系模式Worker,Dormitory,Fitment,SafeGuard,ArticalInOut,FitmentDestruction,FitmentCompensate,Accident,AccidentResearch,AccidentCompensate不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达成了3NF,但是宿舍关系模式(Room)中存在着一些不应当有的数据冗余,现将模型优化为:Room(RNo,RHeader,RGrade,RDepart,RPerfect,DorNo,DorCampus,DorLocation);虽然Room中还存在一些数据冗余,但可以提高查询效率。3.2.3数据库模式定义表2.1数据库模式定义表编号逻辑结构(基本表)定义完整性和安全性T-1Worker(详见附录1-1)(详见附录1-1)T-2Dormitory(详见附录1-2)(详见附录1-2)T-3Room(详见附录1-3)(详见附录1-3)T-4Fitment(详见附录1-4)(详见附录1-4)T-5Student(详见附录1-5)(详见附录1-5)T-6SafeGuard(详见附录1-6)(详见附录1-6)T-7ArticalInOut(详见附录1-7)(详见附录1-7)T-8FitmentDestruction(详见附录1-8)(详见附录1-8)T-9FitmentCompensate(详见附录1-9)(详见附录1-9)T-10Accident(详见附录1-10)(详见附录1-10)T-11AccidentResearch(详见附录1-11)(详见附录1-11)T-12AccidentCompensate(详见附录1-12)(详见附录1-12)3.2.4用户子模式设计表2.2用户子模式设计(View)列表编号用户子模式(View)作用(共性:提供数据保密和安全保护机制)V-1WorView便于查询和修改楼道工人的基本信息V-2DormView方便宿舍楼的基本信息的查询、更新V-3RoomView以便于宿舍的基本信息的查询和更新V-4FitView用于宿舍楼配备物品的基本信息的查询V-5StuView便于查询和更改学生的基本信息V-6SGView方便学生查询宿舍保卫处的基本信息V-7ArIOView以便于物品出入的管理和信息的查询、更改V-8FDView便于宿舍物品损坏的的登记及解决和信息的查询V-9FCView查询损坏物品补偿的基本信息,便于宿舍物品的管理V-10AccView方便学生事故的注册及保卫人员对事故注册的查询V-11ARView便于学生查询宿舍事故调查的基本信息V-12ACView方便宿舍事故补偿的信息查询和更新3.3数据解决系统功能模块图:4.物理设计阶段4.1物理设计阶段的目的与任务 数据库的物理设计就是为逻辑数据模型选取一个最合适应用规定的物理结构的过程,在这个阶段中要完毕两大任务:(1)拟定数据库的物理结构,在关系数据库中重要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。4.2数据存储方面 为数据库中各基本表建立的索引如下:由于基本表Room,Student的主码RNo,StuNo经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,考虑在两个属性上建立唯一性索引;Dormitory的主码DorNo,DorCampus,DorLocation经常在查询条件中出现,且它们的组合值唯一,考虑在它们之上建立组合索引;基本表Student的一属性StuName,经常在查询条件中出现,且经常出现在相等的比较条件中,考虑在其之上建立聚簇索引;基本表Fitment、SafeGuard的属性值几乎不会有什么变化,更新率很低,可考虑适当建立索引;基本表Worker,ArticalInOut,FitmentDestruction,FitmentCompensate,Accident,AccidentResearch,AccidentCompensate的属性值经常发生变化,权衡系统为维护索引付出的代价,可考虑不建立索引,也可以适当建立索引。4.3系统功能模块4.3.1楼道工人基本的信息查询和更新模块 将实现对楼道工人基本信息的查询和更新(修改、插入、删除)操作,方便于楼道工人的任用和更换,具体的功能模块图如下:图4.2楼道工人基本信息的查询、更新功能模块图(注:表达系统给用户的信息,以下与此相同)4.3.2宿舍楼基本信息的查询和更新模块 将完毕对宿舍楼基本信息的查询、更新(修改、插入、删除)操作,便于宿舍的集中管理,具体的功能模块图如下所示:图4.3宿舍楼基本信息的查询、更新功能模块图4.3.3宿舍基本信息的查询和更新模块 将达成对宿舍基本信息的查询、更新(修改、插入、删除)操作的目的,具体的功能模块图如下所示:图4.4宿舍基本信息的查询、更新功能模块图4.3.4学生基本信息的查询和更新模块 将完毕对学生基本信息的查询和插入、删除、修改等更新操作,具体的功能模块如下所示:图4.5宿舍学生基本信息的查询、更新功能模块图4.3.5宿舍物品的查询和更新模块 将实现对宿舍物品基本信息的查询、插入、删除、修改等操作,以方便于宿舍物品的配备,具体的功能模块图如下:图4.6宿舍物品基本信息的查询、更新功能模块图4.3.6宿舍事故的查询和更新模块 将实现对宿舍事故的插入和更新操作,方便宿舍事故的快速解决,及时了解事故解决的结果,具体的功能模块图如下:图4.7宿舍事故基本信息的查询、更新功能模块图4.3.7宿舍物品解决的查询和更新模块 将完毕对宿舍物品解决基本信息的查询、插入、删除、修改等操作,方便于宿舍物品的解决,具体的功能模块图如下所示:图4.8宿舍物品解决基本信息的查询、更新功能模块图4.3.8宿舍保卫处基本信息的查询和更新模块 将实现对宿舍保卫处基本信息的查询和更新(涉及更改、插入、删除)操作,方便于宿舍意外事故的解决,具体的功能模块图如下:图4.9宿舍楼保卫处基本信息的查询、更新功能模块图5.数据库实行阶段5.1建立数据库、数据表、视图、索引5.1.1建立数据库 createdatabaseStudent_Dormitory_Management;5.1.2建立数据表(1)楼道工人基本信息表的建立:createtableWorker(WorNochar(5) notnullunique,WorNamechar(10) notnull,WorTypechar(8) notnull,WorWageint notnull,WorSexchar(2) notnull,WorPhNochar(12) null,WorTimechar(30) null,DorNosmallint notnull,DorCampuschar(4) notnull,DorLocationchar(4) notnull,primarykey(WorNo),foreignkey(DorNo,DorCampus,DorLocation)references Dormitory(DorNo,DorCampus,DorLocation),check(WorWage>=0),check(WorSex=‘男’orWorSex=‘女’));(2)宿舍楼基本信息表的建立:createtableDormitory(DorNosmallint notnull,DorCampuschar(4) notnull,DorLocationchar(4) notnull,DorPhNochar(12) null,DorAdministchar(10) null,primarykey(DorNo,DorCampus,DorLocation),check(DorNo>0andDorNo<100));(3)宿舍基本信息表的建立:createtableRoom(RNochar(6) notnullunique,RHeaderchar(10) null,RGradechar(4) notnull,RDepartchar(20) notnull,RPerfectchar(20) notnull,DorNosmallint notnull,DorCampuschar(4) notnull,DorLocationchar(4) notnull,primarykey(RNo),foreignkey(DorNo,DorCampus,DorLocation)references Dormitory(DorNo,DorCampus,DorLocation));(4)宿舍楼配备物品基本信息表的建立:createtableFitment(FitNamechar(16) notnullunique,FitPricefloat notnull,FitNumint notnull,DorNosmallint notnull,DorCampuschar(4) notnull,DorLocationchar(4) notnull,primarykey(FitName),foreignkey(DorNo,DorCampus,DorLocation)references Dormitory(DorNo,DorCampus,DorLocation));(5)宿舍学生基本信息表的建立:createtableStudent( StuNochar(9) notnullunique, DepNamechar(20) notnull, StuNamechar(10) notnull, StuSexchar(2) notnull, StuHomechar(10) notnull, StuBorthDatetime notnull, StuETimeDatetime notnull, StuPerfectchar(20) notnull, StuClassint notnull, RNochar(6) notnull, DorNosmallint notnull, DorCampuschar(4) notnull, DorLocationchar(4) notnull, primarykey(StuNo), foreignkey(RNo)referencesRoom(RNo),foreignkey(DorNo,DorCampus,DorLocation)references Dormitory(DorNo,DorCampus,DorLocation), check(StuClass>0andStuClass<=10));(6)宿舍保卫处基本信息表的建立:createtableSafeGuard( SGNamechar(15) notnullunique, SGWorNumint notnull, SGHeaderchar(10) notnull, SGPhonechar(12) null, primarykey(SGName), check(SGWorNum>0));(7)宿舍楼物品出入基本信息表的建立:createtableArticalInOut( StuNochar(9) notnull, AIOArticalchar(16) null, AIOPrinchar(9) notnull,AIODatedatetime notnull,AIONoint notnullunique,DorNosmallint notnull,DorCampuschar(4) notnull,DorLocationchar(4) notnull,primarykey(AIONo,AIODate),foreignkey(StuNo)referencesStudent(StuNo),foreignkey(AIOPrin)referencesWorker(WorNo),foreignkey(DorNo,DorCampus,DorLocation)references Dormitory(DorNo,DorCampus,DorLocation),check(AIONo>0));(8)宿舍配备物品损坏基本信息表的建立:createtableFitmentDestruction( FitNamechar(16) notnullunique, StuNochar(9) notnull, RNochar(6) notnull, FDFitNumint notnull, DorNosmallint notnull,DorCampuschar(4) notnull,DorLocationchar(4) notnull,foreignkey(DorNo,DorCampus,DorLocation)references Dormitory(DorNo,DorCampus,DorLocation), foreignkey(FitName)referencesFitment(FitName), foreignkey(StuNo)referencesStudent(StuNo), foreignkey(RNo)referencesRoom(RNo), check(FDFitNum>=0));(9)宿舍损坏配备物品补偿基本信息表的建立:createtableFitmentCompensate( FitNamechar(16) notnull, StuNochar(9) notnull, FCPrinchar(15) notnull, FCompDateDatetime notnull, FCompNumint notnull, foreignkey(FitName)referencesFitment(FitName), foreignkey(StuNo)referencesStudent(StuNo), foreignkey(FCPrin)referencesSafeGuard(SGName), check(FCompNum>=0));(10)宿舍事故注册基本信息表的建立:createtableAccident( AcNoint notnullunique, AcTypechar(10) notnull, StuNochar(9) notnull, AcDatedatetime notnull, AcArticalchar(30) notnull, AcVerifybool null, SGNamechar(15) notnull, AcArNumint notnull, AcStuPhchar(12) notnull, primarykey(AcNo,AcDate), foreignkey(StuNo)referencesStudent(StuNo), foreignkey(SGName)referencesSafeGuard(SGName), check(AcArNum>0),);(11)宿舍事故调查基本信息表的建立:createtableAccidentResearch( AcNoint notnull, ARNamechar(15) notnull, SGNamechar(15) notnull, ARResultbool notnull, primarykey(SGName), foreignkey(AcNo)referencesAccident(AcNo), foreignkey(SGName)referencesSafeGuard(SGName),);(12)宿舍事故补偿基本信息表的建立:createtableAccidentCopensate( AcNoint notnull, ACStuchar(9) notnull, AcArticalchar(30) notnull, AcDateDatetime notnull, SGNamechar(15) notnull, foreignkey(AcNo)referencesAccident(AcNo), foreignkey(ACStu)referencesStudent(StuNo), foreignkey(SGName)referencesSafeGuard(SGName));5.1.3建立视图 (1)用于查询和更新楼道工人基本信息的视图定义如下: createviewWorView(编号,姓名,工作类型,工资,性别,联系方式, 工作时间,宿舍楼编号,校区,区位) as select* fromWorker withcheckoption; (2)方便于宿舍楼基本信息查询、更新的视图定义如下: createviewDormView(宿舍楼编号,校区,区位,楼管处电话,楼管) as select* fromdormitory withcheckoption; (3)显示宿舍基本信息的视图定义如下: createviewRoomView(宿舍编号,舍长,年级,学院,专业,宿舍楼编号, 校区,区位) as select* fromRoom withcheckoption; (4)可用于宿舍楼配备物品基本信息查询、更新的视图定义如下: createviewFitView(物品名,价格,数量,宿舍楼编号,校区,区位) as select* fromFitment withcheckoption; (5)用于查询和更新学生基本信息的视图定义如下: createviewStuView(学号,学院,姓名,性别,祖籍,出生日期,入学时间, 专业,班级,宿舍编号,宿舍楼编号,校区,区位) as select* fromStudent withcheckoption; (6)显示宿舍保卫处基本信息的视图定义如下: createviewSGView(名称,人员数目,负责人,电话) as select* fromSafeGuard withcheckoption; (7)以便于物品出入管理和出入物品信息查询、更新的视图定义如下: createviewArIOView(学号,出入物品,负责人,日期,序号,宿舍楼编号, 校区,区位) as select* fromArticalInOut withcheckoption; (8)便于宿舍配备物品损坏登记及损坏宿舍物品查询的视图定义如下: createviewFDView(物品名,学号,宿舍号,损坏数量,宿舍楼编号,校区, 区位) as select* fromFitmentDestruction withcheckoption; (9)用于查询损坏物品补偿基本信息,便于宿舍物品管理的视图定义如下: createviewFCView(物品名,学号,负责人,日期,补偿数量) as select* fromFitmentCompensate withcheckoption; (10)方便学生事故的注册及保卫人员对事故注册查询的视图定义如下: createviewAccView(编号,事故类型,学号,日期,损失物品,属实, 负责单位,损失数量,学生联系方式) as select* fromAccident withcheckoption; (11)便于宿舍以外事故调查的视图定义如下: createviewARView(编号,调查名称,负责单位,调查结果) as select* fromAccidentResearch withcheckoption; (12)方便宿舍事故补偿信息查询和更改的视图定义如下: createviewACView(编号,学号,补偿物品,日期,负责单位) as select* fromAccidentCompensate withcheckoption;5.1.4建立索引 createuniqueindexStudentNoonStudent(StuNo); createuniqueindexRoomNoonRoom(RNo); createuniqueindexDormitoryNo_Campus_LocationonDormitory(DorNodesc,DorCampus,DorLocation); createclusterindexStudentNameonStudent(StuName); createuniqueindexFitmentNameonFitment(FitName); createuniqueindexSafeGuardNameonSafeGuard(SGName);5.2数据入库 系统涉及宿舍学生基本信息管理、楼道工人基本信息管理、宿舍楼基本信息管理、宿舍基本信息管理、宿舍事故基本信息管理、宿舍楼物品出入基本信息管理、宿舍楼保卫处基本信息管理、宿舍配备物品及解决管理等八大功能模块,共有12张基本表,牵涉到大量数据的录入,又由于时间限制,采用事先在Excel中录入数据,然后使用SQLServer2023数据导入/导出向导功能,直接将数据导入到相应的基本表中。当然,附录中也给出了各个基本表插入元组的存储功能,具体内容请参阅附录2。5.3创建各个功能的存储过程 系统共创建了16个存储过程,具体列表如下:表3.1创建的存储过程列表:编号存储过程名称定义作用P-1p1_Worker_Insert详见附录2-1在Worker中插入一元组P-2p2_Dormitory_Insert详见附录2-2在Dormitory中插入一元组P-3p3_Room_Insert详见附录2-3在Room中插入一元组P-4p4_Fitment_Inser详见附录2-4在Fitment中插入一元组P-5p5_Student_Insert详见附录2-5在Student中插入一元组P-6p6_SafeGuard_Insert详见附录2-6在SafeGuard中插入一元组P-7p7_Artical_In_Out_Insert详见附录2-7在ArticalInOut中插入一元组P-8p8_FitmentDestruction_Insert详见附录2-8在FitmentDestruction中插入一元组P-9p9_FitmentCompensate详见附录2-9在FitmentCompensate中插入一元组P-10p10_Accident_Insert详见附录2-10在Accident中插入一元组P-11p11_AccidentResearch_Insert详见附录2-11在AccidentResearch中插入一元组P-12p12_AccidentCompensate_Insert详见附录2-12在AccidentCompensate中插入一元组P-13p13_Query_Worker详见附录2-13在Worker中匹配(WorNo)查询P-14p14_Query_Worker详见附录2-14在Worker中匹配(WorName)查询P-15p15_Delete_Worker详见附录2-15在Worker中删除元组P-16p16_Update_Worker详见附录2-16在Worker中更新操作(其他表的查询、修改、删除与Worker表的大体相同,这里不再具体列出)6.系统调试和测试 学生宿舍管理系统的测试重要采用黑盒测试和白盒测试的方法,具体的说黑盒测试重要采用以下两种测试方法:已知系统的功能设计规格,进行测试证明每个实现了的功能是否符合规定;已知系统的内部工作过程,通过测试证明每种内部操作是否符合设计规格规定,所有内部成分是否通过检查。该学生管理系统重要采用黑盒测试的第一种测试方法,具体的测试如下:(1)查看各个基本表中的数据(借助与视图查询)(a)查看Worker表中的数据:(b)查看Dormitory表中的数据:(c)其他表的数据的查看操作显示见于附录3-1(2)检测各个存储过程的功能:(a)验证存储过程p1_Worker_Insert及p15_Delete_Worker的功能:(b)验证存储过程p1_Worker_Insert及p16_Delete_Worker的功能:(c)验证其它存储过程的功能见于附录3-27.实习心得提高了实地调查获得数据的能力方面通过对北校区25个宿舍楼的实地调查,采用询问-记录的方式,获得关于宿舍管理的业务流程和一些可靠表单,为学生宿舍管理系统开发的需求分析阶段,提供了一个很好的开始。加深对数据库系统概论相关知识和SQLSERVER相关功能理解方面以前只是记书本上关于数据库系统的相关功能,以及不同数据库系统(如:SQLSERVER2023与ORACLE)功能的对比,但这些大部分只是处在死记的基础上,没有切身实地的感触,这次实习有让我再次对SQLSERVER2023相关功能的理解,比如:存储过程。进一步掌握相关的SQL语句方面学生宿舍管理系统开发的过程中牵涉到相称多基本表的建立,视图、索引以及存储过程的设计,这次系统开发让我对这些语句操作更纯熟了。熟悉对项目开发的大体过程方面这次系统开发,从开始的系统需求分析、概念设计、逻辑设计、物理设计,再到数据库实行、系统的测试和调试,都时自立完毕,虽然只是做出的系统的框架,并没有开发出具体应用的学生宿舍管理系统,但对于项目(系统)开发的大体流程有了一定的了解,为以后的系统的开发打下了良好的基础。存在的问题在系统开发的过程中也碰到了这样那样的问题,比如画E-R图,带输出变量的存储过程,以及相关相关索引(聚簇索引)的建立,具体的语句还不是很熟悉,但我以后一定会加强这方面实际操作能力。8.存在的问题及建议 每个班配备了两名知道老师,可各指导老师各班交互指导,而到我们问问题时,我们班的指导老师却在给别班的学生指导,我们又找不到其他的指导老师,但指导教师总体上都比较热情,有问比答。致谢学生管理系统的开发与设计从开始的需求分析,到最后的提交论文,自始至终都受到指导教师蔚继承老师、董晓艳老师的细心指导和关怀,同时杨丽丽老师、晁小菲老师、陈勇老师对我的帮助也比较大。对此,表达忠心的感谢!编程经验丰富、数据库开发见解独到的蔚老师是我此后学习的楷模。同时也感谢给过我帮助和鼓励的同学,没有他们的帮助与鼓励,我是不也许这么快完毕系统开发任务的。借此机会,我还要对给我们代数据库系统概论课的李书琴老师,没有她的谆谆教导,我是不也许完毕本次的任务的。同时感谢所有给我们代过课,传授知识给我们的所有老师。参考文献[1]萨师煊王珊,数据库系统概论(第三版),北京:高教出版社,2023[2]郑人杰殷人昆陶永雷,实用软件工程(第二版),北京:清华大学出版社,1997[4]李晨,2023级数据库课程设计论文[5]IT信息征询站,如何作需求分析,,2023-2-25附录1数据库逻辑结构定义1.楼道工人(Worker)基本信息表,用于记录楼道工人的基本信息:表2.3楼道工人基本信息表属性名数据类型取值范围是否是主属性或外键完整性WorNochar(5)00000~99999是NotnullWorNamechar(10)否NotnullWorTypechar(8)否NotnullWorWageInt大于500(元/月)否NotnullWorSexchar(2)男、女否NotnullWorPhNochar(12)否NullWorTimechar(30)否NullDorNosmallint00~99是NotnullDorCampuschar(4)四周八方其中之一是NotnullDorLocationchar(4)四周八方其中之一是Notnull2.宿舍楼(Dormitory)基本信息表,用于记录宿舍楼的基本信息:表2.4宿舍楼基本信息表属性名数据类型取值范围是否是主属性或外键完整性DorNosmallint00~99是NotnullDorCampuschar(4)四周八方其中之一是NotnullDorLocationchar(4)四周八方其中之一是NotnullDorPhNochar(12)否NullDorAdministchar(10)否Null3.宿舍(Room)基本信息表,用于记录宿舍的基本信息:表2.5宿舍基本信息表属性名数据类型取值范围是否是主属性或外键完整性RNochar(6)01-001~99-999是NotnullRHeaderchar(10)否NullRGradechar(4)否NotnullRDepartchar(20)否NotnullRPerfectchar(20)否NotnullDorNosmallint00~99是NotnullDorCampuschar(4)四周八方其中之一是NotnullDorLocationchar(4)四周八方其中之一是Notnull4.宿舍楼配备物品(Fitment)基本信息表,用于记录宿舍楼配备物品的基本信息:表2.6宿舍配备物品基本信息属性名数据类型取值范围是否是主属性或外键完整性FitNamechar(16)是NotnullFitPricefloat大于0否NotnullFitNumInt大于0否NotnullDorNosmallint00~99是NotnullDorCampuschar(4)四周八方其中之一是NotnullDorLocationchar(4)四周八方其中之一是Notnull5.宿舍学生(Student)基本信息表,用于记录宿舍学生的基本信息:图2.7宿舍学生基本信息属性名数据类型取值范围是否是主属性或外键完整性StuNochar(9)00000000~是NotnullDepNamechar(20)否NotnullStuNamechar(10)否NotnullStuSexchar(2)男、女否NotnullStuHomechar(10)否NotnullStuBorthdatetime否NotnullStuETimedatetime否NotnullStuPerfectchar(20)否NotnullStuClassint大于0小于10否NotnullRNochar(6)01-001~99-999是NotnullDorNosmallint00~99是NotnullDorCampuschar(4)四周八方其中之一是NotnullDorLocationchar(4)四周八方其中之一是Notnull6.宿舍保卫处(SafeGuard)基本信息表,用于记录保卫处的基本信息:图2.8宿舍保卫处基本信息属性名数据类型取值范围是否是主属性或外键完整性SGNamechar(15)是NotnullSGWorNumint大于0否NotnullSGHeaderchar(10)否NotnullSGPhonechar(12)否Null7.宿舍楼物品出入(ArticalInOut)基本信息表,用于记录物品出入的基本信息:图2.9宿舍楼物品出入基本信息属性名数据类型取值范围是否是主属性或外键完整性StuNochar(9)00000000~是NotnullAIOArticalchar(16)否NullAIOPrinchar(9)否NotnullAIODatedatetime是NotnullAIONoInt大于0是NotnullDorNosmallint00~99是NotnullDorCampuschar(4)四周八方其中之一是NotnullDorLocationchar(4)四周八方其中之一是Notnull8.宿舍配备物品损坏(FitmentDestruction)基本信息表,用于记录物品损坏的基本信息:图2.10宿舍配备物品损坏基本信息属性名数据类型取值范围是否是主属性或外键完整性FitNamechar(16)是NotnullStuNochar(9)00000000~是NotnullRNochar(6)01-001~99-999是NotnullFDFitNumInt大于等于0否NotnullDorNosmallint00~99是NotnullDorCampuschar(4)四周八方其中之一是NotnullDorLocationchar(4)四周八方其中之一是Notnull9.宿舍配备物品损坏补偿(FitmentCompensate)基本信息表,记录损坏物品补偿的基本信息:图2.11宿舍配备物品损坏补偿基本信息属性名数据类型取值范围是否是主属性或外键完整性FitNamechar(16)是NotnullStuNochar(9)00000000~是NotnullFCPrinchar(10)是NotnullFCompDatedatetime否NotnullFCompNumint大于等于0否Notnull10.宿舍事故注册(Accident)基本信息表,用于记录宿舍事故注册的基本信息:2.12宿舍事故注册基本信息属性名数据类型取值范围是否是主属性或外键完整性AcNoint0000~9999是NotnullAcTypechar(10)否NotnullStuNochar(30)00000000~是NotnullAcDatedatetime是NotnullAcArticalchar(30)否NotnullAcVerifybool否NullSGNamechar(15)是NullAcArNumint大于等于0否NotnullAcStuPhchar(12)否Null11.宿舍事故调查(AccidentResearch)基本信息表,用于记录宿舍事故调查的基本信息:图2.13事故调查基本信息属性名数据类型取值范围是否是主属性或外键完整性AcNoint0000~9999是NotnullARNamechar(15)是NotnullSGNamechar(15)是NotnullARResultbool否Notnull12.宿舍事故补偿(AccidentCompensate)基本信息表,用于记录宿舍事故补偿的基本信息:图2.14宿舍事故补偿基本信息属性名数据类型取值范围是否是主属性或外键完整性AcNoint0000~9999是NotnullACStuchar(10)00000000~是NotnullAcArticalchar(30)否NotnullACDatedatetime否NotnullSGNamechar(15)是Notnull附录2存储过程定义1.p1_Worker_Insert的定义:CREATEPROCEDUREp1_Worker_Insert @worker_nochar(5), @worker_namechar(10), @work_typechar(8), @work_wageint, @worker_sexchar(2), @work_timechar(30), @dormitory_nosmallint, @dormitory_campuschar(4), @dormitory_locationchar(4) as insertintoWorker values(@worker_no,@worker_name,@work_type,@work_wage,@worker_sex,@work_time,@work_time, @dormitory_no,@dormitory_campus,@dormitory_location);2.p2_Dormitory_Insert的定义:createprocedurep2_Dormitory_Insert @dormitory_nosmallint, @dormitory_campuschar(4), @dormitory_locationchar(4), @dormitory_phonechar(12), @dormitory_administerchar(10) as insertintoDormitory values(@dormitory_no,@dormitory_campus,@dormitory_location,@dormitory_phone,@dormitory_administer);3.p3_Room_Insert的定义:createprocedurep3_Room_Insert @room_nochar(6), @room_headerchar(10), @roomer_gradechar(4), @roomer_departmentchar(20), @roomer_perfectionchar(20), @dormitory_nosmallint, @dormitory_campuschar(4), @dormitory_locationchar(4) as insertintoRoom values(@room_no,@room_header,@roomer_grade,@roomer_department,@roomer_perfection,@dormitory_no,@dormitory_campus, @dormitory_location);4.p4_Fitment_Inser的定义:createprocedurep4_Fitment_Insert@fitment_namechar(16),@fitment_pricefloat,@fitment_numberint,@dormitory_nosmallint,@dormitory_campuschar(4),@dormitory_locationchar(4)asinserttoFitmentvalues(@fitment_name,@fitment_price,@fitment_number,@dormitory_no, @dormitory_campus,@dormitory_location);5.p5_Student_Insert的定义:createprocedurep5_Student_Insert @student_nochar(9), @department_namechar(20), @student_namechar(10), @student_sexchar(2), @student_homechar(10), @student_borthdatetime, @student_enter_timedatetime, @student_perfectionchar(20), @student_classint, @room_nochar(6), @dormitory_nosmallint, @dormitory_campuschar(4), @dormitory_locationchar(4) as insertintoStudentvalues(@student_no,@department_name,@student_name,@student_sex ,@student_home,@student_borth,@student_enter_time,@student_perfection, @student_class,@room_no,@dormitory_no,@dormitory_campus, @dormitory_location);6.p6_SafeGuard_Insert的定义:createprocedurep6_SafeGuard_Insert @safeguard_namechar(15), @safeguard_worker_numint, @safeguard_headerchar(10), @safeguard_phonechar(12) as insertintoSGNa

温馨提示

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

评论

0/150

提交评论