「関数従属性」を理解する:「データベーススペシャリスト試験」戦略的学習のススメ(8)(1/2 ページ)
あの“津崎さん”も保有する難関資格「データベーススペシャリスト」。本企画では、データベーススペシャリスト試験 午前/午後試験対策のための「基礎知識」を抜粋してお届けします。今回は、「関数従属性の基礎」を解説します。
書籍の中から有用な技術情報をピックアップして紹介する本シリーズ。今回は、秀和システム発行の書籍ポケットスタディ データベーススペシャリスト [第2版](2015年12月22日発行)』からの抜粋です。
ご注意:本稿は、著者及び出版社の許可を得て、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。
※編集部注:前回記事「さまざまな種類の「キー」を理解する」はこちら
関数従属性
出題頻度 午前II:●●- 午後I:●●● 午後II:●●●
●--:過去14年間での過去問出題数が1〜9回
●●-:過去14年間での過去問出題数が10〜19回
●●●:過去14年間での過去問出題数が20回以上
Key Word
●関数従属性、部分関数従属性、推移的関数従属性、午後演習、推論則
関数従属性を理解する
ある属性Xを決めると、他の属性Yの値が一意に決まる場合、「YはXに関数従属している」といいX→Yと表現します。このときXを決定項、Yを被決定項と呼びます。
また、次の例のように決定項や被決定項が複数の属性の組合せになる場合もあります。
尚、関数従属性の表記はE-R図のリレーションシップの表記と似ていますが、異なる概念ですので注意して下さい。
部分関数従属性
以下のように候補キーの一部に関数従属している状態を「部分関数従属している」といいます。(逆に候補キーの一部ではなく全てに対して関数従属している状態を「完全関数従属している」といいます。)
推移的関数従属性
関数従属性が推移的に行われている、即ち(1)X→Y、(2)Y→Z、(かつX→Zでは無い)を全て満たす性質を、推移的関数従属性と呼びます。
午後で極めて多い、関数従属性列挙の問題
午後問題では、関数従属性を列挙する問題が非常に多く出題されます。別途、書籍「ポケットスタディ データベーススペシャリスト[第2版]」の「午後対策編」で解答ロジックを用いた解法を説明します。
関数従属性の完成 | ロジック4本文中の表現から関数従属性を抽出 |
---|---|
部分関数従属性の列挙 | ロジック2候補キーと関数従属性図から抽出 |
推移的関数従属性の列挙 | ロジック3関数従属性図の形状から抽出 |
午後演習
午後問題では、本分野が次のように出題されます。最終到達目標のイメージを掴みましょう。
データベースの基礎理論に関する次の記述を読んで、設問1〜3に答えよ。
衣料品の販売管理に関するデータベースを作成するために、データモデルの関係スキーマについて検討した。
〔衣料品販売情報の関係スキーマと関数従属性〕
衣料品の小売店を全国展開しているW社は、販売実績を基に営業戦略を策定するために、データ集計・分析の支援環境の構築を目指している。検討中の衣料品販売情報の関係スキーマを、図1に示す。属性の意味及び制約は、表1のとおりである。また、図2の関数従属性の表記法に従って、各関係の属性間の主な関数従属性を表すと、図3及び図4のとおりとなる。
商品の仕様は、柄、デザイン、素材、色、サイズなどの様々な要素によって決まる。商品の販売価格や数量は、各商品の色及びサイズを最小単位として管理している。この単位をSKU(Stock Keeping Unit)と呼ぶ。
属性名 | 意味及び制約 | |
---|---|---|
商品コード | 商品を一意に識別するコード。柄コード、デザインコード、素材コードが同一でも、別の商品コードが振られることがある | |
SKU コード | 各商品の色及びサイズを区別したSKU を一意に識別するコード | |
デザインコード | スタイルやシルエット、襟やそでの形状などのデザインを識別するコード | |
柄コード | 無地、しま、チェックなどのほか、各種の絵柄、文字・記号、パターンや、その組合せなどを識別するコード | |
素材コード | 綿、毛、皮などの材質を識別するコード | |
色コード | 白、黒、ピンク、ブルーなど、色を識別するコード | |
サイズコード | S、M、L、LL、7号、8 号など、サイズを識別するコード | |
大分類コード | 紳士服、婦人服、子供服、スポーツウェアなどの分類を識別するコード | |
中分類コード | 大分類コードで分類された商品を更に分類したもので、大分類ごとに分類内容は異なる。例えば、大分類が紳士服の場合は、スーツ、シャツ、ズボンなどの分類。中分類コードは、一意に大分類コードを識別できる。 | |
伝票番号 | 売上伝票に振られる、W社で一意な番号 | |
明細番号 | 売上伝票の各明細行を識別する番号 | |
販売店コード | 販売店を一意に識別するコード | |
従業員番号 | W 社の従業員を一意に識別する番号 | |
レジ番号 | レジに付けられた、販売店ごとに一意な番号 | |
販売年月日 | 売上伝票に記録される販売日付 | |
レシート番号 | レシートに付けられた、レジごと、販売年月日ごとに一意な番号 | |
販売開始日 | 商品の販売を開始した日付 | |
販売終了フラグ | 商品の販売終了を示すフラグ。販売期間中は値“false”が設定され、販売を終了したときに、値“true”が設定される。 | |
定価 | 販売開始日ごとに定められる、商品の値段。定価を変更する場合は、いったん、その商品の販売を終了し、新規に販売開始日と定価が決定される。 | |
販売価格 | 値引き販売されたときなどの、実際に販売した商品の値段 |
(筆者注:以下略)
設問1
関係“商品”、“中分類”、“SKU”及び“販売”について、(1)〜(3)に答えよ。
(1) 表1の属性の意味及び制約を基に、図3を完成させよ。□には属性名を記述し、関数従属性は図2の表記法に従うこと。導出される関数従属性は、省略するものとする。
(2)関係“商品”中の、推移的関数従属の例を一つ挙げよ。
(H20春DB午後I問1設問1(1)、(2)
*解答は次のページへ
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 春期試験の押さえどころを総ざらい!
本連載では、テクニカルエンジニア(データベース)試験に対応できる知識を確認していきます。多岐にわたる知識が問われる試験ですので、受験する方はもちろん、日常業務ではあまり使うことのない技術知識の確認にも役立ててください。 - データベーススペシャリスト試験(Database Specialist Examination)
ITエンジニアに必要な各種資格情報を解説する「@IT自分戦略研究所 資格辞典」。今回は、IPAが実施する情報処理技術者試験の「高度試験」9区分のうちの一つ「データベーススペシャリスト試験」を紹介する。 - 真のデータベースエンジニアを目指そう!
本連載は、ITシステム開発の現場でプログラミングやSQLのコーディングを行っているエンジニア(データベース利用者)が、データ管理者(DA)やデータベース管理者(DBA)へステップアップするための第一歩として有効な基礎知識を紹介する(編集局) - 【Oracle Database】忘れていませんか? 「アラートログ調査」に必要な、たった3つのキホン
データベース管理システムの運用でトラブルが発生したらどうするか。データベースサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は基本編として「アラートログの調査で押さえるべき3つのポイント」を解説します。【Oracle Database 12c対応版】