0
我想爲我的數據庫使用SET
數據類型。以便該類型的字段可以包含來自該數據類型的一個或多個值。與數據庫中的SET等效的數據類型?
但我有以下兩個問題:
Q1。 SET
在數據庫中用作數據類型是否正確?我認爲它不支持所有的數據庫。 Q2302。如果SET
不是一個好的選擇,那麼我可以用什麼來代替SET
?
我想爲我的數據庫使用SET
數據類型。以便該類型的字段可以包含來自該數據類型的一個或多個值。與數據庫中的SET等效的數據類型?
但我有以下兩個問題:
Q1。 SET
在數據庫中用作數據類型是否正確?我認爲它不支持所有的數據庫。 Q2302。如果SET
不是一個好的選擇,那麼我可以用什麼來代替SET
?
應該使用一個表,這與外鍵:
YourTable
col1 ...
col2 ...
YourTypeCol char(1) FK to YourTypeTable
col4 ...
YourTypeTable
YourTypeCol char(1) PK <<make the data type fix your "set"
YourTypeColDescription string
所以舉例來說,你不得不數據是這樣的:
CarTable
CarID int PK auto number
CarMaker int FK
CarBuilt date
....
CarID CarMaker CarBuilt
1 1 1/10/2005
2 4 3/18/2004
3 3 10/31/2009
...
CarMakerTable
CarMake int PK
CarMakeName string
CarMake CarMakeName
1 Ford
2 GM
3 Honda
4 Mazda
...
作爲So that a field of that type can contain one or more values from that data type
我不會推薦這個。最好的做法是每個「字段」只存儲一個值。在一個字段中存儲多個值違反了Database normalization的原則,當您嘗試從「集合」中提取特定項目時會導致問題。最好將每個值分成自己的行,這意味着改變你的表格設計。提供有關您要存儲的數據的更多信息,我可以爲您推薦一個表格結構。
我的字段是'LicenseType',它可以包含來自'2W,LMV,HMV'的多個值 – 2010-06-05 04:43:21