sqlite データベースにデータを挿入する際に問題が発生しました。studentid、studentname、studentmarks の 3 つの列を持つテーブルを作成しました。学生の名前と学生のマークの重複エントリ.thanks
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 が含まれていることを確認する必要があります。
主キーを StudentID としてテーブルを作成した可能性があります。その場合、1 つの生徒マークに対して複数の行を挿入することはできません。StudentID の主キー/一意の値などの制限を削除して、テーブルを再作成する必要があります。
Students
また、学生データのみを挿入する主キー ( ) を使用して、別のテーブルを作成する必要がありますStudent ID
(各行は 1 人の学生を表します)。次に、Student と Marks の関係が 1 対多である Student_marks のテーブルを作成します。つまり、複数の行がtableStudents_Marks
の 1 つの行に属します。Students