正解は ウ
関数従属性と推移的関数従属性は、データベース設計における重要な概念です。関数従属性とは、あるデータ項目の値が決まると、別のデータ項目の値が一意に決まる関係を指します。例えば、社員番号が決まれば社員名が一意に決まるような関係です。推移的関数従属性は、「A→B かつ B→C ならば A→C が成立する」という性質を持ちます。つまり、A から B が決まり、B から C が決まるなら、必然的に A から C も一意に決まるという関係です。この問題では、注文コードから顧客コードが決まり、顧客コードから顧客住所が決まる関係が、真の推移的関数従属性を示しています。これは、注文コードが決まれば、必然的に顧客住所も一意に決まることを意味します。データベース正規化において、この推移的関数従属性の理解は、適切なテーブル設計を行う上で非常に重要です。
推移的関数従属性を判断する際は、以下の3つのステップで考えましょう:1) 最初の関係(A→B)が本当に関数従属性を満たすか、2) 次の関係(B→C)も関数従属性を満たすか、3) その結果として、A→C が必然的に成立するか。特に、ビジネスの実態に照らして、一対多の関係がないかをチェックすることが重要です。また、主キーから始まる関係は、多くの場合、関数従属性を満たしやすいことを覚えておくと良いでしょう。