Presentation is loading. Please wait.

Presentation is loading. Please wait.

第2章 关系数据库基础 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社

Similar presentations


Presentation on theme: "第2章 关系数据库基础 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社"— Presentation transcript:

1 第2章 关系数据库基础 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社
高校计算机,电气与信息 管理与商务类规划教材 上海市精品课程 上海优秀教材奖主编 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 副主编 俞小怡 沈学东 连志刚 编著 陈国秦 万程 邢一鸣 科学出版社 第2章 关系数据库基础

2 目 录 1 2 3 4 5 6 2.1 关系模型概述 2.2 关系模型的完整性 *2.5实验二SQL Server2014安装登录及界面
目 录 2.1 关系模型概述 1 2.2 关系模型的完整性 2 2.3 常用的关系运算 3 * 2.4 关系演算与查询优化 4 *2.5实验二SQL Server2014安装登录及界面 5 2.6 本章小结 6

3 第2章 关系数据库基础 教学目标 ● 掌握关系模型及关系数据库的基本概念 ● 掌握关系模型的完整性规则及用法
● 熟练掌握常用的关系运算及其应用 *● 了解关系演算和查询优化基本过程 ● 掌握SQL Server2014安装登录和操作界面实验 重点 重点

4 2.1 关系模型概述 2.1.1 关系模型有关概念 复习 1. 关系及关系模型常用概念 上海市高校精品课程 上海优秀教材奖主编
2.1 关系模型概述 上海市高校精品课程 上海优秀教材奖主编 复习 2.1.1 关系模型有关概念 1. 关系及关系模型常用概念 (1)关系。是满足某种条件的二维表。各关系都有一个关系名。 (2)属性、元组和关系。在关系模型中,二维表(关系)的列称为属性。每个属性对应表中一个字段(数据项),属性名对应字段名,属性值对应于各行的字段值。二维表的行称为元组(也称记录)。元组的集合称为关系或实例。 (3)域。是一组相同数据类型的属性值的集合。在关系中用域表示属性的取值范围.属性A的域用DOM(A)表示,域中所包含的值的个数称为域的基数(用m表示).每一个属性对应一个域,不同的属性可对应于同一域。 【案例2-2】已知下述三个域,确定其基数: D1={1,2,3,4,5,6…….}表示自然数集合 D2={李宝清,陈江海,张晓,薛敬文}表示姓名集合 D3={男,女}表示性别集合 其中,D1的基数为无穷,D2的基数为4,D3的基数为2。 (4)关系模型。是指以二维表结构表示的实体集(关系),用键(可唯一标识元组的属性或属性组)表示实体间联系的的数据模型。 关系模型组成的三要素:关系数据结构、关系操作集合和关系完整性约束。 关系数据库系统是以关系模型为基础而构建的数据库系统,支持关系模型。 属性(字段) 元组(记录)

5 2.1 关系模型概述 2.1.1 关系模型有关概念 【案例2-3 企业网站的客户信息表(关系)如表2-1所示。
2.1 关系模型概述 上海市高校精品课程 上海优秀教材奖主编 2.1.1 关系模型有关概念 关系(表)中属性个数(列数)称为“元数”(Arity),元组个数(行数)为“基数”。表2-1的关系元数为5,基数为4。 【案例2-3 企业网站的客户信息表(关系)如表2-1所示。 表2-1 客户信息表 属性(字段) 元组(记录)

6 2.1.1 关系模型有关概念 2.键、主键和外键 键(Key)(关键码(字)):可以唯一标识元组(记录)的属性(组)。
上海市高校精品课程 上海优秀教材奖主编 2.键、主键和外键 键(Key)(关键码(字)):可以唯一标识元组(记录)的属性(组)。 在实际使用中,有4种键: ①超键(Super Key):在关系中能唯一标识元组的属性(组)又称为关系的超键.如学号、课程号、工号、电话号等。 ②候选键(Candidate Key):不含多余属性的超键. ③主键(Primary Key):在候选键中选定一个作为键,称为该关系的主关键字称为主键。一般如不加说明,键是指主键。 ④外键(Foreign Key):如果在模式R中包含有另一个关系S的主键所对应的属性组K,则称K为R的外键.如(学号,课程号)。 (学号, 课程号,课程名) (产品编号,产品名称) (学号) (产品编号)

