实体教师和学生的共享表?

时间:2011-02-15 17:46:32

标签: database database-design data-modeling

我必须创建一个数据库,我想知道什么是最好的解决方案。

假设我必须存储有关学生和教师的信息。

我是否应该向学生和教师制作一个包含所有个人信息(姓名,电子邮件,电话密码)的单一表格?

有关其他信息,我应该将它们作为ADD_TEACHERS和ADD_STUDENTS保存在单独的表中吗?

4 个答案:

答案 0 :(得分:2)

您可能希望为名称,电子邮件等常用数据创建表。然后,您可以在此表中使用主键列,如果必须有针对教师的特定信息(比如course_instructor,类的head_teacher),然后在 course_information 表中使用来自人的唯一键作为参考。对学生也这样做。

答案 1 :(得分:0)

听起来您最好的选择是为教师和学生准备一张单独的桌子。你将拥有所谓的教师与学生之间的一对多关系:一名教师,一名学生。

但这仅涵盖一个学期。当你考虑其他学期时,学生和老师之间会有多对多的关系。

最后,你最好至少有三个表:教师,学生和老师与学生的关系。

答案 2 :(得分:0)

您要做的第一件事是映射实体关系(ER)及其属性。然后设计数据库并应用规范化策略。

在拟议的情景中,学生和教师是不同的实体。并找出他们的关系

  • 一个学生一个教师
  • 很多学生 ONE 教师
  • 很多学生很多教师

然后查看他们的属性示例 - 学生(姓名,班级,DOB)

答案 3 :(得分:0)

这取决于您将如何使用数据。如果你有很多用例,你对“人”感兴趣,无论角色如何,或者你有很多同时是教师和学生的人,你可能想要学习gen-spec设计模式,因为它适用于关系表。

See previous discussion.