《物业管理系统数据库课程设计报告完整版.docx》由会员分享,可在线阅读,更多相关《物业管理系统数据库课程设计报告完整版.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、物业管理系统数据库课程设计报告完整版 设计题目:物业管理系统 学 院:信息科学与工程学院 专 业:计算机科学与技术 班 级:计信 学 号: 学生姓名: 指导老师: 2014 年 X月 X 日 目 录 1 系统背景 3 2 需求分析 4 2.1 功能简介 4 2.1.1 管理员子系统 4 2.1.2 一般业主子系统 4 2.1.3 物业代表子系统 4 2.2 数据字典 5 2.3 数据流图 5 3 3 概念结构设计 5 3.1 管理员子系统E-R图 6 3.2 一般业主子系统E-R图 7 3.3 物业代表子系统E-R图 8 4 4 逻辑结构设计 8 4.1 关系模式 9 4.1.1 初步关系模式
2、 9 4.1.2 分解合并 9 4.2 用户子模式 10 4.3 外键约束 10 4.4 数据库平安性 10 4.4.1 角色 10 4.4.2 权限 11 5 物理设计 11 5.1 存储设计 11 5.1.1 表格建立 11 5.2 索引设计 13 6 数据库的实现 14 6.1 基本表 14 6.2 视图 14 6.3 角色 15 6.4 索引 15 6.5 触发器 17 6.6 条件约束 17 7 测试方案 18 7.1 插入操作 18 7.2 更新操作 19 7.2.1 对人员信息表的更新 19 7.2.2 用户对修理业务进行更新 20 7.2.3 生成水电业务账单 20 7.3 删
3、除操作 21 7.4 查询操作 21 7.4.1 查询基本人员信息 21 7.4.2 查询账单 21 8 总结 23 参考文献 24 1 系统背景 本课程是为数据库与信息管理技术课程所开的实践环节。数据库与信息管理技术课程是一门实践性很强的技术课程,而且是计算机科学与技术中发展最快的领域之一。 本课程设计的目的旨在使学生能够驾驭数据库的基本原理、数据库设计的基本方法、SQL语言的应用、SQL Server 2000/2005数据库环境的运用,并能依据所应用到的数据库管理系统的相关技术,根据规范化设计的方法解决现实中数据库设计的问题。选修本课程前应已选修数据库与信息管理技术课程,并娴熟驾驭SQL
4、语言,以及数据库设计的规范化等基本方法。先修课程:数据库与信息管理技术。2 需求分析 2.1 功能简介 2.1.1 管理员子系统 (1) 管理员登录:管理员通过输入管理员账号和密码后登录管理员子系统进行系统操作。(2) 业主添加功能:管理员通过该功能添加本小区入住业主,填写业主真实信息。(3) 业主信息查询功能:管理员通过该功能查看业主信息。(4) 业主信息修改功能:管理员在业主信息发生改变以后,依据改变状况修改业主信息。(5) 业主信息删除功能:在业主搬出本小区以后删除业主基本信息。2.1.2 一般业主子系统 (1) 业主登录:业主通过输入业主账号和密码后登录一般业主子系统进行系统操作。(2
5、) 业主个人信息查看功能:业主通过该功能查看自己在本小区的基本信息。(3) 业务添加功能:业主通过该功能添加各类修理业务。(4) 业务查看功能:业主通过此功能查看各项修理业务进行状态。(5) 业务状态修改功能:修改业务进行状态,业务是否完成,或对修理不满足,或因各种状况需再次修理,通过此功能通知物业代表。(6) 业务删除功能:业主自己把修理业务做完,不再须要修理人员,或业务已确认被修理人员修理完好,则删除本业务。(7) 账单查看功能:业主通过此功能查看修理、水、电、物业管理各类账单,以确认自己所要交纳的费用。(8) 修理业务查看功能:小区把供应的物业修理服务展示给业主。2.1.3 物业代表子系
6、统 (1) 物业代表登录:物业各类代表通过输入其各自独有的账号和密码后登录物业代表子系统进行系统操作。(2) 耗水耗电量填写功能:水费代表通过此功能把业主的月耗水量录入,电费代表通过此功能把业主的月耗电量录入。(3) 耗水耗电量更改功能:水费代表通过此功能修改输入错误或查询有误的耗水量,电费代表通过此功能修改输入错误或查询有误的耗电量。(4) 生成水电费账单功能:水费代表完成水量录入以后,通过此功能生成各业主当月水费,电费代表完成水量录入以后,通过此功能生成各业主当月电费。(5) 耗水耗电量查看功能:水费代表通过此功能查看各月各个业主的耗水量统计,电费代表通过此功能查看各月各个业主的耗电量统计
7、 (6) 委派修理人员功能:物业修理代表通过此功能委派相关人员去为业主供应修理服务。(7) 清除已完成业务功能:在业主没有对修理业务提出举报,并且已付清相关费用以后,物业修理代表通过此功能把业务从数据库中删除。(8) 物业费用修改功能:各类物业代表通过此功能修改其管辖业务的物业费用。(9) 物业修理费用填写:修理人员通过此功能填写修理费用,即在修理人员办理完修理业务以后,依据劳动量和消耗器械的多少而合理收费。2.2 数据字典 详细的数据字典会在数据库实现一章中具体给出,此处不再重复。2.3 数据流图 管理 增改查 生成 管理 生成 委派 管理 管理 查询 查询 管理 查询 业主财产 水电业务管
8、理 修理业务 修理账单 水电账单 修理人员 物业代表 管理员 业主 3 3 概念结构设计 3.1 管理员子系统E-R图 生日 电话 住址 登录 管理 (增删改查) 姓名 1 1 业主 性别 管理员 1 n 生日 业主账号 姓名 性别 电话 密码 住址 管理员账号 3.2 一般业主子系统E-R图 修理费用 起先时间 满足状况 登录 账单明细 管理 (增删改查) 修理业务 查询 业主 修理编号 生日 电话 完成时间 住址 修理人员编号 业主账号 姓名 业主账号 性别 修理人员姓名 3.3 物业代表子系统E-R图 注:由于页面限制,图中只画出了各实体的主码。修理编号 登录 管理, 生成账单 业务号
9、修理业务 管理 物业代表 物业代表账号 管理 水电业务管理 户主账号 户主账号 电业务 水业务 4 4 逻辑结构设计 4.1 关系模式 4.1.1 初步关系模式 依据概念结构设计,可以得到初步的关系模式如下(其中各关系模式的主码用下划线标出): 管理员登录(管理员账号,密码) 管理员(管理员账号,姓名,性别,生日,电话,住址) 业主登录(业主账号,密码) 业主(业主账号,姓名,性别,生日,住址,账号) 修理业务(修理编号,业主账号,起先时间,结束时间,修理人员编号,修理人员姓名,满足状况,修理明细,修理费用) 物业代表登录(物业代表账号,密码) 物业代表(物业代表账号,代表业务,姓名,性别,生
10、日,住址,电话) 水电业务管理(业务号,业务内容,单位价格,业务管理费) 水业务(业主账号,当月用水量,总用水量,缴纳费用,缴费时间) 电业务(业主账号,当月用电量,总用电量,缴纳费用,缴费时间) 4.1.2 分解合并 对上述关系模式进一步分析,解决冲突,消退冗余: 经分析发觉,管理员登录和管理员两个实体,事实上是一个实体,只是功能不同而已,所以我们可以将这两个表合并: 管理员(管理员账号,密码,姓名,性别,生日,电话,住址) 其它两个登录表同理可以合并: 业主(业主账号,密码,姓名,性别,生日,住址,电话) 物业代表(物业代表账号,密码,代表业务,姓名,性别,生日,住址,电话) 除此之外,虽
11、然上述功能没有用到,但还应当增加关于业主全部财产的具体信息,如车位,地下室等。业主财产(业主账号,房产地址,房产面积,地下室地址,地下室面积,车库地址,车库面积,车位地址) 还用增加修理人员的相关信息: 修理人员(修理人员编号,姓名,性别,生日,电话,住址) 分析发觉水电业务的列大体相像,因此也可以合并在一起: 水电业务(业务代号,业主账号,当月用电量,总用电量,缴纳费用,缴费时间) 4.2 用户子模式 给业主看的缴费账单可以用外模式可以用试图来实现。 在业主和水业务上建立水账单试图: 水账单(业主账号,业主姓名,月用水量,缴纳金额,缴纳日期) 在业主和电业务上建立电账单试图: 水账单(业主账
12、号,业主姓名,月用电量,缴纳金额,缴纳日期) 在修理业务上建立修理账单视图: 修理账单(修理编号,业主账号,起先时间,结束时间,缴纳费用) 4.3 外键约束 依据各表功能和存储结构的分析,我们可以建立以下外键约束: 4.4 数据库平安性 4.4.1 角色 依据本系统的功能,可以创建三个角色,来实现数据库权限的安排,分别是管理员角色,用户角色和物业代表角色。 4.4.2 权限 依据用户角色不同,为其安排不同的权限如下: 管理员:对表tbl_管理员,tbl_业主,tbl_业主财产拥有全部权限。业主:对表tbl_业主,tbl_业主财产拥有查询权限,对表tbl_修理业 拥有查询,修改和删除的权限。物业
13、代表:对表tbl_水电业务拥有查询,修改和添加的权限,对表 tbl_修理业务拥有全部权限,对表tbl_修理人员有查询权限, 对表bl_水电业务管理有查询和修改的权限。5 物理设计 5.1 存储设计 5.1.1 表格建立 依据关系模式,确定各属性的相关类型,建立各个表格: Tbl_管理员表格: Tbl_水电业务: Tbl_水电业务管理: Tbl_修理人员 Tbl_修理业务: Tbl_物业代表: Tbl_业主: Tbl_业主财产: 5.2 索引设计 依据性能的须要确定是否建立索引,为了提高查询效率,对每个表格根据其主键建立相应的索引:如对于tbl_业主表格,可以依据其业主账号建立相应的索引“业主账
14、号”,这样可以大大提高日后的查询效率,类似的,也分别对tbl_管理员,tbl_修理人员,tbl_修理业务,tbl_物业代表建立了相应的索引,其中由于tbl_修理业务的表由两个属性作为主键,可以对其组合作为索引条件。详细SQL语句会在数据库实现章节具体给出。 6 数据库的实现 6.1 基本表 以表tbl_管理员为例,SQL实现语句如下: create table tbl_管理员 (管理员账号 primary key nchar(10), 密码 nvarchar(20), 姓名 nvarchar(15), 生日 date, 性别 bit, 电话 nvarchar(15), 住址 nvarchar(
15、50) ); 本系统至少须要建立以下基本表: 6.2 视图 以生成水费账单为例,实现创建视图的SQL语句如下: create view 水账单视图(业主账号,姓名,用量,缴纳时间,缴纳费用) as select tbl_业主.业主账号,tbl_业主.姓名,tbl_水电业务.未缴费用量,tbl_水电业务.缴费时间,tbl_水电业务.缴纳费用 from tbl_业主,tbl_水电业务 where tbl_业主.业主账号=tbl_水电业务.业主账号 and tbl_水电业务.业务代号=01; 本系统至少须要生成的视图如下: 6.3 角色 正文 实现角色创建的SQL语句如下: create role
16、管理员; create role 业主; create role 物业代表; 创建胜利后数据库系统截图: 6.4 索引 实现建立索引的SQL语句如下: create unique index 管理员账号 on tbl_管理员(管理员账号); create unique index 业主账号 on tbl_业主(业主账号); create unique index 业主账号 on tbl_业主财产(业主账号); create unique index 修理账号 on tbl_修理业务(修理编号,业主账号); create unique index 修理人员编号 on tbl_修理人员(修理人员编
17、号); create unique index 物业代表账号 on tbl_物业代表(物业代表账号); 索引建立完成后的部分截图如下: 6.5 触发器 在系统的实际应用中,每个表的增删改查都会受到其他表的限制,比如在本系统中,在对tbl_业主进行增加操作的同时也要对tbl_业主操作进行相应的增加操作,同理,当删除一个业主时,相应的tbl_业主财产中也应当删除该业主的全部信息。实现该功能的触发器创建SQL语句如下: 插入触发器: ALTER trigger dbo.insert_业主 on dbo.tbl_业主 after insert as begin insert into tbl_业主财产
18、(业主账号) select(业主账号)from inserted; end; 建成后的数据库截图: : 6.6 条件约束 依据每个属性的详细内容,为其增加必要的条件约束,如给每个存放人员信息的表格,增加生日属性的条件约束,是它更加符合实际状况。实现条件约束的SQL语句如下: alter table tbl_管理员 add constraint c1 check(生日 between 1960-01-01 and 1990-01-01); 7 测试方案 7.1 插入操作 以插入新业主为例: insert into tbl_业主(业主账号,密码,姓名,性别,生日,电话,住址) values(200
19、0000006,123,薛XX,1,1988-12-29,1364791XXXX,XX小区号); 如上图的执行结果截图,由于有触发器限制,在向表tbl_业主添加新记录的同时,系统会自动的向表tbl_添加相应的业主信息 7.2 更新操作 7.2.1 对人员信息表的更新 update tbl_业主 set 住址=鼎舜小区22号楼6单元401,业主账号 =300000006 where 姓名=薛宝钗; 7.2.2 用户对修理业务进行更新 7.2.3 生成水电业务账单 7.3 删除操作 删除业主信息: 由于外键约束限制,在删除tbl_业主表的记录时会级联的删除在tbl_业主财产表上的相应记录。7.4
20、查询操作 7.4.1 查询基本人员信息 7.4.2 查询账单 业主可通过视图查询水电业务账单,以水费账单为例: 8 总结 通过本次图书管理系统的设计,我对数据库这门课程有了更深刻的相识,同时,对SQL Server的功能更加了解,对其运用也更加娴熟。在设计的过程中,我发觉了许多问题也学会了许多东西。我发觉我平常所积累的学问是相当有限的,以前所驾驭的学问真的是纸上谈兵,真正上机实践的时候才发觉有许多之前根本想不到的问题。比如关于外键约束和约束条件的问题,要考虑到许多因素,这些因素不只来源于一张表,而是许多张表之间的联系,要做到四平八稳真的很难,更难的还有触发器和视图的创建,要做到既要考虑其功能有要考虑其实现的难易程度。随着这些问题的逐一解决,对我的数据库开发实力有了很大的提高,也增加了我对数据库这门课程的深厚爱好。让我意识到,我对数据库的了解还是停留在表面的,虽然这次课程设计结束了,但我还应当对数据库开发进行更进一步的探究。自评成果:90分。参考文献 1 B. Liu. Web Data Mining: Exploring hyperlinks, contents and usage dataM. Springer, 2006. 2 姚天昉, 程希文, 徐飞玉, 等. 文本看法挖掘综述J. 中文信息学报, 2008, 22(3): 71-80. ji南高校