Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.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 如何设计数据库表来描述具有指定第三个属性的两个类之间的某种受限的1对1关系_Database - Fatal编程技术网

Database 如何设计数据库表来描述具有指定第三个属性的两个类之间的某种受限的1对1关系

Database 如何设计数据库表来描述具有指定第三个属性的两个类之间的某种受限的1对1关系,database,Database,e、 g.为了描述导师和学生之间的关系,对于任何天,导师可以教0或1名学生,学生可以参加0或1名导师的课程 以下情况是非法的: 关系共存(第1天,导师1,学生1)和(第1天,导师2,学生1),这意味着在第1天,学生1都参加导师1和导师2的课程 关系共存(第1天,导师1,学生1)和(第1天,导师1,学生2),这意味着在第1天,导师1教2个学生 下列情况是合法的: 关系共存(第1天,导师1,学生1)和(第2天,导师2,学生1) 关系共存(第1天,导师1,学生1)和(第2天,导师1,学生2) 那么,如

e、 g.为了描述导师学生之间的关系,对于任何,导师可以教0或1名学生,学生可以参加0或1名导师的课程

以下情况是非法的:

  • 关系共存(第1天,导师1,学生1)和(第1天,导师2,学生1),这意味着在第1天,学生1都参加导师1和导师2的课程
  • 关系共存(第1天,导师1,学生1)和(第1天,导师1,学生2),这意味着在第1天,导师1教2个学生
  • 下列情况是合法的:

  • 关系共存(第1天,导师1,学生1)和(第2天,导师2,学生1)
  • 关系共存(第1天,导师1,学生1)和(第2天,导师1,学生2)
  • 那么,如何设计桌子呢


    谢谢您的关注。

    只需创建一个表(学生,导师,天)以及(学生,天)和(导师,天)的唯一约束。

    但是可以选择哪些属性来组合主键?如果我们使用所有这三个属性,它是否违反2NF?主键可以是(学生,天)或(导师,天)。