実体験から始める情報講座

ITパスポート講座

★ 猫本 6-03 データの正規化(その2) ★

ITパスポート 令和2年度 問57

次に示す項目を使って関係データベースで管理する"社員"表を設計する。他の項目から導出できる,冗長な項目はどれか。

ア  生年月日
イ  現在の満年齢
ウ  住所
エ  趣味

解説

「現在の満年齢」は,「生年月日」とPC(システム)が持つ「今日の日付」から求めることができる。

「現在の満年齢」を項目として持った場合は,毎年,誕生日に更新する必要が生じる(無駄=冗長)。

よって,イである。

解答

ITパスポート 平成28年度春期 問94

商品の仕入状況を管理している関係データベースの"仕入一覧"表を正規化して,"仕入"表と"商品"表に分割したい。分割後の二つの表に共通して必要なフィールドとして,最も適切なものはどれか。ここで,仕入れは一度に一つの商品だけを仕入れることとし,仕入番号で一意に識別できる。また,商品は商品番号で一意に識別できる。

ア  仕入番号
イ  支払方法
ウ  商品番号
エ  商品名

解説

「商品は商品番号で一意に識別できる」ことから,商品番号が主キーである。

「商品番号」が決まれば,「商品名」と「単価」が決まるため,別の表("商品"表)に分離する。

ただし,"仕入"表に「商品番号」を残しておくこと(表間のリレーションが必要)。

よって,ウである。


解答

ITパスポート 平成30年度秋期 問85

関係データベースで管理している"担当社員"表,"地区"表及び"顧客"表を結合して,A表を得た。結合に用いた"顧客"表はどれか。ここで,下線のうち実線は主キーを,破線は外部キーを表す。


解説

ア  "担当社員"表,"地区"表とのリレーションがない。
イ  "地区"表とのリレーションがない。
ウ  "担当社員"表とのリレーションがない。

よって,エである。


解答

ITパスポート 平成30年度春期 問81

顧客名と住所,商品名と単価,顧客が注文した商品の個数と注文した日付を関係データベースで管理したい。正規化された表として,適切なものはどれか。ここで,下線は主キーを表し,顧客名や商品名には,それぞれ同一のものがあるとする。


解説

イ  「顧客名」が"顧客"表と"注文"表に存在する(重複している)。
「商品名」が"商品"表と"注文"表に存在する(重複している)。
ウ  「顧客名」が"顧客"表と"注文"表に存在する(重複している)。
エ  1人の顧客が複数の注文をすると,"注文"表に同一の「顧客名」,「住所」が複数存在する(重複している)。

よって,アである。

解答 ア