SQL表结构关系反馈

时间:2015-09-29 14:31:47

标签: sql sql-server

我的sql中有3个表。我想让你们反馈我如何建立我的表关系。所以我有4个表:application_table,teacher_table,student_table和class_table。

以下是几个条件:

  1. 老师可以教一个或多个班级,但也有老师0级。 (1 - > N,老师 - > class_table)关系。有一点需要注意的是老师可能会离开学校。

  2. 学生可以上很多课。有一点需要注意的是,学生可能会被开除或毕业。 (1 - > N学生 - >类)

  3. 许多学生可以使用申请,学生可以使用许多申请。 (N - > N关系)

  4. 许多老师都可以使用应用程序,教师也可以使用很多应用程序。 (N - > N关系)

  5. PS。申请可能会被裁减或过期或不再被学校使用。

    application_table

     applicationId
     applicationName
     expiryDate
    

    老师和班级关系

     class_table
       classId
       classCode
       teacherId
    

    学生和班级关系

    student_table
      studentId 
      firstName
      lastName
      classId
    

    申请和教师关系

      application_teacher
         applicationId
         teacherId
    

    申请和学生关系

     appliaction_student
       applicationId
       studentId
    

1 个答案:

答案 0 :(得分:0)

恕我直言,你应该先研究正常化。一个很好的来源是维基百科。你的结构反对规范化(即:学生 - 班级不应该有firstName,lastName)。

A'学校'数据库比这更复杂,但是如果你纠正了规范化问题,你的结构可能适用于沙盒学习应用程序。