如何在数据库属性上引用多个值?

How can I reference multiple values on a database attribute?

我正在使用关系模型,所以我没有 sql 代码。 我知道您不能直接为一个属性分配多个值,并且需要在新的 table 上完成引用,我很难理解新的 table 需要具有哪些值为了引用其他 tables。 例如,我正在使用学校数据库并且我有 tables

   student
   teacher 
   classroom

我想将多个学生分配到教室并创建组,所以当我定义创建学生与教室之间关系的新 table 时,它需要具有哪些属性?只有外键?

非常感谢您提供给我的任何资源。

what attributes does it need to have? Only the foreign keys?

好吧,这真的取决于你。例如,您 可以 添加到这种关系的是他们进入 class 房间的时间。因为直接关系到这个关系。

但是,如果您没有任何与学生和 class房间相关的附加属性,那么如果您的新 table 最终只是:

也没关系
NewTable(_student_, room)
  student -> Students.id
  room    -> Classrooms.id

这样可以让很多学生在同一个房间,但是一个学生不能同时在多个房间。

然而,“团体”,您需要进一步详细说明。取决于您是否必须在一个组中,或者它是否是可选的。我们可以在不同的房间但仍然在同一组吗?我可以加入多个群组吗?

我建议您做的是全面了解所有实体和属性(来自现有的 table 以及您要创建的新实体和属性)。然后你需要建立 all 行为和属性,例如:“学生必须在一个小组中吗?”。此外,教师如何连接到这些 class 教室?一位老师与一个 class 房间有关吗?如果是,它们是否与 class 房间内的所有组相关?

因此,除非您已确定所有这些,否则您的问题无法得到解答,因为对您的领域和要求的猜测太多。

我建议对您的实体和属性及其关系做一个简单的 ER 图。

  • 实体: 对象,可以具有属性的事物。示例:学生、教室、教师。
  • 属性:与单个实体(或关系)相关的信息。示例:姓名、年龄、座位。
  • 关系: 实体的组合。示例:多个学生可以在一个组中,一个老师教一个class .
  • 行为: 局限和约束。示例:一个学生一次只能在一个房间里,class房间可供多个 class 使用,但不能同时使用。

只有到那个时候,我们才能说“它需要有什么属性”。

因此,请在此处提问之前试一试,因为它完全取决于该信息,而您现在是唯一拥有该信息的人。我要说的是,如果您还没有决定这些事情中的任何一件,那就是您在写作 SQL.

之前很久就必须决定的事情

此致!^_^