7 2.1.2 关系的类型和性质 关系是一个元数为K(K>=1)的元组集合。 关系有3种类型:基本表(基本关系常称表)、查询表和视图表.
关系的类型和性质 上海市高校精品课程 上海优秀教材奖主编 关系是一个元数为K(K>=1)的元组集合。 关系有3种类型:基本表(基本关系常称表)、查询表和视图表. (1)基本表实际存在的表,存储数据的逻辑表示。 (2)查询表是查询结果对应的表。 (3)视图表由表/其他视图表导出的表,虚表. 不对应实际存储数据。 基本关系具有六条性质: (1)同一属性的数据是同质的(Homogeneous), 每列值为同类数据,且来自同域.(同列同类同域) (2)关系中每个属性值都不可分解,即每个分量都是不可分的数据项。 (3)同一关系的属性(列)名不能重复,即不同列可出自同一个域,称其中的每列为一个属性,不同的属性要给予不同的属性名(任意两列不能相同)。 (4)任意两个元组(记录)不能完全相同。 (5)列的顺序无所谓,即列的次序可以任意交换。 (6)行的顺序无所谓,即行的次序可以任意交换。

8 表达式中使用的按名称引用,可使一实体依赖于另一实体
2.1.3 关系模式的表示 上海市高校精品课程 上海优秀教材奖主编 关系的描述称为关系模式(Relation Schema).可以形式化地表示为: R(U, D, dom, F) 如客户(U,A,B,购物) 其中R为关系名,U为组成该关系的属性名集合, D为属性组U中属性的域,dom为属性向域的映像集合,F为属性间数据的依赖关系集合。如同函数关系G(x,y,z) 。 关系模式通常可简记为R(U)或 R(A1, A2, … , An). 其中 ,R为关系名, A1, A2, … , An为属性名集.而域名及属性向域的映象通常直接说明为属性(数据)类型、宽度、小数位数等. 例如学生关系Stu可以表示为: Stu(Snum, Sname, Ssex, Sage, Sclass) 注册日期 时间范围 注册顺序 表达式中使用的按名称引用,可使一实体依赖于另一实体

9 上海市高校精品课程 上海优秀教材奖主编 2.1.4 ER图转换为关系模型的方法 实体类型转换规则:将每个实体类型转换成一个关系模式,实体的属性就是关系的属性,实体的标识符就是关系的键。 二元联系类型的转换规则: ① 若实体间联系是1:1,可在两个实体类型转换成 的两个关系模式中,将任意一个属性中加入另一个 关系模式的键和联系类型的属性。 ② 若实体间联系是1:N,则在N端实体类型转换的关系模式中,加入1端实体类型的键和联系类型的属性。 ③ 若实体间联系是M:N,则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。 客观事物 (现实世界) 实体 E-R模型 信息世界 关系模式 机械世界

10 2.1.4 ER图转换为关系模型的方法 上海市高校精品课程 上海优秀教材奖主编 对二元联系的1:1、1:N和M:N三种情况分别举例。
1.一对一联系的转换 【案例2-3】将联系与任意端实体所对应的关系模式合并,并加入另一端实体的主键和联系本身的属性,其关系模式如下: 客户(客户ID,客户名称,类别,注册日期,状态,预存费余额) 联系人(联系人ID,身份证号码,姓名,职务,地址,通信方式) 对应的关系模式为: Customer(CID,CName,RID,CPassword,CRegistrationDate,CType,CStatus, 表1 CAccountBalance),PK(主键):CID;FK(外键):RID Relation(RID,RName,RIndentityNo,RDuty,RAddress,RContactinfo),PK:RID 表2 客户ID 客户名称 类别 注册日期 联系人ID 状态 预存费金额 联系人ID(RID) 企业-经理 客户ID (CID)

11 2.1.4 ER模型向关系模型的转换 由于客户与产品之间存在的购买联系没有属性,所以使用方法一, 将购买联系与产品合并,转换成一个关系模式:
上海市高校精品课程 上海优秀教材奖主编 2.一对多联系的转换 方法一:将联系与多的一端实体所对应的关系模式合并,加入一的那端实体的主键和联系的属性。 方法二:联系可独立转换成一个关系模式,其属性包括联系自身的属性以及相连的两端实体的主键。 例2-4】客户实体与产品(产品号码,产品名称,购买日期,安装地址,单价)实体存在一对多的购买联系,将其转换为关系模式,其关系模式的设计如下: 由于客户与产品之间存在的购买联系没有属性,所以使用方法一, 将购买联系与产品合并,转换成一个关系模式: Customer(CID,CName,RID,CPassword,CRegistrationDate, CType, CStatus, CAccountBalance),PK:CID;FK:RID EProduct(ENo,EName,CID,EJoinDate,EAddress, EUnivalence), PK:Eno;FK:CID 客户ID

