小区物业管理数据库设计

上传人:无*** 文档编号:140203266 上传时间:2022-08-23 格式:DOC 页数:16 大小:128KB
收藏 版权申诉 举报 下载
小区物业管理数据库设计_第1页
第1页 / 共16页
小区物业管理数据库设计_第2页
第2页 / 共16页
小区物业管理数据库设计_第3页
第3页 / 共16页
资源描述:

《小区物业管理数据库设计》由会员分享,可在线阅读,更多相关《小区物业管理数据库设计(16页珍藏版)》请在装配图网上搜索。

1、精品文档,仅供学习与交流,如有侵权请联系网站删除数据库应用课程设计报告题目: 小区物业管理数据库设计 专业: 班级: 学号: 姓名: 指导教师: 完成日期: 年 月 日【精品文档】第 13 页小区物业管理数据库设计(国脉信息学院 11级1班)摘要:这个数据库是管理楼盘住户的信息,便于管理用户的信息。用数据库管理可以更高效和更清晰的看清住户的信息还有投诉,保修等信息,有利于小区的管理,每个小区 都必须应用一个小区的数据库管理系统,这个才能更好的管理。如果一个小区没有一个数据库管理的系统,小区的管理就会混乱,住户的投诉和保修就得不到解决,所以数据库您值得拥有!关键词: 数据库 级联更新、删除 触发

2、器 视图目 录1概述11.1设计背景:11.2设计目的:11.3设计内容:12. 需求分析22.1 系统功能分析:22.2 数据字典22.3数据流程图:33数据库结构33.1概念模型设计(E-R图)33.2逻辑设计54 数据库物理设计(主要包括数据存储位置、存储格式;索引及索引类型。)65 数据库实施与测试(源代码及查询截图)86 总结(设计过程中遇到的问题以及解决方法;课程学习及课程设计的体会)。287. 参考文献281概述1.1设计背景:数据库基础与应用课程设计是计算机专业集中实践性环节之一,是学习完数据库系统概论课程后进行的一次全面的综合练习。1.2设计目的:在于加深对数据库基础理论和基

3、本知识的理解,掌握进行数据库开发的全过程,提高运用数据库解决实际问题的能力。1.3设计内容:进行需求分析,设计数据库的概念模型。系统基本功能:楼盘信息管理:楼盘信息的添加、编辑和查询;住户信息管理:住户信息的添加、编辑和查询;报修事项管理:报修事项的添加、编辑和查询;投诉信息管理:投诉信息的添加、编辑和查询;报表管理:输出楼盘信息、住户信息、报修信息和投诉信息。其中:(除了以下信息,也可以按需要增加属性列)楼盘信息:包括的主要数据项有:楼盘编号,楼盘名称,楼层数,面积,户型,地址住户信息:包括的主要数据项有:业主编号,姓名,性别,电话,门牌号,面积,身份证报修事项:包括的主要数据项有:报修事项

4、编号,报修名称,业主编号,维修状态,日期,受理人投诉信息:包括的主要数据项有:投诉事项编号,投诉名称,业主编号,解决状态,日期,受理人2. 需求分析2.1 系统功能分析: 楼盘信息管理:楼盘信息的添加、编辑和查询;住户信息管理:住户信息的添加、编辑和查询;报修事项管理:报修事项的添加、编辑和查询;投诉信息管理:投诉信息的添加、编辑和查询;报表管理:输出楼盘信息、住户信息、报修信息和投诉信息。2.2 数据字典数据项数据项编号数据项名称 数据类型长度 可否为空 描述1楼盘编号int 否楼盘的编号 2楼盘名称char20否楼盘的名称3楼层数int 否楼盘的层数4面积int 否房间的大小5户型char

5、20 否属于什么户型6地址char20 否所在地址7业主编号int 否业主的编号 8名字char20否业主的名字9性别char20 否业主性别10电话int 否业主电话11门牌号int 否房间门牌号12身份证char20否业主身份证13报修事项号int 否报修事项编号 14报修名称char20否报修的东西15维修状态char20 否维修的状态16日期datetime20 否受理时间17受理人char20 否管理人员18投诉事项编号int 否投诉事项编号 19投诉名称char20否投诉的东西20解决状态char20 否解决的状态数据结构:数据结构编号数据结构名数据结构定义组成1 楼盘信息表 楼盘

