用于制作用户支持票系统的数据库模型

Abh*_*bhi 4 database-design

我正在构建一个支持票系统以与我当前的项目集成。我想知道它的数据库表应该是什么。这就像联系我们查询,我们通常在网站上都有。

我希望如果用户发送关于联系我们的查询,那么应该为其创建一个票证,并且对该查询的所有回复都应该相互链接,以便客户服务代表可以一次查看所有回复。不需要更多花哨的东西。

对于初始查询,需要四个字段 - NameEmailPhone NumberQuery Message

我正在考虑创建两个表:

第一个表包含 id、姓名、电子邮件、消息和电话号码的列,第二个表存储所有带有日期时间的消息,当用 id 的 FK 回复到第一个表时。

这是正确的方法吗?

Edp*_*per 6

这是一个好的开始。

如果我可以总结一下你想要的表格。你可能想要:

Table: Query
Fields: ID, Name, Email, Phone, Message

Table: Reply
ReplyID, QueryID, ReplyMessage, DateTimeReply
Run Code Online (Sandbox Code Playgroud)

In ReplytableQueryIDFK来自table的ID字段Query

但是您可能会添加回复查询的人员,这意味着您可能会有一张供客户服务人员使用的表格。所以,你可能有下表。

Table: CustomerCareUser
Fields : CustomerCareID, Lastname, Firstname, LastLogInDate
Run Code Online (Sandbox Code Playgroud)

所以,这意味着您的Reply餐桌将略有变化。

Table: Reply
Fields: ReplyID, QueryID, ReplyMessage, DateTimeReply, RepliedByID
Run Code Online (Sandbox Code Playgroud)

其中RepliedByIDCustomerCareIDfromCustomerCareUser表,因此是FK

您还可以在查询中创建类别,即Category客户查询属于什么类别。因此,将来您可以轻松整理并报告客户在您的网站(或产品)中的查询类型。因此,您可能会拥有如下所示的类别表:

Table: Category
Fields: CategoryID, CategoryName
Run Code Online (Sandbox Code Playgroud)

因此,这意味着您需要CategoryIDQuery表中添加,例如:

Table: Query
Fields: ID, Name, Email, Phone, Message, CategoryID
Run Code Online (Sandbox Code Playgroud)

现在,最后一个标志如何解决查询是否已解决?因此,您可能会添加另一个字段(布尔值),例如Resolved. 因此,这意味着您可能拥有下表Query

Table: Query
Fields: ID, Name, Email, Phone, Message, CategoryID, Resolved
Run Code Online (Sandbox Code Playgroud)

  • 查询表应该有一个`user_id`列,否则无法区分查询所有者 (2认同)