小区物业管理系统数据库设计.docx
小区物业管理系统的设计及实现报告内容摘要:1 需求分析说明书2 概念结构设计3 逻辑结构设计4 物理结构设计5 详细设计6 总结(经验体会)小组自评:在设计实现整个项目的过程中,小组成员都积极参及并且表现出了热情认真的态度。尤其是在遇到大家都不清楚的地方时,每个人都能积极去查阅资料,然后及时分享信息,这对于我们本身对数据库的课程学习也是非常有效的一种促进。每一个部分我们都选出了主要的负责人,虽然如此但是每一个板块每一个人都积极参及其中,制表,写实现方案,收集资料,汇总,有分工有合作,在彼此监督下还算是非常圆满的完成了此次作业。当然,也有很多不足之处。首先就是表现在对项目设计的经验欠缺上,致使前期的设计工作一度陷入非常拖拉的状况,并且表现在对后来整个项目的实现中出现了几次较大的改动。由于对课程知识掌握不够好,很多地方我们花费的功夫都比较大,幸而在大家的齐心协力之下一一解决。签名:年月日小组协作基本信息项目名称小区物业管理系统组长学号115041334姓名任晏平电话号码小组小区物业管理系统设计小组班级项目组成员学号姓名承担任务签字115041336孟青云物理设计115041333陈胜斌概念设计115041331孙策详细设计115041302金宜明逻辑设计115041334任晏平需求分析针对普通的小区物业管理,设计一个方便的小区物业管理系统。通过查阅资料、调查实际情况,给出合理的需求分析。在此基础上,小组成员分工合作完成逻辑设计等后续工作,结合课程所学内容,实现小区物业管理系统的简单运行。执行进度执行进度执行A执行时间需求分析2013.5.72013.5.13概念结构设计2013.5.14-2013.5.20逻辑结构设计2013,5.212013.5.23物理设计2013.5.24-2013.5.27数据库的实施及维护2013.5.282013.6.5目录1需求分析51. 1调查用户需求52. 2系统功能设计及划分91.3数据流图101.4数据字典142概念设计文档222. 1分ER图223. 2全局ER图243逻辑结构设计264. 1全局ER图265. 2转换为关系模型及优化266. 3设计用户子模式274物理结构设计284.1 、表结构设计284.2 数据库的创建314.3 数据表的创建334.4 数据完整性设计335详细设计及实现365.I触发器的创建365.2存储过程的创建366总结36课程答辩记录表43小组评价表错误!未定义书签。组员评价表错误!未定义书签。1需求分析1 .1调查用户需求本系统的最终用户为小区业主,小区物业管理人员。根据我们日常生活中的经验,结合对周边小区物业管理人员的咨询和对周边小区业主的调查,以及网上资料查询,得出用户的下列实际要求:一、小区的基本情况业主生活在小区里,每个小区都会有若干名工作人员负责本小区的日常管理。2 .业主的基本信息:入住时,每位业主都有唯一的编号,并生成一个小区物业管理系统帐号和密码。同时记录下客户的基本资料(业主资料和住房资料3 .管理员的基本信息:每个管理员都有唯一的管理员编号,管理员登陆物业管理系统也需要相应的账号和密码,并记录管理员的基本信息;同时便于小区内业主对管理员的管理工作进行评价,如投诉某位管理员的服务不当或者消极怠工。4 .公共财产管理的基本信息:每个业主共同分担公共财产的使用、维护、管理,比如水电房,煤气消防,停车场,区内小道,住宅楼宇电梯等,为了对不同的财产进行区分,可以为每种财产分配不同的财产号。这样有利于财产的报修和管理。同时维护小区安保工作,绿化、清洁及安全科普宣传,协助街道居委民警工作,代收各项费用如管理费。5 .快件收发的基本信息:每个小区都有邮件收发的管理,当本小区业主有信件时,相应的会有信件的到达时间,接受信件的业主姓名和他所在的房编号。有时,同一个业主有多封信件需要接收,需要表示一个业主有多少封信件。当信件接收后,应有一个接收信件的时间,表示信件已成功到达指定的业主手中。6 .报修的基本信息:小区及业主单元房中经常出现财产的损坏,比如路灯坏了,厕所的马桶出故障了等,这时,业主们需要将财产损坏情况报告给小区物业管理员,以便物业公司派人进行维修。这时,需要记录报修的房编号和损坏的财产编号,同时记录报修的时间和损坏的原因。当损坏的财产维修完毕后,应记录解决时间,表示该报修成功解决。7 .投诉的基本信息:在日常生活当中,业主和物业管理公司必然存在一定的分歧。为满足业主需求,提高物业管理公司办公水平。业主可以向物业管理公司提出建议和投诉。业主一旦投诉,物业管理人员必须马上对投诉进行辨别及确认,继而对合理投诉进行加强改善,同时通知业主。8 .费用管理的基本信息:管理业主是否缴纳物业管理费用信息,以及通知业主进行缴水费,电费,煤气费等费用及相关使用情况;使用户的生活更加方便快捷。二、用户对系统的要求1、小区物业管理员:a信息要求:小区物业管理员能查询上面提到的业主、单元房、公共财产管理等所有基本信息,从而实现对于小区的管理。b.处理要求:管理员可以在原有个人资料上添加、修改、删除个人信息。当业主基本信息发生变化时,小区物业管理员能对其进行修改。比如,某些业主搬离小区,他们在本小区中相应的记录就应该删去;或者业主将单元房转售他人,他们记录中业主基本信息也要作相应的修改等等。当快件到达本小区时,小区物业管理员应依据到达快件的相关信息在快件信息中插入一条记录,当业主们接收快件后,管理员应登记快件的接收时间,表明该信件已成功到达收信人的手中。当公共财产报修及时解决后,管理员应登记解决时间,表明该报修问题已成功解决。当业主投诉时,物业管理人员必须马上对投诉进行辨别及确认,继而对合理投诉进行加强改善,同时通知业主。核对每月资源使用情况,计算后通知业主缴纳相应费用。C.安全性及完整性要求:安全性要求:1 .系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;2 .系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;3 .系统应对不同用户设置不同的权限,区分不同的用户,如区分普通用户(学生),管理员。完整性要求:1 .各种信息记录的完整性,信息记录内容不能为空;2 .各种数据间相互的联系的正确性;3 .相同的数据在不同记录中的一致性。2、小区业主:a.信息要求:小区业主们能查询其所在的单元房的所有信息。能查询自己的快件信息。能查询自己的报修记录、投诉记录和缴费记录。b.处理要求:小区业主可以在个人信息中进行添加、修改、删除家庭人员信息。小区业主可以在投诉记录中插入投诉信息,表示对于物业管理公司的建议和投诉。小区业主能在报修记录中插入报修信息,表示公共财产发生了损毁需要小区物业管理公司派人维修。月末时,小区业主能查看到自己的费用情况,并按时缴纳费用,确保生活有序进行。1. 2系统功能设计及划分根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几部分;一、用户管理部分1,处理用户登录2、处理用户添加、修改、删除个人信息3、用户可以提交和查询投诉信息4、用户可以查询快件信息。5、用户可以提交及查询报修信息。6、用户可以查询费用信息。7、用户可以修改用户自己密码。二、管理员管理部分1、处理管理员登录2、管理员可以查询业主信息。3、管理员可以发布及更新快件信息。4、管理员可以插入、修改及查询报修信息。5、管理员可以插入、修改及查询业主投诉信息。6、管理员可以发布、处理费用信息。7、管理员可以修改管理员密码。1. 3数据流图业主分数据流图业主信息记录表管理员分数据流图快件分数据流图确认信息投诉分数据流图费用管理分数据流图业主费用缴纳记录表总数据流图1.4数据字典i数据项居住业主属性名存储代码类型长度备注业主姓名Ynamechar20业主姓名性别Ysexchar4房编号Dnochar10业主房号入住时间Scheckindate8业主搬入时间家庭情况FamilyChar50亲属情况房屋面积AreaChar10居住面积用户IDUnamechar20用户密码Upasswordchar20用户类型Utypetnyint1普通超级用户物业管理人员属性名存储代码类型长度备注管理人员姓名Gnamechar20管理员姓名性别Gsexchar4物业编号Gnochar10管理员编号入职时间Gtimechar8进入公司时间用户IDUnamechar20用户密码Upasswordchar20用户类型Utypetnyint1普通或超级用户单元房财产属性名存储代码类型长度备注物品号Pnochar10单元房物品编号物品名Pnamechar20单元房物品名邮件快递属性名存储代码类型长度备注业主姓名Ynamechar20收件人姓名房编号Dnochar10收件人房编号到达时间Marrivedate8邮件快递到达时间接收时间Mreceivedate8收件人接收时间报修:属性名存储代码类型长度备注房编号Dnochar10报修人房编号物品号Pnochar10报修物品编号提交日期RSUbmitdate8报修提交日期解决日期Rsolvedate8问题解决日期报修原因Rreasonchar50物品损坏原因投诉:属性名存储代码类型长度备注房编号Dnochar10投诉人房编号物业编号Gnochar10受理物业人员提交日期Tsubmitdate8报修提交日期解决日期TSoIvcdate8问题解决日期投诉原因Treasonchar50投诉原因费用管理属性名存储代码类型长度房编号Dnochar10物业编号Gnochar10用水量Waterchar20应缴水费FWaterchar2。用电量Electricchar20应缴电费FElectricchar20燃气立方数Gaschar20应缴燃气费FGaschar20开始时间Fstartchar20截止时间Fdeadlinechar20单位物业管理费Fpartchar20总物业管理费Ftotalchar20总应缴费用Fallchar20用户&管理员属性名存储代码类型长度备注用户IDUnamechar20用户密码Upasswordchar20用户类型Utypetnyint1普通或超级用户2.数据结构数据结构名组成用户信息用户ID,用户密码,用户类型(普通用户,管理员)居住业主信息业主姓名,性别,房编号,入住时间,家庭情况,房屋情况管理员信息管理员姓名,性别,物业编号,入职时间公共财产信息物品号,物品名邮件快递信息姓名,房编号,到达时间,接收时间,邮件数量报修信息房编号,物品号,提交日期,解决日期,报修原因投诉信息房编号,物业编号,提交日期,解决日期,报修原因费用信息开始日期,截止日期,资源使用情况,费用数量3.数据流数据流名数据流来源数据流去向组成信息登记(业主)业主业主信息记录表个人信息信息修改(业主)业主业主信息记录表个人信息信息查询(业主)业主信息记录袤业主个人信息信息登记(管理员)管理员管理员信息记录表个人信息信息修改(管理员)管理员管理员信息记录表个人信息信息查询(管理员)管理员信息记录表管理员个人信息快件信息登记物业管理人员邮件快递表快件信息收取快件邮件快递表业主快件信息报修登记业主业主报修记录表报修信息查询报修业主报修记录表业主已修信息已修登记物业管理人员业主报修记录表已修信息投诉物业管理业主业主投诉记录表投诉信息查询投诉进度业主投诉记录表业主改善信息物业管理投诉物业管理人员业主投诉记录表改善信息信息登记(费用管理)物业管理人员业主费用缴纳记录表费用信息信息查询(费用管理)物业管理人员业主费用信息信息查询(费用管理)业主费用缴纳记录表业主缴费信息信息查询(费用管理)业主业主费用缴纳记录表缴费信息4.数据存储数据存储名输入的数据流输出的数据流组成业主报修记录表报修信息己修信息报修信息报修信息已修信息邮件快递表快件信息快件信息确认信息快件信息确认信息业主投诉登记表投诉信息改善信息投诉信息改善信息业主费用记录表费用信息缴费信息费用信息缴费信息业主信息记录表个人信息个人信息个人信息管理员信息记录表个人信息个人信息个人信息5.处理过程处理过程名输入数据流输出数据流报修登记报修信息报修信息查询报修报修信息报修信息登记已修信息已修信息己修信息快件收取快件信息确认信息快件信息登记快件信息已收信息投诉物业管理投诉信息投诉信息查询投诉进度投诉信息投诉信息物业管理投诉改善信息改善信息信息登记(业主)个人信息个人信息信息修改(业主)个人信息个人信息信息查询(业主)个人信息个人信息信息登记(管理员)个人信息个人信息信息修改(管理员)个人信息个人信息信息查询(管理员)个人信息个人信息信息登记(费用管理)费用信息费用信息信息查询(费用费用信息费用信息管理)信息登记(费用管理)缴费信息缴费信息信息查询(费用管理)缴费信息缴费信息2概念设计文档2.1分ER图1、业主个人信息管理子系统2、报修子系统3、投诉子系统4、快件收发子系统5、费用管理子系统(|)业主<心>物业管理人员全局ER图设计完成的E-R图为:业主m公共财产财产号物业管理人员通知9业编号X姓名i止时R诉席投诉决时但总物业管理费开始时间财产三里位物管理费应缆X费用户用户密码3逻辑结构设计1. 1全局ER图业主3. 2转换为关系模型及优化4. 2.1关系模型转换小区业主(房编号,业主姓名,性别,入住时间,家庭情况,房屋情况)物业管理人员(物业编号,管理员姓名,性别,入职时间)公共财产财产(物品号,物品名)业主网页查询(房编号,用户ID,用户密码)物业管理人员网页查询(物业编号,用户ID,用户密码)邮件快递签收(业主姓名,房编号,到达时间,接受时间)报修(房编号,财产号,报修时间,解决日期,报修原因)投诉(房编号,投诉时间,解决问题,投诉原因)费用管理(房编号,物业编号,开始时间,截止时间,用水量,应缴水费,用电量,应缴电费,燃气立方数,应缴燃气费,单位物业管理费,总物业管理费,总应缴费用)(下划线标注的属性为主码)5. 2.2关系优化以上表是优化后的关系模型,优化就是要消除非主属性对主属性的部分依赖以及传递依赖。在设计关系模型用户(物业管理人员)网页登陆按规则是要写入业主表(物业管理人员表)的,但是存在了部分依赖和传递依赖,所以优化后就给独立出来。自此所有的都是符合规则的3NFo3.3设计用户子模式为了方便程序查询,建立了如下用户视图(可贴图附代码)1、业主信息视图(房编号,业主姓名,性别,入住时间,家庭情况,房屋面积)2、管理员信息视图(物业编号,管理员姓名,性别,入职时间)3、财产报修视图(房编号,财产名,报修时间,处理时间,报修原因)4、投诉视图(房编号,物业编号,投诉时间,解决时间,投诉原因)5、业主费用总图(房编号,物业编号,用水量,应缴水费,用电量,应缴电费,燃气立方数,应缴燃气费,单位物业管理费,总物业管理费,总应缴费用,开始时间,截止时间)4物理结构设计6. 1、表结构设计小区业主表属性名存储代码类型长度备注业主姓名Ynamechar20业主姓名性别Ysexchar-1房编号Dnochar10业主房号入住时间Scheckindate8业主搬入时间家庭情况FamilyChar50亲属情况房屋面积AreaChar10居住面积用户WUnamechar20用户密码Upasswordchar20用户类型Utypetyint1普通超级用户物业管理人员表属性名存储代码类型长度备注管理人员姓名Gnamechar20管理员姓名性别Gsexchar4物业编号Gnochar10管理员编号入职时间Gtimochar8进入公司时间用户IDUnamechar20用户密码Upasswordchar20用户类型Utypetnyint1普通或超级用户单元房财产表属性名存储代码类型长度备注物品号Pnochar10单元房物品编号物品名Pnamechar20单兀房物品名邮件快递表属性名存储代码类型长度备注业主姓名Ynamechar20收件人姓名房编号Dnochar10收件人房编号到达时间Marrivedate8邮件快递到达时间接收时间Mreceivedate8收件人接收时间报修表属性名存储代码类型长度备注房编号Dnochar10报修人房编号物品号Pnochar10报修物品编号提交日期Rsubmitdate8报修提交日期解决日期Rsolvedate8问题解决日期报修原因Rreasonchar50物品损坏原因投诉表属性名存储代码类型长度备注房编号Dnochar10投诉人房编号物业编号Gnochar10受理物业人员提交H期Tsubmitdate8报修提交日期解决日期Tsolvedate8问题解决日期投诉原因Treasonchar50投诉原因费用管理表属性名存储代码类型长度房编号Dnochar10物业编号Gnochar10用水量Waterchar20应缴水费FWaterchar20用电量Electricchar20应缴电费FElectricchar20燃气立方数Gaschar20应缴燃气费FGaschar20开始时间Fstartchar20截止时间Fdeadlinechar20单位物业管理费FpartChar20总物业管理费Ftotalchar20总应缴费用Fallchar204.2数据库的创建¾iSI+S"业主",位置是"小区物业者理"n"(local)-上列名I数据类型I长度I允许空闷DnoChar10Ynamechar20Ysexchar4VTcheckinda,tetine8/FMniIyChV50VzAre*chr10/1.Un5Chtr20Vz列I默认值精度0小数位数0标识否标识种子标识递增里是RowGuid否公式排序规则ditl>sdfult>4.4数据完整性设计(列出数据库表中所设置的完整性约束条件)1 .主键及外键约束:表名主键外键业主房编号(DnO)物业管理人员物业编号(GnO)公共财产物品号(Pno)邮件快递房编号(DnO)业主姓名(Yname)房编号(DnO)业主姓名(Yname)到达时间(Mreceive)投诉房编号(Dno)物业编号(GnO)提交日期(Tsubmit)房编号(DnO)物业编号(Gno)报修房编号(Dno)物品号(Pno)提交日期(Rsubmit)房编号(DnO)物品号(Pno)日常资源使用情况房编号(Dno)物业编号(Gno)房编号(Dno)物业编号(Gno)2.非空约束:表名非空约束业主房编号(Dno)业主姓名(Yname)物业管理人员物业编号(Gno)公共财产物品号(Pno)邮件快递房编号(DnO)业主姓名(Yname)到达时间(Mreceive)投诉房编号(DnO)物业编号(GnO)提交日期(Tsubmit)报修房编号(Dno)物品号(PnO)提交日期(Rsubmit)费用管理房编号(DnO)物业编号(GnO)缴费时间(Ftime)3.CheCk约束:表名Check约束日常资源使用情况用X量O应缴X费()单位物业管理费(Fpart)总物业管理费(Ftotal)总应缴费用(Fall)PS:所有CheCk约束皆为大于等于"0、5详细设计及实现5存储过程的创建1 .执行存储过程查询业主信息use小区物业管理goprocY'ifexists(selectnamefromsysobjectswherenameandtype=,p,)dropprocedureprocYgocreateprocedureprocYDidchar(10)asselectYname,Ysex,Dno,Ycheckin,Family,Areafrom业主whereDno=Did2 .执行存储过程插入业主信息createprocAddY©idChar(Io)=NULL,namenvarchar(20)=NULL,sexChar(4)=NULL,©timesmalldatetime=NULL,mianjiChar(IO)=NULL,homenvarchar(50)=NULLASIFidISNULLORnameISNULLORsexISNULLORtimeISNULLORianjiISNULLORhomeISNULLBEGINPRlNT'请重新输入该业主信息!'PRINT'你必须提供业主的房号、姓名、性别、入住时间、面积及家庭情况RETURNDECLAREbitSexbitIFsex='男'SET©bitSex=1ELSESETbitSex=OBEGINTRANSACTIONINSERT业主(Dno,Yname,Ysex,Scheckin,Family,Area)VALUES(id,name,Sex,time,home,mianji)IFerrorO0BEGINROLLBACKTRANRETURNENDCOMMITTRANSACTIONPRlNT'业主'+name+'的信息成功添加到表业主中。,报修信息存储过程1 .执行存储过程查询报修信息use小区物业管理name =ifexists(selectnamefromsysobjectswhere,procFi,andtype='p')dropprocedureproeFixgocreateprocedureprocFixasselectDno,Pno,Rsubmit,Rsolve,Rreasonfrom报修2 .执行存储过程插入报修信息createprocedureAddFidChar(Io)=NULL,PidChar(IO)=NULL,Ttimesmalldatetime-NULL,Stimesmalldatetime=NULL,ReaSOnchar(50)=NULLASIFidISNULLORPidISNULLOROTtimeISNULLORStimeISNULLOR©ReasonISNULLBEGINPRlNT'请重新输入该业主信息!'PRlNT'你必须提供业主的房号、物品号、提交时间、解决时间、报修原因RETURNBEGINTRANSACTIONINSERT报修VALUES(id,Pid,©Reason,Stime,Ttime)IFerrorO0BEGINROLLBACKTRANRETURNENDCOMMITTRANSACTIONPRINT,房号'+id+'的报修信息成功添加到表报修中。'投诉信息存储过程use小区物业管理goifexists(selectnamefromsysobjectswherename='proc_T'andtype=,p,)dropprocedureprocTgocreateprocedureprocTasselectDno,Gno1TsubmitjTsolvejTreasonfrom投诉费用信息存储过程use小区物业管理goifexists(selectnamefromsysobjectswherename='procF'andtype=,p,)dropprocedureprocFgocreateprocedureprocFasselectDno,Ftime,Fsolve,Fpart,Ftotal,Fallfrom费用快件信息存储过程use小区物业管理goifexists(selectnamefromsysobjectswherename='procM,andtype=,p,)dropprocedureprocMgoCreateprocedureprocMDidCHAR(20)asselectDno,Yname,Marrive1Mreceivefrom快件whereDid=Dno6总结在为期一个月左右的大作业设计实现过程中,组内成员均表现优秀。大家在繁忙的课程和复习之余为小组共同作业付出了许多时间及精力。做大作业的过程既是一份宝贵的学习简单数据库设计的经验,又是大家对于数据库课程查漏补缺的好机会。大家在认真踏实做好自己分内任务的同时,积极参及到别的模块当中,一起合作,讨论,分享自己的资料和心得,彼此监督,均出色完成了此次作业任务。尤其是在答辩前最后几天,小组成员一直在积极做着最后的修改。虽然临近期末,但每天晚上项目小组的群里大家总在热烈讨论。短短的时间,大家从毫无头绪到最后做出一个简单雏形,对每一个小组成员都是巨大的收获和成就。这一段过程,也是每一个人的宝贵记课程答辩记录表答辩时间2013年06月06答辩地点6#1007提问及学生回答问题的主要内容:(可另附页)1、在逻辑结构设计板块中,关系模式的转换优化是否有研究过范式级别?答:我们的设计最低符合第三范式结构。2、在分E-R图合并成总E-R图的过程中,可能产生哪些冲突?答:属性冲突;命名冲突(同名异义、异名同义);结构冲突。3、并发事务冲突包括哪些?用什么手段解决?答:并发事务冲突包括丢失更新问题、读脏数据问题、不可重复读问题,用封锁协议和隔离的办法解决。