2012-04-12 72 views
0

我有一個表存儲提供的服務,另一個是服務的孩子,並存儲實際服務的價格,間隔(1小時,1米等)。
問題是每個孩子的服務都有一些關聯的上限(50〜)。
所以我認爲service_cap(child_service_id,cap_id,value)會起作用。問題是該值可能是數字(0-)或「無限」或(可用,不可用,視情況而定)。這是不好的數據庫設計?

我認爲我可以用負值代表這些國家,否則這將是一個數...

有人告訴我,這是EAV,是壞,但我不能想到一個替代的..

回答

0

你可以在service_cap表中有兩列,如cap_valuecap_type(選擇你自己的更好的名字)。 cap_type可以處理服務可用,不可用,主題或無限的邏輯。你可以有更多的狀態選項。然後,您可以限制cap_value只有某些值爲。

因此,無限制和不可用應該有一個空/空值爲cap_type。其他人可以存儲所需的帽子。

+0

區間是在child_service,它與能力沒有關係。它就像是如果你買這個包1h你將擁有這些能力..但有能力它不是真/假..它可以是數字或無限的,或視情況而定 – GorillaApe 2012-04-12 16:23:25

+0

請查看我上面的編輯並讓我知道是否有幫助,否則您可能需要澄清一些原始問題 – jheep 2012-04-12 16:32:10