数据库原理第一章ppt课件.ppt

上传人:飞****2 文档编号:29425067 上传时间:2022-07-31 格式:PPT 页数:102 大小:867KB
返回 下载 相关 举报
数据库原理第一章ppt课件.ppt_第1页
第1页 / 共102页
数据库原理第一章ppt课件.ppt_第2页
第2页 / 共102页
点击查看更多>>
资源描述

《数据库原理第一章ppt课件.ppt》由会员分享,可在线阅读,更多相关《数据库原理第一章ppt课件.ppt(102页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 Spring, 2009. 1主讲:赵海霞主讲:赵海霞河南科技大学电信学院河南科技大学电信学院 Spring, 2009. 2学习要点学习要点n关系模型概述关系模型概述n关系数据结构及形式化定义关系数据结构及形式化定义n关系的完整性关系的完整性n关系代数关系代数n关系演算关系演算第二章关系数据库 Spring, 2009. 3nE.F.CoddE.F.Codd的论文的论文” A Relational Model of Data for Large Shared Data Banks”, Communication of the ACM, (19701970年)年)nIBM在加里福利亚的在加里

2、福利亚的San Jose研究所开发的实研究所开发的实验性关系数据库管理系统验性关系数据库管理系统System R (1976年)年)n加州大学伯克利分校开发的加州大学伯克利分校开发的INGRES(交互式(交互式图形检索系统)项目图形检索系统)项目 (1976年)年)nIBM在在Peterlee的科研中心所开发的的科研中心所开发的Peterlee关关系测试工具(系测试工具(1976年)年)n上世纪上世纪80-90年代,涌现了几百个关系数据库年代,涌现了几百个关系数据库管理系统管理系统第二章关系数据库 Spring, 2009. 4n值得记住的值得记住的F1970年,年,E.F.Codd提出关系数

3、据库理论基础提出关系数据库理论基础F关系数据库试验系统关系数据库试验系统System R, INGRESF目前流行的目前流行的RDBMS DB2, Oracle, Ingres, Sybase, Informix等 Spring, 2009. 5关系模型由以下三部分组成:关系模型由以下三部分组成:n单一的数据结构单一的数据结构-关系关系F 任何一个关系数据库都是由若干张互相关联的表组成任何一个关系数据库都是由若干张互相关联的表组成F 关系模式和关系关系模式和关系n关系操作关系操作F 查询操作:选择、投影、连接、除、并、交、差查询操作:选择、投影、连接、除、并、交、差F 更新操作:增加、删除、修

4、改更新操作:增加、删除、修改n关系的三类完整性约束关系的三类完整性约束F 实体完整性、参照完整性实体完整性、参照完整性和用户定义的完整性和用户定义的完整性第二章关系数据库2.1 关系模型概述关系的两个关系的两个不变性不变性,由系统自动支持由系统自动支持由应用语由应用语义约束义约束 Spring, 2009. 6n关系操作特点:关系操作特点:F操作对象和结果都是集合操作对象和结果都是集合F高度非过程化的语言,不必借助循环结构就可以完成数据操作,高度非过程化的语言,不必借助循环结构就可以完成数据操作,能嵌入高级语言中使用能嵌入高级语言中使用关系数据语言关系代数语言关系演算语言具有关系代数和关系演算

5、双重特点的语言元组关系演算语言域关系演算语言例如ISBL例如APLHA, QUEL例如QBE例如SQL三种语言在表达能力上完全等价 Spring, 2009. 7n关系代数语言关系代数语言 把关系当作集合,用集合运算和特殊的关系运算来表达查询要求和条件 是一种抽象的查询语言n关系演算语言关系演算语言 用谓词来表达查询要求和条件 谓词变元的基本对象可以是元组变量或域变量,故可分为元组关系演算和域关系演算两类 是一种抽象的查询语言nSQL 介于关系代数和关系演算之间 集DDL、DML和DCL一身的关系数据语言 Spring, 2009. 8n关系的定义及基本术语关系的定义及基本术语n关系模式关系模

6、式n关系数据库关系数据库第二章关系数据库2.2关系数据结构及形式化定义 Spring, 2009. 9n定义定义1:域:域(Domain)F一组具有相同数据类型的值的集合。一组具有相同数据类型的值的集合。F每个属性有一个允许的值的集合称为该属性的域。每个属性有一个允许的值的集合称为该属性的域。n定义定义2:笛卡儿积:笛卡儿积(Cartesian Product)FD1 D2 Dn= (d1,d2, ,dn)| di Di , i=1,2, ,nF(d1,d2, ,dn)叫做一个叫做一个n元组元组(n-tuple),或简称,或简称元组元组Fdi 叫做一个叫做一个分量分量(Component)第二

