Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL中的条件关系_Sql_Relational Database - Fatal编程技术网

SQL中的条件关系

SQL中的条件关系,sql,relational-database,Sql,Relational Database,假设我需要将用户信息(即dob、ssn)存储为用户属性映射表中的记录 这张桌子看起来像这样: [USER_ID] [int], [ATTRIBUTE_ID] [int], [ATTRIBUTE_VALUE_ID] int 因此,我不想将值保存到映射表中,而是想将它们保存到数据类型的表中。 例如,如果类型是datetime,它将转到属性\u datetime\u值表: [ATTRIBUTE_VALUE_ID] int [ATTRIBUTE_VALUE]

假设我需要将用户信息(即dob、ssn)存储为用户属性映射表中的记录

这张桌子看起来像这样:

    [USER_ID] [int], 
    [ATTRIBUTE_ID] [int],
    [ATTRIBUTE_VALUE_ID] int
因此,我不想将值保存到映射表中,而是想将它们保存到数据类型的表中。 例如,如果类型是datetime,它将转到属性\u datetime\u值表:

    [ATTRIBUTE_VALUE_ID] int
    [ATTRIBUTE_VALUE] datetime
如果该值为位,则会转到属性_位_值表

实现这一目标的最佳方式是什么。如果用户\u属性\u映射和属性\u SOMETYPE\u值之间存在任何关系,我希望创建什么样的关系


主要问题是,我需要一个外键与多个主键之间的关系,这会产生有害的约束。

不要这样做。为DOB、SSN等创建单独的列。不要试图在同一列中存储不同的数据。我正在处理数百个用户属性。我正在尝试创建一个通用模型。规范化您的数据,您将不会有数百个用户属性。SQL已经允许通用模型;不要试图这么做。