12 2.1.4 ER图转换为关系模型的方法 2)一对多联系的转换方法
上海市高校精品课程 上海优秀教材奖主编 2.1.4 ER图转换为关系模型的方法 2)一对多联系的转换方法 案例2-5】客户实体与产品(产品号码,产品名称,购买日期,安装地址,单价)实体存在一对多的支付联系,支付联系(支付时间,付款方式,对应帐号),将客户、产品和支付联系转换为关系模式。 由于客户与产品之间的支付联系存在属性,所以采用方法二,将支付联系独立转换成一个关系模式: Customer(CID, CName, RID, CPassword, CRegistrationDate, CType, CStatus,CAccountBalance),PK:CID;FK:RID Payment (CID,ENo,PayDate,PaymentWay,PayAccountNo), PK:CID,Eno;FK:CID和Eno EProduct2(ENo,Ename,EJoinDate,EAddress,EUnivalence), PK:Eno 客户 支付 产品

13 2.1.4 ER图转换为关系模型的方法 3)多对多联系的转换
上海市高校精品课程 上海优秀教材奖主编 2.1.4 ER图转换为关系模型的方法 3)多对多联系的转换 案例2-6】产品实体与附加服务(附加服务ID,附加服务名称,附加服务收费)实体存在多对多的联系,由主产品绑定开通附加服务项目,开通联系有开通时间属性。现将其转换为关系模式。 EProduct(ENo,EName,CID,EJoinDate,EAddress,Eunivalence), PK:Eno;FK:CID StartAdditionalService(ENo,ASID,SATime),PK:ENo,ASID; FK:ENo和ASID AdditionalService(ASID,ASitem,ASPrice),PK:ASID 开通联系 讨论思考 讨论思考 (1)什么是关系模式?形式化表示是什么? (2)关系应该具有哪些性质? (3)ER模型如何向关系模型转换?

14 2.2关系模型的完整性 2.2.1 实体完整性规则 2.2.2 参照完整性概述 上海市高校精品课程 上海优秀教材奖主编
关系模型的完整性规则是对关系的某种约束条件. 3类完整性约束:实体完整性、参照完整性和用户定义的完整性。 2.2.1 实体完整性规则 (1)实体完整性(Entity Integrity). 主要用于保证操作的数据(记录)非空、唯一且不重复。即实体完整性要求每个关系(表)有且仅有一个主键,每个主键值必须唯一,而且不允许为“空”(NULL)或重复。 (2)实体完整性规则要求。若属性A是基本关系R的主属性,则属性A不能取空值,即主属性不可为空值。 2.2.2 参照完整性概述 通常,在客观现实中的实体之间存在一定联系,在关系模型中实体及实体间的联系都是以关系进行描述,因此,操作时就可能存在着关系及其之间的关联和引用。 在关系数据库中,关系之间的联系是通过公共属性实现的。这个公共属性经常是一个表的主键,同时是另一表的外键。

15 2.2关系模型的完整性 上海市高校精品课程 上海优秀教材奖主编 参照完整性规则(Referential Integrity)要求:若属性组F是关系模式R1的主键,同时F 也是关系模式R2的外键,则在R2的关系中,F 的取值只允许两种可能:空值或等于R1关系中某个主键值.R1称为被参照关系模式,R2称为参照关系模式。 关系模型可以表示为: Customer(CID,CName,RID,CPassword,CRegistrationDate,CType, CStatus,CAccountBalance),PK(主键):CID;FK(外键):RID Relation(RID, RName, RIndentityNo, RDuty, RAddress, RContactinfo), PK:RID 【注意】在实际应用中,外键不一定与对应的主键同名.在关系模式中,外键可用下划曲线标出。 联系人

