数据库设计说明书.docx
《数据库设计说明书.docx》由会员分享,可在线阅读,更多相关《数据库设计说明书.docx(32页珍藏版)》请在冰豆网上搜索。
数据库设计说明书
数据库设计说明书
1.引言
在使用任何数据库之前,都必须设计好数据库,包括将要存储的数据的类型,数据之间的相互关系以及数据的组织形式。
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据。
为了合理地组织和高效率地存取数据,目前最好的方式,就是建立数据库系统,因此在系统的总体设计阶段,数据库的建立与设计是一项十分重要的内容。
由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。
1.1编写目的
数据库设计的好坏是一个关键。
如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分,是一个系统的根基。
用于开发人员进行项目设计,以此作为编码的依据,同时也为后续的数据库维护工作提供了良好的使用说明,也可以作为未来版本升级时的重要参考资料。
数据库设计的目标是建立一个合适的数据模型。
这个数据模型应当是满足用户要求,既能合理地组织用户需要的所有数据,又能支持用户对数据的的所有处理功能。
并且要具有较高的范式,数据完整性好,效益高,便于理解和维护,没有数据冲突。
2.外部设计
外部设计是研究和考虑所要建立的数据库的信息环境,对数据库应用领域中各种信息要求和操作要求进行详细地分析,了解应用领域中数据项、数据项之间的关系和所有的数据操作的详细要求,了解哪些因素对响应时间、可用性和可靠性有较大的影响等各方面的因素。
2.1标识符和状态
数据库表前缀:
afunms
用户名:
root
密码:
root
权限:
全部
有效时间:
开发阶段
说明:
系统正式发布后,可能更改数据库用户/密码,请在统一位置编写数据库连接字符串,在发行前请予以改正。
2.2使用它的程序
本系统主要利用jsp作为前端的应用开发工具,使用MySQL作为后台的数据库,Linux或Windows均可作为系统平台。
2.3约定
■所有命名一定要具有描述性,杜绝一切拼音、或拼音英文混杂的命名方式。
■字符集采用UTF-8,请注意字符的转换。
■所有数据表第一个字段都是系统内部使用主键列,自增字段,不可空,名称为:
id,确保不把此字段暴露给最终用户。
■除特别说明外,所有日期格式都采用int格式,无时间值。
■除特别说明外,所有字段默认都设置不充许为空,需要设置默认值。
■所有普通索引的命名都是表名加设置索引的字段名组合,例如用户表User中
name字段设置普通索引,则索引名称命名方式为user_name。
3.结构设计
数据库的结构设计中有许许多多需要考虑的因素,如数据库的背景、应用环境等方面都需要有深入的了解,只有一个对所有这些因素都很了解的数据库设计专家,他设计的数据库才能易于使用和维护,并且具有高效和一致的特征。
虽然这样只对数据库设计过程有一个概要的了解,但是仍然有助于读者了解和掌握SQL,使读者可以很好地分析数据间的相互关系在使用SQL进行报表的生成、子查询及视图等操作时,可以更好地进行操作。
5.物理结构设计
数据库设计的最后阶段是确定数据库在物理设备上的存储结构和存取方法,也就是设计数据库的物理数据模型,主要是设计表结构。
一般地,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。
逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对应的。
本次项目开发采用的是MySQL建立数据库。
5.1设计数据表结构
在利用MySQL创建一个新的数据表以前,应当根据逻辑模型和数据字典先分析和设计数据表,描述出数据库中基本表的设计。
需要确定数据表名称,所包含字段名称,数据类型,宽度以及建立的主键、外键等描述表的属性的内容。
本项目全部26个数据表结构设计如下所示:
表5.1-1 综合流速结构表
表名
ALLUTILHDX+ip用于保存网络设备流速信息
列名
数据类型
属性
约束条件
ID
bigint(20)
无符号/非空/自动增涨
主键
IPADDRESS
VARCHAR(5)
无符号/非空/缺省0
RESTYPE
VARCHAR(50)
非空/缺省''
CATEGORY
VARCHAR(10)
非空/缺省''
ENTITY
VARCHAR(100)
非空/缺省''
SUBENTITY
varchar(60)
非空/缺省''
THEVALUE
bigint(255)
非空/缺省''
COLLECTTIME
timestamp
非空/缺省''
UNIT
varchar(30)
非空/缺省''
COUNT
bigint(20)
非空/缺省''
BAK
varchar(100)
非空/缺省''
CHNAME
varchar(100)
非空/缺省''
补充说明
表5.1-2cpu结构表
表名
Cpu+ip用于保存设备cpu利用率信息
列名
数据类型
属性
约束条件
ID
bigint(20)
无符号/非空/自动增涨
主键
IPADDRESS
VARCHAR(5)
无符号/非空/缺省0
RESTYPE
VARCHAR(50)
非空/缺省''
CATEGORY
VARCHAR(10)
非空/缺省''
ENTITY
VARCHAR(100)
非空/缺省''
SUBENTITY
varchar(60)
非空/缺省''
THEVALUE
bigint(255)
非空/缺省''
COLLECTTIME
timestamp
非空/缺省''
UNIT
varchar(30)
非空/缺省''
COUNT
bigint(20)
非空/缺省''
BAK
varchar(100)
非空/缺省''
CHNAME
varchar(100)
非空/缺省''
补充说明
表5.1-3磁盘利用率表
表名
Disk+ip用于保存设备磁盘利用率信息
列名
数据类型
属性
约束条件
ID
bigint(20)
无符号/非空/自动增涨
主键
IPADDRESS
VARCHAR(5)
无符号/非空/缺省0
RESTYPE
VARCHAR(50)
非空/缺省''
CATEGORY
VARCHAR(10)
非空/缺省''
ENTITY
VARCHAR(100)
非空/缺省''
SUBENTITY
varchar(60)
非空/缺省''
THEVALUE
bigint(255)
非空/缺省''
COLLECTTIME
timestamp
非空/缺省''
UNIT
varchar(30)
非空/缺省''
COUNT
bigint(20)
非空/缺省''
BAK
varchar(100)
非空/缺省''
CHNAME
varchar(100)
非空/缺省''
补充说明
表5.1-4内存利用率表
表名
Memory+ip用于保存设备内存利用率信息
列名
数据类型
属性
约束条件
ID
bigint(20)
无符号/非空/自动增涨
主键
IPADDRESS
VARCHAR(5)
无符号/非空/缺省0
RESTYPE
VARCHAR(50)
非空/缺省''
CATEGORY
VARCHAR(10)
非空/缺省''
ENTITY
VARCHAR(100)
非空/缺省''
SUBENTITY
varchar(60)
非空/缺省''
THEVALUE
bigint(255)
非空/缺省''
COLLECTTIME
timestamp
非空/缺省''
UNIT
varchar(30)
非空/缺省''
COUNT
bigint(20)
非空/缺省''
BAK
varchar(100)
非空/缺省''
CHNAME
varchar(100)
非空/缺省''
补充说明
表5.1-5端口流速表
表名
Memory+ip端口利用率信息
列名
数据类型
属性
约束条件
ID
bigint(20)
无符号/非空/自动增涨
主键
IPADDRESS
VARCHAR(5)
无符号/非空/缺省0
RESTYPE
VARCHAR(50)
非空/缺省''
CATEGORY
VARCHAR(10)
非空/缺省''
ENTITY
VARCHAR(100)
非空/缺省''
SUBENTITY
varchar(60)
非空/缺省''
THEVALUE
bigint(255)
非空/缺省''
COLLECTTIME
timestamp
非空/缺省''
UNIT
varchar(30)
非空/缺省''
COUNT
bigint(20)
非空/缺省''
BAK
varchar(100)
非空/缺省''
CHNAME
varchar(100)
非空/缺省''
补充说明
表5.1-6云数据表
表名
Oss_cloud云数据信息表
列名
数据类型
属性
约束条件
id
varchar(100)
无符号/非空/自动增涨
主键
CLOUDNAME
VARCHAR(30)
无符号/非空/缺省0
CLOUDDESC
VARCHAR(30)
非空/缺省''
USAGESTATUS
VARCHAR(30)
非空/缺省''
VID
VARCHAR(20)
非空/缺省''
DCID
VARCHAR(30)
非空/缺省''
ccpus
VARCHAR(30)
非空/缺省''
memorys
VARCHAR(30)
非空/缺省''
caliches
VARCHAR(30)
非空/缺省''
INVM
VARCHAR(30)
非空/缺省''
补充说明
表5.1-7云数据中心表
表名
Lmbang_collect
列名
数据类型
属性
约束条件
id
varchar(100)
无符号/非空/自动增涨
主键
DATACENTRENAME
varchar(100)
非空/缺省''
DATACENTREDESC
varchar(100)
非空/缺省''
dcid
varchar(100)
非空/缺省''
INVM
varchar(100)
非空/缺省''
补充说明
表5.1-8评论表
表名
Lmbang_comment,用于保存评论记录,表引擎为MyISAM类型,字符集为utf-8
列名
数据类型
属性
约束条件
说明
id
INIT(11)
无符号/非空/自动增涨
主键
评论编号
ctype
TINYINIT(4)
非空/缺省''
评论名称
cid
INIT(11)
非空/缺省''
评论所属id
content
TEXT
非空/缺省''
评论内容
posttime
BIGINIT(20)
非空/缺省'
发表时间
uid
INIT(11)
非空/缺省'
用户id
qid
INIT(11)
非空/缺省'
引用回复id
floor
INIT(11)
无符号/非空/缺省0
所属楼层
补充说明
Ctype类型:
1话题评论,2图片日记3文字图片4语音图片。
Qid是话题评论时,引用回复的id
Floor话题评论所属楼层
表5.1-9日记表
表名
Lmbang_diary,用于保存日记记录,表引擎为MyISAM类型,字符集为utf-8
列名
数据类型
属性
约束条件
说明
id
INT(11)
无符号/非空/自动增涨
主键
日记编号
uid
INIT(11)
非空/缺省''
用户id
type
VARCHAR(20)
非空/缺省''
日记类型
content
TEXT
非空/缺省''
日记内容
posttime
BIGINIT(20)
非空/缺省'
发表时间
补充说明
Type类型:
audio音频日记pic图片日记text文档日记
表5.1-10日记上传数据表
表名
Lmbang_diarydata,用于保存日记上传数据,表引擎为MyISAM类型,字符集为utf-8
列名
数据类型
属性
约束条件
说明
id
INT(11)
无符号/非空/自动增涨
主键
日记编号
diaryid
INIT(11)
非空/缺省''
日记id
filename
VARCHAR(50)
非空/缺省''
路径名
补充说明
日记表的子表
表5.1-11达人数据表
表名
Lmbang_doyen,用于保存达人记录,表引擎为MyISAM类型,字符集为utf-8
列名
数据类型
属性
约束条件
说明
id
INT(11)
无符号/非空/自动增涨
主键
达人编号
uid
INIT(11)
非空/缺省''
用户id
bcid
INIT(10)
非空/缺省''
帮分类id
count
INIT(10)
非空/缺省''
发表话题数
补充说明
统计达人数据
表5.1-12友情链接表
表名
Dw_flink,用于保存友情链接记录,表引擎为MyISAM类型,字符集为utf-8
列名
数据类型
属性
约束条件
说明
id
INT(4)
无符号/非空/自动增涨
主键
链接编号
Flinkname
VARCHAR(50)
非空/缺省''
网站名称
type
VARCHAR(15)
非空/缺省''
链接类型
url
VARCHAR(100)
非空/缺省''
链接地址
logo
VARCHAR(50)
非空/缺省'
链接图片
orderno
INIT(11)
非空/缺省'
显示顺序
isplay
TINYINIT(4)
非空/缺省'
是否显示
补充说明
显示方式:
有两种显示方式,0为显示网站名称,1为显示
Type类型:
text文字链接,pic为图片链接
表5.1-13加帮数据表
表名
Lmbang_joinbang,用于保存用户加帮记录,表引擎为MyISAM类型,字符集为utf-8
列名
数据类型
属性
约束条件
说明
id
INT(11)
无符号/非空/自动增涨
主键
链接编号
uid
INT(11))
非空/缺省''
用户id
bid
INT(11)
非空/缺省''
帮id
bcid
INT(11)
非空/缺省''
帮分类id
补充说明
表5.1-14赞数据表
表名
Lmbang_like,用于保存赞记录,表引擎为MyISAM类型,字符集为utf-8
列名
数据类型
属性
约束条件
说明
id
INT(11)
无符号/非空/自动增涨
主键
链接编号
pid
INT(11))
非空/缺省''
图片id
uid
INT(11)
非空/缺省''
用户id
type
INT(11)
非空/缺省''
类型
补充说明
表5.1-15私信数据表
表名
Lmbang_diary,用于保存用户私信记录,表引擎为MyISAM类型,字符集为utf-8
列名
数据类型
属性
约束条件
说明
id
INT(11)
无符号/非空/自动增涨
主键
私信编号
puid
INT(11))
非空/缺省''
发私信id
auid
INT(11)
非空/缺省''
收私信id
content
TEXT
非空/缺省''
私信内容
posttime
BIGINIT(20)
非空/缺省'
发表时间
补充说明
表5.1-16私信记录数据表
表名
Lmbang_diarydata,用于保存私信数据记录,表引擎为MyISAM类型,字符集为utf-8
列名
数据类型
属性
约束条件
说明
id
INT(11)
无符号/非空/自动增涨
主键
私信编号
uid
INT(11))
非空/缺省''
发私信id
fuid
INT(11)
非空/缺省''
收私信id
lasttime
BIGINIT(20)
非空/缺省'
最后联系时间
补充说明
表5.1-17图片数据表
表名
Lmbang_pic,用于保存图片记录,表引擎为MyISAM类型,字符集为utf-8
列名
数据类型
属性
约束条件
说明
id
INT(11)
无符号/非空/自动增涨
主键
图片编号
type
INT(11))
非空/缺省''
图片类型
tid
INT(11)
非空/缺省''
图片所属id
picname
VARCHAR(20)
非空/缺省''
图片名
posttime
BIGINIT(20)
非空/缺省'
发表时间
补充说明
Type类型:
1是话题,2是回复,3是头像
Tid就是各个类型对应的话题,回复,用户id
表5.1-18用户关系数据表
表名
Lmbang_relation,用于保存用户关系记录,表引擎为MyISAM类型,字符集为utf-8
列名
数据类型
属性
约束条件
说明
id
INT(11)
无符号/非空/自动增涨
主键
关系编号
uid
INT(11))
非空/缺省''
操作用户id
auid
INT(11)
非空/缺省''
被操作用户id
type
INIT
(2)
非空/缺省''
关系类型
actiontime
BIGINIT(20)
非空/缺省'
关系建立时间
补充说明
Type类型:
1是关注,2是黑名单
表5.1-19举报数据表
表名
Lmbang_report,用于保存举报记录,表引擎为MyISAM类型,字符集为utf-8
列名
数据类型
属性
约束条件
说明
id
INT(11)
无符号/非空/自动增涨
主键
私信编号
uid
INT(11))
非空/缺省''
用户id
type
TINYINT
(2)
非空/缺省''
举报id
ruid
INT(11))
非空/缺省''
内容id
reporttime
BIGINIT(20)
非空/缺省'
举报时间
补充说明
Type类型:
1是举报话题,2是举报评论
表5.1-20话题信息表
表名
Lmbang_topic用于保存话题记录,表引擎为MyISAM类型,字符集为utf-8
列名
数据类型
属性
约束条件
说明
id
INT(11)
无符号/非空/自动增涨
主键
话题编号
uid
INT(11)
非空/缺省''
用户id
bid
INT(11)
非空/缺省''
帮id
title
VARCHAR(200)
非空/缺省0
话题标题
content
TEXT
非空/缺省0
话题内容
ccount
INT(11)
非空/缺省0
话题下评论数
tagid
INT(11)
非空/缺省0
所属标签id
posttime
BIGINT(20)
非空/缺省0
发表时间
lasttime
BIGINT(20)
非空/缺省0
回复时间
补充说明
表5.1-21用户信息表
表名
Lmbang_user用于保存用户信息记录,表引擎为MyISAM类型,字符集为utf-8
列名
数据类型
属性
约束条件
说明
id
INT(11)
无符号/非空/自动增涨
主键
用户编号
username
VARCHAR(50)
非空/缺省''
用户邮箱
nickname
VARCHAR(50)
非空/缺省''
用户昵称
userpwd
VARCHAR(32)
非空/缺省0
用户密码
province
VARCHAR(20)
非空/缺省0
所在省
city
VARCHAR(20)
非空/缺省0
所在市
babytype
TINYINT
(2)
非空/缺省0
妈妈类型
babysex
TINYINT(4)
非空/缺省0
宝宝性别
babybrithday
BIGINT(20)
非空/缺省0
宝宝生日
score
INT(11)
非空/缺省0
积分
groups
TINYINT(4)
非空/缺省0
用户组
headpic
VARCHAR(30)
非空/缺省0
头像
signature
VARCHAR(200)
非空/缺省0
签名
regtime
BIGINT(20)
非空/缺省0
注册时间
lasttime
BIGINT(20)
非空/缺省0
最后登录时间
regip
VARCHAR(20)
非空/缺省0
注册ip
lastip