北川 博之著「データベースシステム(オーム社)」を参考に,データベースシステムの知識をまとめます。
関数従属性集合の射影の定義
リレーションスキーマ$RS$とその関数従属性集合$F$および属性集合$Z\subseteq RS$が与えられたとき,
\begin{align}
\pi_{Z}(F) &= \{X~\rarr~Y\mid XY\subseteq Z\wedge X~\rarr~Y\in F^{+}\}
\end{align}
\pi_{Z}(F) &= \{X~\rarr~Y\mid XY\subseteq Z\wedge X~\rarr~Y\in F^{+}\}
\end{align}
を$F$の$Z$上への射影といいます。ただし,$F^{+}$は$F$の閉包を表します。
補足
形式的にはやや難解ですが,「分解前後のリレーション内にまるっと関数従属性が存在する場合,分解後のリレーションに存在する関数従属性のことを射影と呼ぶ」という定義です。直感的に属性の射影と同じです。
例
$RS=\{A,B,C\}$と$F=\{A\rarr B, B\rarr C, C\rarr B\}$を考えます。このとき,
- $AB$に対する関数従属性の射影$\pi_{AB}(F)$は$\{A\rarr B\}$
- $AC$に対する関数従属性の射影$\pi_{AC}(F)$は$\{A\rarr C\}$
- $BC$に対する関数従属性の射影$\pi_{BC}(F)$は$\{B\rarr C, C\rarr B\}$
となります。
コメント