小区物业管理系统内附代码.docx
- 文档编号:17759626
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:31
- 大小:105.37KB
小区物业管理系统内附代码.docx
《小区物业管理系统内附代码.docx》由会员分享,可在线阅读,更多相关《小区物业管理系统内附代码.docx(31页珍藏版)》请在冰点文库上搜索。
小区物业管理系统内附代码
苏州市职业大学
实习(实训)报告
名称 SQLServer数据库项目实训01
2013年7月1日至2013年7月5日共1周
学院(部)计算机工程学院
班级
姓名
学院(部)负责人
系主任
指导教师
目录I
1.课程设计的目的与要求1
2.题目说明1
3.需求分析和数据库设计1
3.1信息收集和需求分析1
3.2概念设计——E-R图2
3.3逻辑设计4
4.表和索引的创建及数据完整性6
5.数据库结构的实现7
6.遇到的问题和解决方法9
7.课程设计总结11
8.参考文献11
1.课程设计的目的与要求
数据库基础与应用课程设计是计算机专业集中实践性环节之一,是学习完《数据库系统概论》课程后进行的一次全面的综合练习。
其目的在于加深对数据库基础理论和基本知识的理解,掌握使用VB、C、C++、PowerBuilder等进行数据库开发的全过程,提高运用数据库解决实际问题的能力。
用VB、PB、C++等或其它软件工具制作一个小型管理系统。
所设计的小型管理系统应包含查询、插入、删除、修改、报表、统计、用户权限管理等基本功能,界面采用菜单的形式。
根据课程设计1周时间的安排选择适当大小的设计课题。
根据题目的基本需求,给出概念模型与逻辑模型,编写程序,并写出详细的设计说明书。
2.题目说明
本案例为一个小区物业管理系统主要包括:
对小区所有房屋资料的录入、增加、删除、查询等多个功能的实现,是基于在这些小区的房屋资源对小区进行管理;对小区内住户的详细资料的管理,包括增加、删除、修改、查询等功能的实现,这些也是一个小区的基本资料,毕竟物业管理最后是针对小区的所有住户而言的。
在具有了所有的基本资料信息后,需要实现实质性的物业管理。
主要的管理物业包括:
物业设备管理仪表(水、电表)数据管理、收费管理、住户投诉管理、住户报修管理。
以及上述物业信息的统计报表,这样可以便于物业公司对小区进行全面的了解和管理。
本次课程设计将按照图中数据库生命周期的各个阶段,逐步完成整个系统的设计。
3.需求分析和数据库设计
3.1信息收集和需求分析
小区物业管理系统的系统结构分为个部分,如图1-2所示。
系统功能:
用户注册、用户管理、修改密码、退出系统。
楼盘管理功能:
楼盘管理、添加修改楼盘信息。
住户管理功能:
住户管理、添加修改住户信息。
报修管理功能:
报修管理、添加删除报修信息。
投诉管理功能:
投诉管理。
图1-2物业管理系统工作流程
3.2概念设计——E-R图
本系统的实体有:
小区住户基本信息实体、报修信息实体、投诉信息实体、楼盘信息实体。
各个实体具体的描述E-R图如图1-3到图1-7所示。
图1-3住户基本信息实体属性图
图1-4楼盘信息实体属性图
图1-5住户报修基本信息实体属性图
图1-6住户投诉基本信息实体属性图
图1-7实体之间关系E—R图
3.3逻辑设计
现在需要将上面的数据库概念结构转化为SQLServer2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
小区物业管理系统数据库中各个表格的设计结果如下面的几个表所示。
每个表表示在数据库中的一个数据表。
表1-1用户表(user1表)
字段名
数据类型
可否为空
业主编号(主键)
Int
NOTNULL
楼盘编号
Int
NOTNULL
表1-2住户基本信息表
字段名
数据类型
可否为空
业主编号(主键)
Int
NOTNULL
姓名
Char(20)
NOTNULL
性别
Char(20)
NOTNULL
电话
Int
NOTNULL
门牌号
Intunique
NOTNULL
面积
Int
NOTNULL
身份证
Char(20)
NOTNULL
表1-3楼盘基本信息表
字段名
数据类型
可否为空
楼盘编号(主键)
Int
NOTNULL
楼盘名称
Char(20)
NOTNULL
楼层数
Int
NOTNULL
面积
Int
NOTNULL
户型
Char(20)
NOTNULL
地址
Char(20)
NOTNULL
表1-4报修处理表
字段名
数据类型
可否为空
保修事项编号(主键)
Int
NOTNULL
业主编号
Int
NOTNULL
报修名称
Char(20)
NOTNULL
维修状态
Char(20)
NOTNULL
日期
Datetime
NOTNULL
受理人
Char(20)
NOTNULL
表1-5投诉管理表
字段名
数据类型
可否为空
投诉事项编号(主键)
Int
NOTNULL
业主编号
Int
NOTNULL
投诉名称
Char(20)
NOTNULL
解决状态
Char(20)
NOTNULL
受理人
Char(20)
NOTNULL
日期
Detetime
NOTNULL
4.表和索引的创建及数据完整性
4.1建立数据库
createdatabase物业管理系统
4.2建立数据表
用户表
Createtable用户表
(业主编号intprimarykeynotnul,
楼盘编号intnotnul,
);
住户信息表
Createtable住户信息表
(业主编号intprimarykeynotnull,
姓名char(20)notnull,
性别char(20)check(性别in('男','女')),
电话intnotnull,
门牌号intuniquenotnull,
面积intnotnull,
身份证char(20)uniquenotnull
);
楼盘信息表
Createtable楼盘信息表
(楼盘编号intprimarykeynotnull,
楼盘名称char(20)notnull,
楼层数intnotnull,
面积intnotnull,
户型char(20)notnull,
地址char(20)notnull
);
报修信息表
Createtable报修信息表
(报修事项编号intprimarykeynotnull,
业主编号intnotnull,
报修名称char(20)notnull,
维修状态char(20)default'not',
日期datetimedefaultgetdate(),
受理人char(20)notnull,
foreignkey(业主编号)references住户信息表(业主编号)
);
投诉信息表
Createtable投诉信息表
(投诉事项编号intprimarykeynotnull,
业主编号intnotnull,
投诉名称char(20)notnull,
解决状态char(20)default'not',
日期datetimedefaultgetdate(),
受理人char(20)notnull,
foreignkey(业主编号)references住户信息表(业主编号)
);
5.数据库结构的实现
5.1创建数据表
(1)创建住户表
createtable住户信息表
(业主编号intprimarykeynotnull,
姓名char(20)notnull,
性别char(20)check(性别in('男','女')),
电话intnotnull,
门牌号intuniquenotnull,
面积intnotnull,
身份证char(20)uniquenotnull
)
(2)创建楼盘信息表
createtable楼盘信息表
(楼盘编号intprimarykeynotnull,
楼盘名称char(20)notnull,
楼层数intnotnull,
面积intnotnull,
户型char(20)notnull,
地址char(20)notnull
)
(3)创建报修表
Createtable报修信息表
(报修事项编号intprimarykeynotnull,
业主编号intnotnull,
报修名称char(20)notnull,
维修状态char(20)default'not',
日期datetimedefaultgetdate(),
受理人char(20)notnull,
);
(4)创建投诉表
Createtable投诉信息表
(投诉事项编号intprimarykeynotnull,
业主编号intnotnull,
投诉名称char(20)notnull,
解决状态char(20)default'not',
日期datetimedefaultgetdate(),
受理人char(20)notnull,
);
5.2建立视图
(1)创建业主信息视图
createview业主信息视图
as
select姓名业主姓名,楼盘名称,门牌号,性别,电话,住户信息表.面积,身份证from住户信息表,楼盘信息表,拥有信息表
where楼盘信息表.楼盘编号=拥有信息表.楼盘编号and住户信息表.业主编号=拥有信息表.业主编号
(2)创建未维修事项信息视图
createview未维修事项信息视图
as
select报修名称,姓名报修人,楼盘名称,门牌号,电话,日期保修日期,受理人from报修信息表,住户信息表,楼盘信息表,拥有信息表
where维修状态!
='ok'and楼盘信息表.楼盘编号=拥有信息表.楼盘编号and住户信息表.业主编号=拥有信息表.业主编号
and报修信息表.业主编号=住户信息表.业主编号
(3)创建报修视图,只显示ID,Name,日期和维修否信息
createview未解决投诉信息视图
as
select投诉名称,姓名投诉人,楼盘名称,门牌号,电话,日期保修日期,受理人from投诉信息表,住户信息表,楼盘信息表,拥有信息表
where解决状态!
='OK'and楼盘信息表.楼盘编号=拥有信息表.楼盘编号and住户信息表.业主编号=拥有信息表.业主编号
and投诉信息表.业主编号=住户信息表.业主编号
5.3创建触发器
住户信息表的级联更新删除
createtriggertri_Delete_Update
on住户信息表insteadofupdate,delete
as
begin
declare@insetchar(6),@deletchar(6)
select@inset=业主编号frominserted
select@delet=业主编号fromdeleted
if(update(业主编号))
begin
5.4创建存储过程
(1)查询住户的信息存储过程
createproc查询住户信息
as
select*from住户信息表
(2)创建添加报修信息记录的存储过程
createproc添加报修信息
@报修事项编号char(20),
@业主编号char(20),
@报修名称char(20),
@受理人char(20)
as
begin
insertinto报修信息表(报修事项编号,业主编号,报修名称,受理人)
values(@报修事项编号,@业主编号,@报修名称,@受理人)
end
6.遇到的问题和解决方法
(1)问题:
T-SQL语句运行成功,切换到原有的表记录窗口没有变化
解决:
原有的表记录窗口只有被刷新才能显示当前记录,方法是选择主菜单【查询】-【执行】命令或单击工具栏的【执行】按钮。
(2)问题:
对表设置数据完整性后,没有马上起作用
解决:
数据完整性设置的调整和表结构修改后一样,在保存后才能起作用
7.课程设计总结
至此,小区物业管理系统设计与实现顺利完成。
由于当今的物业管理部门还不能有一个很统一的模式化,所以本系统仅考虑到一般小区所需要的物业管理的基本和主要的几项功能。
本系统的开发应用能使小区物业管理实现信息化,查询方便、可靠性高、信息存储量大。
本系统在开发过程中,在固定的物业管理要求的模式下还添加了一些人性化的,个人的构思和创意。
本套小区物业管理系统符合基本需求功能,易于操作,应该可以在简单化模式下的小区内应用,存在要改进的地方再以后会进一步完善。
8.参考文献
[1]高云,崔艳春.《SQLServer2008数据库技术实用教程》.清华大学出版社
[2]《数据库原理及应用》钱雪忠主编北京邮电大学出版社
[3]《SQLserver2000数据仓库与AnalysisServices》BainT著中国电力出版社
createdatabase物业管理系统
use物业管理系统
--创建楼盘信息表
createtable楼盘信息表
(
楼盘编号intprimarykeynotnull,
楼盘名称char(20)notnull,
楼层数intnotnull,
面积intnotnull,
户型char(20)notnull,
地址char(20)notnull
)
go
--创建表住户信息表
createtable住户信息表
(
业主编号intprimarykeynotnull,
姓名char(20)notnull,
性别char(20)check(性别in('男','女')),
电话intnotnull,
门牌号intuniquenotnull,
面积intnotnull,
身份证char(20)uniquenotnull
)
go
--创建投诉信息表
createtable投诉信息表
(
投诉事项编号intprimarykeynotnull,
业主编号intnotnull,
投诉名称char(20)notnull,
解决状态char(20)default'not',
日期datetimedefaultgetdate(),
受理人char(20)notnull,
foreignkey(业主编号)references住户信息表(业主编号)
)
go
--创建表报修信息表
createtable报修信息表
(
报修事项编号intprimarykeynotnull,
业主编号intnotnull,
报修名称char(20)notnull,
维修状态char(20)default'not',
日期datetimedefaultgetdate(),
受理人char(20)notnull,
foreignkey(业主编号)references住户信息表(业主编号)
)
go
--创建拥有信息表
createtable拥有信息表
(
业主编号intprimarykeynotnull,
楼盘编号intnotnull
)
go
--楼盘信息的添加
insertinto楼盘信息表
values(1,'海天',5,120,'三室一厅','中山路号')
insertinto楼盘信息表
values(2,'柠檬夏天',10,120,'四室一厅','中山路号')
insertinto楼盘信息表
values(3,'指尖刹那',9,300,'四室一厅','中山路号')
--住户信息的添加
insertinto住户信息表
values(11,'林达','女','15980123','520','120','3505251992')
insertinto住户信息表
values(12,'谢可','女','15980147','521','100','3505251993')
insertinto住户信息表
values(13,'谢华','男','15980520','522','180','3505251994')
insertinto住户信息表
values(14,'张琳','男','15980369','523','250','3505251995')
insertinto住户信息表
values(15,'仲夏','男','15980789','524','300','3505251996')
--报修信息的添加
insertinto报修信息表(报修事项编号,业主编号,报修名称,受理人)
values(10,15,'水管爆裂','王砖家')
insertinto报修信息表(报修事项编号,业主编号,报修名称,受理人)
values(11,14,'电线端口安装','王砖家')
insertinto报修信息表(报修事项编号,业主编号,报修名称,受理人)
values(12,13,'大门锁坏掉','王砖家')
insertinto报修信息表(报修事项编号,业主编号,报修名称,受理人)
values(13,12,'灯泡更换','王砖家')
--投诉信息的添加
insertinto投诉信息表(投诉事项编号,业主编号,投诉名称,受理人)
values(100,11,'墙壁裂痕','胡说')
insertinto投诉信息表(投诉事项编号,业主编号,投诉名称,受理人)
values(101,12,'停水','胡说')
insertinto投诉信息表(投诉事项编号,业主编号,投诉名称,受理人)
values(102,13,'周围太吵','胡说')
insertinto投诉信息表(投诉事项编号,业主编号,投诉名称,受理人)
values(103,14,'乱丢垃圾','胡说')
--拥有信息表的添加
insertinto拥有信息表
values(11,1)
insertinto拥有信息表
values(12,2)
insertinto拥有信息表
values(13,2)
insertinto拥有信息表
values(14,2)
insertinto拥有信息表
values(15,3)
--查询结果
select*from楼盘信息表
select*from住户信息表
select*from报修信息表
select*from投诉信息表
select*from拥有信息表
--楼盘信息编辑
update楼盘信息表set楼盘名称='彩虹之家'
where楼盘名称='海天'
go
--住户信息的编辑
update住户信息表set电话='1314520'
where电话='15980123'
go
--业主信息视图:
通过该视图可以得到住户信息,包含业主姓名,楼盘名称,门牌号,性别,电话,面积,身份证
createview业主信息视图
as
select姓名业主姓名,楼盘名称,门牌号,性别,电话,住户信息表.面积,身份证from住户信息表,楼盘信息表,拥有信息表
where楼盘信息表.楼盘编号=拥有信息表.楼盘编号and住户信息表.业主编号=拥有信息表.业主编号
--未维修事项信息视图:
报修名称,报修人,楼盘名称,门牌号,电话,保修日期,受理人。
createview未维修事项信息视图
as
select报修名称,姓名报修人,楼盘名称,门牌号,电话,日期保修日期,受理人from报修信息表,住户信息表,楼盘信息表,拥有信息表
where维修状态!
='ok'and楼盘信息表.楼盘编号=拥有信息表.楼盘编号and住户信息表.业主编号=拥有信息表.业主编号
and报修信息表.业主编号=住户信息表.业主编号
--未解决投诉信息视图:
createview未解决投诉信息视图
as
select投诉名称,姓名投诉人,楼盘名称,门牌号,电话,日期保修日期,受理人from投诉信息表,住户信息表,楼盘信息表,拥有信息表
where解决状态!
='OK'and楼盘信息表.楼盘编号=拥有信息表.楼盘编号and住户信息表.业主编号=拥有信息表.业主编号
and投诉信息表.业主编号=住户信息表.业主编号
--创建触发器
--实现级联更新和级联删除
--住户信息表的级联更新删除
createtriggertri_Delete_Update
on住户信息表insteadofupdate,delete
as
begin
declare@insetchar(6),@deletchar(6)
select@inset=业主编号frominserted
select@delet=业主编号fromdeleted
if(update(业主编号))
begin
EXECsp_msforeachtable'ALTERTABLE?
NOCHECKCONSTRAINTALL'--禁用约束
update报修信息表
set业主编号=@inset
where业主编号=@delet
update投诉信息表
set业主编号=@inset
where业主编号=@delet
update拥有信息表
set业主编号=@inset
where业主编号=@delet
update住户信息表
set业主编号=@inset
where业主编号=@delet
EXECsp_msforeachtable'ALTERTABLE?
CHECKCONSTRAINTALL'
--启用约束
end
else
begin
deletefrom报修信息表
where业主编号=@delet
deletefrom投诉信息表
where业主编号=@delet
deletefrom拥有信息表
where业主编号=@delet
deletefrom住户信息表
whe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小区 物业管理 系统 代码