2009-07-07 16 views
0

レベルのある学生のためのデータベースを開発する必要があり、問題を分類しています。彼らは全部で13の科目を持っており、各生徒は自分が好きなように13科目から多くの科目と任意の組み合わせを選ぶことができます。
この問題にどのように対処できますか?どのように各生徒の科目の組み合わせの記録を保持するためのデータベースを作成できますか?データベースの作成に手助けが必要

誰かが私を助けることができますか?

答えて

3

生徒のリストを含む表を作成し、科目リストを含む表を作成します。別の表では、学生のIDと彼らが取っている科目のIDで行を挿入します。

id | student 

id | subject 

id | subject id | student id 
1

表:

列件名:ID、subject_name

テーブル:学生

カラム:IDを、student_name

表:student_subject_map

カラム:ID、 student_id(student.id - 外部キー)、subject_id(subject.id - forei gnキー)

0

3つのテーブルがあります。サブジェクト情報が格納されているサブジェクトテーブル。学生情報が格納されているStudentsテーブル、学生IDとサブジェクトIDの2つの列を含むEnrollmentテーブル。

学生のやっサブジェクトのリストを取得するには、あなたがこのようなクエリ何か実行します。

SELECT Subjects.name FROM Subjects INNER JOIN Enrolment ON Enrolment.subject_id = Subjects.subject_id WHERE Enrolment.student_id = '(student_id)' ORDER BY Subjects.name ASC 
0

を、学生が選択したものを、すべての被験者見て、どこstudent_subject_mapから

選択subject_id student_id == < student-id>;

< student-id>を学生のIDで置き換えます。次のレベルは、table_subjectのid、subject_nameの一致を使用してsubject_idの代わりにサブジェクト名を取得することです。 (ヒント:ネストされた選択ステートメント)

+1

NO!ネストされたselect文ではありません。恐ろしいアドバイス。あなたが参加したい。 – tomfanning

関連する問題