sql关系数据库计算机,关系数据库语言SQL - 淮阴工学院计算机工程实验中 ….ppt...

关系数据库语言SQL - 淮阴工学院计算机工程实验中 ….ppt

第3章 关系数据库的基本理论 冯万利 本章重要概念 (1) 基本概念 关系数据模型,关键码(主键和外键),关系的定义和性质,三类完整性规则,ER模型到关系模型的转换规则,过程性语言与非过程性语言。 (2 ) 关系代数 五个基本操作,四个组合操作,七个扩充操作。 (3) 关系代数表达式的优化 关系代数表达式的等价及等价转换规则,启化式优化算法。 主要内容 3.1关系数据模型 3.1.1 关系模式 3.1.2 关系操作 3.2关系模型的完整性规则 3.2.1 关系的三类完整性约束 3.2.2 实体完整性 3.2.3 参照完整性 3.2.4 用户自定义完整性 3.3关系代数的基本运算 3.3.1 传统的集合运算 3.3.2 专门的关系运算 3.3.3 关系代数表达式及其应用实例 *3.4关系演算 元组关系演算 域关系演算 3.5 查询优化 3.5.1 查询优化的一般策略 3.5.2 代数表达式的等价变换规则 3.5.3 优化算法 3.1关系数据模型 3.1.1 关系模式 每个关系都有一个模式,称为关系模式(Relation Schema),由一个关系名及它的所有属性名构成。 在关系模式中,字段称为属性,字段值称为属性值,记录类型称为关系模式。在图3.1中: 关系模式名是R 记录称为元组(tuple) 元组的集合称为关系(relation)或实例(instance) 一般用前面的大写英语字母A、B、C、…表示单个属性,用后面的大写字母…、W、X、Y、Z表示属性集,用小写字母表示属性值。 数据库技术的术语 关系模型的术语 关系具有的特点 ⑴ 关系(表)可以看成是由行和列交叉组成的二维表格。它表示的是一个实体集合。 ⑵ 表中一行称为一个元组,可用来表示实体集中的一个实体。 ⑶ 表中的列称为属性,给每一列起一个名称即属性名,表中的属性名不能相同。 ⑷ 列的取值范围称为域,同列具有相同的域,不同的列可有相同的域。 例如,SEX的取值范围是{M(男),F(女)},AGE为整数域。 ⑸ 表中任意两行(元组)不能相同。能惟一标识表中不同行的属性或属性组称为主键。 关系的性质 属性值是原子的,不可分解。 没有重复元组。 没有行序。 理论上没有列序,但一般使用时都有列序。 关键码和表之间的联系 超键:在一个关系中,能惟一标识元组的属性或属性集称为关系的超键。 候选键:如果一个属性集能惟一标识元组,且又不含有多余的属性,那么这个属性集称为关系的候选键。 主键:若一个关系中有多个候选键,则选其中的一个为关系的主键。 外键:若一个关系R中包含有另一个关系S的主键所对应的属性组F,则称F为R的外键。并称关系S为参照关系,关系R为依赖关系。 关系模式举例 例如,学生关系和系部关系分别为: 学生(SNO,SNAME,SEX,AGE,SDNO) 系部(SDNO,SDNAME,CHAIR) 学生关系的主键是SNO,系部关系的主键为SDNO,在学生关系中,SDNO是它的外键。 更确切地说,SDNO是系部表的主键,将它作为外键放在学生表中,实现两个表之间的联系。 在关系数据库中,表与表之间的联系就是通过公共属性实现的。 我们约定,在主键的属性下面加下划线,在外键的属性下面加波浪线。 关系模式、关系子模式和存储模式 例3.1 下图是一个教学模型的实体联系图。实体类型“学生”的属性SNO、SNAME、SEX、AGE、SDEPT分别表示学生的学号、姓名、性别、年龄和学生所在系部;实体类型“课程”的属性CNO、CNAME、CDEPT、TNAME分别表示课程号、课程名、课程所属系和任课教师。学生用S表示,课程用C表示。S和C之间有M:N的联系(一个学生可选多门课程,一门课程可以被多个学生选修),联系类型SC的属性成绩用GRADE表示。右图表示的实体联系图(ER图)。 关系模式 该图表示的学生情况的部分转换成相应的关系模式为: S(SNO,SNAME,SEX,AGE,SDPET)关系模式S描述了学生的数据结构,它是下表中学生实体的关系模式。其中SNO,CNO为关系SC的主键,SNO、CNO又分别为关系SC的两个外键。 关系模式(9) 关系子模式 用户使用的数据不直接来自关系模式中的数据,而是从若干关系模式中抽取满足一定条件的数据构成关系子模式。关系子模式是用户所需数据结构的描述,其中包括这些数据来自哪些模式和应满足哪些条件。 例3.2 用户需要用到成绩子模式G(SNO,SNAME,CNO,GRADE)。子模式G对应的数据来源于表S和表SC,构造时应满足它们的SNO值相等。子模式G的构造过程如下图所示。 关系子模式 存储模式 描述关系是如何在物理存储

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值