【问题标题】:shared table for entities teachers and students?实体教师和学生的共享表?
【发布时间】:2011-02-17 20:07:21
【问题描述】:

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

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

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

我应该将它们作为 ADD_TEACHERS 和 ADD_STUDENTS 保存在单独的表中吗?

【问题讨论】:

    标签: database database-design data-modeling


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      听起来你最好的办法是为教师和学生设置一张单独的桌子。您将在教师和学生之间建立所谓的一对多关系:一位教师,许多学生。

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

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

      【讨论】:

        【解决方案3】:

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

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

        • 一个学生一个老师
        • 许多学生有一个老师
        • 很多学生有很多老师

        然后查看他们的属性 Example - Student(Name,Class,DOB)

        【讨论】:

          【解决方案4】:

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

          See previous discussion.

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2021-02-03
            • 1970-01-01
            • 2013-02-04
            • 2011-12-15
            • 2020-08-31
            • 2019-07-22
            • 1970-01-01
            相关资源
            最近更新 更多