房屋租赁系统数据库设计修订稿
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
房屋租赁系统数据库设
计
集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]
房屋租赁发布系统的设计与实现
数据库设计说明书
版本:
文档信息及版本历史
目录
1引言
1.1编写目的
本文档是房屋租赁信息发布系统概要设计文档的组成部分,编写数据库设计文档的目的是:明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发。本文档的读者对象是需求人员、系统设计人员、开发人员、测试人员。
1.2术语表
定义系统或产品中涉及的重要术语,为读者在阅读文档时提供必要的参考信
1.3数据库命名约定
1.4参考资料
参考资料包括:
1.《数据库设计文档基本格式》
2数据库环境说明
3数据库的命名规则
数据库(Database)的定义
数据库名称 = 数据库内容标识(首字大写)。
表(Table)的定义
a.命名应尽量反映存储的数据内容。
b.表名前缀:以该表及与该表相关联的一系列表的内容而得到一个代表统一的标识。
c.表名称 = 表名前缀 + 表内容标识(首字大写)
字段(Field)的定义
字段是数据库中的用途最广泛的,它的类型非常多,所以必须加类型前缀来标示它的类型。
字段名称 = 字段类型前缀 + 字段内容标识(首字大写)
视图名
视图的名称 = "vw" + 视图内容标识(首字大写)
触发器名
触发类型触发标识
-----------------------------------
Inserti
Deleted
Updateu
触发名= "tr" + 触发标识 + 相应的表名
存储过程名
存储过程功能存储过程功能前缀
----------------------------------------
添加a
更新u
删除d
查询或其它o
存储过程名称 = 存储过程功能前缀 + 存储过程内容标识(首字大写)
变量名
每个单词的首个字母为大写。
命名中其他注意事项
禁止使用中文命名!!!!!
命名都不得超过30个字符的系统限制,变量名的长度限制为29(不包括标识字符@)。
命名都采用英文字符,每个单词的首个字母要大写。
4概要设计
图4-1 超级管理员实体属性图
图4-2 管理员实体属性图
图4-3 会员实体属性图
图4-4 游客实体属性图
图4-5 租赁信息实体属性图
图4-6 广告信息实体属性图
图 4-7 整体E-R图
5逻辑设计
游客表(Visitor)
会员表(VIP)
管理员表(Admin)
超级管理员表(Superadmin)
出租信息表(Rent)
求租信息表(Forrent)
广告信息表(Advertisement)
收藏表(Collect)
举报表(Report)
交流信息表(Dialogue)
6物理设计
6.1确定关系模型的存取方法
在实际设计中最常用的存取方法是索引,使用索引可以大大减少数据的查询时间,在建立索引时应遵循:在经常需要搜索的列上建立索引;在主关键字上建立索引;在经常用于连接的列上建立索引,即在外键上建立索引;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规则。才能充分利用索引的作用避免因索引引起的负面作用。
6.2确定数据库的存储结构
确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。
将日志文件和数据库对象(表、索引等)分别放在不同的磁盘可以改进系统的性能。所以系统将日志文件和数据文件存放在不同磁盘上。
7存储过程、函数及触发器的设计
存储过程:
1.根据房源一段时间的看房信息情况修改房源的状态,是否为热门房源。一
个月内看房数量达到5次以上为热门,一年内看房数量达到30次以上为热门房源。
2.检查并注销房源信息的存储过程,检查房源信息是否符合规范,如果发现
虚假信息则管理员注销该条房源信息。
3.如果会员被举报,管理员查证后,如果属于第一次被举报,管理员标记该
会员。如果属于第二次被举报,管理员删除该会员。
触发器:
1.填写求租信息时,插入触发器,若最低价格小于房源出租价格,则操作失
败。
2.添加房源的同时,根据房源的户型确定房源的类型,户主必须填写出租类
型,比如合租,单个房间出租,整间出租。
3.删除会员的同时删除房主所有的房源信息
8安全性设计
用户分为四类:游客、会员、管理员、超级管理员。
游客只有浏览、举报的功能;会员除了有游客的功能还有对自己个人信息的管理和发布的消息的管理;管理员来管理平台的所有信息;超级管理员来添加管理员和删除管理员。
8.1用户帐号密码的加密方法
用户帐号采用MD5进行数据加密后再录入数据库,以防止任何地方密码的安全性要求。
8.2角色与权限
9数据库实施
1.创建数据库脚本
if exists(select * from where name='fwzlxt') begin
use master
drop database fwzlxt
end
go
create database fwzlxt
go
use fwzlxt
go
2.创建表脚本