文档介绍:数据库系统概论关系数据库1数据科系统概论—关系数据库概述关系数据库系统是支持关系模型的数据库系统。关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。关系操作的特点是集合操作方式,关系数据语言分为三类:关系代数语言:如ISBL关系演算语言:分为元组关系演算语言(如Aplha,Quel)和域关系演算语言(如QBE)具有关系代数和关系演算双重特点的语言:如SQL2数据科系统概论—关系数据库关系数据结构及形式化定义(1)关系中几个基本概念域:一组具有相同数据类型的值的集合。值的个数称为域的基数。用D来表示。笛卡尔积:给定一组域D1,D2,…,Dn,笛卡尔积D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}其中每一个元素(d1,d2,…,dn)叫一个n元组,简称元组元组中的每个值di叫作一个分量。3数据科系统概论—关系数据库关系数据结构及形式化定义(2)例:D1=男人集合MAN={王兵,李平,张英}D2=女人集合WOMAN={丁梅,李芳}D3=儿童集合CHILD={王一,李一,李二}D1×D2×D3={(王兵,丁梅,王一),(王兵,丁梅,李一),(王兵,丁梅,李二),…}18组若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基数M为:nM=∏mii=14数据科系统概论—关系数据库关系数据结构及形式化定义(3)关系:D1×D2×…×Dn的子集叫做在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn),R为关系名,n是关系的目或度。n=1:单元关系;n=2:二元关系。n目关系必有n个属性。关系FAMILY(MAN,WOMAN,CHILD)MANWOMANCHILD王兵丁梅王一李平李芳李一李平李芳李二5数据科系统概论—关系数据库关系数据结构及形式化定义(4)注:构造关系时,不同属性可来自同一个域。如:成人PERSON={王兵,李平,张英,丁梅,李芳}CHLID={王一,李一,李二}这样就需要在模式中给以映象,说明这个属性来自某一域,如:Dom(MAN)=Dom(WOMAN)=PERSON6数据科系统概论—关系数据库关系数据结构及形式化定义(5)候选码(键)(Candidatekey):关系中的某一属性组能唯一的标识一个元组,则该属性组为候选码。主码(键)(Primarykey):若一关系有多个候选码则选其中一个为主码。主属性:主码的诸属性称为主属性。非码属性:不包含在任何候选码中的属性。STUDENT(姓名,学号,性别,出生年份,籍贯,系别,入学年份)全码:关系模式所有属性组是该关系模式的候选码SUPPLY(供应商,零件名,项目名)7数据科系统概论—关系数据库关系数据结构及形式化定义(6)关系的三种类型基本关系(基本表或基表):是实际存在的表,是实际存储数据的逻辑表示查询表:是查询结果对应的表视图表:是由基本表或其他视图表导出的表,是虚表8数据科系统概论—关系数据库关系数据结构及形式化定义(7)关系的性质列是同质的不同的列可出自同一个域列的顺序无所谓任意两个元组不能完全相同行的顺序无所谓每一个分量都必须是不可分的数据项9数据科系统概论—关系数据库关系数据结构及形式化定义(8)关系模式:关系的描述称为关系模式,形式化的表示为:R(U,D,dom,F)简记为R(U)或R(A1,A2,…,An)例:定义学生与课程关系模式及主码如下:S(Sno,Sname,SD,SA)Key(Sno)ame,Pcno)o)dom(PCno)=CnoSC(o,Grade)Key(o)10数据科系统概论—关系数据库