2015-02-23 99 views
0

我目前正在尋找在每個用戶的數據庫中保存一些數據的最佳方法。假設每個用戶都可以在他們的賬戶上保存食譜,那麼這樣做的最佳方式是什麼?在數據庫中這種存儲最好的想法是什麼?

我想在一列中存儲JSON字符串,但我讀到這可能不是最好的想法,因爲它查詢速度很慢?

另一個想法是創建一個全新的表格,在這個表格中保存所有正在保存的配方。

你會推薦什麼?謝謝。

+1

你想要一個叫做用戶的表格,一個叫做食譜,另一個表格是食材。食譜表將有一個鏈接到用戶表的主鍵的foriegn鍵,並且成分表將具有鏈接回食譜表的PK的FK – Jacob 2015-02-23 17:38:53

+0

你有沒有嘗試過的東西是不是爲你工作?配方可以有任何數量的配料,如何製作說明等。這似乎有點偏離主題,它絕對過於寬泛。我會從概念層面着手,思考你需要存儲的所有不同的東西,然後開始將它分類到表格中。 – Crackertastic 2015-02-23 17:39:47

+1

你已經用MySQL標記了這個問題 - 這是否意味着你已經致力於使用MySQL數據庫? (如果是這樣,規範化的關係模式將是一個好主意。) – 2015-02-23 17:40:03

回答

2

編輯:

您的評論之後,我會建議你創建用戶和配方之間的結臺(即實行「一個用戶在多條道路」的關係)。

這將充分利用SQL的功能,併爲您節省大量的汗水,如果你以後想做一些奇特的查詢。

+0

感謝您的信息,但你讓我有點不對。首先,我將自己製作一張桌子上的所有食譜。這裏的功能是用戶可以將特定的食譜保存到他們的帳戶。例如,在用戶表下有一個名爲「saved_recipes」的列,用JSON編碼,其中包含用戶保存的配方的ID。我仍然可以創建一個名爲「saved_recipes」的新表,謝謝! – Anders 2015-02-23 18:09:52

0

不知道更多關於您的應用程序的要求我將不得不在此處概括一下:您不應該將其另存爲JSON。這不僅會在查詢時耗費更多資源,而且無法索引(非常容易),但也會使其他應用程序更難以使用這些數據。您應該使用normalize數據並使用PHP json_encode()將您的查詢結果轉換爲JSON對象。

相關問題