6、信息 楼盘编号,楼盘名称,楼层数,面积,户型,地址2 住户信息表 住户信息 业主编号,姓名,性别,电话,门牌号,面积,身份证3报修信息表 报修信息 报修事项编号,报修名称,业主编号,维修状态,日期,受理人4投诉信息表 投诉信息投诉事项编号,投诉名称,业主编号,解决状态,日期,受理人2.3数据流程图:楼盘信息管理:住户看好楼盘 填购买表 付款 管理人员把资料录入数据库保存带住户到房间及交代一些注意事项投诉事项管理:住户提出投诉 填投诉表 交给管理人员 录入数据库 工作人员来处理 工作人员上报处理投诉结果 再次录入数据库保存报修事项管理:住户申请报修 填申请表 交给管理人员 录入数据库 专门人员上

7、门修理 工作人员上报修理结果 录入数据库保存住户信息管理:住户申请修改住户信息 填住户信息表 管理人员审核审核通过录入信息到数据库保存3数据库结构3.1概念模型设计(E-R图)实体及其属性图:(1).楼盘信息表的E-R图.住户信息表的E-R图.保修信息表的E-R图投诉信息表的E-R图(2). 实体及其联系图:3.2逻辑设计关系模式:楼盘(楼盘编号,楼盘名称,楼层数,面积,户型,地址)住户(业主编号,姓名,性别,电话,门牌号,面积,身份证)投诉(投诉事项编号,业主编号,投诉名称,解决状态,日期,受理人)报修(报修事项编号,业主编号,报修名称,维修状态,日期,受理人)拥有(业主编号,楼盘编号)数据

8、库表的设计楼盘信息表字段名称 数据类型 可否为空 说明 楼盘编号 int 否 主键 楼盘名称 char(20)否 楼层数 int 否 面积int 否 户型 char(20) 否 地址 char(20) 否住户信息表字段名称 数据类型 可否为空 说明 业主编号 int 否 主键 姓名 char(20)否 性别 char(20) 可 电话int 否 门牌号 int 否 面积 int 否 身份证 char(20) 否投诉信息表字段名称 数据类型 可否为空 说明 投诉事项编号 int 否 主键 业主编号 char(20)否 外键 投诉名称 char(20) 否 解决状态char(20) 否默认not

9、日期 datetime 否默认当前时间 受理人 char(20) 否报修信息表字段名称 数据类型 可否为空 说明 报修事项编号 int 否 主键 业主编号 char(20)否 外键 保修名称 char(20) 否 维修状态char(20) 否默认not 日期 datetime 否默认当前时间 受理人 char(20) 否拥有信息表字段名称 数据类型 可否为空 说明 业主编号 int 否 主键 楼盘编号 int 否 4 数据库物理设计(主要包括数据存储位置、存储格式;索引及索引类型。)数据存放在E盘的根目录下,数据库存储格式为 *.mdf 日志存储格式为 *.ldf索引类型有两个:一、 唯一索引

10、二、 聚簇索引因为主键就可以看做是一个聚簇索引,每个表都有设主键,所以不可在建聚簇索引5 数据库实施与测试(源代码及查询截图)-创建数据库create database 小区业务管理on primaryname = 小区业务管理,filename = E:小区业务管理.mdf,size = 3mb , maxsize = 100mb,filegrowth = 10%log on name = 小区业务管理.ldf,filename = E:小区业务管理_log.ldf,size = 1mb , maxsize = 2mb,filegrowth = 10%go -创建 楼盘信息表create t

