1 关系
1.1 域
域是一组具有相同数据类型的值的集合。
1.2 笛卡尔积
给定一组域 D 1 , D 2 , ⋯ , D n , D_1,D_2,\cdots,D_n, D1,D2,⋯,Dn,允许其中某些域是相同的, D 1 , D 2 , ⋯ , D n , D_1,D_2,\cdots,D_n, D1,D2,⋯,Dn,的笛卡尔积为 D 1 × D 2 × ⋯ × D n = { ( d 1 , d 2 , ⋯ , d n ) ∣ d i ∈ D i , i = 1 , 2 , ⋯ , n } , D_1{\times}D_2{\times}{\cdots}{\times}D_n=\{(d_1,d_2,{\cdots},d_n)|d_i{\in}D_i,i=1,2,{\cdots},n\}, D1×D2×⋯×Dn={(d1,d2,⋯,dn)∣di∈Di,i=1,2,⋯,n},其中,每个元素 ( d 1 , d 2 , ⋯ , d n ) (d_1,d_2,{\cdots},d_n) (d1,d2,⋯,dn)叫作一个n元组。
1.3 关系
D 1 × D 2 × ⋯ × D n D_1{\times}D_2{\times}{\cdots}{\times}D_n D1×D2×⋯×Dn的子集叫做 D 1 , D 2 , ⋯ , D n , D_1,D_2,\cdots,D_n, D1,D2,⋯,Dn,上的关系,表示为 R ( D 1 , D 2 , ⋯ , D n ) R(D_1,D_2,{\cdots},D_n) R(D1,D2,⋯,Dn)。关系就是笛卡尔积的有限子集,所以关系也是一张二维表。关系有三种类型:基本关系、查询表和视图表。
1.4 码
设
K
K
K为
R
<
U
,
F
>
R<U,F>
R<U,F>中的属性或属性组合,若
K
→
F
U
K\xrightarrow[]{F}U
KFU,则
K
K
K为
R
R
R的候选码。
U
U
U是完全依赖于
K
K
K的,而不是部份依赖。如果
U
U
U部份依赖于
K
K
K,即
K
→
P
U
K\xrightarrow[]{P}U
KPU,则
K
K
K称为超码。候选码是最小的超码,即
K
K
K的任意一个真子集都不是候选码。包含在任何一个候选码中的属性称为主属性。
示例:根据已知的F,求一个关系模式R的候选码
已知关系模式R<U,F>
U = {A,B,C,D,E,F,G}
F = {AC->B,CB->D,A->BE,E->GC}
求R的候选码
候选码为A。
2 关系模式
关系的描述称为关系模式。表示为 R ( U , D , D O M , F ) R(U,D,DOM,F) R(U,D,DOM,F)。其中R为关系名,U为组成该关系的属性名集合,D为U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系(主要是函数依赖和多值依赖,然后按属性间的依赖情况来区分关系规范化程度为1NF等)。