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综合流速结构表
表名 列名 ID ALLUTILHDX+ip用于保存网络设备流速信息 数据类型 bigint(20) 属性 无符号/非空/自动增涨 主键 约束条件 IPADDRESS RESTYPE CATEGORY ENTITY SUBENTITY THEVALUE VARCHAR(5) VARCHAR(50) VARCHAR(10) 无符号/非空/缺省0 非空/缺省'' 非空/缺省'' VARCHAR(100) 非空/缺省'' varchar(60) bigint(255) 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' COLLECTTIME timestamp UNIT COUNT BAK CHNAME 补充说明 varchar(30) bigint(20) varchar(100) varchar(100) 表5.1-2cpu结构表 表名 列名 ID IPADDRESS RESTYPE CATEGORY ENTITY SUBENTITY THEVALUE Cpu+ip用于保存设备cpu利用率信息 数据类型 bigint(20) VARCHAR(5) VARCHAR(50) VARCHAR(10) 属性 无符号/非空/自动增涨 主键 约束条件 无符号/非空/缺省0 非空/缺省'' 非空/缺省'' VARCHAR(100) 非空/缺省'' varchar(60) bigint(255) 非空/缺省'' 非空/缺省'' 非空/缺省'' COLLECTTIME timestamp UNIT COUNT BAK CHNAME 补充说明 varchar(30) bigint(20) varchar(100) varchar(100) 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' 表5.1-3磁盘利用率表 表名 列名 ID IPADDRESS RESTYPE CATEGORY ENTITY SUBENTITY THEVALUE Disk+ip用于保存设备磁盘利用率信息 数据类型 bigint(20) VARCHAR(5) VARCHAR(50) VARCHAR(10) 属性 无符号/非空/自动增涨 主键 约束条件 无符号/非空/缺省0 非空/缺省'' 非空/缺省'' VARCHAR(100) 非空/缺省'' varchar(60) bigint(255) 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' COLLECTTIME timestamp UNIT COUNT BAK CHNAME 补充说明 varchar(30) bigint(20) varchar(100) varchar(100) 表5.1-4内存利用率表
表名 Memory+ip用于保存设备内存利用率信息 列名 ID IPADDRESS RESTYPE CATEGORY ENTITY SUBENTITY THEVALUE 数据类型 bigint(20) VARCHAR(5) VARCHAR(50) VARCHAR(10) 属性 无符号/非空/自动增涨 主键 约束条件 无符号/非空/缺省0 非空/缺省'' 非空/缺省'' VARCHAR(100) 非空/缺省'' varchar(60) bigint(255) 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' COLLECTTIME timestamp UNIT COUNT BAK CHNAME 补充说明 varchar(30) bigint(20) varchar(100) varchar(100) 表5.1-5端口流速表 表名 列名 ID IPADDRESS RESTYPE CATEGORY ENTITY SUBENTITY Memory+ip端口利用率信息 数据类型 bigint(20) VARCHAR(5) VARCHAR(50) VARCHAR(10) 属性 无符号/非空/自动增涨 主键 约束条件 无符号/非空/缺省0 非空/缺省'' 非空/缺省'' VARCHAR(100) 非空/缺省'' varchar(60) 非空/缺省'' THEVALUE bigint(255) 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' COLLECTTIME timestamp UNIT COUNT BAK CHNAME 补充说明 varchar(30) bigint(20) varchar(100) varchar(100) 表5.1-6云数据表 表名 列名 id CLOUDNAME CLOUDDESC Oss_cloud云数据信息表 数据类型 varchar(100) VARCHAR(30) VARCHAR(30) 属性 无符号/非空/自动增涨 主键 约束条件 无符号/非空/缺省0 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' USAGESTATUS VARCHAR(30) VID DCID ccpus memorys caliches INVM VARCHAR(20) VARCHAR(30) VARCHAR(30) VARCHAR(30) VARCHAR(30) VARCHAR(30) 补充说明 表5.1-7云数据中心表
表名 Lmbang_collect 列名 id DATACENTRENAME DATACENTREDESC dcid INVM 数据类型 varchar(100) varchar(100) varchar(100) varchar(100) varchar(100) 属性 无符号/非空/自动增涨 主键 约束条件 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省'' 补充说明 表5.1-8评论表 表名 列名 id ctype cid content posttime uid qid floor Lmbang_comment,用于保存评论记录,表引擎为MyISAM类型,字符集为utf-8 数据类型 INIT(11) TINYINIT(4) INIT(11) TEXT BIGINIT(20) INIT(11) INIT(11) 属性 无符号/非空/自动增涨 主键 约束条件 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省' 非空/缺省' 非空/缺省' 无符号/非空/缺省0 说明 评论编号 评论名称 评论所属id 评论内容 发表时间 用户id 引用回复id 所属楼层 INIT(11) 补充说明 Ctype类型:1话题评论,2图片日记3文字图片4语音图片。 Qid是话题评论时,引用回复的id Floor话题评论所属楼层 表5.1-9日记表 表名 列名 id Lmbang_diary,用于保存日记记录,表引擎为MyISAM类型,字符集为utf-8 数据类型 INT(11) 属性 无符号/非空/自动增涨 主键 约束条件 说明 日记编号 uid type content posttime INIT(11) VARCHAR(20) 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省' 用户id 日记类型 日记内容 发表时间 TEXT BIGINIT(20) 补充说明 Type类型:audio音频日记pic图片日记text文档日记 表5.1-10日记上传数据表 表名 列名 id diaryid filename Lmbang_diarydata,用于保存日记上传数据,表引擎为MyISAM类型,字符集为utf-8 数据类型 INT(11) INIT(11) VARCHAR(50) 属性 无符号/非空/自动增涨 主键 约束条件 非空/缺省'' 非空/缺省'' 说明 日记编号 日记id 路径名 补充说明 日记表的子表 表5.1-11达人数据表 表名 列名 id uid bcid count Lmbang_doyen,用于保存达人记录,表引擎为MyISAM类型,字符集为utf-8 数据类型 INT(11) INIT(11) INIT(10) 属性 无符号/非空/自动增涨 主键 约束条件 非空/缺省'' 非空/缺省'' 非空/缺省'' 说明 达人编号 用户id 帮分类id 发表话题数 INIT(10) 统计达人数据 补充说明 表5.1-12友情链接表 表名 列名 id Flinkname type url Dw_flink,用于保存友情链接记录,表引擎为MyISAM类型,字符集为utf-8 数据类型 INT(4) VARCHAR(50) VARCHAR(15) 属性 无符号/非空/自动增涨 主键 约束条件 非空/缺省'' 非空/缺省'' 说明 链接编号 网站名称 链接类型 链接地址 VARCHAR(100) 非空/缺省'' logo orderno isplay VARCHAR(50) INIT(11) TINYINIT(4) 非空/缺省' 非空/缺省' 非空/缺省' 链接图片 显示顺序 是否显示 补充说明 显示方式:有两种显示方式,0为显示网站名称,1为显示 Type类型:text文字链接,pic为图片链接 表5.1-13加帮数据表 表名 列名 id uid bid bcid Lmbang_joinbang,用于保存用户加帮记录,表引擎为MyISAM类型,字符集为utf-8 数据类型 INT(11) INT(11)) INT(11) INT(11) 属性 无符号/非空/自动增涨 主键 约束条件 非空/缺省'' 非空/缺省'' 非空/缺省'' 说明 链接编号 用户id 帮id 帮分类id 补充说明 表5.1-14赞数据表
表名 列名 id pid uid type Lmbang_like,用于保存赞记录,表引擎为MyISAM类型,字符集为utf-8 数据类型 INT(11) INT(11)) INT(11) INT(11) 属性 无符号/非空/自动增涨 主键 约束条件 非空/缺省'' 非空/缺省'' 非空/缺省'' 说明 链接编号 图片id 用户id 类型 补充说明 表5.1-15私信数据表 表名 列名 id puid auid Lmbang_diary,用于保存用户私信记录,表引擎为MyISAM类型,字符集为utf-8 数据类型 INT(11) INT(11)) INT(11) 属性 无符号/非空/自动增涨 主键 约束条件 非空/缺省'' 非空/缺省'' 说明 私信编号 发私信id 收私信id content posttime TEXT BIGINIT(20) 非空/缺省'' 非空/缺省' 私信内容 发表时间 补充说明 表5.1-16私信记录数据表 表名 列名 id uid fuid lasttime Lmbang_diarydata,用于保存私信数据记录,表引擎为MyISAM类型,字符集为utf-8 数据类型 INT(11) INT(11)) INT(11) BIGINIT(20) 属性 无符号/非空/自动增涨 主键 约束条件 非空/缺省'' 非空/缺省'' 非空/缺省' 说明 私信编号 发私信id 收私信id 最后联系时间 补充说明 表5.1-17图片数据表 表名 列名 id type tid picname posttime Lmbang_pic,用于保存图片记录,表引擎为MyISAM类型,字符集为utf-8 数据类型 INT(11) INT(11)) INT(11) 属性 无符号/非空/自动增涨 主键 约束条件 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省' 说明 图片编号 图片类型 图片所属id 图片名 发表时间 VARCHAR(20) BIGINIT(20) Type类型:1是话题,2是回复,3是头像 补充说明 Tid就是各个类型对应的话题,回复,用户id 表5.1-18用户关系数据表 表名 列名 id uid auid type Lmbang_relation,用于保存用户关系记录,表引擎为MyISAM类型,字符集为utf-8 数据类型 INT(11) INT(11)) INT(11) 属性 无符号/非空/自动增涨 主键 约束条件 非空/缺省'' 非空/缺省'' 非空/缺省'' INIT(2) 说明 关系编号 操作用户id 被操作用户id 关系类型 actiontime BIGINIT(20) 非空/缺省' 关系建立时间 补充说明 Type类型:1是关注,2是黑名单 表5.1-19举报数据表 表名 列名 id uid type ruid reporttime Lmbang_report,用于保存举报记录,表引擎为MyISAM类型,字符集为utf-8 数据类型 INT(11) INT(11)) TINYINT(2) INT(11)) BIGINIT(20) 属性 无符号/非空/自动增涨 主键 约束条件 非空/缺省'' 非空/缺省'' 非空/缺省'' 非空/缺省' 说明 私信编号 用户id 举报id 内容id 举报时间 补充说明 Type类型:1是举报话题,2是举报评论 表5.1-20话题信息表 表名 列名 id uid bid title content ccount tagid posttime lasttime Lmbang_topic用于保存话题记录,表引擎为MyISAM类型,字符集为utf-8 数据类型 INT(11) INT(11) INT(11) VARCHAR(200) 属性 无符号/非空/自动增涨 主键 约束条件 非空/缺省'' 非空/缺省'' 非空/缺省0 非空/缺省0 非空/缺省0 非空/缺省0 非空/缺省0 非空/缺省0 说明 话题编号 用户id 帮id 话题标题 话题内容 话题下评论数 所属标签id 发表时间 回复时间 TEXT INT(11) INT(11) BIGINT(20) BIGINT(20) 补充说明 表5.1-21用户信息表 表名 列名 Lmbang_user用于保存用户信息记录,表引擎为MyISAM类型,字符集为utf-8 数据类型 属性 约束条件 说明 id username nickname userpwd province city babytype babysex INT(11) VARCHAR(50) VARCHAR(50) VARCHAR(32) VARCHAR(20) VARCHAR(20) TINYINT(2) 无符号/非空/自动增涨 主键 非空/缺省'' 非空/缺省'' 非空/缺省0 非空/缺省0 非空/缺省0 非空/缺省0 非空/缺省0 非空/缺省0 非空/缺省0 非空/缺省0 用户编号 用户邮箱 用户昵称 用户密码 所在省 所在市 妈妈类型 宝宝性别 宝宝生日 积分 用户组 头像 签名 注册时间 最后登录时间 注册ip 登录ip 空间背景图片编号 发话题数 找回密码参数 是否公开日记 是否禁号 是否禁言 TINYINT(4) babybrithday BIGINT(20) score groups headpic signature regtime lasttime regip lastip custombg ccount findpwd isdiary islogin ispost INT(11) TINYINT(4) VARCHAR(30) 非空/缺省0 VARCHAR(200) BIGINT(20) BIGINT(20) VARCHAR(20) VARCHAR(20) 非空/缺省0 非空/缺省0 非空/缺省0 非空/缺省0 非空/缺省0 非空/缺省0 非空/缺省0 非空/缺省0 非空/缺省0 非空/缺省0 非空/缺省0 TINYINT(4) INT(11) VARCHAR(20) TINYINT(2) TINYINT(2) TINYINT(2) iscomment issee sinawb qqwb TINYINT(2) TINYINT(2) VARCHAR(50) VARCHAR(50) 非空/缺省0 非空/缺省0 非空/缺省0 非空/缺省0 是否公开回复 同城是否可见 补充说明 Type类型:1为妈妈,2为准妈妈,3为备孕。Babysex为0表男,1表女。几个是否1为是,0为否 表5.1-22用户搜索表 表名 列名 id type keywords Lmbang_usersearch用于保存用户搜索记录,表引擎为MyISAM类型,字符集为utf-8 数据类型 属性 无符号/非空/自动增涨 主键 约束条件 INT(11) TINYINT(2) VARCHAR(20) 说明 搜索编号 搜索类型 搜索内容 无符号/非空/缺省0 无符号/非空/缺省0 count posttime INT(10) BIGINT(20) 无符号/非空/缺省0 非空 搜索次数 搜索时间 补充说明 Type为1是帮,2是话题,3是用户 表5.1-23最近访问表 表名 列名 id uid vuid visttime Lmbang_vist用于保存用户最近记录,表引擎为MyISAM类型,字符集为utf-8 数据类型 属性 无符号/非空/自动增涨 主键 约束条件 INT(11) INT(11) INT(11) BIGINT(20) 说明 访问编号 访问用户id 被访问用户id 访问时间 无符号/非空/缺省0 无符号/非空/缺省0 非空 补充说明 表5.1-24网站配置表
表名 列名 id Lmbang_webconfig用于保存文章记录,表引擎为MyISAM类型,字符集为utf-8 数据类型 INT(11) 属性 约束条件 主键 无符号/非空/自动增涨 说明 配置编号 title content keywords logo VARCHAR(50) 非空/缺省'' VARCHAR(200) 非空/缺省'' VARCHAR(100) 无符号/非空/缺省0 VARCHAR(30) 无符号/非空/缺省0 网站标题 网站描述 关键词 LOGO 网站介绍 联系邮箱 联系电话 联系地址 description TEXT email tel adress 非空/缺省'' VARCHAR(50) 非空 VARCHAR(15) 非空/缺省'' VARCHAR(500) 无符号/非空/缺省0 补充说明 表名 列名 id words 表5.1-25关键词过滤表 dw_keywords用于保存相册记录,表引擎为MyISAM类型,字符集为utf-8 数据类型 INT(8) 属性 无符号/非空/自动增涨 主键 约束条件 VARCHAR(100) 非空/缺省'' 说明 关键词编号 违法关键字 rewords VARCHAR(100) 非空/缺省'' 替换关键字 补充说明 对于违法关键字可以进行替换,删除,修改,屏蔽操作 5.2创建数据表
通过数据表结构的详细设计,再结合MySQL的创建数据表的语法,本项目的10个数据表的完整建表SQL语句如下所示,默认表前缀为“dw_”:
创建广告表lmbang_add的语句如下所示:
CREATETABLE`lmb_ad`(
`id`int(11)NOTNULLauto_incrementCOMMENT'广告ID', `adname`varchar(50)NOTNULLCOMMENT'广告名称', `type`varchar(10)NOTNULLCOMMENT'类型', `pic`varchar(50)NOTNULLCOMMENT'图片', `url`varchar(100)NOTNULLCOMMENT'地址', `orderno`int(11)NOTNULLCOMMENT'排序', PRIMARYKEY(`id`)
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='广告AUTO_INCREMENT=15;
创建意见反馈表lmbang_advise的语句如下所示:
CREATETABLE`lmb_advise`(
`id`int(11)NOTNULLauto_incrementCOMMENT'意见反馈ID', `uid`int(11)NOTNULLCOMMENT'用户ID',
`message`textNOTNULLCOMMENT'意见反馈内容', `posttime`bigint(20)NOTNULLCOMMENT'提交时间', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='意见反馈'AUTO_INCREMENT=12; ;
创建帮表lmbang_bang的语句如下所示:
CREATETABLE`lmb_bang`(
`id`int(11)NOTNULLauto_incrementCOMMENT'帮ID', `bcid`int(11)NOTNULLCOMMENT'帮分类ID',
`bangname`varchar(50)NOTNULLCOMMENT'帮名称', `bangpic`varchar(50)NOTNULL,
`orderno`int(11)NOTNULLdefault'1',
PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT=''AUTO_INCREMENT=62;
帮
创建帮标签表lmbang_bangtag的语句如下所示:
CREATETABLE`lmb_bangtag`(
`id`int(11)NOTNULLauto_incrementCOMMENT'帮标签ID', `bid`int(11)NOTNULLCOMMENT'帮ID',
`tagname`varchar(50)NOTNULLCOMMENT'帮标签名称', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8AUTO_INCREMENT=9;
创建帮分类lmbang_class的语句如下所示:
CREATETABLE`lmb_bclass`(
`id`int(11)NOTNULLauto_incrementCOMMENT'帮分类ID', `bclassname`varchar(50)NOTNULLCOMMENT'帮分类名字', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='帮分类'AUTO_INCREMENT=9;
创建最近浏览帮lmbang_browerbang的语句如下所示:
CREATETABLE`lmb_browsebang`(
`id`int(11)NOTNULLauto_increment, `uid`int(11)NOTNULLCOMMENT'用户id',
`bid`int(11)NOTNULLCOMMENT'浏览帮id',
`bangname`varchar(30)NOTNULLCOMMENT'浏览帮名', `posttime`int(11)NOTNULLCOMMENT'浏览时间', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='最近浏览帮表'AUTO_INCREMENT=25;)
创建收藏表lmbang_collect的语句如下所示:
CREATETABLE`lmb_collect`(
`id`int(11)NOTNULLauto_incrementCOMMENT'收藏ID', `uid`int(11)NOTNULLCOMMENT'用户ID', `topicid`int(11)NOTNULLCOMMENT'话题ID',
`collecttime`bigint(20)NOTNULLCOMMENT'收藏时间', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='收藏表'AUTO_INCREMENT=15;)
创建评论表lmbang_comment的语句如下所示:
CREATETABLE`lmb_comment`(
`id`int(11)NOTNULLauto_incrementCOMMENT'评论ID',
`ctype`tinyint(4)NOTNULLCOMMENT'评论类型(1话题3文字日记语音日记评论2日记图片评论)',
`cid`int(11)NOTNULLCOMMENT'评论所属ID', `content`textNOTNULLCOMMENT'内容',
`posttime`bigint(20)NOTNULLCOMMENT'发表时间', `uid`int(11)NOTNULLCOMMENT'用户ID', `qid`int(11)NOTNULLCOMMENT'引用ID', `floor`int(11)NOTNULLCOMMENT'楼层', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='评论表'AUTO_INCREMENT=133;
创建日记表lmbang_diary的语句如下所示:
CREATETABLE`lmb_diary`(
`id`int(11)NOTNULLauto_incrementCOMMENT'微日记ID', `uid`int(11)NOTNULLCOMMENT'用户ID', `type`varchar(20)NOTNULLCOMMENT'类型', `content`textNOTNULLCOMMENT'内容',
`posttime`bigint(20)NOTNULLCOMMENT'发表时间', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8AUTO_INCREMENT=169;
创建日记上传数据表lmbang_diarydata的语句如下所示:
CREATETABLE`lmb_diarydata`(
`id`int(11)NOTNULLauto_incrementCOMMENT'日记数据ID', `diaryid`int(11)NOTNULLCOMMENT'日记ID',
`filename`varchar(50)NOTNULLCOMMENT'日记数据名称', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='日记上传数据'AUTO_INCREMENT=189;
创建达人表lmbang_doyen的语句如下所示:
CREATETABLE`lmb_doyen`(
`id`int(11)NOTNULLauto_incrementCOMMENT'达人ID',
`uid`int(11)NOTNULLCOMMENT'用户ID', `bcid`int(11)NOTNULLCOMMENT'帮分类ID',
`count`int(11)NOTNULLdefault'0'COMMENT'话题数', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='达人表'AUTO_INCREMENT=25;
创建友情链接表lmbang_flink的语句如下所示:
CREATETABLE`lmb_flink`(
`id`int(11)NOTNULLauto_incrementCOMMENT'友情链接ID', `flinkname`varchar(50)NOTNULLCOMMENT'名称', `type`varchar(4)NOTNULLCOMMENT'类型', `url`varchar(100)NOTNULLCOMMENT'地址', `logo`varchar(50)NOTNULLCOMMENT'LOGO', `orderno`int(11)NOTNULLCOMMENT'排序',
`isdisplay`tinyint(4)NOTNULLCOMMENT'是否显示', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='友情链接'AUTO_INCREMENT=52;
创建已加入帮表lmbang_joinbang的语句如下所示:
CREATETABLE`lmb_joinbang`(
`id`int(11)NOTNULLauto_incrementCOMMENT'ID', `uid`int(11)NOTNULLCOMMENT'用户ID', `bid`int(11)NOTNULLCOMMENT'加入的帮ID', `bcid`int(11)NOTNULLCOMMENT'帮分类ID', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='加入的帮'AUTO_INCREMENT=1164;
创建赞表lmbang_like的语句如下所示:
CREATETABLE`lmb_like`(
`id`int(11)NOTNULLauto_incrementCOMMENT'赞ID', `pid`int(11)NOTNULLCOMMENT'图片ID', `uid`int(11)NOTNULLCOMMENT'用户ID', `type`int(11)NOTNULL,
PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT=''AUTO_INCREMENT=87;
赞表
创建私信表lmbang_message的语句如下所示:
CREATETABLE`lmb_message`(
`id`int(11)NOTNULLauto_incrementCOMMENT'私信ID', `puid`int(11)NOTNULLCOMMENT'发私信ID', `auid`int(11)NOTNULLCOMMENT'收私信ID', `content`textNOTNULLCOMMENT'内容',
`posttime`bigint(20)NOTNULLCOMMENT'发送时间', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='私信表'AUTO_INCREMENT=10;
创建私信记录表lmbang_msg的语句如下所示:
CREATETABLE`lmb_msg`(
`id`int(11)NOTNULLauto_incrementCOMMENT'私信记录ID', `uid`int(11)NOTNULLCOMMENT'发私信者ID',
`fuid`int(11)NOTNULLCOMMENT'收私信者ID',
`lasttime`bigint(20)NOTNULLCOMMENT'最后联系时间', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='私信记录表'AUTO_INCREMENT=5;
创建图片表lmbang_pic的语句如下所示:
CREATETABLE`lmb_pic`(
`id`int(11)NOTNULLauto_incrementCOMMENT'图片ID',
`type`tinyint(4)NOTNULLCOMMENT'所属类型(1话题,2回复,3头像)', `tid`int(11)NOTNULLCOMMENT'所属ID',
`picname`varchar(50)NOTNULLCOMMENT'图片名称', `posttime`bigint(20)NOTNULLCOMMENT'上传时间', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='图片表'AUTO_INCREMENT=73;
创建用户关系表lmbang_relation的语句如下所示:
CREATETABLE`lmb_relation`(
`id`int(11)NOTNULLauto_incrementCOMMENT'关系ID', `uid`int(11)NOTNULLCOMMENT'操作用户ID', `auid`int(11)NOTNULLCOMMENT'被操作用户ID', `type`tinyint(4)NOTNULLCOMMENT'关系类型',
`actiontime`bigint(20)NOTNULLCOMMENT'关系建立时间', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='用户关系表'AUTO_INCREMENT=570;
创建举报表lmbang_report的语句如下所示:
CREATETABLE`lmb_report`(
`id`int(11)NOTNULLauto_incrementCOMMENT'举报ID', `uid`int(11)NOTNULLCOMMENT'举报用户ID', `type`tinyint(4)NOTNULLCOMMENT'举报类型', `ruid`int(11)NOTNULLCOMMENT'被举报用用户ID', `reporttime`bigint(20)NOTNULLCOMMENT'举报时间', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='举报'AUTO_INCREMENT=30;
创建话题表lmbang_topic的语句如下所示:
CREATETABLE`lmb_topic`(
`id`int(11)NOTNULLauto_incrementCOMMENT'话题ID', `uid`int(11)NOTNULLCOMMENT'用户ID', `bid`int(11)NOTNULLCOMMENT'帮ID',
`title`varchar(100)NOTNULLCOMMENT'标题', `content`textNOTNULLCOMMENT'内容', `ccount`int(11)NOTNULLCOMMENT'评论数',
`posttime`bigint(20)NOTNULLCOMMENT'发表时间', `lasttime`bigint(20)NOTNULLCOMMENT'最新评论时间', `tagid`int(11)NOTNULLCOMMENT'帮标签ID', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='话题表'AUTO_INCREMENT=44;
创建用户表lmbang_user的语句如下所示:
CREATETABLE`lmb_user`(
`id`int(11)NOTNULLauto_incrementCOMMENT'用户ID', `username`varchar(50)NOTNULLCOMMENT'用户名', `nickname`varchar(50)NOTNULLCOMMENT'昵称', `userpwd`varchar(32)NOTNULLCOMMENT'密码', `province`varchar(20)NOTNULLCOMMENT'所在省', `city`varchar(20)NOTNULLCOMMENT'所在市',
`babytype`tinyint(2)NOTNULLCOMMENT'妈妈类型', `babysex`tinyint(4)NOTNULLCOMMENT'宝宝性别',
`babybirthday`bigint(20)NOTNULLdefault'0'COMMENT'宝宝生日', `score`int(11)NOTNULLCOMMENT'积分',
`groups`tinyint(4)NOTNULLdefault'0'COMMENT'用户组',
`headpic`varchar(30)NOTNULLdefault'face.png'COMMENT'头像', `signature`varchar(200)NOTNULLCOMMENT'签名', `regtime`bigint(20)NOTNULLCOMMENT'注册时间',
`lasttime`bigint(20)NOTNULLCOMMENT'最后进入个人中心时间', `regip`varchar(20)NOTNULLCOMMENT'注册IP',
`lastip`varchar(20)NOTNULLCOMMENT'最后登录IP',
`custombg`tinyint(4)NOTNULLdefault'1'COMMENT'个人空间背景图片编号', `ccount`int(11)NOTNULL,
`findpwd`varchar(20)NOTNULLCOMMENT'找回密码参数',
`isdiary`tinyint(2)NOTNULLdefault'1'COMMENT'是否公开日记', `islogin`tinyint(2)NOTNULLdefault'1'COMMENT'是否禁号', `ispost`tinyint(2)NOTNULLdefault'1'COMMENT'是否禁言',
`iscomment`tinyint(2)NOTNULLdefault'1'COMMENT'是否公开回复', `issee`tinyint(2)NOTNULLdefault'1'COMMENT'同城是否可见', `sinawb`varchar(50)NOTNULL, `qqwb`varchar(50)NOTNULL, PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='用户表'AUTO_INCREMENT=121;
创建用户搜索表lmbang_usersearch的语句如下所示:
CREATETABLE`lmb_usersearch`(
`id`int(11)NOTNULLauto_increment,
`type`int(11)NOTNULLCOMMENT'类型1帮2话题3辣妈', `keywords`varchar(20)NOTNULLCOMMENT'搜索词', `count`int(11)NOTNULLCOMMENT'搜索次数统计', `posttime`int(11)NOTNULLCOMMENT'搜索时间', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8AUTO_INCREMENT=32;
创建最近访问表lmbang_vist的语句如下所示:
CREATETABLE`lmb_viste`(
`id`int(11)NOTNULLauto_incrementCOMMENT'访问ID', `uid`int(11)NOTNULLCOMMENT'访问用户ID', `vuid`int(11)NOTNULLCOMMENT'被访问用户ID', `vistetime`bigint(20)NOTNULLCOMMENT'访问时间',
PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='最近访问表'AUTO_INCREMENT=58;
创建网站配置表lmbang_webconfig的语句如下所示:
CREATETABLE`lmb_webconfig`( `id`tinyint(4)NOTNULL,
`title`varchar(100)NOTNULLCOMMENT'网站标题', `content`varchar(500)NOTNULLCOMMENT'网站描述', `keywords`varchar(500)NOTNULLCOMMENT'关键词', `logo`varchar(30)NOTNULLCOMMENT'网站LOGO', `description`textNOTNULLCOMMENT'网站介绍', `email`varchar(50)NOTNULLCOMMENT'邮箱', `tel`varchar(15)NOTNULLCOMMENT'电话', `address`varchar(500)NOTNULLCOMMENT'地址'
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='网站信息';
创建关键词过滤表lmbang_wordsfilter的语句如下所示:
CREATETABLE`lmb_wordsfilter`(
`id`int(11)NOTNULLauto_incrementCOMMENT'过滤ID', `words`varchar(100)NOTNULLCOMMENT'原词', `rewords`varchar(100)NOTNULLCOMMENT'替换词', PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='词语过滤'AUTO_INCREMENT=11;
5.3数据表记录的输入
在创建数据表的时候可以根据系统提示直接输入记录,但是也可以暂时 不输入记录。没有记录的数据表叫做空表,可以随时向数据表中追加记录,也 可以向已经存在的记录的数据表追加记录。
本数据库系统采用安全的用户名加口令方式登录。用户名的权限限制为只能进行基本的增删改查数据功能。
6.1完整性
数据库应用对数据一般都具有一定的限制,这种限制称为完整性。数据库的完整性是保
证数据库正确的关键。广义上说,数据库完整性包括数据库中数据的准确性和一致性。理想
情况下,数据库软件提供了检查数据完整性的各种方法,但遗憾的是,目前大多数关系数据
库系统对数据库的完整性支持并不够充分。
关系数据库系统应该保证输入的值符合其规定的数据类型,并保证值在系统支持的
范围内。
不同的关系数据库系统可能提供了不同的数据类型,但所有的关系数据库系统都检查输入的
值,并且拒绝不符合定义的数据类型的值或者不在系统支持范围内的值。例如,不希望将一
个工作人员的生日输入为“1981.11.5”而将另一个工作人员的生日输入为“11/5/1981”。数据必须准确且在数据库中一致存储,这样才能从数据库中检索出正确的数据,才能在数据间作出正确比较。一般来说,关系数据库系统都支持3种完整性:
■域约束
■实体完整性约束 ■关联完整性约束
6.2数据库设计的其他问题
上面介绍了数据库设计的主要部分,这些可以帮助用户设计出基本符合要求的数据库,但是在数据库的设计中还有许多其他的问题需要考虑。
■索引是数据库实现的重要组成部分,对于数据的检索、存储等有很大的影响。 关于索引的创建将在第3章创建数据库中介绍。
■安全性:在数据库中安全性是一个非常重要的问题。必须保证数据库数据的安全性,
特别是在Internet迅速发展的今天,有效地保障数据库数据的安全对用户来说是非常重要的。 ■数据字典:数据字典用来存储数据库中存储的数据的描述信息和数据库管理系统需要的控制信息,数据字典与数据库管理软件密切相关。
■物理数据库设计:每个数据库管理系统都提供很多种存储结构和存储方法供数据库设计人员选择,物理数据库设计的好坏对数据库的性能有很大的影响。
因篇幅问题不能全部显示,请点此查看更多更全内容