データベーススペシャリスト 平成8年度 午後�� 解答

問2
設問1
(1){法人コード,部門コード,運送依頼番号,担当者}
   {電文番号,担当者}
(2)
            ┌─────────┐         
            │┌───────┐│         
   ┌────┐   ││┌─────┐││  ┌─────┐
   │集荷日時│   │││法人コード├┼┼─→│ 法人名 │
   └────┘   ││└─────┘││  └─────┘
      ↑     ││┌─────┐││  ┌─────┐
      │     │││部門コード│├┼─→│ 部門名 │
   ┌──┴─┐   ││└─────┘││  └─────┘
   │電文番号├──→││       ││  ┌─────┐
   └──┬─┘   ││       ├┼─→│ 住 所 │
      │     ││       ││  └─────┘
      ↓     │└───────┘│  ┌─────┐
   ┌────┐   │         ├─→│電話番号 │
   │作業条件│   │         │  └─────┘
   └────┘   │ ┌─────┐ │         
            │ │ 担当者 │ │         
            │ └─────┘ │         
            └─────────┘         


設問2
(1)非候補キー”法人名”が候補キーの一部である”法人コード”に部分関数従属するため。

(2)依頼主(電文番号,運送依頼番号,法人コード,部門コード,担当者)
       ────                    ───
   法人(法人コード,法人名)
      ─────
   法人部門(法人コード,部門コード,部門名,住所)
        ───── ─────
   担当者連絡先(法人コード,部門コード,担当者,電話番号)
          ───── ───── ───


設問3
(1)
   ┌──┬───┬──┬───┬───┬──┐
   │電文│区 分│作成│運送依│法 人│法人│
   │番号│コード│日時│頼番号│コード│名 │
   ├──┼───┼──┼───┼───┼──┤
   │ 01 │ A │──│ 1001 │ 100 │X社│
   │ 02 │ B │──│ 2001 │ 101 │Y社│
   │ 03 │ C │──│ 3001 │ 102 │Z社│
   └──┴───┴──┴───┴───┴──┘

(2)依頼主と荷送元が同一で,集荷時間,作業時間の属性値がない時の情報が欠落する

(3)外部結合する

問5
設問1
 SELECT 所属課コード, 課名, AVG(給与金額)
 FROM 社員テーブル, 課テーブル
 WHERE 社員テーブル.所属課コード = 課テーブル.課コード
 GROUP BY 所属課コード, 課名;


設問2
 SELECT 所属課コード, 課名, 社員氏名, 給与金額
 FROM 社員テーブル A, 課テーブル
 WHERE 社員テーブル.所属課コード = 課テーブル.課コード
 AND 給与金額 = (
   SELECT MAX(給与金額) FROM 社員テーブル
   WHERE A.所属課コード = 所属課コード
   GROUP BY 所属課コード
 );


設問3
 副問合せにおいて部門コードが複数返されるため=をINに変更する。