16 2.2关系模型的完整性 上海市高校精品课程 上海优秀教材奖主编 2.2.3 用户定义完整性规则   用户定义完整性规则(User-defined integrity)也称域完整性规则。是对数据表中字段属性的约束,包括字段的值域、类型和有效规则(如小数位数)等约束,是由确定关系结构时所定义的字段的属性决定的。 例如,性别=“男”(或“女”),百分制成绩的取值范围在0~100之间等,都是针对具体关系提出的完整性约束。 讨论思考 (1)关系模型中有哪三类完整性约束? (2)关系为什么应该满足实体完整性规则和参照完整性规则? (3)举例说明用户定义的完整性规则。

17 2.3 常用的关系运算 2.3.1 关系运算种类及运算符 关系代数的运算对象及结果都是关系。 1.关系运算的种类
上海市高校精品课程 上海优秀教材奖主编 2.3.1 关系运算种类及运算符 关系代数的运算对象及结果都是关系。 1.关系运算的种类 关系代数的运算分为两类:传统集合运算和专门关系运算。 (1)传统的集合运算 从集合的定义出发,把关系看成元组(记录)的集合,其运算是从关系的行的角度进行的(“集合运算”)。 (2)专门的关系运算 不仅涉及关系的行,也涉及关系的列。比较运算符和逻辑运算符用于辅助专门的关系运算符的操作。

18 2.3.1关系运算种类及运算符 2.3.2 传统的关系运算 2.关系运算的运算符 关系代数所使用的运算符有4类: 上海市高校精品课程
上海优秀教材奖主编 2.关系运算的运算符 关系代数所使用的运算符有4类: (1)集合运算符:∪(并),—(差),∩(交),×(广义笛卡儿积)。 (2)专门的关系运算符:σ(选择),π(投影), (连接),÷(除) (3)比较(算数)运算符:>(大于),≥(大于等于),<(小于), ≤(小于等于),=(等于),≠(不等于) (4)逻辑运算符:(非),∧(与),∨(或)。 2.3.2 传统的关系运算 传统的集合运算是二目运算,包括并、差、交、广义笛卡尔积四种运算. 1)并(Union) 设关系R和关系S具有相同元数n(两个关系的属性个数均为n),且相应的属性取自同一个域,则关系R和关系S的并由属于R或属于S的元组组成。其结果关系的元数仍为n。记为R∪S。形式定义为: R∪S = { t |t∈R ∨t∈S } 其中,t是元组变量。R∪S的结果是R中元组和S中元组合并在一起构成的一个新关系,并运算的结果要消除重复的元组。 并异去余

19 2.3.2传统的关系运算 上海市高校精品课程 上海优秀教材奖主编 案例2-2】已知关系R和关系S如表2-2所示,求关系R和关系S的并集。

20 R-S = { t | t∈R ∧t S } t是元组变量
2.3.2传统的关系运算 上海市高校精品课程 上海优秀教材奖主编 2. 差(Difference) 设关系R和关系S具有相同的元数n,即两个关系的属性个数均为n,且相应的属性取自同一个域,则关系R和关系S的差由属于R但不属于S的所有元组组成。其结果关系的元数仍为n。记为R-S。形式定义如下: R-S = { t | t∈R ∧t S } t是元组变量 案例2-3】 有关系R和关系S如表2-2所示,求关系R和关系S的差集。关系R和关系S的差运算结果如表2-4所示。 前同后去 表2-4 差运算结果 学号 姓名 年龄 0701 李平 19 0803 李春 20

21 2.3.2传统的关系运算 3. 交( Intersection)
上海市高校精品课程 上海优秀教材奖主编 3. 交( Intersection) 设关系R和关系S具有相同的元数n,即两个关系的属性个数均为n,且相应的属性取自同一个域,则关系R和关系S的交由既属于R又属于S的元组组成. 其结果关系的元数仍为n.记为R∩S. 形式定义: R∩S = { t | t∈R ∧t∈S } 关系的交也可用差表示,即R∩S =R-(R-S)。 例2-4】 已知关系R和关系S如表2-2所示,求关系R和关系S的交集。关系R和关系S的交运算结果如表2-5所示。 同存共有 表2-5 交运算结果 学号 姓名 年龄 0603 张全 21

