微信数据库分析与及设计.docx

上传人:b****2 文档编号:1948247 上传时间:2022-10-25 格式:DOCX 页数:17 大小:1.22MB
下载 相关 举报
微信数据库分析与及设计.docx_第1页
第1页 / 共17页
微信数据库分析与及设计.docx_第2页
第2页 / 共17页
微信数据库分析与及设计.docx_第3页
第3页 / 共17页
微信数据库分析与及设计.docx_第4页
第4页 / 共17页
微信数据库分析与及设计.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

微信数据库分析与及设计.docx

《微信数据库分析与及设计.docx》由会员分享,可在线阅读,更多相关《微信数据库分析与及设计.docx(17页珍藏版)》请在冰豆网上搜索。

微信数据库分析与及设计.docx

微信数据库分析与及设计

微信数据库分析与及设计

1、需求分析

微信作为当前的主要即时通讯工具之一,有着广泛的应用。

其主要的功能是实现即时通信,这也是微信的核心功能。

此外还有查看朋友圈动态、搜索好友、管理个人信息、建立用户自己的相册、收藏功能、摇一摇、搜索附近的人、购物、游戏等功能。

此次对于微信平台的数据库设计主要对部分需要微信平台提供存储信息功能进行需求分析及设计。

以下将对微信平台的主要需求做简要的分析并且根据分析做出数据流图使得对于微信平台数据库的设计有更好的理解。

微信的通信主要包括与微信好友进行相互通信,这其中通信内容包括文字、语音、图片及视频。

当用户订阅了公众号之后,会接收公众号发送的消息并且也可向公众号发信息或许其提供的信息。

微信通信功能的另一个主要方面是实现群聊。

用户可以加入一个微信群进行群。

另一方面用户也可以选择自己的联系人进行群聊。

微信中通讯录实现了保存用户联系人的目的,并且订阅的公众号也保存于通讯录中,并且在通讯录中可以设定标签来为联系人分组。

微信朋友圈保存好友发送的与朋友共享的消息,其内容可为文字、图片、视频。

在朋友圈中可以设定权限使得不同权限的用户查看的内容不一样。

摇一摇功能可以获取同一时刻一起摇动手机的用户,并且暂存于微信中。

附近的人功能可以识别在一定范围内的微信用户,并且将获得的用户信息也暂存在微信中,对于识别附近的用户可以设定具体的条件来扫描。

漂流瓶功能相当于随机的获取微信消息或者向微信用户随机的发送消息。

对于个人信息的编辑,用户可以根据自身需要编辑一些所需的个人信息。

最后在微信用户个人信息中有相册和收藏记录用户的照片和收藏的文字语音等信息。

以上是对微信的部分功能的需求分析,现根据以上需求对微信数据库画出数据流图:

第0层DFD:

第1层DFD:

2、概念设计

在第一步的需求分析中,我们了解了微信数据库平台设计中所需要的实体及需要存储的信息。

在概念设计中将进一步明确数据库设计所需实体,实体所具有的属性及实体之间的关系。

通过分析微信数据库平台所需实体主要有:

用户信息、普通消息记录、公众号信息、公众号消息记录、微信群信息、群聊消息记录、收藏信息、相册、朋友圈信息、联系人信息、附近人信息、漂流瓶信息、扫一扫信息、摇一摇信息。

这些实体分别对应于微信功能的不同模块。

在实现微信的通信功能主要是使用用户信息、普通消息记录、微信群信息、群聊消息记录和联系人信息这几个实体。

在明确所需实体后根据实际需要对于每个实体设置符合实际情况的属性,每个属性对应了数据库中的具体属性。

下图是根据对于微信数据库平台的需求分析做出的CDM,通过此概念模型显示数据库之间各实体之间的相互关系及各个实体所具有的实际属性。

3、逻辑设计

由以上概念设计模型,我们可以获得以下逻辑数据模型(LDM)。

在LDM中对于CDM进行了进一步的细化和具体化,对其中的实体之间的关系在逻辑上进一步的进行了明确。

在此基础上我们获得更加具体能直接反映数据库涉及的无理数据模型(PDM)。

通过PDM将具体显示数据库所需的表及其之间的关系。

PDM如下图所示:

在PDM中显示了个表单之间的引用关系,其具体引用如下表:

标间关系名称

父表格

子表格

关注

用户信息

关注

关注

公众号信息

关注

发送

公众号信息

公众号消息记录

发送/接收

用户信息

普通消息记录

发送消息

用户信息

群聊消息记录

收藏

用户信息

收藏信息

查看

联系人信息

普通消息记录

用户存放

用户信息

摇一摇信息

用户所在群

用户信息

用户所在群

用户所在群

微信群信息

用户所在群

用户所属

用户信息

漂流瓶信息

用户扫描获得

用户信息

扫一扫信息

用户相册

用户信息

相册

用户联系人

用户信息

联系人信息

群聊天记录

