我正在构建一个支持票系统以与我当前的项目集成。我想知道它的数据库表应该是什么。这就像联系我们查询,我们通常在网站上都有。
我希望如果用户发送关于联系我们的查询,那么应该为其创建一个票证,并且对该查询的所有回复都应该相互链接,以便客户服务代表可以一次查看所有回复。不需要更多花哨的东西。
对于初始查询,需要四个字段 - Name、Email、Phone Number和Query Message
我正在考虑创建两个表:
第一个表包含 id、姓名、电子邮件、消息和电话号码的列,第二个表存储所有带有日期时间的消息,当用 id 的 FK 回复到第一个表时。
这是正确的方法吗?
这是一个好的开始。
如果我可以总结一下你想要的表格。你可能想要:
Table: Query
Fields: ID, Name, Email, Phone, Message
Table: Reply
ReplyID, QueryID, ReplyMessage, DateTimeReply
Run Code Online (Sandbox Code Playgroud)
In ReplytableQueryID是FK来自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)
其中RepliedByID是CustomerCareIDfromCustomerCareUser表,因此是FK。
您还可以在查询中创建类别,即Category客户查询属于什么类别。因此,将来您可以轻松整理并报告客户在您的网站(或产品)中的查询类型。因此,您可能会拥有如下所示的类别表:
Table: Category
Fields: CategoryID, CategoryName
Run Code Online (Sandbox Code Playgroud)
因此,这意味着您需要CategoryID在Query表中添加,例如:
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)