道歉的相當無益的標題,如果你有更好的建議,請隨時編輯它。數據庫關係 - 1:1但不總是?
我正在使用CakePHP和烘烤功能(但我不需要烘烤)。
什麼是達到以下的最佳途徑:
表模式:
table ranges
id | name | description
table images
id | range_id | picture
table info (here i am confused)
id | range_id | height | width | colour
基本上,一個範圍內可能有許多圖像(1:許多)。我可以證明這很好。
現在,每個範圍將在info
表(1:1)中有一個條目,還有一些關於範圍的屬性,例如高度,顏色,寬度。但並不總是......
比方說,我有一個範圍foo
。 foo
有五個images
,它們都具有相同的高度,寬度和顏色。然而,foo
有一個圖像是不同的大小和不同的顏色。
當屬性不同時,我需要用相應的圖像顯示此信息,而不是ranges
默認信息。所以這image
將需要它在info
表中的自己的條目。
這是否有意義?或者,我是否完全用錯誤的方式來解決這個問題。
我的應用程序,在簡單介紹: (如果有幫助,認爲「範圍」作爲產品的)
- 用戶選擇範圍的範圍
- 用戶視點的圖像
- 用戶可以點擊一個圖像,並從
info
信息彈出的範圍內。 - 某些圖像具有不同的屬性,但仍屬於相同的範圍。
- 我該如何區分這個區別並妥善保存?
請讓我知道,如果我可以進一步澄清。謝謝。
爲什麼你不在圖像表中存儲高度/寬度/顏色? – stevecomrie 2011-05-04 21:52:22
@stevecomrie - 好點,但信息與'range'而不是'image'關聯,除了突出顯示的示例。如果我要用圖像存儲信息,那麼在9/10的情況下我會有數據冗餘。 (在我目前的架構/至少設置) – Dave 2011-05-05 08:14:54