微信群信息

群聊消息记录

联系人相册

联系人信息

相册

获取

用户信息

附近人信息

本系统中使用的表单如下所示:

1、用户信息表

Name

DataType

Length

P(主键)

F(外键)

M(不可为空)

用户ID

char(15)

15

X

X

昵称

char(20)

20

X

头像

longbinary

二维码名片

longbinary

X

我的地址

varchar(100)

100

性别

char(5)

5

X

地区

varchar(20)

20

X

个性签名

varchar(500)

500

登陆密码

varchar(20)

20

X

2、普通消息记录表

Name

DataType

Length

P

F

M

消息ID

char(20)

20

X

X

联系人ID

char(15)

15

X

用户ID

char(15)

15

X

内容

varchar(5000)

5,000

X

发送时间

datetime

X

3、联系人表

Name

DataType

Length

P

F

M

朋友ID

char(20)

20

X

X

用户ID

char(15)

15

X

备注名称

char(20)

20

X

标签

varchar(20)

20

4、公众号信息表

Name

DataType

Length

P

F

M

公众号ID

char(20)

20

X

X

公众号名称

char(40)

40

X

5、公众号消息记录表

Name

DataType

Length

P

F

M

公众消息ID

char(20)

20

X

X

公众号ID

char(20)

20

X

公众消息

varchar(5000)

5,000

X

订阅者

varchar(8000)

8,000

X

发送时间

timestamp

X

6、关注表

Name

DataType

Length

P

F

M

用户ID

char(15)

15

X

X

X

公众号ID

char(20)

20

X

X

X

7、微信群信息表

Name

DataType

Length

P

F

M

群ID

char(20)

20

X

X

群名称

char(20)

20

X

群二维码

longbinary

X

群成员

varchar(1000)

1,000

X

8、用户所在群表

Name

DataType

Length

P

F

M

用户ID

char(15)

15

X

X

X

群ID

char(20)

20

X

X

X

9、群聊消息记录表

Name

DataType

Length

P

F

M

群聊消息ID

char(20)

20

X

X

群ID

char(20)

20

X

发送人

char(20)

20

X

发送时间

timestamp

X

内容

varchar(5000)

5,000

X

10、相册表

Name

DataType

Length

P

F

M

相册ID

char(20)

20

X

X

用户ID

char(15)

15

X

联系人ID

char(20)

20

X

存放时间

timestamp

X

内容

varchar(5000)

5,000

X

11、收藏信息表

Name

DataType

Length

P

F

M

收藏ID

char(20)

20

X

X

用户ID

char(15)

15

X

收藏时间

timestamp

收藏内容

varchar(8000)

8,000

12、附近人信息表

Name

DataType

Length

P

F

M

附近人ID

char(20)

20

X

X

用户ID

char(15)

15

X

昵称

char(20)

20

X

距离

integer

性别

char(5)

5

地区

varchar(20)

20

个性签名

varchar(500)

500

13、摇一摇信息表

Name

DataType

Length

P

F

M

摇一摇信息ID

char(20)

20

X

X

用户ID

char(15)

15

X

时间

timestamp

内容

varchar(5000)

5,000

14、扫一扫信息表

Name

DataType

Length

P

F

M

扫一扫信息ID

char(20)

20

X

X

用户ID

char(15)

15

X

时间

timestamp

内容

varchar(5000)

5,000

X

15、漂流瓶信息表

Name

DataType

Length

P

F

M

漂流瓶ID

char(20)

20

X

X

用户ID

char(15)

15

X

内容

varchar(5000)

5,000

X

对于微信数据库平台的逻辑分析,明确了在具体是实现时所需的表及其各个表之间的引用关系,在接下来的物理设计中将使用逻辑设计中的表在具体数据库实现微信数据库平台的设计。

4、物理设计

在此次物理实现微信数据库平台使用SQLServer2008。

实现简单的微信平台的数据库,通过在数据库表中插入数据或查看数据来表现微信平台对信息的发送接收及查看。

在此次物理实现是我们遵循3NF。

数据库设计如下图:

1、向“用户信息”表添加记录,模拟微信在线用户。

此次添加三个用户作为模拟的微信用户。

用户基本信息如下:

 

2、我们选取“小a”登陆微信,开始添加联系人。

“联系人”表保存每个用户的联系人信息,这些联系人信息皆来自用户信息表。

“小a”的联系人如下表:

此表的创建过程如下:

3、普通用户发送消息时,消息内容将存储在“普通消息记录”表中,如现在“小a”向“小b”发送一条消息,然后“小b”再回复一条。

“小a”也向“小c”发送一条消息。

其中表中的外键约束和默认值如下:

在”普通消息记录表”中也可以查询两个用户之间的聊天记录,如查询“小a”和”小b“之间的聊天记录:

同样也可以在“普通消消息记录表”中实现删除消息记录。

在“普通消息记录”表中为了能使用户更快的查询

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1