文档详情

关系数据库-武汉大学精品课程.PPT

发布:2018-06-04约1.24万字共43页下载文档
文本预览下载声明
第2章 关系数据库 2.1 关系模型 1.关系模型的特点及组成 特点: 结构简单,表达力强 语言的一体化 非过程化的操作 坚实的数学基础 操作效率较低 组成: 关系数据结构 关系数据操作 关系完整性约束 关系DB系统 是支持关系模型的DB系统 2.1 关系模型 2、关系数据结构 1)域: 是一组具有相同数据类型的值的集合。 2)笛卡尔积 给定一组域 D1,…,Dn (可有相同的域)。其笛卡尔积为: DlXD2X…XDn={(d1,d2,…,dn)| di∈Di,i=1,2…,n} 2.1 关系模型 3)关系 笛卡尔积的有限子集 称作对应域上的关系。 关系:是元组的集合。 R(D1,D2, …,Dn) R是n元(目)关系 4)术语: 候选键 主键、主属性 非主属性 外键(外来关键字) 外键提供了一种表示两个关系联系的方法。 S(Sno,Cardno,Sname,Sage…) SC(Sno,Cno,Grade) 2.1 关系模型 5)关系的性质: (1)每列的值为同一类型。 (2)每列具有不同的属性名 (3)任意两元组不能完全相同。 (4)行的次序可以互换。 (5)列的次序可以互换。 (6)分量值是原子的。 2.1 关系模型 6)关系模式与关系数据库 关系模式:是关系结构的描述和定义,即二维表的表结构定义。 关系实质上是一张二维表。 因此,关系模式必须指出表的结构,即它由哪些属性构成,这些属性来自哪些域,以及属性与域之间的对应关系。 关系模式简记为关系的属性名表: R(U) =R(A1 ,A2,A3,….An) 例:学生(学号,姓名,总成绩) 关系数据库: 对应关系模型的一个应用领域的全部关系的集合。 联系? 2.1 关系模型 3. 关系模型的数据操作 关系模型中常用的关系数据操作有四种: (1)数据查询。基本操作有:关系属性的指定;关系元组的选择;两个关系的合并。 (2)数据插入。在关系内插入一些新元组。 (3)数据删除。在关系内删除一些元组。 (4)数据修改。修改关系元组的内容。可分解为:先删除要改的元组,再插入新元组。 关系数据操作是一种集合式操作。复杂的关系数据操作可通过基本的关系数据运算获得。此外,还需要有关系的操作规则及具体的关系数据语言来实现这些操作。 关系数据语言可分为研究用的抽象语言和可使用的实现语言。关系数据语言大体分成三类,如表2-3。 2.1 关系模型 4. 关系的完整性 三类完整性约束: 实体完整性 参照完整性 用户定义的完整性 说明: (1)该规则是对基本关系的约束和限定。 (2)实体有唯一性标识—主键。 (3)主键上的属性不能取空值。 2.1 关系模型 2)参照完整性 引用关系: 关系中的某属性的值需要参照另一关系的属性来取值。 例1:学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名) 例2: 学生(学号,姓名,性别,专业号,年龄,合作者号) 2.1 关系模型 设:基本关系R、S(可为同一关系)。 若F是R的一个(组)属性,但不是R的键。 如果F与S的主键K相对应,则称F是R的外键。 例:学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名) 2.1 关系模型 参照完整性规则 若属性(组) F是R的外键它与S的主键K相对应, 则对于R中每个元组在F上的值必为下列之一: (1)取空值(F的每个属性值均为空); (2)等于S中某个元组的主键值。 例:学生(学号,专业号,姓名,….) 关系中每个元组的专业号取值: (1)空值(未知值); (2)非空值。 3)用户定义的完整性 反映具体应用所涉及的数据应满足的语义要求、约束条件。 例:学生关系中的年龄在15~45之间,选修关系中的成绩在0~100之间。 2.2 关系代数 关系数据语言分类: 1)关系代数 2)关系演算 元组关系演算 域关系演算 3)具有双重特点的语言(SQL) 共同特点是: 具完备的表达能力 是非过程化的集合操作语言 功能强 可嵌入、又可独立使用 2.2 关系代数 关系代数是一种抽象的查询语言。它以关系为运算对象,通过对关系进行“组合”或“分割”,得到所需的数据集合—关系。 分类:集合运算(并、交、差;广义笛卡尔积) 关系运算及其扩充 2.2 关系代数 集合运算示例 2.2 关系代数 4.广义笛卡尔积: 设:R、S为不同类关系,则结果为不同类关系: R×S={tr ts|(tr∈R)∧(ts ∈ S)} 2.2
显示全部
相似文档