基于java实现简单的QQ聊天通信功能

数据存储结构

1.数据库设计

数据库是该即时通讯系统的中枢结构,进行信息处理的各个部分都是在数据库的基础上的,从而能够达成对于各类数据安全完整的存储,并进行合理的运用。有必要时可以设置数据字典,数据字典对于开发非常的有效,它的存在避免了程序员之前互相作繁杂的沟通,大家按照统一的标准来进行,即保证了效率也提高了整体的可维护性,下面是必须要注意的一些关键点:

(1)性能:数据库必须具有足够能力进行数据管控;

(2)兼容性:数据库是否支持开发所需的其他环境;

(3)封闭性:数据库对于数据的存储与处理是否足够保密;

(4)可靠性:数据库能不能承担对于数据的管理与传递;

(5)并行性:数据库是否可以并行运行在多节点上;

(6)可操作性:数据库是否在使用前需要大量时间学习。

根据该即时通讯系统开发时的各类现状需求,我们最终选择了MySQL作为信息处理的载体。

1.1概念结构设计

我们将系统中用到的各类数据抽象成各种数据体系,这些数据类型所组建成的体系正是概念结构的构建过程,进而组建全局的概念结构。

 

图13 用户信息实体属性图

 

图14 好友实体属性图

1.2逻辑结构设计

逻辑结构设计则是把上一步设计好的E-R图结构转换为系统中相应的各类数据对应的逻辑结构。而E-R图向关系结构的过度,正是将各类实体与实体的对应关系进一步具体化,这是必要的,也是一个难点所在。

实体之间的关系是需要分为下述几种角度分析的:

如果系统中实体间联系是1:1,则关系模式是自由的,可以与其他任何的关系模式结合。

如果系统中实体间联系是1:n,则应将单独那一端的关系码列入其他端构建的各类结构中。

要是系统中实体间联系是n:m,则应将各端与各端的实体对应关系表清,实体的码与联系的属性正是关系的属性。

基于上述原则,进而完成模型的转换。

 

图15 实体关系图

1.3物理结构设计

下述其遵守规则:

(1)避免各类数据的交叉而导致内存的浪费,最好建立数据字典。

(2)开发与设定相匹配,避免导致混乱。

(3)数据之间的关系必须是合理的,是可以在后续功能的拓展后不会产生影响的。

基于以上的考量,对本软件的信息结构如下:

表 1 消息表

解释

列名

类型

长度

说明

消息ID

msg_id

int

11

主键

文字消息内容

msg_content

varchar

2000

/

非文字消息内容

msg_ifcontent

longblob

/

/

消息发送者

msg_sendfrom

int

11

/

消息接收者

msg_sendto

int

11

/

消息发送时间

msg_sandtime

datetime

/

/

消息备注

msg_remark

varchar

3000

/

消息类型

msg_type

varchar

20

/

表2 说说表

解释

列名

类型

长度

说明

空间说说ID

p_id

int

11

主键

发布说说用户名

p_name

varchar

50

/

发布时间

p_time

datetime

/

/

发布内容

p_content

varchar

  • 7
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值