资源描述:
《数据库技术讲义 第2章 关系数据库》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第二章关系数据库第二章关系数据库1970年,IBM公司的E.F.Codd第一次提出了以关系的数学关系理论为基础的关系数据模型,奠定了关系数据库的理论基础。90年代,关系模型数据库系统已成为商用主流数据库系统,广泛应用于各个领域有名的关系DBMS:ORACLE、Informix、SYBASE、SQLSERVER等等2.1关系模型概述关系模型由关系数据结构、关系操作集合和完整性约束三部分组成。一、单一的数据结构——关系(二维表)关系模型中的数据结构非常单一。实体及实体间的联系都用关系表示,关系就是一张二维表。2.1
2、关系模型概述二、关系操作关系操作的能力常用关系代数表示选择(Select)投影(Project)连接(Join)除(Divide)并(Union)交(Intersection)差(Difference)关系操作方式的特点是集合操作(一次一集合)2.1关系模型概述早期的关系操作能力通常用代数方式和逻辑方式来表示,分别称为关系代数和关系演算。关系演算又可按谓词变元的基本对象是元组变量还是域变量分为元组关系演算和域关系演算。这三种语言在表达能力上是完全等价的。另外还有一种介于关系代数和关系演算之间的语言SQL(Str
3、ucturelQueryLanguage)。SQL不仅具有丰富的查询功能,而且具有数据定义和数据控制功能,是集查询、DDL、DML和DCL于一体的关系数据语言。它充分体现了关系数据语言的特点和优点,是关系数据库的标准语言。2.1关系模型概述三、完整性约束实体完整性参照完整性用户自定义完整性2.2关系数据结构及形式化定义域(Domain)一组值的集合,这组值具有相同的数据类型如整数的集合、字符串的集合、全体学生的集合笛卡尔积(CartesianProduct)一组域D1,D2,…,Dn的笛卡尔积为:D1×D2×…
4、×Dn={(d1,d2,…,dn)
5、di∈Di,i=1,…,n}笛卡尔积的每个元素(d1,d2,…,dn)称作一个n-元组(n-tuple)元组的每一个值di叫做一个分量(component)若Di的基数为mi,则笛卡尔积的基数为2.2关系数据结构及形式化定义例:设D1为教师集合(T)={t1,t2}D2为学生集合(S)={s1,s2,s3}D3为课程集合(C)={c1,c2}则D1×D2×D3是个三元组集合,元组个数为2×3×2,是所有可能的(教师,学生,课程)元组集合2.2关系数据结构及形式化定义笛卡尔积可
6、表为二维表的形式TSCt1s1c1t1s1c2t1s2c1………t2s3c22.2关系数据结构及形式化定义关系笛卡尔积D1×D2×…×Dn的子集叫做在域D1,D2,…,Dn上的关系,用R(D1,D2,…,Dn)表示R是关系的名字,n是关系的度或目关系是笛卡尔积中有意义的子集关系也可以表示为二维表关系TEACH(T,S,C)2.2关系数据结构及形式化定义TSCt1s1c1t1s1c2t1s2c1t2s3c2属性元组2.2关系数据结构及形式化定义候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该数据组为候
7、选码。若一个关系有多个候选码,则选定其中一个为主码。主码的诸属性称为主属性。不包含在任何候选码中的属性称为非码属性。关系模式的所有数据组是这个关系模式的候选码,称为全码。关系可以有三种类型:基本关系、查询表和视图表。基本表是实际窜在的表,它是实际存储数据的逻辑表示。查询表是查询结果对应的表。视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。2.2关系数据结构及形式化定义当关系作为关系数据模型的数据结构时,需要给予如下的限定和扩充:⑴无限关系在数据库系统中时无意义的。因此,限定关系数据模型中的关
8、系必须是有限集合。⑵通过为关系的每个列附加一个属性名的方法取消关系元组的有序性。2.2关系数据结构及形式化定义关系的性质列是同质的即每一列中的分量来自同一域,是同一类型的数据。不同的列可来自同一域,每列必须有不同的属性名。行列的顺序无关紧要任意两个元组不能完全相同(集合内不能有相同的两个元素)每一分量必须是不可再分的数据。满足这一条件的关系称作满足第一范式(1NF)的2.2.2关系模式关系的描述称为关系模式。它可以形式化地表示为:R(U,D,dom,F)其中R为关系名,U为组成该关系地属性名集合,D为属性组U中
9、属性所来自的域,dom为属性向域的映象集合,F为属性间数据的依赖关系集合。关系模式通常可以简记为:R(U)或R(A1,A2,…,AN)其中R为关系名,A1,A2,…,AN为属性名。而域名及属性向域的映象常常直接说明为属性的类型、长度。2.3关系的完整性关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参