房屋租售管理系统

目录

一、系统功能介绍

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.删除模块

  • 7
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
1.系统功能模块图:改进完善业务流程图,分析用户需要系统完成哪些任务,逐层分解,画出功能层次图。功能分析是要在设计过程中明确完成设计后的“淮南师范学院房屋租赁管理系统”所能具备的功能。 淮南师范学院房屋租赁管理系统的功能模块划分图为: 2.业务流程分析:描述系统的业务流程,画出规范的业务流程图 3.确定实体、联系及其属性,并确定主实体的主标识,画出ERD(不少于两个主实体,一个从实体,一个联系和24个属性);检查改正错误;对其中复杂的多元联系进行分析,必要则改进。 概念模型有以下几个主要特点: (1)能充分反映实际应用中的实体及其相互之间的联系,是现实世界的一个真实模型。 (2)由于概念模型独立于具体的计算机系统和具体的数据库管理系统,因此,便于用户理解,有利于用户积极参与设计工作。 (3)概念模型容易修改。当问题有变化时,反映实际问题的概念模型可以很方便地扩充和修改。 (4)便于向各种模型转换。由于概念模型不依赖于具体的数据库管理系统,因此,容易向关系模型、网状模型和层次模型等各种模型转换。 概念结构设计要借助于某种方便又直观的描述工具,E-R(实体-联系,Entity-Relationship)图是设计概念模型的有力工具。在E-R图中,用三种图框分别表示实体、属性和实体之间的联系,其规定如下: 用矩形框表示实体,框内标明实体名; 用椭圆形框表示实体的属性,框内标明属性名; 用菱形框表示实体间的联系,框内标明联系名; 实体与其属性之间以无向边联接,菱形框与相关实体之间也用无向边联接,并无 向边旁标明联系的类型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值