2012-03-17 11 views
2

いくつかの調査をした後、私はいくつかのアドバイスが必要です。これは、教師が課題をオンラインで投稿し、学生が課題を閲覧/投稿できるようにする小さなプロジェクトです。データベーステーブル構築に関するアドバイス

生徒は複数のコースを割り当てられている可能性がありますので、私の質問は次のとおりです。テーブルを設定する最良の方法は何ですか?

例1:

student   courses 

John Smith  Math, Chemistry, English 
Mary White  Math, Biology 

例2:

course   students 

Math   John Smith, Mary White 
Biology   Mary White 
Chemistry  John Smith 
English   John Smith 

これはnoobie質問であれば、私は事前に謝罪、私は取得-行くとIから間違ったことをやって回避したいですどんな提案にもオープン!

ありがとうございます。

+0

データベースに関する基本的な教科書を入手し、データモデリングの章を読むことを本当にお勧めします。これはCompSciの2年生材料です。 – millimoose

答えて

2

通常、リレーショナルデータベースの列に複数の項目を配置することは適切ではありません。したがって、次のような表を作成してください。

course   student 

Math   John Smith 
Math   Mary White 
Biology   Mary White 
Chemistry  John Smith 
English   John Smith 

次に、この表をJOIN式で使用して、必要な情報を取得できます。コースや学生に関する重要な情報を記述した追加の表が必要な場合があります。ような何か:

course   instructor   time 

Math   Albert Einstein  10:30 

student   id_number   phone 

John Smith  1234-5678   555-1212 

...または任意の情報は、あなたがコースや学生について維持する必要があります。

+0

これは完璧です!助けてくれてありがとう、私はデータベースには新しく、JOIN式が存在することさえ知ってうれしいです。 – fswmacguy

関連する問題