我必须创建一个数据库,我想知道什么是最好的解决方案。
假设我必须存储有关学生和教师的信息。
我是否应该向学生和教师制作一个包含所有个人信息(姓名,电子邮件,电话密码)的单一表格?
有关其他信息,我应该将它们作为ADD_TEACHERS和ADD_STUDENTS保存在单独的表中吗?
答案 0 :(得分:2)
您可能希望为名称,电子邮件等常用数据创建人表。然后,您可以在此表中使用主键列,如果必须有针对教师的特定信息(比如course_instructor,类的head_teacher),然后在 course_information 表中使用来自人的唯一键作为参考。对学生也这样做。
答案 1 :(得分:0)
听起来您最好的选择是为教师和学生准备一张单独的桌子。你将拥有所谓的教师与学生之间的一对多关系:一名教师,一名学生。
但这仅涵盖一个学期。当你考虑其他学期时,学生和老师之间会有多对多的关系。
最后,你最好至少有三个表:教师,学生和老师与学生的关系。
答案 2 :(得分:0)
您要做的第一件事是映射实体关系(ER)及其属性。然后设计数据库并应用规范化策略。
在拟议的情景中,学生和教师是不同的实体。并找出他们的关系
然后查看他们的属性示例 - 学生(姓名,班级,DOB)
答案 3 :(得分:0)
这取决于您将如何使用数据。如果你有很多用例,你对“人”感兴趣,无论角色如何,或者你有很多同时是教师和学生的人,你可能想要学习gen-spec设计模式,因为它适用于关系表。