22 R×S≡{t︱t=<t r, t s>∧t r∈R∧t s∈S }
2.3.2传统的关系运算 上海市高校精品课程 上海优秀教材奖主编 4. 广义笛卡尔积(Extended Cartesian Product) 设关系R和关系S的元数分别为r和s。定义R和S的笛卡儿积R×S是一个(r+s)元的元组集合,每个元组的前r个分量(属性值)来自R的一个元组,后s个分量是S的一个元组,记为R×S.形式定义如下: R×S≡{t︱t=<t r, t s>∧t r∈R∧t s∈S } 其中,t r、t s中r、s为上标,分别表示有r个分量和s个分量,若R有n个元组,S有m个元组,则R×S有n×m个元组。 (【案例2-12】见下页) 前抄后列

23 2.3.2传统的关系运算 上海市高校精品课程 上海优秀教材奖主编 案例2-5】已知两个关系R和S如表2-6所示,求关系R和关系S的广义笛卡尔积.关系R和关系S的广义笛卡尔积结果如表2-7所示 表2-6 关系R和关系S 学号 姓名 年龄 0701 李平 19 0603 张全 21 0803 李春 20 学号 课程号 成绩 0701 C001 90 0603 C002 78 表2-7广义笛卡尔积结果 R.学号 姓名 年龄 S.学号 课程号 成绩 0701 李平 19 C001 90 0603 C002 78 张全 21 0803 李春 20

24 σF(R)= { t | t ∈ R ∧ F(t)=true}
2.3.3专门的关系运算 上海市高校精品课程 上海优秀教材奖主编 专门的关系运算包括4个:选择、投影、连接、除等。 1. 选择( Selection) 选择运算是在关系中选择符合给定条件的元组(行),即对二维表进行水平分割,记为σF(R)。为选择运算符,F表示选择条件,是一个逻辑表达式。F的形式是由逻辑运算符┐,∧,∨连接各算术表达式组成。算术表达式的基本形式为: XθY , 如 价格≤ 38 其中X,Y既可以是常量(非数值型需用引号括上),也可以是元组分量即属性名或列的序号,也可以是简单函数。θ表示比较运算符,可以是>,≥,<,≤,=或≠。如工龄≥20(对于字符型表达式,如 性别=“男” )。 选择运算的形式定义如下: σF(R)= { t | t ∈ R ∧ F(t)=true} F(R)表示从R中挑(筛)选满足条件F的元组所构成的关系。 看列选行 (比较运算符)

25 2.3.3专门的关系运算 案例2-6】设有一个如表2-8所示的商品关系。查询上海生产的商品信息。 σ产地=’上海’(商品)
上海市高校精品课程 上海优秀教材奖主编 案例2-6】设有一个如表2-8所示的商品关系。查询上海生产的商品信息。 表2-8 商品关系 σ产地=’上海’(商品) 或σ3 = ’上海’(商品) 【注意】其中下角标“3”为产地的属性序号。 属性序号3 商品编号 商品名 产地 价格 等级 K001 手表 上海 80 一等品 K002 挂钟 杭州 20 K003 计算器 76 特等品 K004 电话 广州 127 二等品 商品编号 商品名 产地 价格 等级 K001 手表 上海 80 一等品 K003 计算器 76 特等品

26 2.3.3专门的关系运算 选择运算σ价格<‘80’ (商品)或 σ4<‘80’ (商品) 结果为:
上海市高校精品课程 上海优秀教材奖主编 查询价格小于80元的商品信息。 选择运算σ价格<‘80’ (商品)或 σ4<‘80’ (商品) 结果为: 表2-9 价格低于80元的商品信息 商品编号 商品名 产地 等级 K002 挂钟 杭州 一等品 K003 计算器 上海 特等品

27 2.3.3专门的关系运算 2. 投影( Projection)
上海市高校精品课程 上海优秀教材奖主编 2. 投影( Projection) 投影运算是在一个关系中选取某些列,并重新安排列的顺序,再删去重复元组,即对二维表进行垂直分割.记作:πA(R).其中, π为投影运算符,A为R中的属性列。 投影运算的形式定义如下: πA(R)= { t[A] | t∈R } 【注意】投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消某些属性列后,就可能出现重复行,应取消这些完全相同的行。 看R定列

28 2.3.3专门的关系运算 【案例2-8】已知商品关系如前面表2-8所示,查询商品的产地.
上海市高校精品课程 上海优秀教材奖主编 【案例2-8】已知商品关系如前面表2-8所示,查询商品的产地. 产地(商品) 表2-10投影运算结果 表2-11投影商品名和价格 或 3(商品) 结果如表2-9所示。 【注意】由于投影的结果消除了重复元组,所以,结果只有3个元组。 产地 上海 杭州 广州 商品名 价格 手表 80 挂钟 20 计算器 76 电话 127

29 2.3.3专门的关系运算 3. 连接(Join) 连接运算是从两个关系的笛卡尔积中,选择两个关系的属性满足一定条件的元组。记作:
上海市高校精品课程 上海优秀教材奖主编 3. 连接(Join) 连接运算是从两个关系的笛卡尔积中,选择两个关系的属性满足一定条件的元组。记作: 其中i和j分别是关系R和S中的第i个、第j个属性.θ是比较运算符。r是关系R的元数。该式表示连接运算是在关系R和S的笛卡儿积中挑选第i个分量和第(r+j)个分量满足运算的元组。 如果为等号“=”,那么这个连接操作称为等值连接。 自然连接是一种特殊的等值连接。要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。 积行去余

30 2.3.3专门的关系运算 上海市高校精品课程 上海优秀教材奖主编 已知商品关系如前面表2-8所示,查询商品的名称和价格。投影运算商品名,价格(商品) 或 2,4(商品) 的结果,如表2-12所示。 表2-12 投影商品名和价格运算结果 商品名 价格 手表 80 挂钟 20 计算器 76 电话 127

31 2.3.3专门的关系运算 上海市高校精品课程 上海优秀教材奖主编 表2-11广义笛卡尔积结果 R.A B C S.A D E a1 4 11
表2-10关系R和关系S 表2-11广义笛卡尔积结果 R.A B C S.A D E a1 4 11 a3 9 23 a2 3 78 6 34 8 20 (a)关系R (b)关系S A B C a1 4 11 a2 6 34 a3 8 20 A D E a3 9 23 a2 3 78

32 2.3.3专门的关系运算 R.A B C S.A D E a2 6 34 3 78 a3 8 20 9 23 R.A B C D E a2
上海市高校精品课程 上海优秀教材奖主编 R.A B C S.A D E a2 6 34 3 78 a3 8 20 9 23 R.A B C D E a2 6 34 3 78 a3 8 20 9 23 【注意】自然连接与等值连接的区别是: 1.自然连接要求两个关系中进行比较的属性或属性组必须同名和相同值域,而等值连接只要求比较属性有相同的值域。 2.自然连接的结果中,同名的属性只保留一个。

33 2.3.3专门的关系运算 上海市高校精品课程 上海优秀教材奖主编 4. 除(Division) 给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是 R中满足下列条件的元组在 X属性列上的投影:元组在X上分量值x的像集Yx包含S在Y上投影的集合。记作: 其中Yx为x在R中的像集, x = tr[X]。 除操作是同时从行和列角度进行运算。 分 投影 分组对应

34 2.3.3专门的关系运算 R÷S的具体计算过程如下:
上海市高校精品课程 上海优秀教材奖主编 R÷S的具体计算过程如下: (1)将被除关系(前者)的属性(列)分为像集属性和结果属性两部分,与除关系相同的属性属于像集属性,不相同的属性属于结果属性。 (2)在除关系(后者)中,在与被除关系相同的属性(像集属性)上进行投影,得到除目标数据集。 (3)将被除关系分组,把结果属性值相同的元组分为一组。 (4)观察每个组,如果它的像集属性值中包括除目标数据集,则对应的结果属性值应属于该除法运算结果集。 【注意】:结果应当去掉与除关系(后者)相同的元组(记录)。 分 投影 分组对应 *【法2】投影差选: T =∏1,2, …,r-s(R); W=(TXS)-R; V= ∏1,2, …,r-s(W); R÷S=T-V.

35 2.3.3专门的关系运算 【案例2-11】设关系订购和零件数据如表2-15和表2-16所示,求定购÷零件。 零件号 零件名 颜色 b1 螺母
上海市高校精品课程 上海优秀教材奖主编 【案例2-11】设关系订购和零件数据如表2-15和表2-16所示,求定购÷零件。 表2-15 订购关系 表2-16零件关系 零件号 零件名 颜色 b1 螺母 红色 b2 螺钉 蓝色 工程号 零件号 数量 a1 b1 58 a2 43 a3 b4 678 b2 65 a4 b6 (b1,b2) 除目标数据集 (a1,58),(a2,43)(a3,678)(a1,65)(a4,65) 表2-17 定购÷零件结果 工程号 数量 a1 58 a2 43 像集属性 结果属性 像集属性

