2014-07-11 43 views
1

我正在構建一個支持票據系統以與我當前的項目集成。我想知道它應該是什麼數據庫表。這就像聯繫我們的查詢,我們通常在網站上。製作用戶支持票據系統的數據庫模型

我希望如果用戶在聯繫我們時發送查詢,那麼應該爲它創建一個票據,並且對該查詢的所有答覆都應該互相鏈接,以便客戶服務代表可以一次查看所有答覆。沒有什麼更花哨的是必需的。

對於初始查詢,四場是必需的 - 名稱電子郵件電話號碼查詢消息

我在想創建兩個表:

第一個表包含用於ID,姓名,電子郵件,消息和電話號碼的列,第二個表以ID爲FK的第一個表格的形式存儲帶有日期時間的所有消息。

這是正確的做法嗎?

回答

3

這是一個好的開始。

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

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

Table: Reply 
ReplyID, QueryID, ReplyMessage, DateTimeReply 

ReplyQueryIDFKQuery表的ID領域的未來。

但是,您可能會添加回答查詢的人員,這意味着您可能會爲客戶服務人員提供一張表格。所以,你可能有下表。

Table: CustomerCareUser 
Fields : CustomerCareID, Lastname, Firstname, LastLogInDate 

因此,這意味着你的表Reply表將略有改變。

Table: Reply 
Fields: ReplyID, QueryID, ReplyMessage, DateTimeReply, RepliedByID 

其中RepliedByID是從CustomerCareUserCustomerCareID,因此一個FK

而且您還可以在查詢中進行分類,即客戶查詢屬於哪個Category。所以,在未來,您可以輕鬆理清並報告客戶在您的網站(或產品)中具有哪些類型的查詢。所以,你將有可能是一個分類表像一個如下:

Table: Category 
Fields: CategoryID, CategoryName 

因此,這意味着你需要在你的Query表中添加CategoryID,如:

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

現在,最後怎麼樣的標誌如果查詢已解決或沒有?所以,你可能會添加另一個字段(布爾型),如Resolved。所以,這意味着你可能在下面的表格中有Query

Table: Query 
Fields: ID, Name, Email, Phone, Message, CategoryID, Resolved 
+0

查詢表應該有'user_id'列,否則無法區分查詢所有者 – alex