これが宿題ではないのであれば、なぜあなたが 3NF に到達するまでのプロセスを示さなければならないのだろうか。データベースが 3NF にある場合、どのようにしてそこに到達したか誰が気にしますか? 繰り返しますが、これが宿題ではないと仮定すると、すぐに 3NF にあるデータベースを設計する簡単な方法があります。
ER モデリングを学びます。ER モデリングを使用して、データベースが満たさなければならない情報要件を記述します。エンティティを慎重に選択してください。エンティティごとに、そのエンティティの ID を慎重に選択してください。指定されたデータに含まれていない場合は、ID を合成する必要がある場合があります。これはデータ分析であり、データベース設計ではありません。この段階で発見した属性が正しいエンティティまたは関係に関連付けられていることを非常によく確認してください。
これはコンテキストに依存します。たとえば、人事制度では、「生年月日」は従業員の属性です。しかし、助産院では「生年月日」は出生の属性であり、生まれた人はその出生と関係があります。一度の出産で何人も生まれます。
ER モデルをリレーショナル モデルに変換する方法を学びます。これらの目的のために、SQL モデルとリレーショナル モデルは同等のものとして扱うことができます。主キーの選択には細心の注意を払い、「automunber」などの機能を使用した場合の結果に注意してください。この機能を使用する必要があるかもしれませんが、冗長なデータ入力によって、主キーが異なる 2 つの行が生成され、両方が主題エンティティの同じインスタンスを参照している場合に対処する方法を考えてください。
属性が適切なエンティティまたは関係に接続されている場合、リレーショナル モデルへの変換が正しく行われている場合、および主キーを正しく選択している場合、データベースは自動的に 3NF になります。
これが宿題である場合、教師の要件はあなたの質問からは明確ではありません。先生が何を教えようとしているのかを学ぶのは、本当の必要条件を教えてくれるのと同じくらい簡単でしょう。