平成18年春期試験問題 午前問70
問70解説へ
事業本部体制をとっているA社で,社員の所属を管理するデータベースを作成することになった。データベースは表a,b,cで構成されている。新しいデータを追加するときに,ほかの表でキーになっている列の値が,その表に存在しないとエラーとなる。このデータベースに,各表ごとにデータを入れる場合の順序として,適切なものはどれか。ここで,下線は各表のキーを示す。
- 表a→表b→表c
- 表a→表c→表b
- 表b→表a→表c
- 表b→表c→表a
広告
解説
表a,b,cの列間にある参照関係を整理すると次のようになります。表a、表cにデータを追加するときは、そのデータの事業本部コード列の値が、表bの事業本部コード列に存在しなければエラーとなります。表bが空だと、表aと表cには一切データを追加することができませんから、まずは表bに事業本部コードと事業本部名を登録する作業が必要となります。
同様に、表cは{事業本部コード、部門コード}を主キーとしており、表aはそれを参照しているので、表cに事業本部コードと部門コードの組合せを登録した後でなければ、表aにデータを追加することはできません。
したがって、エラーを起こさないためには「表b→表c→表a」の順序でデータを入れなければなりません。
まず外部参照列のないb表にデータを追加し、次にb表を外部参照しているc表にデータを追加、最後にb,c両方の表を外部参照してるa表という順序と考えることも可能です。
同様に、表cは{事業本部コード、部門コード}を主キーとしており、表aはそれを参照しているので、表cに事業本部コードと部門コードの組合せを登録した後でなければ、表aにデータを追加することはできません。
したがって、エラーを起こさないためには「表b→表c→表a」の順序でデータを入れなければなりません。
まず外部参照列のないb表にデータを追加し、次にb表を外部参照しているc表にデータを追加、最後にb,c両方の表を外部参照してるa表という順序と考えることも可能です。
広告