0

我目前正在使用 PHP 和 MySQL 数据库。我目前正在为我的部门建立一个课程目录页面。我已经建立了一个名为Courses. 我的数据库表的其余结构遇到了问题。有在 期间教授的课程fall和在 期间教授的其他课程spring。此外,在这些课程中,有些课程每隔一年教授一次。我想建立一个表,然后我可以使用 PHP 来根据semester和自动更新scholarly year。更具体地说,我想展示courses name, description,以及它是否在fall or semester当年提供。该年未提供的任何课程都不会显示在页面中。

我将如何正确构建我的表格以符合上述要求?

示例(课程编号、班级名称):

3210 Musical Theatre Styles I (Fall)
3220 Musical Theatre Styles II (Spring)
4500 Musical Theatre Showcase (Fall of year 2014)
4

3 回答 3

2

我会创建一个表来描述课程,包括课程代码、名称和所有其他相关信息,然后创建另一个表,将这些课程与课程的授课时间联系起来。

课程示例

id serial
course_code text
description text

计划示例

id serial
course_id serial
year date
semester (look at @Mahmoud Gamals answer)

因此,填充的数据库可以包含以下内容:

桌子courses

id course_code description
1  INF1000     "Basic programming"
2  INF1001     "More basic programming"

course_dates(0 为春季 1 为秋季)

id course_id year semester
1  1         2012 0
2  1         2013 1
3  2         2013 1

这样,您就可以将教授课程的日期与课程信息分开。

于 2012-10-30T14:03:50.013 回答
0

您将需要创建一个标志列。例如int表示类类型,0 表示Fall, 1 表示Spring, 2 表示All of the year

于 2012-10-30T13:55:47.373 回答
0

添加更多细节。如果您希望它易于记忆,请使用 ENUM ('fall', 'spring'...)

id courseID courseName whenOffered everyOtherYear
于 2012-10-30T13:58:45.597 回答