电子商务的数据管理技术教学课件徐保民 第2章 关系数据库的基本理论

上传人:E**** 文档编号:94557468 上传时间:2019-08-08 格式:PPT 页数:39 大小:221.50KB
返回 下载 相关 举报
电子商务的数据管理技术教学课件徐保民 第2章 关系数据库的基本理论_第1页
第1页 / 共39页
电子商务的数据管理技术教学课件徐保民 第2章 关系数据库的基本理论_第2页
第2页 / 共39页
电子商务的数据管理技术教学课件徐保民 第2章 关系数据库的基本理论_第3页
第3页 / 共39页
电子商务的数据管理技术教学课件徐保民 第2章 关系数据库的基本理论_第4页
第4页 / 共39页
电子商务的数据管理技术教学课件徐保民 第2章 关系数据库的基本理论_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《电子商务的数据管理技术教学课件徐保民 第2章 关系数据库的基本理论》由会员分享,可在线阅读,更多相关《电子商务的数据管理技术教学课件徐保民 第2章 关系数据库的基本理论(39页珍藏版)》请在金锄头文库上搜索。

1、第2章关系数据库的 基本理论,本章的重要概念,关系、属性、域、元组、主关键字、外键、关系模型、索引、视图、投影、选择、连接、笛卡儿乘积、除、并、交、差、基本表,本章的重要知识点,(1)关系模型的构成及关系模型的完整性 (2)如何利用SQL语言定义、修改、删除表、视图、索引等 (3)如何用关系代数表达式来表达实际查询问题 (4)对给定一个关系代数表达式如何用SQL语句进行描述 (5)如何利用SQL的SELECT完成数据的查询 (6)如何利用SQL的UPDATE、INSETER完成数据的修改、插入操作 (7)存储过程的概念及优点,2.1关系数据库,域是一组具有相同数据类型的值的集合。也称为值域,记

2、为D。域中所包含的值的个数称为域的基数,记为m。在关系数据库中用域表示属性的取值范围。 给定一组域D1,D2,Dn,这些域中可以有相同的部分,则D1,D2,Dn的笛卡尔积定义为: D1D2Dn(d1,d2,dn)diDi,i1,2,n,2.1.1关系模型的数据结构,D1D2Dn的子集叫作在域D1、D2、Dn上的关系,用R(D1,D2 ,Dn)表示。这里R表示关系的名字,n是关系的目或度,也称为元数。 关系是笛卡积的子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性。,2.1.1关系模型的数据结构,关系可以有三种类

3、型:基本关系(也称为基本表或基表,一个基本表对应于关系型数据库中的一个关系)、查询表和视图表。基本表是实际存在的表,他是实际存储数据的逻辑表示。查询表是查询结果对应的表。视图表是由基本表或其他视图表导出的表,是虚表。,2.1.1关系模型的数据结构,关系数据库中的关系具有以下六条性质: 列是同质的,即每一列中的分量是同一类型的数据,来自同一个域; 不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名; 列的顺序无所谓,即列的次序可以任意交换; 任意两个元组不能完全相同。 行的顺序无所谓,即行的次序可以任意交换; 分量必须取原子值,即每一个分量都必须是不可分的数据项。,2

4、.1.1关系模型的数据结构,一个命名关系的属性名序列或关系的描述称为关系模式。可以形式化地表示为:R(U,D,DOM,F) 由于D和DOM对模式设计关系不大,因此关系模式通常被看作是一个二元组:RU,F。 如果一个关系名R,并有属性名列A1,A2,An。则关系模式通常可以简记为:R(A1,A2,A n)。而域名及属性向域的映象常常被说明为属性的类型、长度。,2.1.1关系模型的数据结构,2.1.2关系模型的完整性,完整性是指对数据逻辑正确性的判断,他关系到某种状态是否为语义所允许。完整性可以分为两大类:一类是与数据模型有关的;一类是现实世界固有的,他是数据合理性的补充说明。 就关系模型而言,关

5、系模型的完整性是指对关系的某种约束条件。主要有:实体完整性约束,即对主键约束;参照完整性约束,即外键约束;用户定义的完整性。,2.1.2关系模型的完整性,实体完整性规则为:若属性A是基本关系R的主属性,则属性A不能取空值。 参照完整性规则为:若属性(或属性组)F是基本关系R的外键,他与基本关系S的主键Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为: (1)或者取空值(F的每个属性值均为空值); (2)或者等于S中某个元组的主键值。 用户定义的完整性就是针对某一具体关系数据库的约束条件,他反映某一具体应用所涉及的数据必须满足的语义要求。,2.2关系代数,关系代

6、数是一种抽象的查询语言,是关系数据操纵语言的一种表达方式。如同数字运算的对象和结果都是数字一样,关系代数运算的对象和结果都是关系。 关系运算符可以分为集合运算符、专门的关系运算符、算术比较符和逻辑运算符四大类,2.2.1传统的集合运算,并运算:设关系R和关系S具有相同的目n,即两个关系都有n个属性,且相应的属性取自同一个域,则关系R与关系S的并是由属于R或属于S的元组组成的集合,其结果关系仍为n目关系。记作: RUS=t|tRtS 差运算:设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的差是由属于R而不属于S的所有元组组成。其结果关系仍为n目关系。记作: RS=t|

