小区物业管理系统内附代码.docx

上传人:b****4 文档编号:4220488 上传时间:2022-11-28 格式:DOCX 页数:26 大小:177.87KB
下载 相关 举报
小区物业管理系统内附代码.docx_第1页
第1页 / 共26页
小区物业管理系统内附代码.docx_第2页
第2页 / 共26页
小区物业管理系统内附代码.docx_第3页
第3页 / 共26页
小区物业管理系统内附代码.docx_第4页
第4页 / 共26页
小区物业管理系统内附代码.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

小区物业管理系统内附代码.docx

《小区物业管理系统内附代码.docx》由会员分享,可在线阅读,更多相关《小区物业管理系统内附代码.docx(26页珍藏版)》请在冰豆网上搜索。

小区物业管理系统内附代码.docx

小区物业管理系统内附代码

小区物业管理系统内附代码

LT

 

苏州市职业大学

实习(实训)报告

名称 SQLServer数据库项目实训01

2013年7月1日至2013年7月5日共1周

学院(部)计算机工程学院

班级

姓名

 

学院(部)负责人

系主任

指导教师

图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

1.表和索引的创建及数据完整性

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住户信息表(业主编号)

);

2.数据库结构的实现

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

3.遇到的问题和解决方法

(1)问题:

T-SQL语句运行成功,切换到原有的表记录窗口没有变化

解决:

原有的表记录窗口只有被刷新才能显示当前记录,方法是选择主菜单【查询】-【执行】命令或单击工具栏的【执行】按钮。

(2)问题:

对表设置数据完整性后,没有马上起作用

解决:

数据完整性设置的调整和表结构修改后一样,在保存后才能起作用

4.课程设计总结

至此,小区物业管理系统设计与实现顺利完成。

由于当今的物业管理部门还不能有一个很统一的模式化,所以本系统仅考虑到一般小区所需要的物业管理的基本和主要的几项功能。

本系统的开发应用能使小区物业管理实现信息化,查询方便、可靠性高、信息存储量大。

本系统在开发过程中,在固定的物业管理要求的模式下还添加了一些人性化的,个人的构思和创意。

本套小区物业管理系统符合基本需求功能,易于操作,应该可以在简单化模式下的小区内应用,存在要改进的地方再以后会进一步完善。

5.参考文献

[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住户信息表

where业主编号=@delet

end

end

--查询结果

select*from住户信息表

select*from投诉信息表

select*from报修信息表

 

--测试代码

update住户信息表set业主编号=520

where业主编号=11

 

--楼盘信息表的级联更新删除

createtriggertri_楼盘

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

EXECsp_msforeachtable'ALTERTABLE?

CHECKCONSTRAINTALL'--启用约束

end

else

begin

deletefrom拥有信息表

where楼盘编号=@delet

deletefrom楼盘信息表

where楼盘编号=@delet

end

End

 

--如当删除一条住户信息记录能够显示提示,当添加一条报修信息能够显示提示。

createtrigger删除住户on住户信息表

afterdelete

as

print'删除成功!

!

'

go

createtrigger添加报修on报修信息表

afterinsert

as

print

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1