1、关系模型的3个组成部分及各部分所包括的主要内容。
1、关系数据结构:描述现实世界的实体以及实体间的各种联系。只包含单一的数据结构—关系。
2、关系操作
查询操作:选择、投影、连接、除、并、差、交、笛卡尔积等。
插入、删除、修改操作。
3、关系的完整性约束
实体完整性和参照完整性:关系模型必须满足的完整性约束条件称为关系的两个不变性,应该由关系系统自动支持。
用户定义的完整性:应用领域需要遵循的约束条件,体现了具体领域中的语义约束。
2、关系数据结构的形式化定义(各术语)
域:一组具有想通数据类型的值的集合。(用D表示)域中所包含的值的个数称为域的基数(用m表示)。
例:整数、实数等。
笛卡尔积:域上面的一个集合运算。给定一组域D1,D2…Dn (可以是相同的域) D1,D2…Dn的笛卡尔积为:D1×D2×…×Dn ={(d1,d2…dn)|diDi,i=1,2,…,n}所有域的所有取值(n元有序组)的一个组合。有序组的取值不能完全重复。
元组(Tuple):笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)(张清玫,计算机专业,李勇)、(张清玫,计算机专业,刘晨)等都是元组。
分量(Component):笛卡尔积元素(d1,d2,…,dn)中的每一个值di叫作一个分量。张清玫、计算机专业、李勇、刘晨等都是分量。
基数(Cardinal number):若Di(i=1,2,…,n)为有限集, Di中的集合元素个数称为Di的基数,用mi(i=1,2,…,n)表示,则D1×D2×…×Dn的基数M (即元素
例:A={a,b} B={1,2,0}
B与A的笛卡尔积={<0,a>,<0,b>,<1,a>,<1,b>,<2,a>,<2,b>}
期中<0,a>等都是元祖,a、b、0、1、2都是分量,基数M=2*3=6,一共有六个元组。
关系:是笛卡尔积的有限子集,无限关系在数据库系统中是无意义的。D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的n元关系,表示为R(D1,D2,…,Dn)
R:关系名 n:关系的目或度(Degree)
(1)元组:关系中的每个元素是关系中的元组,通常用t表示。
(2)单元关系与二元关系:当n=1时,称该关系为单元关系(Unary relation)或一元关系;当n=2时,称该关系为二元关系(Binary relation)
(3)关系的表示:关系也是二维表,表的每行对应一个元组,表的每列对应一个域。
(4)属性:由于笛卡尔积不满足交换律,即(d1,d2,…,dn)≠(d2 , d1 ,…,dn)
但关系满足交换律,即 (d1,d2,…,di ,dj ,…, dn )=( d1,d2 ,…,dj,di ,…, dn ) (i,j = 1,2,…,n)
解决方法:为关系的每个列附加一个属性名以取消关系元组的有序性;关系中不同列可以对应相同的域;为了加以区分,必须对每列起一个名字,称为属性(Attribute);n目关系必有n个属性。
(5)码:
候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。
主属性:候选码的诸属性称为主属性,不包含在任何侯选码中的属性称为非主属性或非码属性。
超码:关系中能唯一标识元组的属性集,超码的任意超级仍是超码
候选码:任意真子集都不能成为超码的“最小”超码,即在候选码中,若要再删除属性,就不是超码了。
3、外码,主码,候选码的概念
候选码:若关系中的某一属性组的职能唯一地标识一个元组,则称该属性组为候选码。
主码:若一个关系有多个候选码,则选定期中一个为主码。
外部码:设F是基本关系R的一个或一组属性。但不是关系R的码,如果F与基本关系S的主码K想对应,则称F是基本关系R的外部码,简称外码。
4、关系的3类完整性约束概念
实体完整性:若属性(指一个或一组属性)A是基本关系R的主属性, A不能取空值。
参照完整性:若属性(或属性组)F是基本关系R的外码,它是基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。
用户定义的完整性:针对某一具体关系数据库的约束条件。反映某一具体应用所设计的数据必须满足的语义要求。
5、关系操作的特点,关系代数中的各种运算
关系操作的特点是集合操作方式,即操作的对象和结果是集合。
关系代数:
1、并(R∪S)仍为n目关系,由属于R或属于S的元组组成。R∪S = { t|t R∨t S }
2、差(R – S)仍为n目关系,由属于R而不属于S的所有元组组成。R -S = { t|tR∧tS }
3、交(R∩S)仍为n目关系,由既属于R又属于S的元组组成。R∩S = { t|t R∧t S } R∩S = R –(R-S)
4、笛卡尔积R: n目关系,k1个元组;S: m目关系,k2个元组;R×S。
5、R,tÎR,t[Ai]
设关系模式为R(A1,A2,…,An),它的一个关系设为R,tÎR表示t是R的一个元组,t[Ai]则表示元组t中相应于属性Ai的一个分量。
6、A,t[A], A
若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,则A称为属性列或属性组;t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元组t在属性列A上诸分量的集合;A则表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的属性组。
7、tr ts
R为n目关系,S为m目关系。tr ÎR,tsÎS, tr ts称为元组的连接。tr ts是一个n + m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。
8、象集Zx
给定一个关系R(X,Z),X和Z为属性组。当t[X]=x时,x在R中的象集(Images Set)为:Zx={t[Z]|t R,t[X]=x}。
它表示R中属性组X上的分量值为x的诸元组在Z上分量的集合
9、选择:选择又称为限制(Restriction)σ:对元组按照条件进行筛选。在关系R中选择满足给定条件的诸元组σF(R) = {t|tÎR∧F(t)= '真'}。
10、投影:投影运算符π的含义:从R中选择出若干属性列组成新的关系πA(R) = { t[A] | t R } A:R中的属性列
投影操作主要是从列的角度进行运算。但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)。