我正在與網上商店合作,目前產品是否可用,以及是否通過產品表上的int字段啓用。分離到不同的表或使用枚舉類型?
他們希望我爲此添加更多內容,例如「庫存與供應商」,「缺貨,x天內出貨」等。我正在考慮放棄旗幟,並創建一個枚舉類型的狀態字段,其中'可用','缺貨','未來很快',停產'等。
這樣做的最好方法是什麼?將枚舉類型添加爲產品上的新列?
我被告知應該添加一個名爲Status的單獨表,並在產品表中有一個外鍵引用,以便將來更易於更改。我不確定情況如何,因爲枚舉類型似乎很容易改變。您可以添加它,從中刪除並重命名項目。
它會如何不那麼有效?這將導致每個產品的加入聲明,而不是插入和未來幾年之間的差異..? 我喜歡驗證的重點,可能以這種方式作爲驗證和填充表單的更簡單方法。這意味着(希望)未來增加一個新的地位只是一個新的行。 – Richard 2010-08-11 06:45:04
@Richard增加的費用是在應用程序中,而不是數據庫。如果您改變枚舉,則必須搜索代碼以更改引用枚舉的任何代碼以反映架構的更改。使用JOIN的代碼將按原樣運行。 – cbednarski 2010-08-11 07:05:57