教授表与课程表之间的关系

时间:2013-07-24 13:04:08

标签: database database-design

我正在设计一个数据库,我有一个课程表和教授表。业务规则是:

1)教授可以教授很多课程。 (这很明显)。

然而,我陷入了第二条规则。

2)在一个学期中,可以按不同的时间表提供课程,每个课程都可以由不同的教授讲授。例如,一个典型的新生微积分课程每学期约有100名学生。该课程分为4个部分,每个部分有25名学生和一名不同的教授。

我决定将其建模如下:

Course
{
   course_code
   prof_id
   course_name
   Primary key(course_code, prof_id)
}

Professor 
{
   prof_id
   prof_name

}
你觉得这个设计好吗?如果没有,请提供一些建议。

1 个答案:

答案 0 :(得分:3)

这是一个典型的多对多连接,您可以直接将教程直接加入教授,您可能会有一个表格,可能称为时间表:

此表应包含以下信息:

Course
{
   course_code
   course_name
   Primary key(course_code)
}

Professor 
{
   prof_id
   prof_name
   Primary key(prof_id)    
}

Schedule
{
 course_code
 prof_id
 Primary key(course_code, prof_id)
}

您还可以在scehdule表中添加一些时间段,以便查看课程的一周中的哪个时间