2005年04月30日

[ テクニカルエンジニア(データベース)/H17 ]

H17午後I 問2設問1

H17午後I 問2
受注管理システムのデータベース設計

設問1(1)
関係スキーマの主キー,外部キーを明示する定番のサービス問題。
解答例:設問1(1)
会員(会員番号,氏名,郵便番号,住所,電話番号,支払方法,クレジットカード番号,クレジットカード有効期限)

単品商品(商品番号,商品名,商品概要,写真,単価,販売開始日,販売終了日)

注文(注文番号会員番号,注文日,注文受付日,商品番号,注文数量,取消しフラグ)
設問1(2)
データ制約上の利点を問う問題。
午後II の制約系の問題をやっていたら,すんなり思いつくのではないでしょうか。。。
ヒントもありますし,
 『商品には,一意な商品番号が付与される。』
 『各商品の商品番号は,単品商品とパック商品全体を通して一意である。』
一つのテーブルにまとめることで,商品番号を一意にし易い。ってことをそれっぽく書けば良い。
あと,追加する列の目的。
何を追加するのか,午後II のスーパータイプ/サブタイプの問題をきっちりやっていれば,ピンときます。「カテゴリ識別子」です。つまりは,単品商品かパック商品かを示す区分ですね。
解答例:設問1(2)
利点:主キーの一意性により,商品番号を商品全体を通して一意にできる点。(32文字)

列の目的:商品が単品商品かパック商品かを区別するための区分(24文字)
設問1(3)
これは定番っすね。組合せを管理するテーブルの追加です。
『パック商品は,複数の単品商品を組み合わせた商品,又は同じ単品商品を複数個まとめた商品である。また,一つの単品商品が,複数種類のパック商品に含まれる場合もある。パック商品を構成する単品商品ごとの数量(構成数量)は,決まっている。』
という記述から,「パック商品の商品番号」と「単品商品の商品番号」の組合せ及び単品商品の構成数量を管理すれば良いのが分かる。
主キー・外部キーを明記することを忘れずに。
解答例:設問1(2)
パック商品構成(パック商品番号単品商品番号,構成数量)

問2の設問1は比較的簡単でした。
問1の設問1に比べりゃ,かなり素直な問題です。

Posted by g@kko at 2005/04/30 23:32 | 個別記事表示 | コメントを見る (0) |
この記事をLicWikiに埋め込む:
コメント