11、able 楼盘信息表楼盘编号 int primary key not null,楼盘名称 char(20) not null,楼层数 int not null,面积 int not null,户型 char(20) not null ,地址 char(20) not nullgo-创建表 住户信息表create table 住户信息表业主编号 int primary key not null,姓名 char(20) not null,性别 char(20) check(性别 in(男,女),电话 int not null,门牌号 int unique not null ,面积 int not

12、null,身份证 char(20) unique not nullgo -创建投诉信息表create table 投诉信息表投诉事项编号 int primary key not null,业主编号 int not null,投诉名称 char(20) not null,解决状态 char(20) default not,日期 datetime default getdate(),受理人 char(20) not null,foreign key (业主编号) references 住户信息表(业主编号)go-创建表 报修信息表create table 报修信息表报修事项编号 int prima

13、ry key not null,业主编号 int not null,报修名称 char(20) not null,维修状态 char(20) default not,日期 datetime default getdate() ,受理人 char(20) not null,foreign key (业主编号) references 住户信息表(业主编号) go-创建拥有信息表create table 拥有信息表业主编号 int primary key not null,楼盘编号 int not nullgo -编辑楼盘信息管理的操作 -信息的添加-楼盘信息的添加insert into 楼盘信息表

14、values(1,海天,5,120,三室一厅,中山路号)insert into 楼盘信息表values(2,柠檬夏天,10,120,四室一厅,中山路号)insert into 楼盘信息表values(3,指尖刹那,9,300,四室一厅,中山路号)-住户信息的添加insert into 住户信息表values(11,林达,女,15980123,520,120,3505251992)insert into 住户信息表values(12,谢可,女,15980147,521,100,3505251993)insert into 住户信息表values(13,谢华,男,15980520,522,180,

15、3505251994)insert into 住户信息表values(14,张琳,男,15980369,523,250,3505251995)insert into 住户信息表values(15,仲夏,男,15980789,524,300,3505251996)-报修信息的添加insert into 报修信息表(报修事项编号,业主编号,报修名称,受理人)values(10,15,水管爆裂,王砖家)insert into 报修信息表(报修事项编号,业主编号,报修名称,受理人)values(11,14,电线端口安装,王砖家)insert into 报修信息表(报修事项编号,业主编号,报修名称,受理

16、人)values(12,13,大门锁坏掉,王砖家) insert into 报修信息表(报修事项编号,业主编号,报修名称,受理人)values(13,12,灯泡更换,王砖家) -投诉信息的添加insert into 投诉信息表(投诉事项编号,业主编号,投诉名称,受理人)values(100,11,墙壁裂痕,胡说)insert into 投诉信息表(投诉事项编号,业主编号,投诉名称,受理人)values(101,12,停水,胡说)insert into 投诉信息表(投诉事项编号,业主编号,投诉名称,受理人)values(102,13,周围太吵,胡说)insert into 投诉信息表(投诉事项编

17、号,业主编号,投诉名称,受理人)values(103,14,乱丢垃圾,胡说)-拥有信息表的添加insert into 拥有信息表values(11,1)insert into 拥有信息表values(12,2)insert into 拥有信息表values(13,2)insert into 拥有信息表values(14,2)insert into 拥有信息表values(15,3)-信息的查询select * from 楼盘信息表select * from 住户信息表select * from 报修信息表select * from 投诉信息表select * from 拥有信息表 -信息的编辑

18、-楼盘信息编辑 update 楼盘信息表 set 楼盘名称 = 彩虹之家where 楼盘名称 = 海天 go-住户信息的编辑update 住户信息表 set 电话 = 1314520where 电话 = 15980123 go-5.3创建视图:为提高数据库使用效率,增强数据库安全性,按如下要求设计视图:-1:业主信息视图:通过该视图可以得到住户信息,包含业主姓名,楼盘名称,门牌号,性别,电话,面积,身份证create view 业主信息视图asselect 姓名 业主姓名,楼盘名称,门牌号,性别,电话,住户信息表.面积,身份证 from 住户信息表,楼盘信息表,拥有信息表where 楼盘信息表

19、.楼盘编号 = 拥有信息表.楼盘编号 and 住户信息表.业主编号 = 拥有信息表.业主编号-2:未维修事项信息视图:报修名称,报修人,楼盘名称,门牌号,电话,保修日期,受理人。create view 未维修事项信息视图asselect 报修名称,姓名 报修人,楼盘名称,门牌号,电话,日期 保修日期,受理人 from 报修信息表,住户信息表,楼盘信息表,拥有信息表where 维修状态 != ok and 楼盘信息表.楼盘编号 = 拥有信息表.楼盘编号 and 住户信息表.业主编号 = 拥有信息表.业主编号and 报修信息表.业主编号 = 住户信息表.业主编号-3.未解决投诉信息视图:creat

20、e view 未解决投诉信息视图asselect 投诉名称,姓名 投诉人,楼盘名称,门牌号,电话,日期 保修日期,受理人 from 投诉信息表,住户信息表,楼盘信息表,拥有信息表where 解决状态 != OK and 楼盘信息表.楼盘编号 = 拥有信息表.楼盘编号 and 住户信息表.业主编号 = 拥有信息表.业主编号and 投诉信息表.业主编号 = 住户信息表.业主编号-5.5 创建触发器:.如利用触发器使相关连的表能实现级联更新和级联删除。-实现级联更新和级联删除-住户信息表的级联更新删除create trigger tri_Delete_Updateon 住户信息表 instead o

21、f update ,deleteasbegindeclare inset char(6),delet char(6)select inset=业主编号 from inserted select delet=业主编号 from deleted if (update(业主编号) begin EXEC sp_msforeachtable ALTER TABLE ? NOCHECK CONSTRAINT ALL -禁用约束 update 报修信息表 set 业主编号=inset where 业主编号=delet update 投诉信息表 set 业主编号=inset where 业主编号=delet

22、update 拥有信息表 set 业主编号=inset where 业主编号=delet update 住户信息表 set 业主编号= inset where 业主编号= delet EXEC sp_msforeachtable ALTER TABLE ? CHECK CONSTRAINT ALL -启用约束 end else begin delete from 报修信息表 where 业主编号=delet delete from 投诉信息表 where 业主编号=delet delete from 拥有信息表 where 业主编号=delet delete from 住户信息表 where

23、业主编号=delet endend-查询结果select * from 住户信息表select * from 投诉信息表select * from 报修信息表-测试代码update 住户信息表 set 业主编号 = 520where 业主编号 = 11因为做实验是先建好触发器,在用数据测试的,且住户信息表有一个删除触发器,所以显示删除成功!delete from 住户信息表where 业主编号= 520-楼盘信息表的级联更新删除create trigger tri_楼盘on 楼盘信息表 instead of update ,deleteasbegindeclare inset char(6),

24、delet char(6)select inset=楼盘编号 from inserted select delet=楼盘编号 from deleted if (update(楼盘编号) begin EXEC sp_msforeachtable ALTER TABLE ? NOCHECK CONSTRAINT ALL -禁用约束 update 拥有信息表 set 楼盘编号=inset where 楼盘编号=delet update 楼盘信息表 set 楼盘编号 = inset where 楼盘编号 = delet EXEC sp_msforeachtable ALTER TABLE ? CHEC

25、K CONSTRAINT ALL -启用约束 end else begin delete from 拥有信息表 where 楼盘编号=delet delete from 楼盘信息表 where 楼盘编号=delet endEnd这个触发器是后面做完实验感觉不完整再添加上去的,所以这里的数据是做完试验后的数据。 -2.如当删除一条住户信息记录能够显示提示,当添加一条报修信息能够显示提示。create trigger 删除住户 on 住户信息表after deleteasprint 删除成功!gocreate trigger 添加报修 on 报修信息表after insertasprint 添加成

26、功!go-5.6创建存储过程: -1.创建查询某一业主信息的存储过程 -查询住户的信息存储过程create proc 查询住户信息asselect * from 住户信息表exec 查询住户信息-2.创建添加报修信息记录的存储过程create proc 添加报修信息报修事项编号 char(20),业主编号 char(20),报修名称 char(20),受理人 char(20)asbegininsert into 报修信息表(报修事项编号,业主编号,报修名称,受理人)values(报修事项编号,业主编号,报修名称,受理人)end-使用方法 exec 添加报修信息业主编号, 报修名称 , 受理人

27、-因为维修状态和日期默认。exec 添加报修信息 100,12,水管不来水,王砖家 -3.创建返回某个楼盘的业主人数,并设置没有指定值时,指定一个默认楼盘 -默认楼盘编号为2 create proc 业主人数 as select COUNT(*) 业主人数 from 拥有信息表 where 楼盘编号 = 2 - 4.利用存储过程和游标设计报表:-a.输出指定的楼盘名称如输入“楼盘名称,输出一张报表显示该楼盘里面的所有住户信息,如下:楼盘名称业主姓名 性别 电话 门牌号 面积 身份证徐红 女 12345678 A301 105平方 12345678909 create proc 楼盘住户表楼盘名

28、称 char(20)asprint 楼盘名称begindeclare 姓名 char(10)declare 性别 char(10)declare 电话 char(10)declare 门牌号 char(10)declare 面积 char(10)declare 身份证 char(10)declare GR cursorfor select 姓名,性别,电话,门牌号,面积,身份证 from 住户信息表where 业主编号 in (select 业主编号 from 拥有信息表 where 楼盘编号 in (select 楼盘编号 from 楼盘信息表 where 楼盘名称 = 楼盘名称) open

29、 GR fetch next from GR into 姓名,性别,电话,门牌号,面积,身份证 print - print 业主姓名 + + 性别 + + 电话+ + 门牌号 + + 面积+ + 身份证 while FETCH_STATUS = 0 begin print 姓名 + 性别 + 电话+ 门牌号 + 面积+ 身份证 fetch next from GR into 姓名,性别,电话,门牌号,面积,身份证 endprint - close GR deallocate GR end go -b.设计一个存储过程,在该存储过程中建立生成报表的游标,分别显示-已解决的报修事项信息和未解决的报

30、修事项信息。-存储过程.生成报表create proc 报修情况asbegindeclare 业主编号 char(10),报修名称 char(10), 日期 char(22)declare 受理人 char(10)-已解决的报修declare BX_OK cursorforselect 业主编号,报修名称,日期,受理人 from 报修信息表where 维修状态 = okopen BX_OKfetch next from BX_OK into 业主编号,报修名称,日期,受理人print 已经解决的报修事项print -print 业主编号 + 报修名称 + 日期 + 受理人 while FETC

31、H_STATUS = 0 begin print 业主编号 + 报修名称 + 日期 + 受理人 fetch next from BX_OK into 业主编号,报修名称,日期,受理人 end print -close BX_OKdeallocate BX_OK print print -未完成报修的游标操作declare BX_NOT cursorforselect 业主编号,报修名称,日期,受理人 from 报修信息表where 维修状态 = notopen BX_NOTfetch next from BX_NOT into 业主编号,报修名称,日期,受理人print 未解决的报修事项pri

32、nt -print 业主编号 + 报修名称 + 日期 + 受理人 while FETCH_STATUS = 0 begin print 业主编号 + 报修名称 + 日期 + 受理人 fetch next from BX_NOT into 业主编号,报修名称,日期,受理人 end print -close BX_NOTdeallocate BX_NOT end-把维修好的报修写入数据库的存储过程 方便处理维修好的数据create proc 报修完成编号 intasupdate 报修信息表 set 维修状态 = okwhere 报修事项编号 = 编号go在运行报修情况存储过程看下结果:-C设计一个

33、存储过程,利用游标,输出投诉表中第一、二行和最后一行的信息。create proc 输出asbegindeclare 业主编号 char(10),投诉名称 char(10), 日期 char(22)declare 受理人 char(10)-输出第一第二行declare TS cursorforselect top 2 业主编号,投诉名称,日期,受理人 from 投诉信息表 open TSfetch next from TS into 业主编号,投诉名称,日期,受理人print 投诉事项print -print 业主编号 + 投诉名称 + 日期 + 受理人 while FETCH_STATUS

34、= 0 begin print 业主编号 + 投诉名称 + 日期 + 受理人 fetch next from TS into 业主编号,投诉名称,日期,受理人 end close TSdeallocate TS -输出最后一项declare TS_last cursorforselect top 1 业主编号,投诉名称,日期,受理人 from 投诉信息表 order by 投诉事项编号 descopen TS_lastfetch next from TS_last into 业主编号,投诉名称,日期,受理人 while FETCH_STATUS = 0 begin print 业主编号 + 投诉名称 + 日期 + 受理人 fetch next from TS_last into 业主编号,投诉名称,日期,受理人 end print -close TS_lastdeallocate TS_last end6 总结(设计过程中遇到的问题以及解决方法;课程学习及课程设计的体会)。因为没有太多建立数据库的经验,所以建立的数据库不完善的地方很多,不过我会努力尽力完善的.这次课程设计加深了我对sql的理解和应用,对我帮助很大.7. 参考文献1 王珊,萨师煊

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!