Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 使用数据库表示简单的messenger应用程序_Mysql_Database - Fatal编程技术网

Mysql 使用数据库表示简单的messenger应用程序

Mysql 使用数据库表示简单的messenger应用程序,mysql,database,Mysql,Database,在此应用程序中有用户、对话和消息。 两个以上的用户可以参与对话 我在想:(---是关系,大写字母是实体) 信息----对话----用户 msg包含发件人和要发送的内容 对话包含参与该对话的用户 但这还不够,因为发送者是一个用户,并且在MSG和user之间还有另一个链接。如果我添加此关系,我会遇到问题,因为发件人应该是参与对话的用户。(如果我没有弄错的话,这是一个is-a关系) 我真的不知道如何模拟这个问题。如果对话只在两个用户之间进行,我只需要MESSAGE和USER。事实上,对话实体非常奇怪

在此应用程序中有用户、对话和消息。 两个以上的用户可以参与对话

我在想:(---是关系,大写字母是实体)

信息----对话----用户

msg包含发件人和要发送的内容
对话包含参与该对话的用户

但这还不够,因为发送者是一个用户,并且在MSG和user之间还有另一个链接。如果我添加此关系,我会遇到问题,因为发件人应该是参与对话的用户。(如果我没有弄错的话,这是一个is-a关系)

我真的不知道如何模拟这个问题。如果对话只在两个用户之间进行,我只需要MESSAGE和USER。事实上,对话实体非常奇怪

如果我从最初的问题中排除对话,我必须在MESSAGE中添加一个包含参与者列表的字段。但是这样我就忽略了对话的概念,如果我必须检索与对话相关的MSG,我需要所有数据的连接:)。-->不切实际


我将感谢你的每一个建议。我甚至不知道数据库是否适合这种应用。我的想法是做一些不太难操作的事情。(请记住,我可能会失去性能)

它是公告牌式的消息传递系统还是即时消息传递系统?主要是即时消息传递这是一个IM模式的设计文档:。它比你要寻找的atm机要复杂一些,但是基本的实体都在那里。