Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.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
Database 不同的主键可以指向完全相同的记录吗?_Database_Relational Database_Relationship_Functional Dependencies - Fatal编程技术网

Database 不同的主键可以指向完全相同的记录吗?

Database 不同的主键可以指向完全相同的记录吗?,database,relational-database,relationship,functional-dependencies,Database,Relational Database,Relationship,Functional Dependencies,如果我有函数依赖项A->B和A->C。我能给A取两个值来确定B和C的完全相同的值元组吗 例如,我可以有(1,“约翰”,“男性”)和(2,“约翰”,“男性”)。不是说有用,只是一个理论问题。如果标题不能代表文章中的情况,请原谅我的无知。假设您没有任何其他限制(例如,名称上的唯一限制),答案是肯定的。理论上,您可能有两个数据相同但身份不同(主键值)的记录。假设您没有任何其他约束(例如,名称上的唯一约束),答案是肯定的。理论上,您可能有两个数据相同但身份不同的记录(主键值)。请注意,使用术语“指向”有

如果我有函数依赖项
A->B
A->C
。我能给A取两个值来确定B和C的完全相同的值元组吗


例如,我可以有
(1,“约翰”,“男性”)
(2,“约翰”,“男性”)
。不是说有用,只是一个理论问题。如果标题不能代表文章中的情况,请原谅我的无知。

假设您没有任何其他限制(例如,名称上的唯一限制),答案是肯定的。理论上,您可能有两个数据相同但身份不同(主键值)的记录。

假设您没有任何其他约束(例如,名称上的唯一约束),答案是肯定的。理论上,您可能有两个数据相同但身份不同的记录(主键值)。

请注意,使用术语“指向”有点不合适,因为主键不“指向”任何内容。整个记录由主键和所有其他属性组成。正如@Mureinik的回答中所解释的,您只是有两个不同的记录,具有不同的标识,它们的属性子集具有相同的值。@philipxy正如我在文章中提到的,如果标题不能准确地代表文章中的情况,我深表歉意。在我的帖子里不是PK吗?请不要做一些你很容易做不到的事情并道歉,只是不要这样做。不,你的帖子里没有PK。有两个FD。(想想还需要什么来确定PK——所有属性都是什么&FDs的覆盖范围必须只有1个CK。)再次:请引用相关定义并告诉我们应用它们时遇到的问题。在提问之前,任何合理的研究或尝试回答这个问题&任何合理的回答都必须诉诸于“功能依赖”的含义。所以应该在你的帖子里。当/iff{B,C}->{a}不成立时,可以有一个具有多个a值的给定(B,C)子代码,因为根据FD的定义,当/iff{B,C}->{a}成立时,不能有一个具有多个a值的给定(B,C)子代码。阿姆斯特朗的公理给了我们所有非平凡的FD,当你给出2时,它们必须保持不变;他们没有给出{B,C}->{A}。但是你没有告诉我们更多的信息,所以我们不能回答“我可以要[…]”。(你是否给出了前提并问了你真正想问的问题?)PS随机的“理论”惊奇不是“关于软件的实际问题”。请注意,使用术语“指向”有点不恰当,因为主键不“指向”任何东西。整个记录由主键和所有其他属性组成。正如@Mureinik的回答中所解释的,您只是有两个不同的记录,具有不同的标识,它们的属性子集具有相同的值。@philipxy正如我在文章中提到的,如果标题不能准确地代表文章中的情况,我深表歉意。在我的帖子里不是PK吗?请不要做一些你很容易做不到的事情并道歉,只是不要这样做。不,你的帖子里没有PK。有两个FD。(想想还需要什么来确定PK——所有属性都是什么&FDs的覆盖范围必须只有1个CK。)再次:请引用相关定义并告诉我们应用它们时遇到的问题。在提问之前,任何合理的研究或尝试回答这个问题&任何合理的回答都必须诉诸于“功能依赖”的含义。所以应该在你的帖子里。当/iff{B,C}->{a}不成立时,可以有一个具有多个a值的给定(B,C)子代码,因为根据FD的定义,当/iff{B,C}->{a}成立时,不能有一个具有多个a值的给定(B,C)子代码。阿姆斯特朗的公理给了我们所有非平凡的FD,当你给出2时,它们必须保持不变;他们没有给出{B,C}->{A}。但是你没有告诉我们更多的信息,所以我们不能回答“我可以要[…]”。(你是否给出了前提并问了你真正想问的问题?)PS随机的“理论”惊奇不是“关于软件的实际问题”