推移的関数従属とは?初心者向けに分かりやすく解説共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
推移的関数従属とは?初心者向けに分かりやすく解説共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)


推移的関数従属とは何か

データベースの世界には表と呼ばれるデータの集まりがあります。表の中には列と行があり、列には属性名がつきます。データを正しく整理するためには、属性どうしの関係を理解することが大切です。

関数従属とは、ある属性の値を決めれば別の属性の値が一意に決まる関係のことを指します。例えば学籍番号を決めたら学生の名前が決まるといった場合です。

推移的関数従属とは、ある属性集合 X が別の属性 Y を決定し、さらに Y が別の属性 Z を決定するような関係のことです。X -> Y および Y -> Z が成り立つとき、X -> Z も成り立つのが推移的関数従属です。ただしこのとき Y や Z が非キー属性である場合に問題が発生しやすくなります。

以下にわかりやすい例を挙げます。

XY関係
ABA -> B
BCB -> C
ACA -> C (推移的関数従属)

実務的には 推移的関数従属 を避けるために正規化という作業をします。正規化を進めると一つの表に詰め込んだ情報を、意味のある小さな表に分割して冗長性と更新時の異常を減らします。

具体的な手順としては、まず関係 R の候補キーと全ての属性を確認します。次に X -> Y のような関数従属を見つけ、Y がキーでない場合は推移的従属の候補と考えます。これを解消するために表を分解し、別の表に関連する属性を移します。こうして 3NFBCNF などの正規形を目指します。

初心者にも伝えるポイントは以下の3つです。1つ目は関数従属の考え方を理解すること。2つ目は推移的従属が出てくる条件を知ること。3つ目は正規化によって情報の重複を減らし、更新のミスを減らすことです。

この知識はデータベースを学ぶ入り口としてとても役立ちます。身近なアプリケーションのデータを設計する際にも、推移的関数従属の考え方を意識すると整理が進みます。


推移的関数従属の同意語

推移的関数従属
X → Z が X → Y および Y → Z という経路を介して成立する関係。中間の属性 Y を介して Z が X に従属している状態を指します。
推移関数従属
同じ意味の略称表現。X から Z への従属が、途中の属性 Y を介して成立することを示します。
トランジティブ関数従属
英語由来の Transitive Functional Dependency に対応する表現。X → Y、Y → Z から X → Z が導かれることを指します。
トランジティブ関数従属性
同じ概念を別表現で示す言い方。X → Z は X → Y および Y → Z という推移を経て成り立つ従属性です。

推移的関数従属の対義語・反対語

非推移的関数従属
推移的関数従属が成立しない、または中間属性を介した推移経路が使われない従属のこと。X → Z が成り立つ場合でも、X → Y、Y → Z の推移を経ずに直接 Z が決定される形を指すことが多い(対義的なニュアンス)。
直接的関数従属
X が Y を介さずに直接 Z を決定する関係。中間属性を挟まず、最も直結した従属性の形を表します。
一段階的関数従属
従属が一段階だけで完結する状態。X → Y のように、追加の推移を必要としない場面を指すことが多いです。
非連鎖的関数従属
従属が連鎖的につながらず、X → Y の一つの結びつきだけで完結する関係を意味します。
直接従属性
X が Y を直接的に決定する従属性の総称。中間の介在なしに成り立つ点を強調します。
直結的関数従属
X と Y の結びつきが直結しており、推移による間接従属を含まない表現です。

推移的関数従属の共起語

推移的関数従属
候補キーが決定する値が、別の非キー属性を介してさらに別の非キー属性を決定する依存関係。A → B および B → C が成り立つとき A → C になる形で、B が非キーである場合に問題となりやすい。3NF などの正規化設計の検討ポイントになる。
関数従属
X → Y の形で、X の値が決まると Y の値も一意に決まる関係。データの依存関係を表す基本的な概念。
部分関数従属
非キー属性が候補キーの一部だけに依存している状態。2NF の分解対象となる依存関係。
完全関数従属
非キー属性が候補キーの全体に依存している状態。部分依存がないことを意味する。
正規化
データの冗長性を減らし、更新時の不整合を防ぐための設計手法。段階的に正規形へ分解していく。
第1正規形
表の中のすべての値が原子値で、繰り返しのない基本形。正規化の出発点。
第2正規形
1NF かつ 完全関数従属を満たす正規形。候補キーの一部による依存を排除することを目的とする。
第3正規形
推移的関数従属を排除した正規形。非キー属性間の依存を減らし、更新異常を抑える
非キー属性
候補キーに含まれない属性。主なデータの内容を表す列のこと。
候補キー
表の全属性を一意に決定できる最小のキーの集合。複数存在する場合もある。
主キー
実務で使われる一意な識別子として選ばれる候補キー。行を一意に識別する役割。
アトリビュート
データベースの列を指す用語。属性とも呼ばれる。
外部キー
別の表の主キーを参照して、表間の関連を保つ列。参照整合性を維持する役割。
更新異常
データを更新する際に生じる矛盾や不整合。挿入・削除・更新時の問題として現れる。
冗長性
同じ情報が複数箇所に重複して保存される状態。保守性の低下や更新コストの増大につながる。
依存関係
属性間の決定関係全般のこと。どの属性がどの属性を決定するかを表す。
データベース設計
データを効率的に保存・活用するための全体設計。正規化はその一部。
データ整合性
データの正確さと一貫性を保つ性質。信頼性の高いデータ運用の前提。

