2017-07-14 90 views
-1

好的,我希望我可以讓這個問題儘可能清楚。mysql中的多個字段

我有以下表:

表:電話

phone_id | name  | ... ... ... | manufacturer_code 
----------------------------------------------------- 
1  | samsung |    | 001 
2  | apple |    | 002 
3  | htc  |    | 003 
and so on... 

我有列的LOT(.........裝置等寬度的至少40個不同的柱,高度,深度,顏色,has_bluetooth,...這樣的東西)。

現在我想要做不同的事情,但我沒有想法如何開始。

我是怎麼想這麼做的? (糾正我,如果我錯了!)

1)在不同的表存儲的字段名

表:phone_fields

field_id | name 
-------------------------------- 
1   | name 
2   | width 
3   | weight 
4   | depth 
...   | ... 
41   | manufacturer_code 

2)與數據連接領域每部手機在另一個表

臺手機

row_id | phone_id | field_id | value 
------------------------------------------------------ 
1   | 1   | 1   | samsung 
2   | 1   | 2   | 10,50 cm 
3   | 1   | 3   | 1 kg 
... (and so on). 

我希望這可以搜索/過濾,我現在有一個過濾器,現在過濾品牌,顏色,價格範圍,...這工作正常。

你應該怎麼做?或者沒有人有關於此的有用的鏈接/教程?英語不是我的母語,所以我不知道如何搜索它。

在此先感謝!

編輯:我爲什麼要這樣做?我希望能夠通過我的管理面板添加額外的字段(如果有必要)(而不是通過phpmyadmin或類似的東西)。

+1

您需要嘗試**自己編寫代碼**。在[**做更多的研究**之後](https://meta.stackoverflow.com/q/261592/1011527)如果你有問題**發佈你已經嘗試了**的**明確的解釋不工作**並提供[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。閱讀[如何問](http://stackoverflow.com/help/how-to-ask)一個很好的問題。請務必[參觀](http://stackoverflow.com/tour)並閱讀[this](https://meta.stackoverflow.com/q/347937/1011527)。 –

+0

我知道周杰倫,但我不知道如何開始,這是問題所在!這更多的是數據庫設計問題。 – yesterday

+1

您可能會過度使用數據庫設計。我沒有看到你現在設置的方式有什麼問題,並且你想要將它改變爲聽起來不必要的複雜 – Kai

回答

0

如果您的請求總是返回整個字段集合中的,然後把它放在一個表

如果沒有,那你就不用只在一個表中最重要的領域,而在其他表的地方,其餘的屬性並通過外鍵鏈接它

+0

我發現了一個類似於我的問題:https://dba.stackexchange.com/questions/24636/product-attribute-list-design-pattern – yesterday