2011-02-15 66 views
2

我必须创建一个数据库,我想知道什么是最好的解决方案。实体师生共享表?

比方说,我必须存储有关学生和教师的信息。

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

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

回答

0

听起来你最好的路线是为老师和学生制作一张单独的桌子。你将拥有所谓的师生之间的一对多关系:一名教师和许多学生。

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

最后,您最好至少使用三张表:教师,学生和教师与学生的关系。

0

你要做的第一件事情就是地图的实体关系(ER)及其attributes.then设计数据库和应用的标准化战略。

在提议的场景中,学生和教师是不同的实体。并找出thier关系

  • ONE学生ONE教师
  • MANY学生有ONE教师
  • MANY学生有MANY洛城

然后检查其属性实例 - 学生(名称,类别,DOB)

2

您可能希望创建一个表像名公共数据,电子邮件等,您可以再使用一个主键列在这张表中,如果必须有特定于老师的信息(如course_instructor,head_teacher的课程),那么请使用该人员的唯一密钥作为参考资料,在course_information表中。对学生也一样。

0

这取决于你将如何使用数据。如果你有很多使用案例,你对“人”感兴趣,不管角色如何,或者如果你有很多人既是教师又是学生,那么你可能想学习gen-spec设计模式,因为它适用于关系表。

See previous discussion.