房屋租售管理系统

该博客围绕房屋租售管理系统展开,介绍了用户、管理员和房东的功能,给出系统结构、业务流程和数据流图。详细阐述数据库设计,包括概念结构、逻辑结构设计及物理实现,还给出创建表和完整性约束代码。最后对数据库登录、信息、插入、修改和删除模块进行功能测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、系统功能介绍

1.用户功能:

2.管理员功能:

3.房东功能:

二、系统结构图

三、业务流程图

四、数据流图

1.顶层数据流图

2.第一层数据流图

3.第二层数据流图

五、数据字典

1.数据流

2.数据项

3.数据存储

六、数据库概念结构设计

1.实体属性分析

2.E-R图

3.概念模型分析(CDM图)

七、数据库逻辑结构设计

1.关系模式

2.概念模型设计(LDM图)

八、数据库物理实现

1.表设计

2.创建表和完整性约束代码设计

3.概念模型设计(PDM图)

九、数据库功能测试

1.登录模块

2.信息模块

3.插入模块

4.修改模块

5.删除模块

一、系统功能介绍

1.用户功能:

(1)用户可以登录和注册系统

(2)用户可以查看系统的相关新闻和公告信息

(3)用户查看房屋的出售信息,可以在线订购房屋,输入订购的相关信息,生产订购单

(4)用户查看房屋的出租信息,可以在线预约看房

(5)用户可以发布在线留言信息

(7)用户修改个人资料信息

2.管理员功能:

(1)管理员登录系统后台

(2)管理员管理房屋的区域位置信息

(3)管理员对中介发布的出售和出租房屋信息进行审核

(4)管理员管理用户的留言信息进行管理

(5)管理员对网站新闻公告的信息进行管理

(6)管理员可以对添加别的管理员登录后台

(7)管理员对房屋中介账户信息进行管理

(8)管理员对系统注册的用户进行管理

3.房东功能:

(1)发布和管理房屋的出租信息,信息由管理员审核

(2)发布和管理房屋的出售信息,信息由管理员审核

(3)查看用户房屋购买的订单

(4)查看用户的预约看房的信息

(5)修改个人资料信息   

二、系统结构图

图1

三、业务流程图

图2

四、数据流图

1.顶层数据流图

图3

2.第一层数据流图

图4

3.第二层数据流图

图5

图6 

五、数据字典

1.数据流

数据流名称:房屋信息

说明:租售房屋的基本信息

数据流来源:由房东录入系统

数据流去向:管理员,用户

数据流组成:房屋信息=房屋编号+房屋地址+房型+房屋面积+最多容纳人数+房屋状态+租售金额+房屋说明

平均流量:1次/年

高峰期流量2次/年

2.数据项

数据项编号:I1

数据项名称:房主姓名

含义说明:房产持有人的姓名

类型:字符型

长度:10

与其他数据项的逻辑关系:与I2号是租赁关系

数据项编号:I2

数据项名称:用户姓名

含义说明:租房/购房者姓名

类型:字符型

长度:10

与其他数据项的逻辑关系:与I1号是租赁关系

3.数据存储

数据存储名:房屋信息文件

说明:记录房屋的基本信息

编号:D1

流入的数据流:房主录入信息

流出的数据流:向管理员和用户显示信息

组成:房屋信息=房屋编号+房屋地址+房型+房屋面积+最多容纳人数+房屋状态+租售金额+房屋说明

存储方式:更新

数据存储名:房主

说明:定义了房东的基本信息

编号:D2

流入的数据流:房主录入信息

流出的数据流:向管理员和用户显示信息

组成:房主信息=姓名+年龄+性别+联系方式

存储方式:更新

六、数据库概念结构设计

1.实体属性分析

图7 房屋实体属性图

图8 房主实体属性图

图9 用户实体属性图

2.E-R图

图10 房屋租售管理系统E-R图

3.概念模型分析(CDM图)

 图11 CDM 图

七、数据库逻辑结构设计

1.关系模式

房主(编号,姓名,性别,年龄,联系方式)

用户(编号,姓名,性别,年龄,需求,联系方式)

