java - 请求-回复数据库模型

标签 java mysql sql hibernate

我想知道基于请求和回复交互的简单数据库模型。一个请求只能有一个答案。可以根据先前的答案提出另一个请求。它需要能够迭代所有历史记录——从第一个请求到最后一个回复。我做了一个示例模型:

Requests:            Reply:
| int id       |     | int id      |
| int parentID |     | String text |
| String text  |
| int answerID |

我怎样才能改进它并使其更有用?

最佳答案

我假设一个请求可以生成多个回复。

Request
-------
Request ID
Request timestamp
Request text

请求 ID 是主(集群)键。它是一个自动递增的整数或长整数。

您还可以根据请求时间戳降序定义一个非唯一索引。

Reply
-----
Reply ID
Request ID
Reply timestamp
Reply text

回复 ID 是主(聚类)键。它是一个自动递增的整数或长整数。

您还在(请求 ID,回复时间戳降序)上定义了一个非唯一索引。您还可以在(回复时间戳降序,请求 ID)上定义非唯一索引。第一个索引用于请求的所有回复。第二个索引是针对某个时间段(周、月)内的所有回复。

关于java - 请求-回复数据库模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15644981/

相关文章:

java - Blackberry 中的 Http 连接问题

java - 是否有 JGoodies FormLayout 和 DefaultFormBuilder 的 JavaFX 等价物?

mysql - 如何在react js中从mysql中的表中呈现正确的日期

php - 什么是多平台 WebApp 的良好 UserManagement 实践

javascript - 生成随机数和字符 - MYSQL

SQL Server - 查找基于特定数据类型构建的所有聚集索引的脚本

sql - 如何根据字符串从sql server中删除重复项

java - 如果客户端计算机具有 java 8 并且服务器具有 openjdk 11,我的 java web start 应用程序可以工作吗?

java - 解析颜色不再适用于十六进制值

sql - 获取第二个和第四个斜杠之间的子字符串