SQL中的条件关系

时间:2014-01-15 01:23:28

标签: sql relational-database

假设我需要将用户信息(即dob,ssn)存储为USER_ATTRIBUTE_MAP表中的记录。

所以这个表格看起来像这样:

    [USER_ID] [int], 
    [ATTRIBUTE_ID] [int],
    [ATTRIBUTE_VALUE_ID] int

因此,我想将它们保存到数据类型表中,而不是将值保存到映射表中。 例如,如果类型是日期时间,则会转到ATTRIBUTE_DATETIME_VALUES表:

    [ATTRIBUTE_VALUE_ID] int
    [ATTRIBUTE_VALUE] datetime

如果值为bit,则会转到ATTRIBUTE_BIT_VALUES表。

实现这一目标的最佳方法是什么。我想在USER_ATTRIBUTE_MAP和ATTRIBUTE_SOMETYPE_VALUES之间建立什么样的关系?如果有的话?

主要问题是我需要有一个外键来处理许多主键关系,这会产生不利的约束。

0 个答案:

没有答案