聊天软件开发_3_数据库表设计

采用MySQL8.0数据库,建立数据库user,并在其中建立用户账号信息表info,好友关系表friend,群组关系表

一、基本描述

系统拥有多个用户,每个用户拥有一个账号,用户基本信息包括 姓名、昵称、个性签名、邮箱、密码、头像。每个用户拥有多个好友,一个用户可被多个用户添加,每个用户可加入一个或多个群组,每个群组拥有多个用户。群组信息包括 创建者账号、群名、说明、群头像、群用户

二、E-R图

三、建基本表

1、用户信息表(user_info)

CREATE TABLE `user`.`user_info` (
  `id` INT NOT NULL,
  `password` VARCHAR(45) NOT NULL,
  `name` VARCHAR(45) NULL,
  `user` VARCHAR(45) NULL,
  `signature` VARCHAR(100) NULL,
  `e-mail` VARCHAR(45) NULL,
  `icon` VARCHAR(45) NULL,
  PRIMARY KEY (`id`));

2、好友关系表(friend)

CREATE TABLE `user`.`friend` (
  `id_my` INT NOT NULL,
  `id_friend` INT NOT NULL,
  PRIMARY KEY (`id_my`, `id_friend`));

3、群组信息(group_info)

CREATE TABLE `user`.`group_info` (
  `group_id` INT NOT NULL,
  `owner` INT NOT NULL,
  `group_name` VARCHAR(45) NULL,
  `describe` VARCHAR(100) NULL,
  `icon` VARCHAR(45) NULL,
  PRIMARY KEY (`group_id`));

4、群组关系(group)

CREATE TABLE `user`.`group` (
  `id` INT NOT NULL,
  `group_id` INT NOT NULL,
  PRIMARY KEY (`id`, `group_id`));

四、测试

1、查询账号为10001的用户的密码

 

2、查询账号为10001的用户信息

 

3、查询账号为100001的用户的好友并显示好友的id、用户名

 4、查询账号为100001的用户所创建的群组并显示该群信息

5、查询用户100001加入了哪几个群显示群号和群名

 

6、查询群7001有哪些成员,显示成员id、用户名

 

写在最后

有了这几张表,后面嵌入到服务器中便可以用来存储用户信息等了。万万没想到已经考完了数据库的我却因为写聊天软件的需要重新看了一遍,当时没咋练现在却好好练了练,er图怎么画,数据库表怎么设计比较好...这些记得老师都是讲过的,就是没咋记住....hahahhaha 

 

  • 11
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于开发内网聊天软件,您可以考虑以下步骤: 1. 确定需求:首先,明确内网聊天软件的功能和特性,例如一对一聊天、群聊、文件传输等。确定软件的基本需求,以便后续开发过程中进行规划。 2. 技术选择:选择适合的开发技术和平台。常见的选择包括使用C/C++、Java、Python等编程语言进行开发,使用TCP/IP或者UDP等网络通信协议进行消息传输。 3. 设计架构:根据需求,设计软件的架构。可以考虑分为客户端和服务器端两部分。客户端负责用户界面展示和用户交互,服务器端负责消息转发、用户管理等核心功能。 4. 开发客户端:根据设计,开发内网聊天软件的客户端。包括用户登录注册、联系人列聊天界面等功能的实现。可以使用图形界面库或者开源的UI框架来简化开发。 5. 开发服务器端:根据设计,开发内网聊天软件的服务器端。实现用户管理、消息转发、群组管理等功能。可以使用数据库来存储用户信息和消息记录。 6. 连接与通信:通过网络连接客户端和服务器端,建立稳定的通信通道。可以使用Socket编程进行网络通信,确保消息的可靠传输。 7. 测试与优化:进行软件的功能测试和性能测试,修复bug并进行优化,确保软件的稳定性和用户体验。 8. 部署与发布:将开发完成的内网聊天软件部署到内网服务器上,并通知用户进行下载和使用。 以上是一个基本的开发流程,当然具体的实现方式和细节还需要根据实际情况进行调整。希望对您有所帮助!如有更多问题,欢迎继续提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值