問72
頻出度★★☆
関係データベースで管理された“売上”表,“顧客”表及び“商品”表がある。a~cのうち,これらの表のデータを用いて作成できるものだけを全て挙げたものはどれか。ここで,下線のうち実線は主キーを,破線は外部キーを表す。 売上
| 売上番号 | 顧客番号 | 商品番号 | 売上年月日 | 売上額 |
|---|
顧客
| 顧客番号 | 顧客名 |
|---|
商品
| 商品番号 | 商品カテゴリ名 | 商品名 |
|---|
a 過去のある期間に一定額以上の売上があった顧客の一覧 b 前月に在庫切れがあった商品の一覧 c 直近1か月の商品別売上額ランキング
この問題の解説と、これまでの解答の記録です。
関係データベースで管理された“売上”表,“顧客”表及び“商品”表がある。a~cのうち,これらの表のデータを用いて作成できるものだけを全て挙げたものはどれか。ここで,下線のうち実線は主キーを,破線は外部キーを表す。 売上
| 売上番号 | 顧客番号 | 商品番号 | 売上年月日 | 売上額 |
|---|
顧客
| 顧客番号 | 顧客名 |
|---|
商品
| 商品番号 | 商品カテゴリ名 | 商品名 |
|---|
a 過去のある期間に一定額以上の売上があった顧客の一覧 b 前月に在庫切れがあった商品の一覧 c 直近1か月の商品別売上額ランキング
a は作成できるが、b「前月に在庫切れがあった商品の一覧」は在庫数(在庫量)を表す列がどの表にも無いため作成できない。作成不可の b を含むので誤り。
a と c は作成できるが、b は在庫に関するデータが 3 表のどこにも無く作成できない。b を含むので誤り。
正解 正解「ウ」は a と c。リレーショナルデータベースでは、必要な項目が表の列として存在し、主キー・外部キーで表どうしを結合できるときにだけ、目的のデータを作成できる。a「過去のある期間に一定額以上の売上があった顧客の一覧」は、「売上」表に売上年月日(期間の絞り込み)・売上額(一定額以上の判定)・顧客番号があり、これを外部キーの顧客番号で「顧客」表と結合すれば顧客名を含む一覧を作成できる。c「直近1か月の商品別売上額ランキング」は、「売上」表の売上年月日で直近1か月を絞り、商品番号ごとに売上額を集計し、「商品」表と結合して商品名を付ければランキングを作成できる。一方 b は在庫データが無いため作成できない。したがって作成できるのは a と c だけで、答えは「ウ」。
c は作成できるが、b は在庫データが無く作成できず、しかも作成可能な a が抜けている。作成不可の b を含み a を欠くので誤り。