用語:【1-3】関係モデルの理論

関係モデル
実体と関連を集合と関係(リレーション)の概念に基づき、フラットな表(テーブル)を用いて表現

関係データベース

関係

主キー
候補キーのうちのどれか一つを主たるものにするとき、これを主キーという。表内に一つでナル値は認められない

候補キー
関係の中でn個組(行)を一意に識別し、冗長性のない1個又は1個以上の属性

外部キー
表(関係)間に従属関係(参照制約)があるとき、参照する側の項目(列) 参照される側の項目は主キーもしくは候補キー

属性
実体が持つ性質。属性は値を持ちこれを属性値という

定義域
実体が持つ属性の値の集合 属性値集合または定義域という 異なる属性は1つの定義域を共有できる

データ構造
関係モデルの要素 定義域、関係(表)、属性、組、候補キー、主キーからなる 行や列の順番には意味がない 集合の一般的性質を引き継いでいるので同じ組(行)が複数個存在することはない

データ一貫性
integrity 実体一貫性(一意性制約、非ナル制約、検査制約)と参照一貫性(参照制約)の2つの意味制約則からなる

データ操作
選択、射影、結合などの代数的な演算子からなり、演算子は関係を別の関係に変換する

関係代数
(通常の集合演算) 和、積、差、直積

集合論演算

union R∪S={t|t∈R∨t∈S}

intersection R∩S={t|t∈R∧t∈S} 共通ともいう 差演算を2回使用して表現できる

defference R-S={t|t∈R∧¬t∈S}

直積
cartesian product R×S={(u、v)|u∈R∧v∈S} それぞれの項目数をr、sとすると直積の結果の項目数はr+sとなる

射影
projection R[ti1,・・・,tin]={u[ti1,・・・,tin]|u∈R} 関係を構成する属性(列)の内、必要なものだけを残し新しい関係をつくる 重複したn個組は削除する

結合
join Rの列とSの列に対するθ結合は、R[{ti1,・・・,tin}θ{si1,・・・,sin}]S={(u,v)|u∈R∧v∈S∧(u[ti1,・・・,tin]θv[si1,・・・,sin])} RとSの結合演算は、直積R×SとR×Sに対する選択の2つの演算の組み合わせであらわすことができる

選択
selection R[{ti1,・・・,tin}θ{tj1,・・・,tjn}]={u|u∈R∧u([ti1,・・・,tin]θu[tj1,・・・,tjn])}

制限
restriction 選択のこと

division R÷S=R[{t1,・・・,tr}÷{s1,・・・,ss}]S={t[t1,・・・,tr-s]|t∈R∧{y|(t[t1,・・・,tr-s],y)∈R}⊇s[s1,・・・,ss]} 商は、直積、差、射影の組み合わせで表すことができる

関係計算

アルファ式

SQL

OUTER-JOIN

抽象データ型

データ正規化

1fact in1place

非正規形

第1正規形

第2正規形

第3正規形

ボイスコッド正規形

第4正規形

第5正規形

関数従属性

完全関数従属性

部分関数従属性

推移関数従属性

多値従属性

結合従属性