もちろんです。DB(リレーショナルデータベース)の第1〜第3正規化は、「データの重複や不整合を減らすために、テーブルを整理・分割すること」と考えると分かりやすいです。

正規化 簡単にいうと ポイント
第1正規形(1NF) 1つのセルに1つの値 繰り返し・複数の値をなくす
第2正規形(2NF) 主キーの一部だけに依存する項目を分ける 部分関数従属をなくす
第3正規形(3NF) 主キー以外の項目に依存する項目を分ける 推移的関数従属をなくす

① 第1正規形(1NF)

❌ 正規化前

学生ID 名前 履修科目
1 田中 Java, Python

⭕ 第1正規形

学生ID 名前 履修科目
1 田中 Java
1 田中 Python

つまり、「Java, Python」のように複数の値を1セルに入れないということです。

② 第2正規形(2NF)

例えば、

学生ID 科目ID 学生名 成績
1 A01 田中 80
1 A02 田中 90

主キーが「学生ID+科目ID」だとします。

しかし、学生名は学生IDだけで決まります。

→ 学生情報を別テーブルに分離します。

学生テーブル

学生ID 学生名
1 田中

成績テーブル

学生ID 科目ID 成績
1 A01 80
1 A02 90