0

sqlite データベースにデータを挿入する際に問題が発生しました。studentid、studentname、studentmarks の 3 つの列を持つテーブルを作成しました。学生の名前と学生のマークの重複エントリ.thanks

4

3 に答える 3

3

学生証を持っているので、学生名は必要ありません。テーブルには、特定のマークを学生とコースに関連付けるコース ID/名前の列が必要です。

基本的に、3 つのテーブルが必要です。

Student (ID, Name)
Course (ID, Name)
Mark (studentID, courseID, studentMark)

これは と呼ばれthird normal formます。 http://en.wikipedia.org/wiki/Third_normal_form

ただし、データベースに 1 つのテーブルのみが必要な場合でも、テーブルにコース ID や名前を追加し、主キーに学生 ID とコース ID が含まれていることを確認する必要があります。

于 2013-01-27T04:35:13.990 に答える
0

主キーを StudentID としてテーブルを作成した可能性があります。その場合、1 つの生徒マークに対して複数の行を挿入することはできません。StudentID の主キー/一意の値などの制限を削除して、テーブルを再作成する必要があります。

Studentsまた、学生データのみを挿入する主キー ( ) を使用して、別のテーブルを作成する必要がありますStudent ID(各行は 1 人の学生を表します)。次に、Student と Marks の関係が 1 対多である Student_marks のテーブルを作成します。つまり、複数の行がtableStudents_Marksの 1 つの行に属します。Students

于 2013-01-27T04:37:33.597 に答える