始める無料で始める

データベース記録をシンプルにする

高校のある先生が、学生記録をより整理する取り組みが進んでいると聞き、自分の担当科目の成績を整理したいと考えています。先生は test_grades テーブルの構造として、次のような提案をしています。

CREATE TABLE test_grades (
    student_id INTEGER NOT NULL,
    course_name VARCHAR(50) NOT NULL,
    grades TEXT NOT NULL
);

各レコードは、先生のクラスの学生1人分を表し、学生のID、科目名、そしてその学生のテスト成績を格納します。しかし先生は、この構造ではデータベースの管理が難しいと感じています。新しい成績を追加するには複雑なクエリが必要で、成績に対して計算を行うのも容易ではありません。この演習では、このテーブルを第1正規形(1NF)に正規化するお手伝いをします。

この演習はコースの一部です

PostgreSQL データベースの作成

コースを見る

演習の手順

  • test_grade という名前でテーブルの新しいバージョンを定義してください。
  • student_idcourse_name 列を、test_grades テーブルで定義されているとおりに含めてください。
  • grades 列の代わりに、grade という数値列を追加してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

-- Create the test_grade table
___ ___ ___ (
    -- Include a column for the student id
	___ ___ NOT NULL,
  
  	-- Include a column for the course name
    ___ ___ NOT NULL,
  
  	-- Add a column to capture a single test grade
    ___ ___ NOT NULL
);
コードを編集して実行