Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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_Database_Relationship - Fatal编程技术网

Mysql 性别表和人员表是否有识别关系?

Mysql 性别表和人员表是否有识别关系?,mysql,database,relationship,Mysql,Database,Relationship,我有两个表,一个是Persons,另一个是Genders,因此我想放两个以上的Genders,M,F,other 珀森斯 id INT(主键,ai) fk(性别与身份) 性别 id INT(主键,ai) 标题VARCHAR(255) 性别和人员表之间的关系类型是什么?他们之间的关系应该是非身份关系还是身份关系(性别id也必须是主键) 提前谢谢。 米多里 注:(对不起,语法错误。)如果Persons表中的性别id是该表主键的一部分,则会有一种识别关系。换句话说,如果性别需要成为唯一标识Pe

我有两个表,一个是Persons,另一个是Genders,因此我想放两个以上的Genders,M,F,other

珀森斯
  • id INT(主键,ai)
  • fk(性别与身份)
性别
  • id INT(主键,ai)
  • 标题VARCHAR(255)
性别和人员表之间的关系类型是什么?他们之间的关系应该是非身份关系还是身份关系(性别id也必须是主键)

提前谢谢。 米多里


注:(对不起,语法错误。)

如果Persons表中的性别id是该表主键的一部分,则会有一种识别关系。换句话说,如果性别需要成为唯一标识Persons表中的行的方法的一部分


在您展示的示例中,gender_id只是Persons表的一个属性。它不用于标识行。因此,这不是一种识别关系。

否。性别id不必是/部分是主键。
Gender
Person
之间是一对多的关系,因为一个性别可以有多个人。为什么需要genders表?@isaace在我看来性别不等于性别,有些人更喜欢“other”作为性别。@Harshil MySQL workbench允许定义一对多的标识关系。这让我有点困惑,我在其他任何地方都没有找到满意的答案。我不认为
gender\u id
需要成为主键的一部分。在此场景中,非标识关系将起作用。它应该是标识关系吗?我最终得到了not null约束的非标识关系,但这里似乎缺少了一些内容。主键不需要额外的列,除非您需要允许每个性别的一个人具有相同的
id
值。我假设
id
列已经是最小候选键,因此它是正确的主键。