7、章关系数据库2.2关系数据结构及形式化定义 Spring, 2009. 10n计算实例计算实例例例1:D1=甲甲,乙乙, D2=1,2, D3=a,b,c1)D1,D2,D3基数分别是多少?基数分别是多少?2)D1D2?(基数?)?(基数?)3)D1D2D3?(基数?)?(基数?)n笛卡尔集可表示为一个二维表笛卡尔集可表示为一个二维表F表中的每行对应一个元组,表中的每列对应一个域表中的每行对应一个元组,表中的每列对应一个域请将例子表示为二维表 Spring, 2009. 11例例2已知三个域已知三个域D1=导师集合导师集合张清正张清正,刘逸刘逸D2=专业集合专业集合计算机计算机,信息信息D3=

8、学生集合学生集合李勇李勇,刘晨刘晨,王敏王敏导师导师专业专业研究生研究生张清正计算机李勇张清正计算机李勇张清正计算机刘晨张清正计算机刘晨张清正计算机王敏张清正计算机王敏张清正信息李勇张清正信息李勇张清正信息刘晨张清正信息刘晨张清正信息王敏张清正信息王敏刘逸计算机李勇刘逸计算机李勇刘逸计算机刘晨刘逸计算机刘晨刘逸计算机王敏刘逸计算机王敏刘逸信息李勇刘逸信息李勇刘逸信息刘晨刘逸信息刘晨刘逸信息王敏刘逸信息王敏D1,D2,D3的笛卡尔积的笛卡尔积计算思考计算思考1)每个域的基数?)每个域的基数?2)计算)计算D1D2D3?基数?基数?3)计算结果中的元组有无实际意义?)计算结果中的元组有无实际意义?

9、 Spring, 2009. 12n定义:关系定义:关系 D1 D2 Dn的子集叫做在域的子集叫做在域D1, D2 , , Dn上的关系,表示为上的关系,表示为R(D1,D2 , ,Dn)。即。即:将关系定义为一系将关系定义为一系列域上的笛卡尔集的子集。列域上的笛卡尔集的子集。 Spring, 2009. 13例已知三个域例已知三个域D1=导师集合导师集合S张清正张清正,刘逸刘逸D2=专业集合专业集合SP计算机计算机,信息信息D3=学生集合学生集合P李勇李勇,刘晨刘晨,王敏王敏计算思考计算思考从笛卡尔集中取出一个子集,选择有意从笛卡尔集中取出一个子集,选择有意义的结果组成关系义的结果组成关系R

10、(导师,专业,研究生导师,专业,研究生)一个研究生只能有一个专业,如李勇一个研究生只能有一个专业,如李勇和王敏是计算机专业、刘晨是信息专业和王敏是计算机专业、刘晨是信息专业导师导师S专业专业SP研究生研究生P张清正计算机李勇张清正计算机李勇张清正计算机刘晨张清正计算机刘晨张清正计算机王敏张清正计算机王敏张清正信息李勇张清正信息李勇张清正信息刘晨张清正信息刘晨张清正信息王敏张清正信息王敏刘逸计算机李勇刘逸计算机李勇刘逸计算机刘晨刘逸计算机刘晨刘逸计算机王敏刘逸计算机王敏刘逸信息李勇刘逸信息李勇刘逸信息刘晨刘逸信息刘晨刘逸信息王敏刘逸信息王敏D1,D2,D3的笛卡尔积(上图)的笛卡尔积(上图)现在

