关系代数
relational algebra
R(U,D,dom,F)∣R(U) notesR : (Relation)(Relation Schema)U : (Attributes)D : (Domains)Udom:mappingDUjF:referenceUkujF:referenceuk
属性是事物特征的抽象
域是属性取值的范围
第一范式
域应是原子数据
基本关系运算
∪−×πσ R∪S={t∣t∈R∨t∈S} R−S={t∣t∈R∧t∈/S} 笛卡尔积
∣R∣=m ∣S∣=n R×S={t∣t=<tm,tn>∧tm∈R∧tn∈S} πA(R)={t[A]∣t∈R} A=attributes σF(R)={t∣t∈R∧F(t)=True} 术语对照
扩展关系运算
交
theta连接
自然连接
除
广义投影
左外连接
右外连接
全外连接
∩XθY⋈⋈÷π⟕⟖⟗ R∩S={t∣t∈R∧t∈S} theta连接
∣R∣=m ∣S∣=n RXθY⋈S={t∣t=<tm,tn>∧tm∈R∧tn∈S∧tm[X]θtn[Y]} RXθY⋈S=σXθY(R×S) 自然连接
∣R∣=m ∣S∣=n R⋈S={R×SσR.C=S.C(R×S)−S.Cif RA∩SB={Φ}if RA∩SB=C 广义投影
πF1,⋯,Fj(R) 笛卡尔积
D1,⋯,DnCartesian productD1×⋯×Dn={n-tuple(d1,⋯,dn)∣componentdi∈Di,0<i≤n}∀∣Di(0<i≤n)∣=mi ∃∣D1×⋯×Dn∣=m1×⋯×mn=Cardinal numberi=1∏nmiR⊆D1×⋯×Dn
- D(集合)
- Cartesian product(笛卡尔积)
- n-tuple(n元组)
- component(分量)
- Cardinal number(基数)(集合元素的个数、笛卡尔积元组的个数)
- R(关系)(笛卡尔积的子集在集合域上的(n元)关系)
- R(关系的名字)
- n(Degree)(关系的目、度)
- 存在一个di可唯一标识元组(d1,⋯,dn)
- di(Candidate Key)(候选码)
- 存在多个候选码,选定一个作为主码(primary key)
- 包含在任何候选码中的任何属性
- 不包含在任何候选码中的属性
- KkeyR1 KkeyR
- ∃R(T,C,S)
- (T,C,S)是R的全码(All-Key)