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| |.FP01.|.RP01.|说明1 |说明2| |.FP01.|.RP02.|说明1 |说明2 |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
我正在考虑创建一个多值属性,但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就可以了。