11、导师与研究生是什么关系?限定一个学生只能有一个导师,限定一个学生只能有一个导师,如张是计算机导师,刘是信息专如张是计算机导师,刘是信息专业导师业导师现在导师与研究生是什么关系? Spring, 2009. 14关系模型(关系模型(relational model)用二维表格结构表示实体类型,外键表示实体间联用二维表格结构表示实体类型,外键表示实体间联系的模型称为系的模型称为关系模型关系模型。 属性(指字段、数据项)属性(指字段、数据项) 属性值、属性的值域属性值、属性的值域DOMDOM(A A)(指字段值、字段的值域)(指字段值、字段的值域) 元组元组 (指记录)(指记录) 关系模式关系模式

12、(指记录类型)(指记录类型) 关系或实例(指纪录的集合)关系或实例(指纪录的集合) 元数(指关系中属性的个数)元数(指关系中属性的个数) 基数(指关系中元组的个数)基数(指关系中元组的个数)第二章关系数据库2.2关系数据结构及形式化定义 Spring, 2009. 15学号学号姓名姓名 年龄年龄 籍贯籍贯 性别性别98019801李容李容 2020江苏江苏 女女98029802王三王三 1919山东山东 男男98039803张海张海 1919湖北湖北 男男属性(列)属性(列)元组元组(行)属性名属性名学生登记表学生登记表关系关系整数字符串16,17.字符串男女域域. .元数基数第二章关系数据库

13、2.2关系数据结构及形式化定义 Spring, 2009. 16n超键(超键(super key) :在一个关系中,能唯一标识元组:在一个关系中,能唯一标识元组的属性集称为关系模式的超键的属性集称为关系模式的超键;n候选键(候选键(candidate key) :如果一个属性集能唯一标:如果一个属性集能唯一标识元组,且又不含有多余属性,则该属性集称为候选识元组,且又不含有多余属性,则该属性集称为候选键;键;候选关键字必为超关键字,反之不一定成立候选关键字必为超关键字,反之不一定成立n主键(主键(primary key) :关系模式中用户正在使用的候:关系模式中用户正在使用的候选键称为主键选键称

14、为主键;n外键(外键(foreign key):如果关系):如果关系R中某属性集是其它模中某属性集是其它模式的主键,则该属性集对模式式的主键,则该属性集对模式R而言是外键而言是外键。第二章关系数据库2.2关系数据结构及形式化定义 Spring, 2009. 17n主属性主属性F指主键的诸属性指主键的诸属性n非码属性非码属性F不包含在任何候选码中的属性不包含在任何候选码中的属性第二章关系数据库2.2关系数据结构及形式化定义 Spring, 2009. 18三类关系三类关系n基本关系(基本表或基表)基本关系(基本表或基表)F实际存在的表,是实际存储数据的逻辑表示实际存在的表,是实际存储数据的逻辑表

15、示n查询表查询表F查询结果对应的表查询结果对应的表n视图表视图表F由基本表或其他视图表导出的表,是虚表,不对应由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据实际存储的数据第二章关系数据库2.2关系数据结构及形式化定义 Spring, 2009. 19列是同质的列是同质的F每一列中的分量是同一类型的数据,来自同一个域每一列中的分量是同一类型的数据,来自同一个域不同的列可出自同一个域不同的列可出自同一个域F其中的每一列称为一个属性其中的每一列称为一个属性F不同的属性要给予不同的属性名不同的属性要给予不同的属性名列的顺序无所谓列的顺序无所谓F遵循这一性质的数据库产品遵循这一性质的数据库产

16、品(如如ORACLE),增加新属性时,增加新属性时,永远是插至最后一列但也有许多关系数据库产品没有遵循这永远是插至最后一列但也有许多关系数据库产品没有遵循这一性质,例如一性质,例如FoxPro仍然区分了属性顺序仍然区分了属性顺序第二章关系数据库2.2关系数据结构及形式化定义 Spring, 2009. 20任意两个元组不能完全相同任意两个元组不能完全相同F由笛卡尔积的性质决定由笛卡尔积的性质决定F但许多关系数据库产品没有遵循这一性质(但许多关系数据库产品没有遵循这一性质( Oracle,FoxPro )行的顺序无所谓行的顺序无所谓F遵循这一性质的数据库产品遵循这一性质的数据库产品(如如ORAC

17、LE),插入一,插入一个元组时永远插至最后一行个元组时永远插至最后一行F但也有许多关系数据库产品没有遵循这一性质,例但也有许多关系数据库产品没有遵循这一性质,例如如FoxPro仍然区分了元组的顺序仍然区分了元组的顺序第二章关系数据库2.2关系数据结构及形式化定义 Spring, 2009. 21分量必须取原子值分量必须取原子值F每一个分量都必须是不可分的数据项每一个分量都必须是不可分的数据项F这是规范条件中最基本的一条这是规范条件中最基本的一条第二章关系数据库2.2关系数据结构及形式化定义 Spring, 2009. 22n关系模式关系模式F对关系的描述对关系的描述F静态的、稳定的静态的、稳定

18、的n关系关系F关系模式在某一时刻的状态或内容关系模式在某一时刻的状态或内容F动态的、随时间不断变化的动态的、随时间不断变化的实际应用中常常将关系模式和关系实际应用中常常将关系模式和关系都称为关系都称为关系第二章关系数据库2.2关系数据结构及形式化定义 Spring, 2009. 23n关系的描述称为关系模式关系的描述称为关系模式(Relation Schema)n关系模式形式化地表示为:关系模式形式化地表示为:R ( U , D , dom , F )R R为关系名为关系名属性名集合属性名集合属性所来自的域属性所来自的域属性向域的映象集合,属性向域的映象集合,如属性的类型、长度属性间数据的依赖

19、关系属性间数据的依赖关系第二章关系数据库2.2关系数据结构及形式化定义 Spring, 2009. 24S#SNAMEAGESEXSCSCGRADEC#CNAMETEACHERMN 表示学生实体表示学生实体类型和课程实体类类型和课程实体类型间多对多关系的型间多对多关系的ERER图图第二章关系数据库2.2关系数据结构及形式化定义 Spring, 2009. 25学生关系模式学生关系模式 S S(S#, SNAME, AGE, SEXS#, SNAME, AGE, SEX)学生课程关系描述学生课程关系描述 SC(S#, C#, GRADE)SC(S#, C#, GRADE)课程关系模式课程关系模式

20、 C(C#, CNAME, TEACHER)C(C#, CNAME, TEACHER)S#S#SNAMESNAMEAGE AGE SEXSEXS#S# C# C#GRADEGRADE C# C#CNAMECNAMETEACHERTEACHERSSCC第二章关系数据库2.2关系数据结构及形式化定义 Spring, 2009. 26n子模式是用户用到的那部分数据。除了用户用到的数子模式是用户用到的那部分数据。除了用户用到的数据外,还应指出数据与概念模式中相应数据的关系。据外,还应指出数据与概念模式中相应数据的关系。S# SNAMEAGE SEX S256Wang21F S# C# GRADE S2

21、56C580GSSC成绩子模式 G(S#, SNAME, C#, GRADE)S# SNAME C# GRADE S256WangC580第二章关系数据库2.2关系数据结构及形式化定义 Spring, 2009. 27n关系数据库关系数据库F在一个给定的应用领域中,所有实体及实体之间联在一个给定的应用领域中,所有实体及实体之间联系的关系的集合构成一个关系数据库系的关系的集合构成一个关系数据库n关系数据库也有型和值之分关系数据库也有型和值之分第二章关系数据库2.2关系数据结构及形式化定义思考:给出导师、学生、专业三个实体可给出导师、学生、专业三个实体可能组成的关系数据库及其概念模型(能组成的关系

22、数据库及其概念模型(E-R图)图) Spring, 2009. 282.3 关系模型的三类完整性规则关系模型的三类完整性规则n实体完整性实体完整性:元组在组成主键的属性上:元组在组成主键的属性上不能有空值;不能有空值;n参照完整性参照完整性(引用完整性):不允许引(引用完整性):不允许引用不存在的元组。用不存在的元组。n 用户定义的完整性用户定义的完整性(域完整性)(域完整性)其中:前二者是关系模型必须满足的完整其中:前二者是关系模型必须满足的完整性约束条件,是关系的两个不变性,应性约束条件,是关系的两个不变性,应当有关系系统自动满足。当有关系系统自动满足。第二章关系数据库2.3关系的完整性规

23、则 Spring, 2009. 29若属性若属性A是基本关系是基本关系R的主属性,的主属性,则属性则属性A不能取空值不能取空值例如:例如: 学生(学生(学号学号,姓名,性别,专业号,年龄),姓名,性别,专业号,年龄)课程(课程(课程号课程号,课程名,学分),课程名,学分)选修(选修(学号学号,课程号课程号,成绩),成绩)实体应该是可区分的,主键是实体应该是可区分的,主键是区分实体区分实体的唯一性标识,因此不能为空(即不能的唯一性标识,因此不能为空(即不能不知道)。不知道)。第二章关系数据库2.3关系的完整性规则 Spring, 2009. 30第二章关系数据库2.3关系的完整性规则例:学生实体

24、与专业实体间的关系:例:学生实体与专业实体间的关系:学生(学生(学号学号,姓名,性别,专业号,年龄),姓名,性别,专业号,年龄)专业(专业(专业号专业号,专业名),专业名)关系参照图外码外码参照关系参照关系被参照关系被参照关系例:学生,课程,学生与课程之间的多对多联系:例:学生,课程,学生与课程之间的多对多联系:学生(学生(学号学号,姓名,性别,专业号,年龄),姓名,性别,专业号,年龄)课程(课程(课程号课程号,课程名,学分),课程名,学分)选修(选修(学号学号,课程号课程号,成绩),成绩)关系参照图被参照关被参照关系系参照关系参照关系学生关系专业关系学生关系专业关系专业号专业号学生关系学生关

25、系 选修关系课程关系选修关系课程关系学号学号课程号课程号主码?外码? Spring, 2009. 31n定义:外码F设设F是是参照关系参照关系R的一个或一组属性,的一个或一组属性,若若F与与被参被参照关系照关系S的主码相对应,则称的主码相对应,则称F是是R的外码的外码(详细定义见教材(详细定义见教材P54)n规则:参照关系规则:参照关系R中每个元组在外码中每个元组在外码F上的值必上的值必须为:须为: 或者取空值(F的每个属性值均为空值) 或者等于S中某个元组的主码值例:学生(例:学生(学号学号,姓名,性别,专业号,年龄,班长),姓名,性别,专业号,年龄,班长)参照关系参照关系被参照关系被参照关

26、系外码外码 Spring, 2009. 32用户定义的、具体应用中的数据必须满足的约束用户定义的、具体应用中的数据必须满足的约束条件条件例如:成绩:例如:成绩:0100之间之间 身份证、身份证和生日对应关系身份证、身份证和生日对应关系第二章关系数据库2.3关系的完整性规则 Spring, 2009. 332.3关系的完整性规则关系的完整性规则n完整约束条件是数据模型的一个重要组成部分,完整约束条件是数据模型的一个重要组成部分,它保证数据库中数据与现实世界的一致性它保证数据库中数据与现实世界的一致性n考虑属性的取值、主关键字以及诸关系属性之考虑属性的取值、主关键字以及诸关系属性之间的一些制约间的

27、一些制约n此外许多系统支持数据库设计者说明特殊的约此外许多系统支持数据库设计者说明特殊的约束以及违反约束时的处理过程束以及违反约束时的处理过程第二章关系数据库2.3关系的完整性规则 Spring, 2009. 34n关系模型提供单一的数据结构形式,具关系模型提供单一的数据结构形式,具有高度的简明性和精确性;有高度的简明性和精确性;n关系模型的逻辑结构和相应的操作完全关系模型的逻辑结构和相应的操作完全独立于数据存储方式,具有高度的数据独立于数据存储方式,具有高度的数据独立性;独立性;n关系模型使数据库的研究建立在比较坚关系模型使数据库的研究建立在比较坚实的数学基础上实的数学基础上。第二章关系数据

28、库2.3关系的完整性规则 Spring, 2009. 35目的与要求:目的与要求:掌握关系模型有关术语、掌握关系模型有关术语、关键字和完整性约束的概念;关键字和完整性约束的概念; 理解基本关系的理解基本关系的6条性质条性质授课重点:授课重点:关系的定义、关系模式、关系的定义、关系模式、候选关键字、关系的完整约束等候选关键字、关系的完整约束等授课难点:授课难点:侯选关键字、引用完整性侯选关键字、引用完整性约束约束 Spring, 2009. 36n概述概述n传统的集合运算传统的集合运算n专门的关系运算专门的关系运算n综合应用综合应用第二章关系数据库2.4 关系代数 Spring, 2009. 3

29、7n关系代数语言关系代数语言F用传统的集合运算和专门的关系运算来表达查询的抽象语言。用传统的集合运算和专门的关系运算来表达查询的抽象语言。n关系代数运算符关系代数运算符F集合运算符:集合运算符:(并并) (交交) (差差)F关系运算符:关系运算符: (笛卡儿积笛卡儿积) (选择选择) (投影投影) (连接连接) (除除)F比较运算符:比较运算符: F逻辑运算符:逻辑运算符: 第二章关系数据库2.4 关系代数 Spring, 2009. 38关系代数按运算符的不同可以分为:关系代数按运算符的不同可以分为:传统的集合运算传统的集合运算F并、交、差、广义笛卡尔积并、交、差、广义笛卡尔积专门的关系运算

30、专门的关系运算F选择、投影、连接、除法选择、投影、连接、除法 第二章关系数据库2.4 关系代数 Spring, 2009. 39n概述概述n传统的集合运算传统的集合运算n专门的关系运算专门的关系运算n综合应用综合应用第二章关系数据库2.4 关系代数 Spring, 2009. 40nR和和SF具有相同的目具有相同的目n(即两个关系都有(即两个关系都有n个属性)个属性)F相应的属性取自同一个域相应的属性取自同一个域nRS F仍为仍为n目关系,由属于目关系,由属于R或属于或属于S的元组组成的元组组成 RS = t|t Rt S Spring, 2009. 41ABCa1b1c1a1b2c2a2b2

31、c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSRS Spring, 2009. 42nR和和SF具有相同的目具有相同的目nF相应的属性取自同一个域相应的属性取自同一个域nR - S F仍为仍为n目关系,由属于目关系,由属于R而不属于而不属于S的所有元组组成的所有元组组成 R -S = t|t Rt S Spring, 2009. 43ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S S-R? Spring, 2009. 44nR和和SF具有相同的目具有相同的目nF相应的属性

32、取自同一个域相应的属性取自同一个域nRSF仍为仍为n目关系,由既属于目关系,由既属于R又属于又属于S的元组组成的元组组成 RS = t|t Rt S 思考:思考:RS 用差能不能表示?用差能不能表示? Spring, 2009. 45ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR S Spring, 2009. 46nRFn目关系,目关系,k1个元组个元组nSFm目关系,目关系,k2个元组个元组nRS F列:(列:(n+m)列的元组的集合)列的元组的集合 元组的前n列是关系R的一个元组 后m列是关系S的一个元组F行:行:

33、k1k2个元组个元组 RS = tr ts |tr R tsS Spring, 2009. 47ABCa1b1c1a1b2c2a2b2c1R.AR.BR.Ca1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR S S.AS.BS.Ca1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1 Spring, 2009. 48n概述概述n传统的集合运算传统的集合运算n专门的关系运算专门的关系运算n综合应用综合应用第二章关系数据库2.4 关系代数

34、Spring, 2009. 49n记号:记号:t R表示表示t是是R的一个元组的一个元组n选择F从关系从关系R中选取使逻辑表达式中选取使逻辑表达式F为真的元组,行选。为真的元组,行选。记作记作F逻辑表达式逻辑表达式F由逻辑运算符连接算术表达式,算术表由逻辑运算符连接算术表达式,算术表达式基本形式为达式基本形式为X1 Y1 其中表示比较运算符,X1,Y1是属性名或常量或简单函数,属性名可以用它的序号来代替 )(|)(真tFRttRF)()(20420StudentStudentSage或如:求 Spring, 2009. 50例:学生例:学生课程数据库,包括课程数据库,包括Student,Cou

35、rse,SC三个关系三个关系 Sno Sname Ssex Sage Sdept95001 李勇 男 20 CS95002 刘晨 女 19 IS95003 王敏 女 18 MA95004 张立 男 19 IS StudentCno Cname Cpqo Ccredit1 数据库 5 42数学 23信息系统 1 44 操作系统 6 35 数据结构 7 4 6 数据处理 27 Pascal语言 6 4Course Sno Cno Grade95001 1 9295001 2 8595001 3 8895002 2 9095002 3 80SC Spring, 2009. 51查询信息系全体学生:查

36、询信息系全体学生: Sdept = IS(Student) 或或 = IS(Student)查询年龄小于查询年龄小于20岁的学生:岁的学生: Sage (Student) 或或 (Student)结果如下:结果如下: Sno Sname Ssex Sage Sdept95002 刘晨女 19 IS95004 张立男 19 ISSno Sname Ssex Sage Sdept95002 刘晨女 19 IS95003 王敏女 18 MA95004 张立男 19 IS课堂练习:课堂练习:1)查询)查询CS系的所有女生系的所有女生2)查询先行课代号为)查询先行课代号为6的所有课程的所有课程 Spri

37、ng, 2009. 52n定义:从关系定义:从关系R中选择出满足条件中选择出满足条件F的若的若干属性列并组成新的关系,列选干属性列并组成新的关系,列选 其中其中 表示元组表示元组t中相应于中相应于属性属性Ai的一个分量。的一个分量。注意:运算结果要去掉重复元组。注意:运算结果要去掉重复元组。| )(RtAtRF)()(52,StudentStudentSdeptSame,或如:求),.,(21ikiiAtAtAtAt Spring, 2009. 53查询学生的姓名和所在系:查询学生的姓名和所在系: Sname,SdeptSname,Sdept(Student(Student) )或或 2,52

38、,5(Student)(Student)查询学生关系中有哪些系查询学生关系中有哪些系: SdeptSdept(Student(Student) )或或 5 5(Student)(Student)结果如下:结果如下:Sname Sdept 李勇 CS 刘晨 IS 王敏 MA 张立 IS Sdept CS IS MA Spring, 2009. 54n连接运算的含义连接运算的含义F从两个关系的笛卡尔积中选取属性间满足一从两个关系的笛卡尔积中选取属性间满足一定条件的元组定条件的元组 R S = | tr Rts StrAtsB A和B:分别为R和S上度数相等且可比的属性组:比较运算符 第二章关系数据

39、库2.4 关系代数 ABtr ts Spring, 2009. 55n两类常用连接运算两类常用连接运算F等值连接(等值连接(equijoin) 为“”的连接运算称为等值连接 F自然连接(自然连接(Natural join) 自然连接是一种特殊的等值连接 Spring, 2009. 56两个关系两个关系R和和S的自然联结算过程如下:的自然联结算过程如下:1. 计算计算RS;2. 设设R和和S的公共属性是的公共属性是A1,Ak,挑选,挑选RS中满中满足足R.A1=S.A1,R.Ak=S.Ak的那些元组;的那些元组;3. 去掉去掉S.A1,S.Ak这些列,保留这些列,保留R.A1,R.Ak 举例举例

40、 Spring, 2009. 57连接运算例连接运算例设有如图的关系和关系设有如图的关系和关系A B Ca1 b1 5a1 b2 6a2 b3 8a2 b4 12RB E b1 3 b2 7 b3 10 b3 2 b5 2S A R.B C S.B E a1 b1 5 b2 7 a1 b1 5 b3 10 a1 b2 6 b2 7 a1 b2 6 b3 10 a2 b3 8 b3 10R CE S A R.B C S.B E a1 b1 5 b1 3 a1 b2 6 b2 7 a2 b3 8 b3 10 a2 b3 8 b3 2等值连接 a1 b1 5 3 a1 b2 6 7 a2 b3 8

41、10 a2 b3 8 2自然连接R R.B=S.B SR S Spring, 2009. 58定义定义:给定关系:给定关系R(X,Y)R(X,Y)和和S(Y,Z)S(Y,Z)。R R与与S S的除运算得到一个新的除运算得到一个新的关系的关系P(X)P(X),P P是是R R中满足下列条件的元组在中满足下列条件的元组在X X属性列上的投影:属性列上的投影:元组在元组在X X上分量值上分量值x x的象集的象集YxYx包含包含S S在在Y Y上投影的集合。上投影的集合。RSBCDb1 c2d1b2 c1d1b2 c3d2XYYZABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b

42、2c3a1b2c1A Aa1a1P Spring, 2009. 591. 前提:两个关系前提:两个关系R(X,Y)和)和S(Y,Z)应)应该有公共属性列。该有公共属性列。2. 运算的结果:为运算的结果:为P(X),元组来自于),元组来自于R关系,关系,只包含只包含X属性列属性列3. R关系中的哪些元组呢?关系中的哪些元组呢?对于对于tX的象集的象集包含包含Y (S) Spring, 2009. 60解:在关系解:在关系R R中,中,A A可以为可以为a1,a2,a3,a4a1,a2,a3,a4a1a1的象集的象集: :(b1b1,c2),(b2,c3),(b2,c1)c2),(b2,c3),(

43、b2,c1)a2a2的象集的象集:(:(b3,c7),(b2,c3)b3,c7),(b2,c3)a3a3的象集的象集:(:(b4,c6)b4,c6)a4a4的象集的象集:(:(b6,c6)b6,c6)S S在在(B,C)(B,C)上的投影上的投影: :(b1b1,c2),(b2,c3),(b2,c1)c2),(b2,c3),(b2,c1)A AB BC Ca1a1b1b1c2c2a2a2b3b3c7c7a3a3b4b4c6c6a1a1b2b2c3c3a4a4b6b6c6c6a2a2b2b2c3c3a1a1b2b2c1c1B BC CD Db1b1 c2c2 d1d1b2b2 c1c1 d1d1

