房产中介管理系统.docx
《房产中介管理系统.docx》由会员分享,可在线阅读,更多相关《房产中介管理系统.docx(16页珍藏版)》请在冰豆网上搜索。
![房产中介管理系统.docx](https://file1.bdocx.com/fileroot1/2022-12/1/0f512f9d-62cb-4314-81c3-6374944358c5/0f512f9d-62cb-4314-81c3-6374944358c51.gif)
房产中介管理系统
内蒙古科技大学
《数据库原理及应用》
课程设计说明书
题目:
房产中介管理系统
学生姓名:
学号:
专业:
班级:
指导教师:
前言
20世纪以来,随着社会经济的发展,城市现代化建设步伐不断加快,城市规模不断扩大,人员的流动也不断加大,房屋出租成为社会生活的重要组成部分。
无论是房屋出租还是房屋求租都面临着大量的需求。
在过去,传统的以手工登记为主的房屋中介公司往往有成堆的文件需要人工去处理,对于房屋信息的记录、更新、查询等都十分缓慢。
而且容易出错,信息管理效率低下,无法保证高质量的信息服务,很难快速满足客户的需求,在无形中消耗了更多的时间、人力和物力,增加了房屋中介公司的运营成本。
求租者在面对琳琅满目的中介公司时会无比头疼,顾及中介单位的可信度的同时,繁杂的房产信息也会使人迷茫、无从选择。
所以开发一个出租屋管理系统对不管是对房屋中介公司的人员还是客户来说,都具有很大的意义。
在互联网蓬勃发展的今天,网络和我们的生活、学习、工作越来越密不可分,网络正领导着一个新时代的来临,利用开放的Internet技术开发出实时、快捷、全方位的信息传播平台,使得房屋信息在出租者与求租者之间的传播更为轻松,系统为客户提供服务,求租出租双方都能及时并且迅速快捷的得到信息。
可以解决大量房屋信息的查询和管理,便于房屋出租者更好的发布和更改其房屋信息,同时也为租房者提供了方便。
内蒙古科技大学课程设计任务书
课程名称
数据库原理
设计题目
房产中介管理系统
指导教师
高永兵
时间
17、18周
一、教学要求
1、培养学生运用所学课程《数据库原理及应用》的理论知识和技能以及对数据库组织、管理和使用能力。
2、掌握数据库应用系统的整个设计过程(包括需求分析、概念结构设计、逻辑结构设计与物理设计与实施)
二、设计要求及成果
1.从附录一中选择一个题目进行数据库应用系统设计。
2.功能设计:
用VisualFoxPro,VisualBasic、PB等开发工具与数据库管理系统SQL-SEVER或Access制作一个小型管理系统。
所设计的小型管理系统应包含输入输出、查询、插入、删除等基本功能。
设计课题可以从候选的项目中选出,根据题目的基本需求,画出流程图,编写程序,并写出详细的设计说明书。
(实际系统的实现为可选项,必须有功能设计)
3.数据库的设计:
根据数据库应用系统设计过程,通过需求分析和系统分析,进行数据库的概念结构设计、逻辑结构设计等工作:
概念结构设计的E-R图
数据库逻辑结构设计是以表格的形式说明数据库中有几个表,每个表的表名以及每个表的各字段名,类型和约束(主、外码);
确定表之间的关联(一对一、一对多、多对多)
运用数据库理论确定每个表至少属于3NF。
三、进度安排
第一周ER—图实现及修改完善
第二周数据库实现及查询
四、评分标准
1.设计的软件是否完成和完成情况(30%)
2.设计报告完成的质量(30%)
3.数据库结构复杂性,由题目等级决定(30%)。
4.出勤(10%)。
5.成绩采用五级分制评定。
五、建议参考资料
《SQL-server2008完全手册》郭郑州、陈军红著清华大学出版社
《数据库原理及应用》施伯乐著高等教育出版社
第一章需求分析1
1.1开发目的1
1.2系统功能1
1.3系统可行性分析1
1.3.1经济上的可行性2
1.3.2操作可行性2
1.3.3法律可行性2
1.4系统设计使用的开发工具3
第二章系统总体结构设计4
2.1系统功能模块分析4
2.2系统功能模块划分4
2.21系统功能简介4
第三章数据库设计5
3.1E-R模型图5
3.2关系模式5
3.3数据结构图6
3.4数据字典7
第四章数据库详细设计10
4.1房产中介管理系统数据库的建立10
4.2各种表的建立10
第五章系统功能实现13
5.1插入信息13
5.2简单查询16
5.2.1普通查询16
5.2.2条件查询16
5.2.3聚合函数16
5.2.4删除表中数据17
5.2.5更新17
5.2.6排序17
5.3视图操作18
5.3.1视图的创建18
5.3.2视图查询18
5.3.3视图的撤销18
5.4触发器19
5.4.1触发器的创建(delete触发器)19
5.5存储过程20
5.5.1创建存储过程20
第六章总结21
参考文献22
第一章需求分析
1.1开发目的
“房产中介管理系统”的开发定位在一个能够满足数据库管理系统,即具备一个数据库管理系统的基本功能,包括数据的增加,删除,修改,查询等,便于用户查看,操作,和查询房屋登记信息。
此外,系统具有会员和管理员登录功能,这样可以提高数据的安全性和可靠性。
该系统符合各房产中介公司的要求。
在开发过程中注重明确需求分析,遵循用户参与、优化创新、使用高效、处理规范化的原则,使开发模型更加趋于完善。
1.2系统功能
传统的以手工登记为主的房屋中介公司往往有成堆的文件需要人工去处理,对于房屋信息的记录,更新,查询都非常缓慢,而且容易出错,信息管理效率低下,无法保证高质量的信息服务,难于快速到满足客户的需求,其在无形中就耗费了更多的时间,人力,物力,增加了房屋中介公司的运营成本。
所以开发房屋中介管理系统对于房屋中介的管理人员,以及客户来说都具有些意义。
该系统方便房屋中介机构对房屋信息的记录,更新,查询,利于其信息管理,对于客户提出的要求能够及时满足,提高了中介机构的工作效率,同时,开发这样一套管理软件对于我们信息管理与信息系统的学生来说,也是一次将数据库应用于现实的一次很有意义的实践活动。
1.3系统可行性分析
在软件数据结构方面,我们以管理方便的SQLServer作为程序后台数据支持。
在软件安全方面来讲,一般的软件都包刮了软件加密、软件注册、以及不同用户使用软件的安全管理功能。
1、可行性研究的前提要求:
功能:
设计一套房屋中介管理系统,使信息管理系统化,完善化,高效化.设计方案的具体要求应包括如下几部分:
1)需求分析
2)功能实现(用户登录,买卖房屋顾客注册,房源发布及查询,房源的成交情况及查询,顾客以及房源信息的更新及删除等)
3)界面美观,性能:
稳定快速,实时控制
4)输入/输出:
汉字
5)安全与保密要求:
不能轻易被破坏,不能让中介或公司管理员以外的人删改,对断电、死机、系统崩溃等问题有有力措施以保障数据不受损失。
2、可行性研究的方法:
通过调查分析开发实验室管理所具备的能力及实现的方法。
确定总体结构,利用SQLServer数据库所具有的能力,以最简洁最容易的方法,完成数据库方面的设计
3、决定可行性的主要因素:
中介或公司规模、设备状况、操作人员技术。
4、与原有操作方式比较的优越性:
比原方式操作简单易行,查询信息准,减少人力工作。
1.3.1经济上的可行性
经济可行性应该考虑其开发维护费用及该系统所能带来的效益之间的关系。
该系统适用于中小型的房屋中介机构,开发该系统的费用主要包括开发阶段的费用以及今后的运行、维护费用。
其新系统带来的效益来自使用该系统后房屋中介机构工作的科学化,规范化,高效化所带来的效益。
这些主要体现在工作人员的减少,工作效率的提高,相应工资支出的减少,更容易满足客户的需求,使房屋中介公司的客户群扩大,以及与传统的手工登记的方式相比不易发生差错,因差错带来的损失的相对减少。
1.3.2操作可行性
本系统适用于WindowsXP、Windows7等主流操作系统之上,对于该系统的推广使用提供了很好的途径。
该系统研究了中介机构的工作流程后充分考虑到工作人员以前的工作习惯,使其对新系统更易适应,在操作上主要凭借使用Windows操作技术即可完成数据录入、修改、删除等功能,方便简单。
使用前只要对用户进行简单的说明或阅读帮助文件即可使用该系统。
另外界面清晰易懂,加之可视化的管理工具,对数据库的操作是相当简单的,所以操作上是可行的。
1.3.3法律可行性
法律可行性是考虑要开发系统是否存在任何侵犯、妨碍和责任问题,用户操作可行性考虑待开发软件的运行方式在用户组织内是否行得通,现行管理制度、人员素质、操作知识是否可行。
所有软件都选用正版,所有技术资料都由开发方保管,提出方拥有使用权,合同制定确定违约责任。
由于在本系统中是有合同作为双方合作的基础,所以不会存在任何侵犯、妨碍和责任问题。
即使存在了,也可以根据合同进行分析,一定有人会负责任,所以此系统完全可以进行开发。
1.4系统设计使用的开发工具
本系统使用Microsoft公司的VisualStudio和Microsoft公司的SQLserver2008作为开发工具。
第二章系统总体结构设计
2.1系统功能模块分析
图2.1系统功能模块
2.2系统功能模块划分
用户设置模块:
用于用户注册账号,登录并且发布信息,允许用户修改和对信息进行删除。
信息查询模块:
用户查询出租,出售等信息。
房屋管理模块:
管理员对出售房屋、出租房屋、求购房屋、求租房屋等信息的管理。
交易管理:
统计交易数量并记录,便于查询。
系统管理:
为用户提供实时信息。
2.21系统功能简介
房屋中介系统包括房屋出租、出售等信息的登记、查询、修改及删除,求租或购房者凭其需求填写信息,生成房屋条件需求表。
业主根据自己房屋的情况,如实填写信息,系统检测无误并符合要求后自动保存到数据库,管理员定期检查房屋信息,删除违反事实不合格的信息。
业主和购房者求租者都可根据自己的账号登陆房屋中介系统查询自己需要的信息。
第3章数据库设计
3.1E-R模型图
图3.1E-R模型图
3.2关系模式
职员(职员编号,姓名,性别,联系方式)
房主(房主编号,姓名,性别,住址,联系电话,职员编号)
房屋(房屋编号、房屋类型、面积、预设租金、出租情况、房主编号)
客户(客户编号,姓名,性别,联系电话,住址)
房屋信息登记(编号,姓名,联系电话,备注信息,房屋类型,房屋面积,地址)
看房(房屋编号,客户编号,看房日期)
传达(编号,职员编号)
3.3数据结构图
图3.3数据结构图
3.4数据字典
表3.4.1职员信息数据字典
列名
数据类型
长度
是否为空
职员编号(主键)
char
10
否
姓名
char
10
否
性别
char
20
否
联系方式
char
30
否
表3.4.2房主信息数据字典
列名
数据类型
长度
是否为空
房主编号(主键)
char
10
否
职员编号(外键)
char
10
否
性别
char
2
否
姓名
char
30
是
联系电话
char
10
否
表3.4.3房屋信息数据字典
列名
数据类型
长度
是否为空
房屋编号(主键)
char
10
否
房主编号(外键)
char
10
否
房屋类型
char
10
否
面积
char
40
否
预设租金
char
10
否
出租情况
char
10
否
表3.4.4客户信息数据字典
列名
数据类型
长度
是否为空
客户编号(主键)
char
10
否
姓名
varchar
10
否
性别
varchar
10
是
联系电话
varchar
10
否
住址
varchar
10
是
表3.4.5看房信息数据字典
列名
数据类型
长度
是否为空
房屋编号(外键)
varchar
10
否
客户编号(外键)
varchar
10
是
看房日期
varchar
10
是
表3.4.6房屋信息登记信息数据字典
列名
数据类型
长度
是否为空
编号
char
10
否
姓名
char
10
是
联系电话
char
10
是
备注信息
char
40
否
房屋类型
char
10
否
房屋面积
char
40
否
地址
char
40
否
表3.4.7传达信息数据字典
列名
数据类型
长度
是否为空
编号
char
19,4
否
职员编号
char
20
否
第四章数据库详细设计
4.1房产中介管理系统数据库的建立
图4.1数据库的建立
4.2各种表的建立
职员表
createtable职员
(
职员编号char(10)primarykey,
姓名char(10)notnull,
性别char
(2)check(性别in('男','女')),
联系方式char(15)notnull)
房主表
createtable房主
(
房主编号char(10)primarykey,
职员编号char(10)notnull,
性别char
(2)check(性别in('男','女')),
姓名char(10)notnull,
住址char(35),
联系电话char(15)notnull,
foreignkey(职员编号)references职员(职员编号)
)
房屋表
createtable房屋
(
房屋编号char(10)primarykey,
房主编号char(10)notnull,
房屋类型char(10)notnull,
面积char(40)notnull,
预设租金char(10)notnull,
出租情况char(10)notnull,
foreignkey(房主编号)references房主(房主编号)
)
客户表
createtable客户
(
客户编号char(10)primarykey,
姓名char(10)notnull,
性别char
(2)check(性别in('男','女')),
联系电话char(15),
住址char(40)
)
看房表
createtable看房
(
房屋编号char(10)notnull,
客户编号char(10)notnull,
看房日期datenotnull,
primarykey(房屋编号,客户编号),
foreignkey(房屋编号)references房屋(房屋编号),
foreignkey(客户编号)references客户(客户编号)
)
房屋信息登记
createtable房屋信息登记
(
编号char(10)primarykey,
姓名char(10)notnull,
联系电话char(15)notnull,
备注信息char(50)notnull,
房屋类型char(10)notnull,
房屋面积char(40)notnull,
地址char(40)notnull
)
传达表
createtable传达
(
编号char(10)notnull,
职员编号char(10)notnull,
primarykey(编号,职员编号),
foreignkey(编号)references房屋信息登记(编号),
foreignkey(职员编号)references职员(职员编号))
第五章系统功能实现
5.1插入信息
insertinto客户values('001','张三','男','12345671','梅花路1700号')
insertinto客户values('002','李四','女','12345672','紫金路1701号')
insertinto客户values('003','王二','男','12345673','浣花路1702号')
insertinto客户values('004','刘二','男','12345674','小康路1703号')
insertinto客户values('005','李五','女','12345675','北桥路1704号')
图5.1.1插入客户信息
insertinto职员values('0001','李金','女','5224220')
insertinto职员values('0002','小金','男','5224221')
insertinto职员values('0003','王金','男','5224222')
insertinto职员values('0004','袁金','女','5224223')
insertinto职员values('0005','罗金','男','5224224')
图5.1.2插入职员信息
insertinto房主values('100','0001','男','王新','康桥路1500号','1831000')
insertinto房主values('101','0002','女','许新','康桥路1501号','1831001')
insertinto房主values('102','0003','男','徐新','康桥路1502号','1831002')
insertinto房主values('103','0004','女','于新','康桥路1503号','1831003')
insertinto房主values('104','0005','男','余新','康桥路1504号','1831004')
图5.1.3插入房主信息
insertinto房屋values('00001','101','四合院','80','4000','待租中')
insertinto房屋values('00002','100','别墅','100','8000','已出租')
insertinto房屋values('00003','102','复式楼层','360','5000','已售')
insertinto房屋values('00004','103','海景房','200','2000','待租中')
insertinto房屋values('00005','104','农家小院','150','1000','已租出')
图5.1.4插入房屋信息
insertinto房屋信息登记values('200','陈思思','13600000','求租','单人小屋','20m^','建桥学院附近')
insertinto房屋信息登记values('201','陈可可','13600001','出售','特色餐馆','300m^','亲水湾一楼')
insertinto房屋信息登记values('202','陈圆圆','13600002','出租','西餐厅','20m^','地铁站旁五十米')
insertinto房屋信息登记values('203','陈天天','13600003','求购','咖啡屋','20m^','火车站左转一百米')
insertinto房屋信息登记values('204','陈芳芳','13600004','求租','小型酒吧','20m^','沪南公路')
图5.1.5插入房屋信息登记信息
insertinto看房values('00001','001','2011-10-20')
insertinto看房values('00002','002','2012-10-21')
insertinto看房values('00003','003','2013-10-22')
insertinto看房values('00004','004','2014-10-23')
insertinto看房values('00005','005','2014-10-24')
图5.1.6插入看房信息
insertinto传达values('201','0001')
insertinto传达values('202','0001')
insertinto传达values('203','0002')
insertinto传达values('204','0004')
insertinto传达values('200','0005')
图5.1.7插入传达信息
5.2简单查询
5.2.1普通查询
select*
from职员
图5.2.1普通查询
5.2.2条件查询
select姓名
from客户
where地址='梅花路1700号'
图5.2.2数据删除
5.2.3聚合函数
selectCOUNT(房主编号)as房主人数
from房主
图5.2.3聚合函数
5.2.4删除表中数据
deletefrom看房
图5.2.4删除表中数据
5.2.5更新
update房屋
set预设租金=预设租金+50
where房屋编号='00001'
图5.2.5更新
5.2.6排序
select预设租金
from房屋
orderby预设租金desc
图5.2.6排序
5.3视图操作
5.3.1视图的创建
createviewv_职员
as
select*
from职员
5.3.1视图创建
5.3.2视图查询
select*fromv_职员
5.3.2视图查询
5.3.3视图的撤销
dropviewv_职员
图5.3.3视图的撤销
5.4触发器
5.4.1触发器的创建(delete触发器)
createtriggertri_传达on传达afterdeleteas
if
exists(select*fromdeleted)
begin
print'表中内容不能被删除!
!
!
'
rollback
End
delete
from传达
where职员编号='0001'
图5.4.1触发器的创建
5.5存储过程
5.5.1创建存储过程
createprocp_clear
@姓名char(10)
asselect*
from房主
declare@姓名char(10)
execp_clear'王新'
图5.5.1创建存储过程
第六章总结
针对这次的课题,基本上已经完成房屋中介系统的功能,有需要了解房屋情况的用户仅需要一个账号就可以在这里查询或者发布信息。
不足之处是缺乏用户登录密码的验证功能和房屋信息的具体介绍,用户需要的是一个完整的结构能够找到自己心仪的房屋,无论是租赁还是购买,所以应该在房屋介绍方面做得更详细一点,对于有些想出售或者出租房屋的持有者来说,这也是一个平台。
信息发布过程中,可能会有不法分子借此机会发布不实消息,这是安全检测问题,在这次的设计中没有体现,希望下次能够实现。
设计一个大概的数据库并不难,最重要的是首先要确定好实体,实体的属性以及实体之间的联系,画出大致的框图,然后一步一步的往下添加它能实现的功能。
这次的实训,让我更好的了解了数据库设计的一些重要步骤,市场需求分析、概念设计、逻辑设计、程序模块设计等等,都是不可缺少的,平时课堂上所学知识老愁没有机会自己动手,终于充分的运用在了这次实训中,让我在巩固基础的同时、收获颇丰。
参考文献
【1】数据库系统教程施伯乐丁宝康汪卫编著
【2】SQLServer从零开始学王英英张少军刘增杰编著