二手房中介管理系统设计 |
您所在的位置:网站首页 › 房产中介查询系统 › 二手房中介管理系统设计 |
目录 数据库应用项目开发课程设计报告 二手房中介管理系统设计与管理 一、二手房中介管理系统需求分析 1、系统概述 2、系统功能设想 二、二手房中介管理系统概念设计 1、实体 2、 系统局部E-R图 3、系统全局E-R图 三、二手房中介管理系统的逻辑设计 1、E-R图到关系模式的转换 3、 关系模式的规范化及调整 四、二手房中介管理系统的数据库设计 1、数据库设计 2、数据表设计 3、 视图设计 4、触发器设计 5、数据库恢复 二手房中介管理系统 实现房屋户型、房东信息的管理;实现租房客户信息的管理;实现房屋的出租、归还登记;实现租房收费管理;创建存储过程统计各种户型的房屋的出租数量;创建触发器,当房屋租出时自动修改该房屋的状态;创建视图查询当前所有房屋的房号、房东、状态信息;建立数据库相关表之间的参照完整性约束。 一、二手房中介管理系统需求分析 1、系统概述二十世纪,随着我国的市场经济的蓬勃发展,房价也在不断地攀升,越来越多的房地产业开发,人们会去换新的房子,就有了一些闲置的房子。然而,对于一些刚刚步入社会的大学生,自身尚未具备购买新房的能力,对于一些求学学子,更加方便的寻求学区房也成了一大问题,在外地工作求得离公司近的房子也是必不可少的,为了更加方便,二手房中介行业也就越来越受到广大群众的需要,开发二手房中介管理系统,可以方便房产中介部门管理和客户查询检索,可以让需求者得到最大的利益。要想在激烈的市场上谋取一位,必须加强内部管理,提高运营效率,二手房中介管理系统是不可缺少的信息化管理机制。综合考虑房源空间信息,开发一个坚持客户利益优先的二手房中介信息系统是非常有必要的。 2、系统功能设想二手房中介管理系统,主要包括7个模块:分别为管理员工信息、房客信息、房东信息、房屋信息、意向信息、归还信息,收费信息。这7个个模块都包括增删改查的基础功能;系统总体来说,为以下几部分: 房东:查询修改姓名、性别等相关信息房客:可以查询修改姓名、性别、意向等相关信息员工:员工登录可以进行添加、修改、删除和查询用户信息、也可以修改与维护房屋信息,记录每间房屋的收费。房屋:房屋查询可以进行查询、修改房屋户型、面积、价格等相关信息费用:收费管理可以记录房东、房屋、员工、具体金额等相关信息。归还:归还信息记录房屋的归还记录,包括归还日期,归还所属房东等意向:意向管理可以记录和显示房客要租房的户型、价格、面积等同时,系统有房屋基本状态的试图,可以方便地查询各个房屋是否出租的状态情况,创建储存功能,可以让管理员统计出各种户型的房屋的出租数量。并且在收费信息表中创建触发器,可以将已经租出去的房屋信息表中的房屋状态从“待租”变为“已租”,同时在房屋归还信息表中创建触发器,当增加归还信息时,将房屋状态改为“待租”。 图1 二手房中介管理系统功能结构图 二、二手房中介管理系统概念设计 1、实体E-R图中的关联必须是实体之间的关联,属性不能和其他实体有关联;属性必须是不可分的数据项,即属性中不能包括其它的属性或者实体。由此分析,可以抽象得到的实体为以下7个: 实体: 房东信息房客信息房屋归还信息房屋信息意向信息收费信息员工信息属性: 房东信息的属性有:房东编号、房东姓名、性别、联系号码、身份证号、记录日期房客信息的属性有:房客编号、房客姓名、性别、联系号码、身份证号、记录日期房屋归还信息的属性有:归还编号、归还日期房屋信息的属性有:房屋编号、房屋名称、户型、状态、价格、面积意向信息的属性有:意向编号、户型、楼层编号、价格、用途、面积收费信息的属性有:费用编号、金额、付款日期员工信息的属性有:员工ID、员工姓名、性别、出生日期、联系方式、身份证号 系统局部E-R图
图2 “房客信息—收费信息”局部E-R图
图3 “房东信息”局部E-R图
图4 “归还信息—房屋信息”局部E-R图
图5“意向信息”局部E-R图
图6 “员工信息”局部E-R图 3、系统全局E-R图
图7 全局E-R图 三、二手房中介管理系统的逻辑设计 1、E-R图到关系模式的转换房东信息(房东编号,房东姓名,性别,联系号码,身份证号,记录日期) 房客信息(房客编号,房客姓名,性别,联系号码、身份证号、记录日期) 房屋归还(归还编号,归还日期) 房客退房(房客编号,归还编号,房屋编号,归还日期) 房东收房(房东编号,归还编号,房屋编号,房客编号,归还日期) 房屋信息(房屋编号,房屋名称,户型,状态,价格,面积) 意向信息(意向编号,户型,楼层编号,价格,用途,面积) 收费信息(费用编号,金额,付款日期) 员工记录(员工编号,员工姓名,付款日期,费用编号,房东编号,房客编号) 员工信息(员工编号,员工姓名,性别,联系方式,身份证号) 关系模式的规范化及调整关系范式中的主键重复度越高,列的空间冗余越高,由于在查询过程中,如果需要查询某一特定内容,就必须连接很多表,费时费力,而且可以有效的消除异常(比如插入异常,更新异常,删除异常),而且可以将数据的组织变得更加和谐。所以我选将房东的收房,房客退房统一合并到房屋归还里,将员工记录的收费信息,合并到收费信息表里,这样在查询中,就可以更加方便快捷,也省了多个表的联立。所以我将ER图得到的关系模式调整成以下关系模式: 员工信息(员工编号,员工姓名,性别,联系方式,身份证号) 收费信息(费用编号,金额,员工编号,员工姓名,房屋编号,付款日期,房东编号,房客编号) 房东信息(房东编号,房东姓名,房屋编号,性别,联系号码,身份证号,记录日期) 房客信息(房客编号,房客姓名,性别,联系号码,身份证号,记录日期) 房屋信息(房屋编号,房屋名称,户型,面积,状态,价格,房东编号) 意向信息(意向编号,房客编号,户型,楼层编号,价格,面积) 房屋归还信息(归还编号,房屋编号,房客编号,归还日期) 四、二手房中介管理系统的数据库设计 1、数据库设计创建数据库“二手房中介管理系统”如图下所示:
图8 系统数据库的建立 2、数据表设计(1)表汇总,如表1所示 表名 功能说明 Manager 存储员工信息 Charge 存储收费信息 Landlord 存储房东信息 Tenant 存储房客信息 House 存储房屋信息 Idea 存储意向信息 Back 存储归还信息 表1 二手房中介系统表汇总 (2)详细表设计 create table Manager(/*员工(员工编号,姓名,性别,身份证号,联系方式)*/ man_id varchar(10) primary key, man_name varchar(20) not null, man_sex varchar(5) check(man_sex='男' or man_sex='女'), man_number varchar(20) not null, man_tel varchar(20) not null, ); 表名 Manager 列名 列名说明 数据类型 长度 主码、外码 是否允许空值 man_id 员工ID varchar 10 主码 否 man_name 员工姓名 varchar 20 无 否 man_sex 性别 varchar 5 无 否 man_number 身份证号 varchar 20 无 否 man_tel 联系方式 varchar 20 无 否 表2 Manager表 create table Landlord(/*房东(房东编号,房屋编号,姓名,性别,身份证号,联系方式,日期)*/ lan_id varchar(10) primary key, lan_name varchar(20) not null, lan_sex varchar(5) check (lan_sex='男' or lan_sex='女'), lan_number varchar(20) not null, lan_tel varchar(20) not null, hou_id varchar(10) not null, hou_day datetime not null, foreign key(lan_id) references House(hou_id) ); 表名 Landlord 列名 列名说明 数据类型 长度 主码、外码 是否允许空值 lan_id 房东编号 varchar 10 主码 否 lan_name 房东姓名 varchar 20 无 否 lan_sex 性别 varchar 5 无 否 lan_number 身份证号 varchar 20 无 否 lan_tel 联系方式 varchar 20 无 否 hou_id 房屋编号 varchar 10 外码 否 hou_day 记录日期 datetime 无 否 表3 Landlord表 create table Tenant(/*房客(房客编号,姓名,性别,身份证号,联系方式,日期)*/ ten_id varchar(10) primary key, ten_name varchar(20) not null, ten_sex varchar(5) check (ten_sex='男' or ten_sex='女'), lan_number varchar(20) not null, lan_tel varchar(20) not null, ten_day datetime not null, ); 表名 Tenant 列名 列名说明 数据类型 长度 主码、外码 是否允许空值 ten_id 房客编号 varchar 10 主码 否 ten_name 房客姓名 varchar 20 无 否 ten_sex 性别 varchar 5 无 否 ten_number 身份证号 varchar 20 无 否 ten_tel 联系方式 varchar 20 无 否 ten_day 记录日期 datetime 无 否 表4 Tenant表 create table House(/*房屋(房屋编号,姓名,户型,状态,价格,面积,房东编号)*/ hou_id varchar(10) primary key, hou_name varchar(20) not null, hou_type varchar(20) not null, hou_state varchar(20) not null, hou_price varchar(20) not null, hou_area varchar(20) not null, lan_id varchar(20) not null, foreign key(hou_id) references Landlord(lan_id) ); 表名 House 列名 列名说明 数据类型 长度 主码、外码 是否允许空值 hou_id 房屋编号 varchar 10 主码 否 hou_name 房屋姓名 varchar 20 无 否 hou_type 房屋户型 varchar 20 无 否 hou_state 房屋状态 varchar 20 无 是 hou_price 价格 varchar 20 无 否 hou_area 面积 varchar 20 无 否 lan_id 房东ID varchar 20 外码 否 表5 House表 create table Charge(/*费用(费用编号,金额,付款日期,员工编号,员工姓名,房屋编号,房东编号,房客编号)*/ ch_id varchar(10) primary key, ch_price varchar(20) not null, ch_day datetime not null, man_id varchar(10) not null, man_name varchar(20) not null, hou_id varchar(10) not null, lan_id varchar(10) not null, ten_id varchar(10) not null, foreign key(ch_id) references House(hou_id), foreign key(ch_id) references Manager(man_id), foreign key(ch_id) references Landlord(lan_id), foreign key(ch_id) references Tenant(ten_id) ); 表名 Charge 列名 列名说明 数据类型 长度 主码、外码 是否允许空值 ch_id 费用编号 varchar 10 主码 否 ch_price 金额 varchar 20 无 否 man_id 员工编号 varchar 10 外码 否 man_name 员工姓名 varchar 20 无 否 hou_id 房屋编号 varchar 10 外码 否 ch_day 付款日期 datetime 无 否 lan_id 房东编号 varchar 10 外码 否 ten_id 房客编号 varchar 10 外码 否 表6 Charge表 create table Idea(/*意向(意向编号,房客编号,户型,楼层编号,价格,面积)*/ id_id varchar(10) primary key, id_type varchar(20) not null, id_floor varchar(20) not null, id_price varchar(20) not null, id_area varchar(20) not null, ten_id varchar(10) not null, foreign key(id_id) references Tenant(ten_id) ); 表名 Idea 列名 列名说明 数据类型 长度 主码、外码 是否允许空值 id_id 意向ID varchar 10 主码 否 ten_id 房客ID varchar 10 外码 否 id_type 户型 varchar 20 无 否 id_floor 楼层编号 varchar 20 无 否 id_price 价格 varchar 20 无 否 id_area 面积 varchar 20 无 否 表7 idea表 create table Back(/*归还(房屋编号,房客编号,归还编号,归还日期)*/ ba_id varchar(10) primary key, lan_id varchar(10) not null, ten_id varchar(10) not null, ba_day datetime not null, ); 表名 Back 列名 列名说明 数据类型 长度 主码、外码 是否允许空值 lan_id 房东ID varchar 10 无 否 ten_id 房客ID varchar 10 无 否 ba_day 归还日期 datetime 无 否 ba_id 归还编号 varchar 20 主码 否 表8 back表 视图设计 视图汇总视图名 功能说明 House_View 查询当前房屋编号、房东以及状态信息 Money_View 租房屋编号以及收费信息 Home_View 查询系统所有二手房 表9 视图汇总表 创建视图查询当前的房屋编号、房东以及状态信息create view House_View (房屋编号,房东编号,房屋状态) as select House.hou_id,Landlord.lan_id,House.hou_state from House,Landlord where Landlord.lan_id =House.hou_id Go 图9 House_View视图查询 列名 列名说明 房屋编号 所租房子 房东编号 房屋所属人 房屋状态 房屋当前是“待租”还是“已租” 表10 House_View视图 创建视图查询当前的出租房屋编号以及收费信息create view Money_View (房屋编号,房客编号,收费信息) as select House.hou_id,Landlord.lan_id,Tenant.ten_id from House,Landlord ,Tenant where Landlord.lan_id =House.hou_id Go 图10 Money_View视图查询 列名 列名说明 房屋编号 所租房子 房客编号 租客 收费信息 房子当前的费用 表11 House_View视图 创建视图查询当前二手房市场里的房子create view home_View(房型,状态,面积) as select House.hou_type,House.hou_state,House.hou_area from House go
图11 home_View视图查询 列名 列名说明 房型 房子类型 状态 当前市场情况 面积 房子面积 表12 home_View视图 4、触发器设计(1)创建存储过程统计各种户型的房屋的出租数量 create procedure 统计出租数量 as select hou_type,hou_state,count(hou_id) as 统计 from House where hou_state='已租' group by hou_type,hou_state 储存过程declare @return_value int exec @return_value=统计出租数量 select 'Rrturn Value'=@return_value Go 创建触发器,当房屋被租出时,修改房屋状态为“已租”create TRIGGER 修改房屋状态 on Charge after insert as BEGIN update House set hou_state='已租' where hou_id=(select hou_id from inserted) SET NOCOUNT ON; select *from inserted select *from House END 触发器名称:修改房屋状态 触发器作用:当房屋被租出时,修改房屋状态为“已租”(如下图所示)
图11 创建触发器,当房屋被归还时,修改房屋状态为“待租”go CREATE TRIGGER 归还状态 on Back after insert as begin update House set hou_state='待租' where hou_id=(select hou_id from inserted) SET NOCOUNT ON; select *from inserted select *from House END 触发器名称:归还状态 触发器作用:当房屋被归还时,修改房屋状态为“待租”(如下图所示)
图12 5、数据库恢复数据库的备份:
图10 还原数据库:
图11 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |