第2章关系数据库系统PPT讲稿.ppt
《第2章关系数据库系统PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第2章关系数据库系统PPT讲稿.ppt(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章 关系数据库系关系数据库系统统第1页,共64页,编辑于2022年,星期一2.1 概念模型与数据库的建模 由图1.6可以看出,概念模型是现实世界到机器世界的一个中间层次。所谓概念模型,是指抽象现实系统中有应用价值的元素及其关联关系,反映现实系统中有价值的信息结构。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库涉及人员进行数据库设计的工具,也是数据库设计人员和用户之间进行交流的工具,因此该模型一方面应该具有较强的语义表达能力,能够方便、直接地表达应用中各种语义知识;另一方面它还应该简单、清晰、易于被用户理解。第2页,共64页,编辑于2022年,星期一概念模型是面向
2、用户、面向现实世界的数据模型,它与具体的DBMS无关。在数据库的设计阶段,采用概念模型,其主要是把主要精力放在了解现实世界的客观事物以及事物的联系上,而把涉及DBMS的一些问题放在设计的后面阶段考虑。常用的概念模型是实体-联系(Entity-Relationship)模型,也称E/R图。2.2.1实体-联系模型 1976年,P.P.S.Chen提出了实体-联系方法。该方法用E/R图来描述现实世界的概念模型,E/R方法也称为E/R模型。由于该方法简单、实用,因此得到了广泛的应用,也是目前描述信息结构最常用的方法。在实体-联系模型中,主要涉及以第3页,共64页,编辑于2022年,星期一下概念:1.
3、实体 客观存在,可以相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。例如:可以触及的客观对象仓库、器件、职工等是实体,客观存在的抽象事件订货、演出、足球赛等也是实体,老师与系存在工作关系也是实体。实体集:性质相同的同类实体的集合,称为实体集。例如:全体教师实体集。2.属性 每个实体都具有一定的特征和性质,这样我们才能根据实体的特征来区分一个个实体。属性第4页,共64页,编辑于2022年,星期一就是实体所具有的某一个特性,或者说描述实体或者联系的性质或特征的数据项。每一个属性有一个值域,其类型可以是整数型、实数型、字符串型等。3.联系 现实世界中,事物内部以及事物之
4、间是有联系的,这些联系在信息世界中反映为实体内部的联系和实体之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指实体与实体之间不同实体之间的联系。与一个联系有关的实体集个数,称为联系的元数。二元联系即两个实体之间有以下三种类型:一对一联系:如果实体集E1中每个实体至多第5页,共64页,编辑于2022年,星期一和实体集E2中的一个实体有联系,反之亦然,那么实体集E1和E2的联系称为“一对一联系”,记为“1:1”。在关系数据库中,一对一的联系表现为一个表中的每一个记录只与相关表中的一个记录相关联。一对多联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多
5、个)实体间有联系,而E2中每个实体至多和E1中一个实体有联系,那么称E1对E2的联系是“一对多联系”,记为“1:N”。在关系数据库中,一对多的联系表现为一个表中的每一个记录与相关表中的多个记录相关联。多对多联系:如果实体集E1中每个实体可以第6页,共64页,编辑于2022年,星期一与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么称E1和E2的联系是“多对多联系”,记为“M:N”。在关系数据库中,多对多的联系表现为一个表中的多个记录在相关表中同样有多个记录与其匹配。即表A的一个记录在表B中可以对应多个记录,而表B的一条记录在表A中也可以对应多个记录。一对多是最普遍的联系。可以把一对一
6、的联系看作一对多联系的一个特殊情况。同样一对多又是多对多联系的特例。实体之间的联系类型并不取决于实体本身,而是取决于现实世界的管理方法,或者说取决于语义,即同样两个实体,如果有不同的语义则可以第7页,共64页,编辑于2022年,星期一得到不同的联系类型。以仓库和器件两个实体之间的关联为例:如果规定一个仓库只能存放一种器件,并且一种器件只能存放在一个仓库,这时仓库和器件之间的联系是一对一的。如果规定一个仓库可以存放多种器件,但是一种器件只能存放在一个仓库,这时仓库和器件之间的联系是一对多的。如果规定一个仓库可以存放多种器件,同时一种器件可以存放在多个仓库,这时仓库和器件之间的联系是多对多的。2.
7、2.2实体-联系模型的表示方法 E/R模型提供了表示实体型、属性和联系的方法。第8页,共64页,编辑于2022年,星期一 实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(11,1n,nm)。需要注意的是:联系本身也可能有属性。如果一个联系有属性,则这些属性也要用无向边与该联系连接起来。设计E/R图的过程如下:首先确定实体类型。确定实体类型的属性。确定联系类型,及其属性。第9页,共64页,编辑于2022年,星期一 把实体类型和联系类型组合成E/R图
8、。加上实体和联系的属性,并确定实体类型的码。下面以一个例子说明E/R图的表示方法。在物资管理中,一个供应商为多个项目供应多种零件,一种零件只能保存在一个仓库中,一个仓库中可保存多种零件,一个仓库有多名员工值班,由一个员工负责管理。画出该物资管理系统的E/R图。第10页,共64页,编辑于2022年,星期一图2.1 物资管理E/R图2.2.3 数据库建模 要设计一个数据库,首先要分析数据库中将要存放什么信息,这些信息彼此之间有什么联系,从而确定数据库的结构。数据库的结构,也成数据库模式,因此这个过程就称为数据库建模。数据库模式通常用某种表示方法加以说明。在实际的应用过程中,我们常用E/R模型进行数
9、据库的建第11页,共64页,编辑于2022年,星期一模。即对事物进行需求分析收集到的数据进行分类、组织,形成实体、实体的属性,确定实体之间的联系类型,设计E/R图。具体内容在第八章讲述。具体内容在第八章讲述。2.2 常用的数据模型 目前,数据库领域中常用的数据模型有三种,它们是:层次模型 网状模型 关系模型 一般将层次模型和网状模型通称为非关系模型。非关系模型的数据库系统在20世纪70年代至80年代非常流行。现在已逐步被关系模型的数据库所第12页,共64页,编辑于2022年,星期一取代。关系模型对数据库的理论和实践产生很大的影响,成为当今最流行的数据库模型。本书重点介绍关系数据库的基本概念和使
10、用,为了使读者对数据模型有一个全面的认识,进而深刻地理解关系模型,这里先对层次模型和网状模型作一简单的介绍,在比较详细地介绍关系数据模型。2.2.1层次数据模型 用树状结构表示实体及实体间的联系的模型称为层次模型。在这种模型中,数据被组织成由“根”开始的“树”,每个实体由根开始沿着不同的分支放在不同的层次上,如果不再向下分支,那么此分支序列中最后的结点称为“叶”。上级第13页,共64页,编辑于2022年,星期一结点与下级结点之间为一对多的联系。树的每一个结点代表一个实体。层次模型实际上是由若干个代表实体之间一对多联系的基本层次联系组成的一棵树,层次模型可以直接、方便地表示一对多的联系,但有以下
11、两点限制:有且仅有一个结点无父结点,这个结点即为树的根。其它结点有且仅有一个父结点。在插入时,不能插入无双亲的子结点,如新来的教师未分配教研室则无法插入到数据库中,没有一个子女记录值能够脱离双亲记录值而独立存在。在删除时,如删除双亲结点,则其子女结点也第14页,共64页,编辑于2022年,星期一会被一起删除。如删除某个教研室则它的所有教师也会被删除。在更新时,应更新所有相应的记录,以保证数据的一致性。图2.2 教学院系的数据模型第15页,共64页,编辑于2022年,星期一图2.3 教学院系数据库的一个实例 在插入时,不能插入无双亲的子结点,如新来的教师未分配教研室则无法插入到数据库中,没有一个
12、子女记录值能够脱离双亲记录值而独立存在。第16页,共64页,编辑于2022年,星期一在删除时,如删除双亲结点,则其子女结点也会被一起删除。如删除某个教研室则它的所有教师也会被删除。在更新时,应更新所有相应的记录,以保证数据的一致性。支持层次数据模型的DBMS称为层次数据库管理系统。层次模型有两个缺点:一是只能表示1:N联系,虽然系统有多种辅助手段实现M:N联系但较复杂,用户不易掌握;二是由于层次顺序的严格和复杂,引起数据的查询和更新操作很复杂,因此应用程序的编写也比较复杂。2.2.2网状数据模型第17页,共64页,编辑于2022年,星期一 现实世界中实体间的联系更多的是非层次关系。用有向图结构
13、表示实体类型及实体间联系的数据模型称为网状模型。网中的每一个结点代表一个实体类型。网中的每一个结点代表一个实体。网状模型突破了层次模型的两点限制:允许结点有多于一个的父结点;可以有一个以上的结点没有父结点。因此,网状模型可以方便地表示类型间的联系。图2.4给出了一个简单的网状模型。每一个联系都代表实体之间一对多的联系,系统用单向或双向环形链接指针来具体实现这种联系。如果课程和选课人数较多,链接将变的相当复杂。网状模型的主要优点是表示多对多的联系有很大的灵活第18页,共64页,编辑于2022年,星期一性,这种灵活性是以数据结构复杂为代价的。图2.4 网状模型示例第19页,共64页,编辑于2022
14、年,星期一 支持网状数据模型的DBMS称为网状数据库管理系统,在这种系统中建立网状数据库。网状模型和层次模型在本质上是一致的。从逻辑上看,它们都是用结点表示实体,用有向边(箭头)表示实体间的联系,实体和联系用不同的方法来表示;从物理上看,每一个结点都是一个存储记录,用链接指针来实现记录之间的联系。这种用指针将所有数据记录都“捆绑”在一起的特点,使得层次模型和网状模型存在难以实现系统修改与扩充等缺陷。2.3.3关系数据模型 关系模型是三种模型中最重要的一种数据模型。关系数据库系统采用了关系模型作为数据的组织第20页,共64页,编辑于2022年,星期一方式,现在流行的数据库系统大都是基于关系模型的
15、关系数据库系统。1970年IBM公司E.F.Codd的多篇论文提出关系数据库理论。自20世纪80年代以来,计算机厂商新推出的数据库管理系统几乎都是支持关系模型的,数据库领域当前的研究工作都是以关系方法为基础的。关系模型由关系数据库、关系操作集合和关系完整性约束三部分组成。1.关系数据结构 关系模型源于数学,它用二维表来组织数据,而这个二维表在关系数据库中就称为关系。关系数据库就是表或者说是关系的集合。关系模型就是用二维表格结构来表示实体及实体之间联系的第21页,共64页,编辑于2022年,星期一模型。在关系模型中,用户感觉数据库就是一张张表。在关系系统中,表是逻辑结构而不是物理结构。表2.1
16、所示的是学生基本信息的关系模型。表2.1 学生基本信息表 我们再来看一个例子,有三个二维表。下表仅显示的是数据库表的结构,表中的数据未给出。学号姓名性别年龄籍贯996210王耀男19陕西996211李娟女18上海996212王超男19北京第22页,共64页,编辑于2022年,星期一 我们再来看一个例子,有三个二维表。下表仅显示的是数据库表的结构,表中的数据未给出。表2.2 教师授课信息表 表2.2中,我们可以很容易看出表之间有联系。教师关系和授课关系有公共的属性“教师号”,则表明这两个关系有联系。而课程关系和授课关系有公共的属性“课程号”,则表明这两个关系也有联系。至于元组之间的联系,则与具体
17、的数据有关。只有在公共属性上具有相同属性值的元教师号姓名性别年龄职称教师信息课程号课程名称课时数教师号课程号课程信息 授课信息第23页,共64页,编辑于2022年,星期一组之间才有联系。由以上可以看出,在一个关系中可以存放两类信息:描述实体本身的信息 描述实体(关系)之间的联系的信息 在层次模型和网状模型中,把有联系的实体(元组)用指针链接起来,实体之间的联系是通过指针来实现的。而关系模型则采用不同的思想,即用二维表来表示实体与实体之间的联系,这就是关系模型的本质所在。所以,在建立关系模型时,只要把的所有的实体及其属性用表来表示,同时把实体之间的联系也用表来表示,就可以得到一个关系模型。第24
18、页,共64页,编辑于2022年,星期一2.关系操作 系操作就关系模型而言,给出了关系操作的能力。关系数据模型中的操作包括:传统的集合运算 并(Union)交(Intersection)差(Difference)广义笛卡尔积(Extended Cartesian Product)专门的关系运算选择(Select)投影(Project)连接(Join)除(Divide)有关的数据操作 查询(Query)插入(Insert)删除(Delete)修改(Update)第25页,共64页,编辑于2022年,星期一关系模型的操作对象是集合,而不是行。也就是说,操作的数据以及操作的结果都是完整的表(只包含一行
19、数据的表,甚至不包含任何数据的空表),而非关系型数据库系统中典型的操作是一次一行或一次一个记录。因此,集合处理能力是关系系统区别于其他系统的一个重要特征。关系操作是通过关系语言实现的,关系语言的特点是高度非过程化。所谓非过程化,是指:用户不必关心数据的存取路径和存取过程,而只需要提出数据请求,数据库管理系统就会自动完成用户请求的操作。用户也没有必要编写程序代码来实现数据的重复操作。第26页,共64页,编辑于2022年,星期一3.关系完整性约束 在数据库中,数据完整性是指保证数据正确的特性。它包括两方面的内容:与现实世界中应用需求的数据的相容性和正确性;数据库内数据之间的相容性和正确性。例如,学
20、生的学号必须是惟一的,学生的性别只能是“男”或“女”,学生所选的课程必须是已经开设的课程等。因此,数据库是否具有数据库完整性特征关系到数据库系统能否真实地反映现实世界的情况,数据完整性是数据库的一个重要的内容。在关系数据模型中,一般将数据完整性分为三第27页,共64页,编辑于2022年,星期一类,即实体完整性、参照完整性约束和用户定义完整性。其中关系模型必须满足实体完整性和参照完整性约束,是系统级的约束,而用户定义完整性的主要内容是限制属性取值的域完整性,这属于应用级的约束。这三类完整性约束条件由DBMS来保证的,而非应用程序保证。有关完整性约束的问题将在2.4节中详细讨论。4.关系模型与非关
21、系模型比较 与非关系模型相比,关系数据模型具有如下特点:关系数据模型建立在严格的数学基础之上关系及其系统的设计和优化都是建立在严格数学概念基础上,有严格的设计理论,因而容易实现第28页,共64页,编辑于2022年,星期一且性能好。关系数据模型的存取路径对用户隐藏用户根据数据的逻辑模式和子模式进行数据操作,而不必关心数据的物理模式情况,无论计算机的专业人员还是非计算机的专业人员使用起来,数据的独立性和安全保密性都很好。关系数据模型的概念单一,容易理解关系数据库中,无论实体还是联系,无论是操作的原始数据、中间数据还是结果数据,描述一致,用关系表示,实体和联系都用关系描述,查询操作结果也是一个关系,
22、保证了数据操作语言的一致性。这种单一的数据结构,使数据操作方法统一,也使用户易懂易用。第29页,共64页,编辑于2022年,星期一 关系模型中的数据联系是靠数据冗余实现的关系数据库中不可能完全消除数据冗余。由于数据冗余,使得关系的空间效率和时间效率都较低。基于关系模型的优点,关系数据模型自诞生以来发展迅速,并且随着计算机与其技术的反展,目前,关系数据库系统保持其主流数据库的地位。2.3 关系数据模型的基本术语及形式化定义 在关系模型中,现实世界中的实体、实体与实体之间的联系都用关系来表示。关系模型源于数学,它有自己严格的定义和一些固有的术语。为介绍方便,定义一个关系,亦即一二维表。如表2.3所
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 关系数据库系统PPT讲稿 关系 数据库 系统 PPT 讲稿
限制150内