我正在爲成員管理員創建一個數據庫。我們有元素(用戶),這些用戶具有屬性(例如,姓氏,姓氏,出生日期)。現在,名稱是文本,但出生日期是日期,所以我想將它存儲在數據類型爲「date」的列中。因爲用戶的屬性可能會有所不同,所以我想要一個包含元素的表格,一個包含屬性的表格和一個將這兩個元素鏈接在一起的表格。但是,爲了能夠使用不同類型的數據類型,對於每種數據類型,我都必須創建一個不同的表。你會得到這樣的事情:在mysql中爲不同類型的數據類型使用不同的表格
Table: Users
------------
user
1
2
table: properties
---------------------------------
property propertyName datatype
1 surname text
2 lastname text
3 date of birth date
Table: PropertiesString
---------------------------
property value
1 John
2 Tim
3 Smith
4 Jones
Table: PropertiesDate
-------------------------
property value
1 04-11-1966
2 07-08-1971
table: userPropertiesLinked
-----------------------------
user property propertyValue
1 1 1
1 2 3
2 1 2
2 2 4
2 3 1
1 3 2
這,放在一起,告訴我們,我們有2個用戶,約翰·史密斯(1966年4月11日)和蒂姆·瓊斯(1971年7月8日)。
我的問題是:這是最好的方式去呢?這個數據庫設置的方式非常友好,人們可以擁有多個屬性,屬性不會被存儲兩次等等。我遇到的問題是,一個表中的「屬性」1是約翰,而在其他04-11-1966。有沒有辦法使這些值獨一無二,並自動增量,即使它們在不同的表中?有沒有辦法將它們放在一張桌子上,而不會冒着雙重信息或空單元的風險?
任何幫助將不勝感激!
你以前做過這個嗎?如果沒有,請閱讀外鍵。 – DanMan