(2) DBMS提供数据操纵语言(Data Manipulation Language, DML),用户可以使用DML操纵数据实现对数据的基本操作如查询、插入、删除和修改。
数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的开发使用已经发生故障后的系统恢复。
数据库的建立和维护功能 。它包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织、重构造功能和性能分析、监视功能等等.这些功能常常由一些使用程序完成的。
SQL语言是一种非过程化语言,它一次处理一个记录集合,对数据提供自动导航。SQL语言不要求用户指定数据的存取方法,而是使用查询优化器,由系统决定对指定数据存取的最快速手段。当设计者在关系表上定义了索引时,系统会自动利用索引进行快速检索,用户不需知道表上是否有索引或者有什么类型的索引等细节。SQL语言功能如下:
(1) 查询数据
(2) 在数据库表格中插入、修改和删除记录
(3) 建立、修改和删除数据对象
(4) 控制对数据和数据对象的存取
(5) 确保数据库的一致性和完整性等
系统E-R图
用户实体可以发表多个帖子是1对N的关系,同样一个用户可以发表几条留言,具体细节可参看系统E-R图。
图4-1系统E-R
数据库的表结构设计
普通用户登录表“denglu”结构如表4-1所示:
表4-1登录表“denglu”
字段名 字段类型 字段是否为空 长度
username varchar 否 10
userid varchar 否 16
zhenjianid varchar 否 10
管理员登录表“guanliyuan”结构如表4-2:
表4-2管理员情况表
字段名 字段类型 字段是否为空 长度
mima varchar 否 16
name varchar 否 10
由于管理员的权限比较大,所以管理员的个数应该比较少。而且也只需要这两个属性。
作为用户可以在系统上创建部队 ,并且用户可以通过该表向管理员申请加入该部队表结构为表4-3:
表4-3部队表
字段名 字段类型 字段是否为空 长度
name varchar 否 10
nid int 否 10
id int 否 10
luoji varchar 否 2
shenqing varchar 否 50
当用户登录系统后就可以查看自己的资料,修改资料。所以我们还要创建一个资料表来存放更为齐全的资料结构为表4-4所示:
表4-4资料表
字段名 字段类型 字段是否为空 长度
name varchar 否 10
mima varchar 否 16
sex varchar 否 2
zhenjianid varchar 否 10
mail varchar 否 20
dianhua varchar 否 10
由于我们要用到留言功能,所以我们还要创建一个战友留言表和一个嘉宾留言表来分别存储战友留言和嘉宾留言以便我们在系统中显示我们的留言。战友留言表如表4-5所示:
表4-5战友留言表
字段名 字段类型 字段是否为空 长度
name varchar 否 10
zhuti varchar 否 20
shijian datetime 否 8
neirong varchar 否 50
在这里我们是用表把用户的名字,主题,时间,和留言的内容放在了表中,并且把时间和内容的类型分别设为datatime 和text 类型。
为了把上传的图片用数据库中我们就创建一个表来存储图片,结构如表4-6所示。
表4-6图片表结构
字段名 字段类型 字段是否为空 长度
id int 否 10
pic image 否 50
name varchar 否 20
为了记录论坛中的帖子还需要建立个tiezi表结构如表4-7所示。
表4-7帖子表结构
字段名 字段类型 字段是否为空 长度
id int 否 4
zuozhe varchar 否 10
neirong varchar 否 50
zhuti varchar 是 20
shijian datetime 是 8
tiezihuifu表:记录用户对论坛帖子回复的文章如表4-8所示。
表4-8tiezihuifu表结构
字段名 字段类型 字段是否为空 长度
id int 否 4
rid int 否 4&nbs