質問を編集して、より理解しやすくしました。
小さな問題が発生しましたが、それを処理する方法が正確にはわかりません。
3 番目の NF に変換したい次の属性と値を持つテーブルを取得したとします。このテーブルは、マシンによって自動的に作成されます。
KeyID | Action | Class | Method | StoreNr. | Country
1 | Action1 | Class1 | Method1 | 123 | GB
1 | Action2 | Class2 | Method2 | 123 | GB
2 | Action5 | Class5 | Method5 | 335 | NULL
2 | Action8 | Class8 | Method8 | 335 | NULL
3 | Action2 | Class2 | Method2 | NULL| NL
3 | Action5 | Class5 | Method5 | NULL| NL
4 | Action4 | Class4 | Method4 | NULL| NULL
4 | Action1 | Class1 | Method1 | NULL| NULL
ご覧のとおり、属性 KeyID、Action、Class、および Method を NULL にすることはできません。StoreNr と Country は NULL にすることができます。
依存関係は次のとおりです。
Method -> Action
Action -> Class
StoreNr -> Country
私の問題は KeyID です。これはランダムに作成された番号であり、ユーザー アクションの追跡のみを目的としています。KeyID がなければ、User4 がセッションで使用したアクションの種類を言うことは不可能です。
テーブルを 3 番目の NF に配置するときに、これを処理する方法が正確にはわかりません。
これで私のニーズがより明確になったことを願っています:)
よろしくトーマス