36 2.3.3专门的关系运算 下面给出几个关系代数综合运算的例子。
上海市高校精品课程 上海优秀教材奖主编 下面给出几个关系代数综合运算的例子。 设有商品销售数据库,包括商品关系、售货员关系和售货关系。3个关系的关系模式如下: 商品(商品编号,商品名,产地,价格,等级); 售货员(售货员编号,姓名,性别,年龄); 售货(商品编号,售货员编号,数量)。 商品编号 商品名 产地 价格 等级 K001 手表 上海 80 一等品 K002 挂钟 杭州 20 K003 计算器 76 特等品 K004 电话 广州 127 二等品

37 讨论思考 讨论思考 (1)做交、并、差运算的两个关系必须满足什么条件? (2)除运算的结果表示什么含义?
上海市高校精品课程 上海优秀教材奖主编 讨论思考 (1)做交、并、差运算的两个关系必须满足什么条件? (2)除运算的结果表示什么含义? (3)自然连接与等值连接有什么区别?

38 *2.4 关系演算与查询优化 *2.4.1 关系演算概述 1.元组关系演算
*2.4 关系演算与查询优化 上海市高校精品课程 上海优秀教材奖主编 *2.4.1 关系演算概述 元组关系演算 在元组关系演算(Tuple Relational Calculus)中,元组关系演算表达式的一般形式为: 其中, 为元组变量,表示一个元数固定的元组,是以元组变量为基础的公式。该表达式的含义是使为真的元组的集合。 原子公式(Atoms)有三种形式: (1) 。 (2) 。 (3) 或者 。

39 2.4.1 关系演算概述 关系演算公式(Formula)的递归定义如下: (1)每个原子公式是公式;

40 2.4.1 关系演算概述 2.域关系演算 域关系演算(Domain Relational Calculus)与元组关系演算相似,元组关系演算中表达式使用的是元组变量,元组变量的变化范围是一个关系,域关系演算表达式中以属性列为变量,即域变量,域变量的变化范围是某个属性的值域。 域关系演算的原子公式有两种形式: (1) (2) 域关系演算表达式的一般形式是:

41 *2.4.2查询优化常用规则及算法 1. 关系代数等价变换规则
关系代数是各种数据库查询语言的基础,各种查询语言都能够转换成关系代数表达式。所以关系代数表达式的优化是查询优化的基本方法。两个关系代数表达式等价是指用同样的关系实例代替两个表达式中相应的关系时所得到的结果是一致的。两个关系表达式E1和E2等价时,可表示为:E1≡E2。 等价变换规则指出两种不同形式的表达式是等价的,可以利用第二种形式的表达式代替第一种,或者用第一种形式的表达式代替第二种。这是因为这两种表达式在任何有效的数据库中将产生相同的结果。

42 *2.4.2查询优化常用规则及算法 常用的等价变换规则有: 1)笛卡尔积和连接的等价交换律
设E1和E2是两个关系代数表达式,F是连接运算的条件,则: 2)笛卡尔积和连接的结合律 设E1、E2和E3是三个关系代数表达式,F1和F2是两个连接运算的限制条件,F1只涉及到E1和E2的属性,F2只涉及到E2和E3的属性,则:

43 *2.4.2查询优化常用规则及算法 3)投影的串联 设E是一个关系代数表达式,L1,L2,…,Ln是属性名,则: 4)选择的串联
设E是一个关系代数表达式,F1和F2是两个选择条件,则: 5)选择和投影的交换 设E为一个关系代数表达式,选择条件F只涉及L中的属性,则:

44 *2.4.2查询优化常用规则及算法 6)选择对笛卡尔积的分配律 设E1和E2 是两个关系代数表达式,若条件F只涉及E1的属性,则:
7)选择对并的分配律 设E1和E2有相同的属性名,或者E1和E2表达的关系的属性有对应性,则: 8)选择对差的分配律

45 *2.4.2查询优化常用规则及算法 9)投影对并的分配律 设E1和E2有相同的属性名,或者E1和E2表达的关系的属性有对应性,则:
10)投影对笛卡尔积的分配律 设E1和E2是两个关系代数表达式,L1是E1的属性集,L2是E2的属性集,则:

