Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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
Mysql 多值主键?_Mysql - Fatal编程技术网

Mysql 多值主键?

Mysql 多值主键?,mysql,Mysql,我正在尝试一个数据库问题,但是我在这一点上被卡住了,假设我有两个实体RP和FP。RP的属性是A、B和C,其中A是主键。对于FP,属性为X、Y、Z主键X FP是依赖于RP的弱实体,因此在创建关系模式后,FP的主键是A,X,A是引用RP主键的外键,我的问题是,FP的一个示例具有组成一个FP的多个A值 例如,FP“FP01”由RP“RP01”和RP“RP02”组成……Y和Z只是对FP的描述 我的元组看起来像这样…这是重复的数据,因为两行都需要对同一个FP进行相同的描述 |…X…A…Y…Z| |.FP0

我正在尝试一个数据库问题,但是我在这一点上被卡住了,假设我有两个实体RP和FP。RP的属性是A、B和C,其中A是主键。对于FP,属性为X、Y、Z主键X

FP是依赖于RP的弱实体,因此在创建关系模式后,FP的主键是A,X,A是引用RP主键的外键,我的问题是,FP的一个示例具有组成一个FP的多个A值

例如,FP“FP01”由RP“RP01”和RP“RP02”组成……Y和Z只是对FP的描述

我的元组看起来像这样…这是重复的数据,因为两行都需要对同一个FP进行相同的描述

|…X…A…Y…Z|

|.FP01.|.RP01.|说明1 |说明2|

|.FP01.|.RP02.|说明1 |说明2 |


我正在考虑创建一个多值属性,但A是主键的一部分,我不确定这是否可能实现或更正。如何处理这个问题?

如果RP和FP之间的关系是一对多,那么这就可以了

FP.A不是唯一的,是RPA的外键

FPA,X是唯一的,它是主键,所以没有问题


如果属性Y和Z仅依赖于X,而不依赖于整个主键A、X,则这些表不会被规范化。在这种情况下,您需要将FP表拆分为两个表。

FP的主键是X或A,X?如果这是一个家庭作业问题,你能给它贴上这样的标签吗?在一点上你说FP的主键是X。在另一点上你说它是a,X。哪种说法是正确的?我喜欢用句点来分隔可变宽度的文本。你知道,与其阅读格式常见问题。因此,如果我要将FP拆分为FP&FP_描述,并在FP_描述中使用FD_ID和属性FD_ID作为FP中引用X的外键,我应该涵盖所有内容?如果我理解正确,表RPA、B、C和FPX、Y、Z以及连接表JOIN_RP_FPA、X就可以了。