我目前正在使用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)
答案 0 :(得分:2)
我会创建一个描述课程的表,包括课程代码,姓名和所有其他相关信息,然后创建另一个表格,将这些课程与教学时间联系起来。
课程示例
id serial
course_code text
description text
计划示例
id serial
course_id serial
year date
semester (look at @Mahmoud Gamals answer)
因此,poulated数据库可能包含以下内容:
表courses
id course_code description
1 INF1000 "Basic programming"
2 INF1001 "More basic programming"
表course_dates
(秋季1春季为0)
id course_id year semester
1 1 2012 0
2 1 2013 1
3 2 2013 1
通过这种方式,您可以根据课程信息分开教授课程的日期。
答案 1 :(得分:0)
您需要创建一个标志列。例如int
表示类类型,0表示Fall
,1表示Spring
,2表示All of the year
。
答案 2 :(得分:0)
添加更多细节。如果您希望它易于记忆,请使用ENUM('fall','spring'...)
id courseID courseName whenOffered everyOtherYear