このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

データベース:: 記法と用語のまとめ

シリーズ・ハブ記事:

以下の3つの過去記事で定義した/使った記法と用語をまとめておきます。

  1. データベース:: テーブルのキーって何なのよ?
  2. データベース:: テーブル構造とデータベース構造
  3. データベース:: テーブル間の参照

記法と用語:

  1. $`\mathscr{D}`$ : ドメインの集合、要素は基本データ型となる集合
  2. $`C = \{c_1, \cdots, c_n\}`$ : カラム名の集合(通常、全順序を仮定する)
  3. $`S : C \to \mathscr{D}`$ : テーブルスキーマ
  4. $`S = (c_1 : D_1, \cdots, c_n : D_n)`$ : テーブルスキーマの表示($`D_i = S(c_i)`$)
  5. $`S = (D_1, \cdots, D_n)`$ : カラム名が番号のときのテーブルスキーマの表示($`D_i = S(i)`$)
  6. $`S = ()`$ : 空なテーブルスキーマ
  7. $`t = (t_1, \cdots, t_n)`$ : タプル(カラム名の集合 $`C`$ に全順序を仮定してる)
  8. $`\mathrm{Tuple}(S)`$ : テーブルスキーマが決めるタプル空間(すべてのタプルの集合)
  9. $`X, Y \subseteq C`$ : カラム名の集合の部分集合、これを「カラム」「複合カラム」と呼ぶこともある。
  10. $`S|_X`$ : テーブルスキーマの $`X`$ への制限、$`X \subseteq C`$
  11. $`\pi_X = \pi^S_X : \mathrm{Tuple}(S) \to \mathrm{Tuple}(S|_X)`$ : カラム名集合に付随する射影関数
  12. $`\pi_c = \pi^S_c : \mathrm{Tuple}(S) \to S(c)`$ : カラム名の射影関数
  13. $`\pi_{\{c\}} = \pi^S_{\{c\}} : \mathrm{Tuple}(S) \to \mathrm{Tuple}(S|_{\{c\}})`$ : カラム名の単元集合に付随する射影関数(カラム名の射影関数と微妙に違う)
  14. $`\Gamma \subseteq \mathrm{Pow}(\mathrm{Tuple}(S))`$ : テーブルクラス$`\newcommand{\mrm}[1]{\mathrm{#1}}\newcommand{\u}[1]{\underline{#1}}\newcommand{\bs}[1]{\boldsymbol{#1}}`$
  15. $`\bs{t} = (C, S, \Gamma)`$ : テーブル構造
  16. $`\mrm{SKey}(\bs{t}), \mrm{CKey}(\bs{t})`$ : テーブル構造の超キーの集合と候補キーの集合、$`\mrm{Pow}(C)`$ の非空部分集合
  17. $`\widehat{S} = \mrm{Tuple}(S)`$ : タプル空間の短縮記法
  18. $`\widehat{S}[X] = \mrm{Tuple}(S, X) = \mrm{Tuple}(S|_X)`$ : 制限されたタプル空間の短縮記法
  19. $`\pi_{X, Y} = \pi^S_{X, Y} : \widehat{S}[X] \to \widehat{S}[Y]`$ : $`Y\subseteq X \subseteq C`$ のときのタプルを射影する関数
  20. $`\Pi_X = \Pi^S_X = (\pi^S_X)_* : \mrm{Pow}(\widehat{S}) \to \mrm{Pow}(\widehat{S}[X])`$ : テーブルインスタンスを射影する関数
  21. $`\Pi_{X, Y} = \Pi^S_{X, Y} = (\pi^S_{X, Y})_* : \mrm{Pow}(\widehat{S}[X]) \to \mrm{Pow}(\widehat{S}[Y])`$ : $`Y\subseteq X \subseteq C`$ のときのテーブルインスタンスを射影する関数
  22. $`\kappa_X : \widehat{S}[X] \supseteq\!\to \widehat{S}`$ : 超キー $`X`$ のキーセクション関数(部分関数)、特定の状況では $`\pi_X`$ のセクションになっている。
  23. $`(\bs{t}_i)_{i\in I}`$ : テーブル構造のインデックス族
  24. $`(i, X, j, Y, r)`$ : 参照($`i, j\in I, X\subseteq C_i, Y\subseteq C_j`$)
  25. $`X \subseteq C_i`$ : 参照カラム(複合カラムでもよい)、外部キー
  26. $`r : X \to Y \text{ where }X\subseteq C_i, Y\in \mrm{SKey}(\bs{t}_j)`$ : カラム(複合カラムでもよい)間の関数(双射)、カラム名をリネームするだけの関数
  27. $`\hat{r} = (r^{-1})^* = (r^*)^{-1} : \widehat{S_i}[X] \to \widehat{S_j}[Y]`$ : 参照関数、カラム名のリネームに伴うタプル空間の同型
  28. $`\rho_r = \hat{r}`$ : 参照関数の別記法