平成26年度 春期 データベーススペシャリスト試験 午後Ⅰ
http://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_1/2014h26h_db_pm1_qs.pdf
問3 テーブルの設計及びSQLの設計に関する次の記述を読んで,設問1~3に答えよ。
設問1 〔テーブルの設計〕について,(1)~(4)に答えよ。
(3) 次の表に示すように外部キーを定義したとすれば,”セット商品構成”テーブルについては
案1の場合に,”在庫”テーブルについては案2の場合に,不都合が起きるおそれがある。
項番2,3の ア , イ に入れる不都合の内容を,項番1に倣って,35文字以内で述べよ。
〔テーブルの設計〕
Fさんが設計した関係”商品”及び”在庫”の関係スキーマを,図1に示す。
図1 関係”商品”及び”在庫”の関係スキーマ
Fさんは,関係”商品”のテーブルの設計に当たり,次の二つの案を考えた。
案1 サブタイプをスーパタイプに統合し,一つの”商品”テーブルとする。
案2 サブタイプ別に ”単品商品”テーブル及び”セット商品”テーブルとする。
案1の”商品”テーブルの構造を図2に、案2の”単品商品”テーブル及び”セット商品”
テーブルの構造を図3に示す。
図2 案1の”商品”テーブルの構造
図3 案2の”単品商品”テーブル及び”セット商品”テーブルの構造
Fさんは,関係”在庫”については,一つの”在庫”テーブルを設計した。”在庫”テーブルと,
その他の主なテーブルの構造を,図4に示す。図4のテーブルは,全て案1,2に共通する。
また,主な列の意味を表1に示す。
図4 両案に共通の主なテーブルの構造
表1 主な列の意味
やはり、データイメージがわからないと、不都合を想定できない。
まず 案1の場合を考えると
商品テーブル
単体商品テーブル
セット商品テーブル
セット商品構成テーブル
在庫テーブル
なるほど、在庫テーブルとしては商品番号には混在しているけど、
セット商品構成テーブルとしては、セット商品番号、単品商品番号としたいわけである。
外部キー(参照制約)は、特定テーブルの特定項目だけを登録できるように
するものであるから、これを利用しても、解決できていないケースと、問題のある
ケースを説明することか。
【回答】
ア : 単品商品番号列にセット商品番号を設定できてしまう。(35文字)
イ : 2つのテーブルの商品番号を登録することができない。(35文字)
http://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_1/2014h26h_db_pm1_qs.pdf
問3 テーブルの設計及びSQLの設計に関する次の記述を読んで,設問1~3に答えよ。
設問1 〔テーブルの設計〕について,(1)~(4)に答えよ。
(3) 次の表に示すように外部キーを定義したとすれば,”セット商品構成”テーブルについては
案1の場合に,”在庫”テーブルについては案2の場合に,不都合が起きるおそれがある。
項番2,3の ア , イ に入れる不都合の内容を,項番1に倣って,35文字以内で述べよ。
項番
|
テーブル名
|
外部キー
|
不都合
|
---|---|---|---|
1
|
セット商品構成
|
セット商品番号
|
案1の場合,セット商品番号列に単品商品番号を
設定できてしまう。
|
2
|
セット商品構成
|
単品商品番号
|
第1の場合,
ア
|
3
|
在庫
|
商品番号
|
第2の場合, イ
|
〔テーブルの設計〕
Fさんが設計した関係”商品”及び”在庫”の関係スキーマを,図1に示す。
商品(商品番号,商品名,商品説明,写真,販売単価,表示順)
単品商品(商品番号,社内原価)
セット商品(商品番号,化粧箱番号,詰合せ日数)
在庫(商品番号,引当可能数)
単品商品在庫(商品番号,不足セット商品用引当済数)セット商品在庫(商品番号,不足セット商品数)
図1 関係”商品”及び”在庫”の関係スキーマ
Fさんは,関係”商品”のテーブルの設計に当たり,次の二つの案を考えた。
案1 サブタイプをスーパタイプに統合し,一つの”商品”テーブルとする。
案2 サブタイプ別に ”単品商品”テーブル及び”セット商品”テーブルとする。
案1の”商品”テーブルの構造を図2に、案2の”単品商品”テーブル及び”セット商品”
テーブルの構造を図3に示す。
商品(商品番号,商品名,商品説明,写真,販売単価,表示順,単品区分,
社内原価,化粧箱番号,詰合せ日数)
図2 案1の”商品”テーブルの構造
単品商品(商品番号,商品名,商品説明,写真,販売単価,表示順,社内原価)
セット商品(商品番号,商品名,商品説明,写真,販売単価,表示順,
化粧箱番号,詰合せ日数)
図3 案2の”単品商品”テーブル及び”セット商品”テーブルの構造
Fさんは,関係”在庫”については,一つの”在庫”テーブルを設計した。”在庫”テーブルと,
その他の主なテーブルの構造を,図4に示す。図4のテーブルは,全て案1,2に共通する。
また,主な列の意味を表1に示す。
セット商品構成(セット商品番号,単品商品番号,構成数)
在庫(商品番号,引当可能数,不足セット商品数,不足セット商品用引当済数)
注文(注文番号,注文日,お届け予定日,住所,顧客名,電話番号,支払情報)
注文明細(注文番号,注文明細番号,商品番号,販売単価,注文数)
図4 両案に共通の主なテーブルの構造
表1 主な列の意味
列名
| 意味 |
---|---|
単品区分 | 単品商品とセット商品を識別する区分値。区分値は,単品商品では 'Y',セット商品では'N'が設定される。 |
社内原価 | 単品商品の社内原価。セット商品の販売単価を決める際に必ず使用 される。 |
化粧箱番号 | セット商品に使用される化粧箱を一意に識別する番号。セット商品には 必ず一つの化粧箱が使われ,同じ化粧箱番号が複数のセット商品で 使用される。 |
詰合せ日数 | 単品商品をセット商品として化粧箱に詰め合わせるのに要する日数。 未定の場合,NULLが設定される。 |
引当可能数 | 注文を受け付けたときに引き当て可能な数 |
不足セット商品 数 | 当該行がセット商品の場合,注文を受け付けたときに惹き当てられ なかったセット商品の数 |
不足セット商品 用引当済み数 | 当該行が単品商品の場合、注文を受け付けたときに引き当てられ なかったセット商品の詰合せのために引き当てた単品商品の数 |
やはり、データイメージがわからないと、不都合を想定できない。
まず 案1の場合を考えると
商品テーブル
商品番号
|
商品名
|
…
|
---|---|---|
TS001 | たまご茸 | … |
TS002 | へび苺 | … |
SS001 | 山菜セット(松) | … |
SS002 | 山菜セット(竹) | … |
単体商品テーブル
商品番号
|
商品名
|
…
|
---|---|---|
TS001 | たまご茸 | … |
TS002 | へび苺 | … |
TS003 | 鬼わらび | … |
TS004 | くま笹 | … |
セット商品テーブル
商品番号
|
商品名
|
…
|
---|---|---|
SS001 | 山菜セット(松) | … |
SS002 | 山菜セット(竹) | … |
SS003 | 山菜セット(梅) | … |
SS004 | 山菜セット(桜) | … |
セット商品構成テーブル
セット商品番号
|
単品商品番号
|
構成数
|
---|---|---|
SS001 | TS001 | 50 |
SS001 | TS002 | 40 |
SS001 | TS003 | 40 |
SS002 | TS001 | 30 |
SS002 | TS003 | 20 |
SS002 | TS004 | 20 |
在庫テーブル
商品番号
|
引当可能数
|
不足セット商品数
|
不足セット商品用引当済数
|
---|---|---|---|
SS001 | 5000 | 10 | null |
SS002 | 6000 | 20 | null |
TS001 | 10000 | null | 7 |
TS002 | 20000 | null | 0 |
なるほど、在庫テーブルとしては商品番号には混在しているけど、
セット商品構成テーブルとしては、セット商品番号、単品商品番号としたいわけである。
外部キー(参照制約)は、特定テーブルの特定項目だけを登録できるように
するものであるから、これを利用しても、解決できていないケースと、問題のある
ケースを説明することか。
【回答】
ア : 単品商品番号列にセット商品番号を設定できてしまう。(35文字)
イ : 2つのテーブルの商品番号を登録することができない。(35文字)
コメント
コメントを投稿