《关系数据库》PPT课件.ppt
《《关系数据库》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《关系数据库》PPT课件.ppt(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章 关系数据库关系数据库F关系数据库系统大事记关系数据库系统大事记1970年6月,在Communication of the ACM上发表题为“A Relational Model of Data for Large Shared Data Banks”一文,首次明确而清晰地为数据库系统提出了一种崭新的模型,即关系模型。随后他又连续发表了多篇论文,奠定了关系数据库的理论基础。1973年IBM 研究中心启动关系数据库实验系统System R 项目,并于70年代末在IBM370系列机上获得成功。1977 年,美国加州大学柏克利分校开始研制INGRES关系数据库实验系统,于1985获得成功
2、。三十多年来涌现出许多关系数据库管理系统(RDBMS),著名的有:Oracle,DB2,Informix,Sybase,SQL Server,PostGreSQL等。12.1 关系数据结构及形式化定义关系数据结构及形式化定义F关系数据结构关系(二维表)关系数据结构的特点:实体和联系都用关系这种单一实体和联系都用关系这种单一的数据结构来实现的数据结构来实现。22.1 关系数据结构及形式化定义关系数据结构及形式化定义F关系的定义域(Domain):一组具有相同数据类型的值的集合。如整数、字符串等。笛卡尔积(Cartesian Product):给定一组域D1,D2,Dn(可相同),D1,D2,Dn
3、上的笛卡尔积为:D1 D2 Dn(d1,d2,dn)|di=1,2,n(d1,d2,dn)称为一个元组(Tuple)di叫作元组(d1,d2,dn)的第i 个分量(component)关系(Relation):D1 D2 Dn的一个子集子集叫做域D1,D2,Dn上的关系。定义在n个域上的关系称为n元(n目)关系。32.1 关系数据结构及形式化定义关系数据结构及形式化定义F给定域name=王小明,李莉,sex=男,女,则name sex=(王小明,男),(王小明,女),(李莉,男),(李莉,女)。F笛卡尔积的结果中有许多元组是无意义的,可以认为其中有意义的元组,即子集构成关系子集构成关系,为实际
4、的二维表。namesex王小明王小明男男李莉李莉女女属性名记录属性、字段42.1 关系数据结构及形式化定义关系数据结构及形式化定义F关系应具有的六条性质:1.列是同质的;2.不同的列可以出自同一个域;3.列序无关性列序无关性;4.任意两个元组不能完全相同;5.行序无关性;6.分量必须取原子值。F几个概念:候选码(Candidate Key):能唯一标识元组的属性(组)。主码(Primary Key):多个候选码中选定一个作主码。主属性(Prime Attribute):候选码中的各个属性。非主属性(Non-Key Attribute):不出现在任何候选码中的属性52.1 关系数据结构及形式化定
5、义关系数据结构及形式化定义l候选码:学号、姓名(无重名存在)l主属性:学号、姓名l非主属性:年龄、性别、系名、年级62.1 关系数据结构及形式化定义关系数据结构及形式化定义F 关系的型与值关系(表)的型:关系的结构(字段名、字段个数、域等)关系(表)的值:关系中具体的元组,也称关系的实例(Instance)。F关系模式(Relation Schema)即关系的型的定义数据依赖属性到域上的映射关系关系的域属性集R(U,D,dom(),F)关系名关系模式通常简记为:R(U)72.2 关系操作关系操作n查询(Query)l并(Union)l交(Intersection)l差(Difference)l
6、广义笛卡尔积l选择(Select)l投影(Project)l连接(Join)l除(Divide)5种基本操作种基本操作n插入(Insert)n删除(Delete)n修改(Update)F基本的关系操作关系操作的特点:操作对象操作对象和操作结果都是关系和操作结果都是关系。82.2 关系操作关系操作F关系语言关系代数关系演算(逻辑)元元组演算演算域演算域演算SQLF关系语言特点关系语言是一种高度非过程化的语言关系语言是完备的关系代数、元组关系演算和域关系演算三种语言在表达能力上完全等价92.3 关系的完整性关系的完整性关系的完整性约束是对关系的正确性限定,通常是与关系所表达的实际数据约束相对应。关
7、系的完整性分为实体完整性、参照完整性和用户定义完整性。F实体完整性规则(Entity Integrity)若属性A是基本关系R的主属性,则属性A不能取空值。实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集或多对多联系。现实世界中的实体和实体间的联系都是可区分的,即它们具有某种唯一性标识唯一性标识(主码)。空值就是“不知道”或“无意义”的值,不不是是空空格格字字符符。主属性取空值,就说明存在某个不可标识的实体,这与第(2)矛盾。102.3 关系的完整性关系的完整性F几个概念设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基
8、本关系R的外外 码码(Foreign Key)。基 本 关 系 R称 为 参参 照照 关关 系系(Referencing Relation),基 本 关 系 S称 为 被被 参参 照照 关关 系系(Referenced Relation)或目标关系目标关系(Target Relation)。注:注:关系R和S不一定是不同的关系主码Ks 和外码F必须定义在同一个(或一组)域上外码并不一定要与相应的主码同名(当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别)112.3 关系的完整性关系的完整性SnoSnameSsexSageSdept95001李勇男20CS95002刘晨女19IS9
9、5003王敏女18MA95004张立男19ISCnoCnameCpnoCcredit1数据库542数学NULL23信息系统144操作系统635数据结构746数据处理NULL27PASCAL64SnoCnoGrade95001192950012659500229095002573课程表课程表Course学生表学生表Student成绩表成绩表SC122.3 关系的完整性关系的完整性F参照完整性规则(Referential Integrity)若属性(或属属性性组组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空
10、值(F的每个属性值均为空值的每个属性值均为空值)或者等于S中某个元组的主码值。例例1 在SC表中,Sno只能取S表中存在的学号,Cno也只能取已存在的课程号,但两者都不能取空值,因为Sno和Cno都是主属性。注注:外码中的属性如果不是主属性,则可以取空值,此时外码中的每个属性均为空值。132.3 关系的完整性关系的完整性例例2 高考录取数据库YxdhZydhYxmcZymcZyccZss10701080605西电计算机本科20010698080605西交大计算机本科400院校专业表院校专业表KshXmYxdhZydh考生录取表考生录取表1张涛NULLNULL2李明107010806054赵刚N
11、ULL0806055马波10698NULL3王敏10701080606142.3 关系的完整性关系的完整性F用户定义完整性(User-defined Integrity)用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。如性别只能取“男”、“女”值,成绩必须在0100分之间。关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。通常由RDBMS的Check约束提供这类检查。152.4 关系代数关系代数F关系代数(Relational Algebra):以集合为基础,定义一组运算,由已知关系经过一
12、系列运算,得到需要的查询结果。F关系代数是过程化的查询语言。F关系代数继承传统的集合运算:并()、交()、差()、广义笛卡尔积()。其中并、交、差要求参与运算的两个关系要有相同的结构。将关系看成元组的集合运算是从关系的“水平”方向即行的角度来进行162.4 关系代数关系代数F关系上的传统集合运算并:RS=t|t Rt S 差:R S=t|tRtS 交:RS=t|t Rt S RS=R (R S)广义笛卡尔积:RS(其中R为k1行n列,S为k2行m列)列:(列:(n+m)列的元)列的元组的集合的集合元元组的前的前n列是关系列是关系R的一个元的一个元组后后m列是关系列是关系S的一个元的一个元组行:
13、行:k1k2个元个元组nRS=tr ts|tr R tsS 172.4 关系代数关系代数n传统的集合运算举例传统的集合运算举例c1b2a2c2b3a1c2b2a1CBASc1b2a2c2b2a1c1b1a1CBARCBAR RSSc1b2a2c2b2a1c1b1a1c1b1a1CBARSa1a3a2182.4 关系代数关系代数c1b2a2c2b2a1c1b1a1CBARc1b2a2c2b3a1c2b2a1CBASR.A R.B R.C S.A S.BS.Ca1b1c1a1b2c2a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2
14、c1a1b3c2a1b3c2a1b3c2a2b2c1a2b2c1a2b2c1R S192.4 关系代数关系代数F专门的关系运算选择()含含义:在关系:在关系R中中选择满足足给定条件的定条件的诸元元组 F(R)=t|t RF(t)=真真其中:其中:F:选择条件,是一个条件,是一个逻辑表达式,基本形式表达式,基本形式为:(X1Y1 )(X2Y2 ):比:比较运算符(,运算符(,或,或)X1,Y1等等:属属性性名名、常常量量、简单函函数数;属属性性名名也也可可以以用它的序号来代替;用它的序号来代替;:逻辑运算符(运算符(或或):表示任:表示任选项:表示上述格式可以重复下去:表示上述格式可以重复下去2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系数据库 关系 数据库 PPT 课件
限制150内