44、b2b2 c3c3 d2d2S SA Aa1a1R R S S Spring, 2009. 61SNOSNAMECNOCNAMES1BAOC1DBS1BAOC2OSS1BAOC3DSS1BAOC4MISS2GUC1DBS2GUC2OSS3ANC2OSS4LIC2OSS4LIC4MISCNOCNAMEC2OSCNOCNAMEC2OSC4MISCNOCNAMEC1DBC2OSC4MISS1S2S3RRS 1SNOSNAMES1BAOS2GUS3ANS4LISNOSNAMES1BAOS4LISNOSNAMES1BAORS 2RS 3S1、S2、S3表示课程情况R表示选修课程? Spring, 200

45、9. 62)().().(XPZYSYXR Spring, 2009. 63ABCDabcdabefabhkbdefbddlcKcdckefRCDcdefRSABabckS Spring, 2009. 64n一共一共八八种运算:种运算:n五五种基本运算:并、差、笛卡尔积、选种基本运算:并、差、笛卡尔积、选择、投影择、投影n三三种组合运算:交、连接、除种组合运算:交、连接、除关系代数表达式:关系代数运算经有限次复合后形成的式子 Spring, 2009. 65n概述概述n传统的集合运算传统的集合运算n专门的关系运算专门的关系运算n综合应用综合应用第二章关系数据库2.4 关系代数 Spring,

46、2009. 66S(S#, SN, SD, SA) S1 A CS 20 S2 B CS 21 S3 C MA 19 S4 D CI 19 S5 E MA 20 S6 F CS 22C(C#, CN, PC#) C1 G C2 H C1 C3 I C1 C4 J C2 C5 K C4SC(S#, C#, G) S1 C1 A S1 C2 A S1 C3 A S1 C5 B S2 C1 B S2 C2 C S2 C4 C S3 C2 B S3 C3 C S3 C4 B S4 C3 D S4 C5 A S5 C2 C S5 C3 B第二章关系数据库2.4 关系代数 Spring, 2009. 67

47、1. 查询数学系查询数学系(MA)全体学生全体学生2. 查询学生的姓名和所在的系查询学生的姓名和所在的系3. 查询年龄小于查询年龄小于20岁的学生的学号和姓名岁的学生的学号和姓名4.查询查询选修了选修了C1的学生学号与成绩的学生学号与成绩5. 查询选修了查询选修了C1课的学生学号和姓名课的学生学号和姓名6.查询选修了查询选修了数据库数据库课的学生学号和姓名课的学生学号和姓名第二章关系数据库2.4 关系代数 Spring, 2009. 687. 查询不学查询不学C2课的学生姓名和年龄课的学生姓名和年龄8. 检索选修课程检索选修课程“C2”或或“C4”的学生学号的学生学号9. 检索至少选修课程检索

48、至少选修课程“C2”和和“C4”的学生学号。的学生学号。10. 查询选修了全部课程的学生学号和姓名查询选修了全部课程的学生学号和姓名11.检索所学课程包含学生检索所学课程包含学生S3所学课程的学生学号所学课程的学生学号12.查询至少选修了一门其直接先行课为查询至少选修了一门其直接先行课为C1课程课程的学生姓名的学生姓名S(S#, SN, SD, SA)C(C#, CN, PC#)SC(S#, C#, G)第二章关系数据库2.4 关系代数1(1=4 2=C2 5=C4 (SCSC) Spring, 2009. 69n查询语句的关系表达式一般形式是:查询语句的关系表达式一般形式是: (RS)或者)

49、或者 (R S)n 但是当查询涉及到但是当查询涉及到否定或全部值否定或全部值时,时,上述形式就不能表达了,就要用到差操上述形式就不能表达了,就要用到差操作或除操作。作或除操作。 Spring, 2009. 70n已知学生选课数据库模式:已知学生选课数据库模式:FStudent(Sno, Sname,Sage, Sdept)FCourse(Cno,Cname)FSC(Sno,Cno,Score)n用关系代数进行如下查询:用关系代数进行如下查询:F选修了号课程的学生的姓名?选修了号课程的学生的姓名?F计算机系有不及格课程的学生名单计算机系有不及格课程的学生名单F学生张林的学生张林的“数据库原理数据

50、库原理”成绩成绩 Spring, 2009. 71n图书馆管理数据库图书馆管理数据库F 读者读者(读者编号读者编号, 姓名姓名, 单位单位)F 图书图书(书号书号, 书名书名, 作者作者, 出版社出版社, 单价单价, 类型类型)F 借阅记录借阅记录(读者编号读者编号, 书号书号, 借阅日期借阅日期, 应还日期应还日期)F 还书记录还书记录(读者编号读者编号, 书号书号, 归还日期归还日期)n用关系代数描述以下查询要求用关系代数描述以下查询要求F 查询查询“人民邮电出版社人民邮电出版社”出版的所有图书的相关信息出版的所有图书的相关信息F 查询单价在查询单价在15元以上的书名和作者元以上的书名和作

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