我正在为成员管理创建一个数据库。我们有元素(用户),这些用户有属性(例如,姓氏、姓氏、出生日期)。现在,名称是文本,但出生日期是日期,所以我想将其存储在数据类型为“日期”的列中。因为用户的属性可能不同,所以我想要一个带有元素的表格、一个带有属性的表格以及一个将两者链接在一起的表格。但是,为了能够使用不同类型的数据类型,对于每种数据类型,我必须创建一个不同的表。你会得到这样的东西:
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 个用户,John Smith (04-11-1966) 和 Tim Jones (07-08-1971)。
我的问题是:这是最好的方法吗?这个数据库的设置方式非常适合搜索,人们可以有多个属性,属性不会存储两次等。我遇到的问题是,一个表中的“属性”1 是 John,而在其他 04-11-1966。有没有办法使这些值唯一并自动递增,即使它们位于不同的表中?有没有办法将它们放在一个表中,而不会冒双重信息或空单元格的风险?
任何帮助将非常感激!