推移的関数従属の関連用語

推移的関数従属
ある属性集合XがYを決定し、さらにYがZを決定する場合、X → Y および Y → Z から X → Z が推移的に成り立つ関係。一般に X が候補キーで Y が非素性属性のとき、Z が Xに対して推移的従属になるケースがある。
関数従属
属性集合Xが属性集合Yを決定する関係。X の値が決まれば Y の値も一意に決まることを意味し、記法として X → Y と表す。
部分関数従属
X が候補キーの一部であるとき、X → Y が成り立つ場合。2NFで問題となる従属性で、表を正規化して冗長性を減らす対象になる。
完全関数従属
X → Y において X の任意の部分を取り除いても成り立たない場合。つまり Y は候補キー全体に従属することで、部分従属がないことを意味する。
第一正規形
表中のすべてのセルが原子値で、繰り返しのグルーピングがない状態。
第二正規形
1NF かつ 非主属性が候補キーの全体に対して従属している状態。部分従属がないことを要求する。言い換えれば、非主属性は候補キーの一部ではなく全体に従属する。
第三正規形
1NF かつ 非主属性が候補キーに対して推移的従属していない状態。すべての非主属性は候補キーの超キーに対して従属するか、素性であることが条件。
BCNF
ボイス・コッド正規形。すべての関数従属 X → Y において X が超キーでなければならない、第三正規形より厳格な条件。
正規化
データの冗長性を減らし、データ整合性を保つために表を分解・再設計する一連の手法。
候補キー
表の中で最小かつ一意にすべてのレコードを識別できる属性集合の集まり。複数存在することがある。
主キー
表を実際にレコード識別に用いる候補キーのうち一つを選んだもの。
決定子
関数従属において値を決定する側の属性集合X。X → Y の左辺。
従属性
決定子によって決まる属性集合Y。X → Y の右辺。
素性/主属性
候補キーに含まれる属性を指す。英語の prime attributes に相当。非主属性は prime ではない。
自明従属
X ⊆ Y のときなど、数学的に自明に成立する従属。通常は特別な意味を持つとは限らない
非自明従属
X ⊄ Y で、意味のある従属。実務では正規化の対象となることが多い。
Armstrongの公理
関数従属の推論規則の基礎。反射性、拡張性、推移性といった規則の集まりで、FD の導出に用いる。

推移的関数従属のおすすめ参考サイト


学問の人気記事

トルクの単位・とは?初心者向けに徹底解説!なぜ単位が違うのかまで分かる共起語・同意語・対義語も併せて解説!
2274viws
引用・参考文献とは?初心者でもわかる使い方とポイント解説共起語・同意語・対義語も併せて解説!
869viws
ensureとは?初心者にもわかる意味と使い方を徹底解説共起語・同意語・対義語も併せて解説!
751viws
座標計算・とは?初心者向けガイドで完全マスター共起語・同意語・対義語も併せて解説!
722viws
絶縁抵抗値とは?初心者でも分かる測定の基本と安全のコツ共起語・同意語・対義語も併せて解説!
611viws
k型熱電対とは?初心者にも分かる基礎解説と活用事例共起語・同意語・対義語も併せて解説!
610viws
no・とは?初心者にもわかる意味と使い方ガイド共起語・同意語・対義語も併せて解説!
594viws
示差走査熱量測定とは?初心者向けガイドで学ぶ基本と実験のポイント共起語・同意語・対義語も併せて解説!
587viws
励磁回路とは?初心者にもわかる基礎解説と仕組みの全体像共起語・同意語・対義語も併せて解説!
578viws
ナイロン樹脂とは?初心者にもわかる基本と用途ガイド共起語・同意語・対義語も併せて解説!
556viws
大辞林とは?初心者にもわかる日本語辞典の使い方と特徴共起語・同意語・対義語も併せて解説!
548viws
welchのt検定とは?不等分散のデータを比較する統計手法をやさしく解説共起語・同意語・対義語も併せて解説!
506viws
r134aとは?初心者向けガイド|エアコン冷媒の基本をやさしく解説共起語・同意語・対義語も併せて解説!
506viws
論述問題・とは?初心者にも分かる解説と解き方のコツ共起語・同意語・対義語も併せて解説!
497viws
summarize・とは?初心者向け解説と使い方のコツ共起語・同意語・対義語も併せて解説!
488viws
洗浄バリデーションとは?初心者が押さえる基本と実務のポイント共起語・同意語・対義語も併せて解説!
480viws
気圧の単位とは?中学生にもわかるPa・atm・bar・Torrの違いと換算ガイド共起語・同意語・対義語も併せて解説!
477viws
穴加工・とは?初心者が知っておく基本と現場での活用ポイント共起語・同意語・対義語も併せて解説!
458viws
結線図・とは?初心者にもわかる基本と実例ガイド共起語・同意語・対義語も併せて解説!
456viws
摘要とは?初心者にも分かる意味と書き方ガイド共起語・同意語・対義語も併せて解説!
453viws

新着記事

学問の関連記事