7、tRtS,2.2.1传统的集合运算,交运算:设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的交是由既属于R又属于S的元组组成。其结果关系仍为n目关系。记作: RS=t|tRtS 广义笛卡尔积:假设关系R和S的元组分别为n目和m目,则关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1k2个元组。记作: RS=t|t=(tn,tm)tnRtmS,【例】设有两个关系R和S,且他们具有相同的关系模式,求关系R和S的并集。,【例】设有两个关系R

8、和S,且他们具有相同的关系模式,求关系R和S的差集 。,【例】设有两个关系R和S,且他们具有相同的关系模式,求关系R和S的交集 。,【例】设有两个关系R和S,且他们具有相同的关系模式,求关系R和S的广义笛卡尔积 。,2.2.2专门的关系运算,选择:依据关系R中的某些条件对关系R进行水平分割,即在关系R中选择满足给定条件的元组。记作: F(R)=t|tRF(t)=“真” 投影:投影就是从关系R中选择出若干属性列形成新的关系,即对关系R进行垂直的分割,去掉某些列,保留指定的列,其结果关系是列的子集。记作: A(R)=tA|tR,2.2.2专门的关系运算,连接:连接(也称为连接)是从两个关系的笛卡尔

9、积中选取属性值满足一定条件的元组。记作: 连接运算中最为重要连接运算是:等值连接和自然连接,2.2.2专门的关系运算,等值连接:就是下式中为“”的连接运算 记作:,2.2.2专门的关系运算,自然连接:是一种特殊的等值连接,他要求参与运算的两个关系在同名属性域上有相同的值,并且要在结果中把重复的属性去掉。即若R和S具有相同的属性组B,则自然连接可记作:,2.2.2专门的关系运算,自然连接与等值连接的区别是: 在做自然连接的两个关系中,要求值相等的属性名也必须相等,而在等值连接中不要求值相等的属性名相等。 在自然连接的结果中,去掉重复的属性名,而在等值连接的结果中不要求去掉重复的属性名。,2.2.

10、2专门的关系运算,对关系R和S进行连接运算的步骤为: 计算笛卡尔积RS; 从RS中选择那些满足AB的元组,即是要求的结果,2.2.2专门的关系运算,对关系R和S进行自然连接运算的步骤为: 计算关系R和S的笛卡尔积RS; 从RS中选择那些公共属性如A的数值相同(R.A = S.A)的元组。此时我们拥有一个包含属性A两次的表; 去掉SA,将留下来的RA改为A后,就是所要的结果。,2.2.2专门的关系运算,除:设给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X

11、属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。记作:,2.2.2专门的关系运算,求RS的操作步骤为: 将被除关系R的属性分为象集属性Y和结果属性X两部分,其中象集属性Y是除关系S中的全部属性的集合; 在除关系X中,对与被除关系相同的象集属性进行投影,得到除目标数据集; 将被除关系分组,分组原则是:结果属性值一样的元组分为一组; 对中所得每一个组,如果他的象集属性值中包括除目标数据集,则对应的结果属性值应属于该除法运算结果集。,【例】设有关系R和S,计算RS。,(1)计算笛卡儿乘积RS,(2)选择R.C=S.C(RS ),(3)删除重复的列SC,并将留下来的RC改为C,2.

12、3结构化查询语言SQL,结构化查询语言SQL(Structured Query Language,简称SQL)是由Boyce和Chamberlin于1974年提出的一个通用的、功能极强的关系数据库语言。他所提供的功能包括查询、操纵、定义和控制四个方面 SQL语言的特点 (1)一体化 (2)高度非过程化 (3)面向集合的操作方式 (4)以同一种语法结构提供两种使用方式 (5)语言简洁,易学易用,2.3结构化查询语言SQL,定义基本表 CREATE TABLE 表名( 列名1 数据类型 列名2 数据类型 列名n 数据类型 ),2.3结构化查询语言SQL,修改基本表 ALTER TABLE 表名 A

13、DD(新列名 数据类型) MODIFY(列名 数据类型); 删除基本表 DROP TABLE 表名,2.3结构化查询语言SQL,建立索引 CREATE INDEX 索引名 ON 表名(列名); 删除索引 DROP INDEX 索引名;,2.3结构化查询语言SQL,建立视图 CREATE VIEW 视图名 (列名 , 列名,) AS SELECT查询子句 删除视图 DROP VIEW 视图名,2.3结构化查询语言SQL,数据添加 INSERT INTO 表名(列名1,列名2,列名n) VALUES(值1,值2,值n) 数据修改 UPDATE 表名 SET 列名 = 值,列名=值 WHERE 限制

14、条件;,2.3结构化查询语言SQL,数据删除 DELETE FROM 表名 WHERE 限制条件; 数据查询 SELECT表的列名或列表达式集合 FROM 表集合 WHERE 条件表达式 GROUP BY 列名集合 HAVING 组条件表达式 ORDER BY 列名ASC|DESC;,2.3结构化查询语言SQL,授权语句 GRANT 权限 , 权限. ON 对象类型 对象名 TO 用户 , 用户. WITH GRANT OPTION; 收权语句 REVOKE 权限, 权限. ON 对象类型 对象名 FROM 用户 , 用户 .,2.3结构化查询语言SQL,存储过程 存储过程是一组为了完成特定功能的由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,使用时只要调用即可。 使用存储过程有以下的优点: (1)存储过程的能力大大增强了SQL语言的功能和灵活性。 (2)可保证数据的安全性和完整性。 (3)通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。,2.3结构化查询语言SQL,(4)通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。 (5)再运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。 (6)由于存储过程是已经编译好的代码,所以执行的时候不必再次进行编译,从而提高了程序的运行效率。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号