房屋(房屋编号,房屋地址,房屋状态,房屋总面积,容纳人数,房主姓名

合同(合同单号,房主信息,房源信息,用户信息)

看房记录(看房记录编号房屋编号用户姓名

租/售记录(交易单号,金额,房屋编号用户姓名

2.概念模型设计(LDM图)

图12  LDM图

八、数据库物理实现

1.表设计

2.创建表和完整性约束代码设计

(1)创建表

(2)SQL代码设计

/*==============================================================*/

/* Database name:  1234                                         */

/* DBMS name:      Microsoft SQL Server 2008                    */

/* Created on:     2023/6/5 11:25:44                            */

/*==============================================================*/

drop database 1234

go

/*==============================================================*/

/* Database: 1234                                               */

/*==============================================================*/

create database 1234

CONTAINMENT = NONE

 ON  PRIMARY 

( NAME = N'1234', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\1234.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )

 LOG ON 

( NAME = N'1234_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\1234_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )

 WITH CATALOG_COLLATION = DATABASE_DEFAULT, LEDGER = OFF

go

alter database 1234

   set witness READ_WRITE

go

use 1234

go

/*==============================================================*/

/* User: dbo                                                    */

/*==============================================================*/

execute sp_grantdbaccess dbo

go

/*==============================================================*/

/* Table: contract                                              */

/*==============================================================*/

create table dbo.contract (

   cid                  varbinary(max)       not null,

   Uid                  varbinary(max)       null,

   oid                  varbinary(max)       null,

   owner                varbinary(max)       null,

   "user"               varbinary(max)       null,

   constraint PK_CONTRACT primary key (cid)

         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

)

ON [PRIMARY]

go

/*==============================================================*/

/* Table: house                                                 */

/*==============================================================*/

create table dbo.house (

   Hid                  varbinary(max)       not null,

   Uid                  varbinary(max)       null,

   area                 varbinary(max)       not null,

   address              varbinary(max)       not null,

   type                 varbinary(max)       not null,

   state                varbinary(max)       not null,

   constraint PK_HOUSE primary key (Hid)

         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

)

ON [PRIMARY]

go

/*==============================================================*/

/* Table: owner                                                 */

/*==============================================================*/

create table dbo.owner (

   oid                  varbinary(max)       not null,

   Hid                  varbinary(max)       null,

   cid                  varbinary(max)       null,

   oname                varbinary(max)       not null,

   osex                 varbinary(max)       null,

   onum                 varbinary(max)       not null,

   constraint PK_OWNER primary key (oid)

         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

)

ON [PRIMARY]

go

/*==============================================================*/

/* Table: "user"                                                */

/*==============================================================*/

create table dbo."user" (

   Uid                  varbinary(max)       not null,

   cid                  varbinary(max)       null,

   Uname                varbinary(max)       not null,

   Usex                 varbinary(max)       null,

   Unum                 varbinary(max)       not null,

   constraint PK_USER primary key (Uid)

         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

)

ON [PRIMARY]

go

/*==============================================================*/

/* Table: 乙方                                                    */

/*==============================================================*/

create table dbo.乙方 (

   Uid                  varbinary(max)       not null,

   cid                  varbinary(max)       not null,

   constraint PK_乙方 primary key nonclustered (Uid, cid)

         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

)

ON [PRIMARY]

go

/*==============================================================*/

/* Table: 拥有                                                    */

/*==============================================================*/

create table dbo.拥有 (

   Hid                  varbinary(max)       not null,

   oid                  varbinary(max)       not null,

   constraint PK_拥有 primary key nonclustered (Hid, oid)

         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

)

ON [PRIMARY]

go

/*==============================================================*/

/* Table: 甲方                                                    */

/*==============================================================*/

create table dbo.甲方 (

   oid                  varbinary(max)       not null,

   cid                  varbinary(max)       not null,

   constraint PK_甲方 primary key nonclustered (oid, cid)

         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

)

ON [PRIMARY]

go

/*==============================================================*/

/* Table: 租用                                                    */

/*==============================================================*/

create table dbo.租用 (

   Hid                  varbinary(max)       not null,

   Uid                  varbinary(max)       not null,

   constraint PK_租用 primary key nonclustered (Hid, Uid)

         WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]

)

ON [PRIMARY]

go

alter table dbo.contract

   add constraint FK_CONTRACT_RELATIONS_USER foreign key (Uid)

      references dbo."user" (Uid)

go

alter table dbo.contract

   add constraint FK_CONTRACT_RELATIONS_OWNER foreign key (oid)

      references dbo.owner (oid)

go

alter table dbo.house

   add constraint FK_HOUSE_RELATIONS_USER foreign key (Uid)

      references dbo."user" (Uid)

go

alter table dbo.owner

   add constraint FK_OWNER_RELATIONS_HOUSE foreign key (Hid)

      references dbo.house (Hid)

go

alter table dbo.owner

   add constraint FK_OWNER_RELATIONS_CONTRACT foreign key (cid)

      references dbo.contract (cid)

go

alter table dbo."user"

   add constraint FK_USER_RELATIONS_CONTRACT foreign key (cid)

      references dbo.contract (cid)

go

3.概念模型设计(PDM图)

图13  PDM图

九、数据库功能测试

1.登录模块

2.信息模块

3.插入模块

4.修改模块

5.删除模块

### 绘制租房管理系统数据流图的方法 #### 数据流图概述 数据流图(DFD)是一种图形化工具,用于描述信息系统中的数据流动情况。通过展示外部实体、处理过程、存储文件以及它们之间的关系来帮助理解系统的工作原理。 #### 租房管理系统的组成部分 对于租房管理系统而言,主要涉及以下几个方面: - **外部实体**:房东、租客、管理员等角色。 - **处理过程**:包括但不限于房源发布审核、租赁合同签订、租金支付等功能操作。 - **数据存储**:如房屋信息库、用户资料档案、交易记录表单等数据库或文件形式的数据保存位置。 - **数据流向**:表示不同组件间的信息传递路径[^1]。 #### 构建具体实例 以下是构建一个简单的租房管理系统顶层数据流图的具体方法: 1. 明确边界范围内的所有参与者作为外部实体; 2. 列举出核心业务逻辑对应的各个处理节点; 3. 确定必要的内部及外部数据储存单元; 4. 使用箭头连接上述要素并标注清楚每条边代表什么性质的数据交换; ```plaintext +-------------------+ | 房东 | +--------+----------+ | 发布新房源申请 v +--------v-----------+ +-------------+ | 审核新发布的房源 |<--+ ^ ^ | 返回审核结果 | | | +--------+----------+ | | 租客 | | +--------+---------+ | | 查看可租房源列表 | v | +--------v--+------------+ | ^ | | 获取已签合同详情 | | | +--+----------+ | | 合同管理模块 |<----------+ +--------------------+ ``` 此图为简化版本仅展示了部分交互流程,在实际应用中可能还需要考虑更多细节比如安全认证机制等内容。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值