0

現在、PHP と MySQL データベースを使用しています。私は現在、自分の部門のコース カタログ ページを作成しています。という名前のテーブルをセットアップしましたCourses。データベース テーブルの残りの構造で問題が発生しています。で行われるクラスと で行われるクラスがありfallますspring。また、その中には隔年で開講するものもあります。semesterおよびに従って自動的に更新するために PHP で使用できるテーブルを作成したいと考えていますscholarly yearcourses 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

コースを説明する 1 つのテーブルを作成し、コース コード、名前、およびその他すべての関連情報を含めてから、これらのコースを教えられる時期にリンクする別のテーブルを作成します。

コース例

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

さらにいくつかの詳細を追加します。覚えやすくしたい場合は、ENUM('fall'、'spring' ...)を使用してください。

id courseID courseName whenOffered everyOtherYear
于 2012-10-30T13:58:45.597 に答える
0

フラグ列を作成する必要があります。たとえばint、クラス タイプを示すには、 の場合は 0、 のFall場合は 1、 の場合はSpring2 ですAll of the year

于 2012-10-30T13:55:47.373 に答える