46 *2.4.2查询优化常用规则及算法 算法:关系代数表达式的优化。 输入:一个关系代数表达式的语法树。 输出:计算表达式的一个优化序列。
方法: (1)利用等价变换规则4把形如 变换为 (2)对每一个选择,利用等价变换4-8尽可能把它移到叶端。 (3)对每一个投影利用等价变换规则3,5,10中的一般形式尽可能把它移向树的叶端。 (4)利用等价变换规则3-5把选择和投影的串接合并成单个选择、单个投影或一个选择后跟一个投影。使多个选择或投影能同时执行,或在一次扫描中全部完成。 (5)把上述得到的语法树的内节点分组。每一个二元运算和它所有的直接祖先为一组。如果其后代直到叶子全是一元运算,则也将它们并入该组,但当二元运算是笛卡尔积,而且后面不是与它组成等值连接的选择时,则不能把选择与这个二元运算组成同一组.而是把这些一元运算单独分为一组.

47 *2.4.2查询优化常用规则及算法 讨论思考: (1)什么是关系演算?在关系演算公式中,各种运算符的优先级次序是什么?
(2)域关系演算和元组关系演算有什么区别和联系? (3)为什么要进行查询优化?什么是等价变换规则? (4)举例说明关系表达式的优化过程。

48 2.5 实验二 SQL Server 2014安装登录及界面 2.5.1 实验目的
实验内容及步骤 1.SQL Server 2014的安装与升级 (1)安装过程。 (2)SQL Server 2014的升级。 2.SQL Server 2014服务器配置和登录 (1)安装SQL Server 2014前的设置。 (2)SQL Server 2014服务器配置。

49 2.5 实验二 SQL Server 2014安装登录及界面 在进行安装所需要的硬件及软件要求、存储空间、操作系统等项配置完成后,在“服务器配置”选项中选择一种“身份验证模式”,如选择“Windows身份验证模式”或“混合模式(SQL Server身份验证和Windows身份验证),系统默认为前一种模式。然后,系统要求必须设置一个SQL Server系统管理员,系统默认管理员是sa。设置完后,进入“服务器配置”界面如图2-5所示。 图2-5 服务器配置 图2-6 数据库引擎配置 在图2-5中标记的功能,是SQL Server 2014新增功能。单击“下一步”后进入“数据库引擎配置”如图2-6所示。最后,还需要“添加SQL Server管理员名称”并“选择用户或组”。

50 2.5 实验二 SQL Server 2014安装登录及界面 3.SQL Server 2014登录和SSMS界面
在SQL Server 2014安装完成后,可以在“开始”及“程序”上拉菜单中,找到常用的SSMS(SQL Server Management Studio),进行启动登录和使用。在“开始”菜单启动SSMS界面如图2-7所示。当登录时,可以选Windows验证,也可以使用sa帐号,以及用户之前安装时设置的密码进行登录,如图2-8所示。 图2-7在“开始”菜单启动SSMS 图2-8 通过验证进行系统登录

51 2.5 实验二 SQL Server 2014安装登录及界面 (2)SQL Server 2014的SSMS界面
登录成功后,启动SQL的主要管理工具SSMS(SQL Server Management Studio),为一个集成的可视化管理环境,用于访问、配置、控制和管理所有SQL Server组件。SSMS主界面包括“菜单栏”、“标准工具栏”、“SQL编辑器工具栏”“已注册的服务器”和“对象资源管理器”等操作区域,并出现有关的系统数据库等资源信息。还可在“文档窗口”输入SQL命令并单击“!执行(X)”进行运行,如图2-9所示。 图2-9 SSMS的窗体布局及操作界面

52 2.6 本章小 结 上海市高校精品课程 上海优秀教材奖主编 本章系统介绍关系数据库系统的基本原理、基本理论和基本知识,包括关系模型、关系完整性约束、关系代数、关系演算和查询优化。通过本章的学习,应该理解关系模型的数据结构和关系的完整性规则;掌握关系代数,学会用关系代数进行各种查询操作;了解两种关系演算语言;理解关系代数等价变换规则和查询优化算法。 最后,通过同步实验概要地介绍了SQL Server 2014的安装或升级方法及具体操作过程,SQL Server 2014服务器配置和登录方法,以及SQL Server 2014的常用操作界面、各种菜单和主要的操作区域及使用方法等

53 数据库原理及应用 诚挚谢意! 数据库原理应用与实践


Download ppt "第2章 关系数据库基础 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社"

Similar presentations


Ads by Google