【文档说明】数据库原理及应用第二版第2章课件.ppt,共(65)页,709.047 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-92505.html
以下为本文档部分文字说明:
1第2章数据库系统结构2.1数据和数据模型2.2概念层数据模型2.3组织层数据模型2.4数据库系统的结构22.1数据和数据模型一、数据数据是用物理符号把信息按一定格式记载下来的有意义符号组合。如(张三,9912101,男,1981,计算机
系,应用软件)数据有一定的格式。数据是信息存在的一种形式,只有通过解释或处理才能成为有用的信息。3数据的两个特征:数据的静态特征包括数据的基本结构、数据间的联系和对数据取值范围的约束。数据的动态特征指对数据进行的操
作及操作规则,对数据库数据的操作主要有查询数据、更改数据(插入、删除、修改数据)。4二、数据模型模型是对事物、对象、过程等客观系统中感兴趣的内容的模拟和抽象表达,是理解系统的思维工具。数据模型(DataModel
)也是一种模型,它是对现实世界数据特征的抽象。数据模型一般应满足三个要求:第一:要能够比较真实地模拟现实世界;第二:要容易被人们理解;第三:要能够很方便地在计算机上实现。5根据模型应用的不同目的,可将这些模型分为两大类,它们分别属于两个不同
的层次。第一类是概念层模型另一类是组织层数据模型6概念层模型从数据的应用语义视角来抽取模型并按用户的观点来对数据和信息进行建模。这类模型主要用在数据库的设计阶段它与具体的数据库管理系统无关。7组织层数
据模型从计算机系统的观点出发对数据进行建模指用什么样的结构来组织数据主要用于DBMS的实现主要包括:层次模型(用树型结构组织数据)网状模型(用图型结构组织数据)关系模型(用简单二维表结构组织数据)对象-关系模型(用复杂表格及其他结构组织数据)8为了把现实
世界中的具体事物抽象、组织为某一具体DBMS支持的数据模型,通常首先将现实世界抽象为信息世界,然后再将信息世界转换为机器世界。即:首先把现实世界中的客观对象抽象为某一种信息结构,然后再把概念级模型转换
为计算机上的DBMS支持的数据模型,也就是组织层数据模型。现实世界人的认识抽象信息世界:概念模型机器世界:具体的DBMS支持的组织模型92.2概念层数据模型一、基本概念实际上是现实世界到机器世界的一个中间层次。概念层模型:是指抽象现实系统中有应用价值的元素及其关联关系,反映现实
系统中有应用价值的信息结构,并且不依赖于数据的组织结构。概念数据模型是面向用户、面向现实世界的数据模型,它与具体的DBMS无关。常用的概念模型有实体-联系(Entity-Relationship,简称E-R)模型、语义对象模型。10二、实体-
联系模型1、实体实体是具有公共性质的可相互区别的现实世界对象的集合。实体可以是具体的,也可以是抽象的概念或联系。如学生、课程,学生的选课、订货等。在E-R图中用矩形框表示具体的实体,把实体名写在框内。实体中的每个具体的记录值(一行数据),称之为实体的一个实例。比如
学生实体中的每个具体的学生。112、属性属性就是描述实体或者联系的性质或特征的数据项。属于一个实体的所有实体实例都具有共同的性质,在E-R模型中,这些性质或特征就是属性。属性在E-R图中用圆角矩形表示,
在矩形框内写上属性的名字,并用连线将属性矩形框与它所描述的实体联系起来。123、联系实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体之间的联系。联系是数据之间的关联集合,是客观存在的应
用语义链。联系用菱形框表示,框内写上联系名,并用连线将联系框与它所关联的实体连接起来。13实体型之间的联系分为三类:一对一联系:如果实体A中的每个实例在实体B中至多有一个(也可以没有)实例与之关联,反之亦然,则称实体A与实体B具有一对一联系,记作:1:1。例如
,部门和经理(假设一个部门只有一个经理)、系和正系主任(假设一个系只有一个正主任)都是一对一联系。如图(a)所示。经理部门管理11(a)14一对多联系:如果实体A中的每个实例在实体B中有n个实例(n≥0)与之联系,而实体B中每个实例在实体A中
只有一个实例与之联系,则称实体A与实体B是一对多联系,记作:1:n。例,假设一个部门有若干职工,而一个职工只在一个部门工作,则部门和职工之间就是一对多联系。如图(b)所示。职工部门工作n1(b)15多对多联系:如果对于实体A中的每个实例,实体B中有n个实例(n≥0)与之联系,而实
体B中的每个实例,在实体A中也有m个实例(m≥0)与之联系,则称实体A与实体B的联系是多对多的,记为m:n。例如学生和课程,一个学生可以选修多门课程,一门课程也可以被多个学生选修,因此学生和课程之间是多对多的联系。如图(c)所示。n1
6学生选课m学号姓名性别成绩课程课程号课程名学分n(c)17E-R图不仅能描述两个实体之间的联系,而且还能描述两个以上实体之间的联系。比如有顾客、商品、售货员三个实体,并且有语义:每个顾客可以从多个售货员那里购买
商品,并且可以购买多种商品;每个售货员可以向多名顾客销售商品,并且可以销售多种商品;每种商品可由多个售货员销售,并且可以销售给多名顾客。描述三者之间的关联关系的E-R图如下图所示,这里联系被命名为“销售”。售货员顾客商品销售mnp182.3组织层数据模型组织层数据模型是从数据的组织方式的角
度来描述信息。目前,在数据库领域中最常用的组织层数据模型有四种,它们是:层次模型、网状模型、关系模型和面向对象模型。组织层数据模型是按存储数据的逻辑结构来命名的。19层次模型层次模型用树形结构来表示实体及其之间的联系,如
行政机构、家族关系等。特点:1)有一个结点没有父亲结点,称为根结点。2)其它结点有且仅有一个父亲结点。每个结点表示一个记录类型,记录类型之间的联系用结点间的连线(有向边)表示,这种实体之间的联系是1:M联系(包括1:1联系)。20系编号系名办公地点学号姓名成绩教研室编号教研
室职工号姓名研究方向教员-学生数据库模型系教研室学生教员21教员学生层次数据库的一个值22层次模型存储结构邻接法、链接法层次模型优点:层次清晰、构造简单、易于实现1:1和1:N的实体联系。层次模型有两个缺点:–只能
表示1:N联系,虽然系统有多种辅助手段实现M:N联系但较复杂,用户不易掌握–由于层次顺序的严格和复杂,引起数据的查询和更新操作很复杂,因此应用程序的编写也比较复杂。23网状模型是用以实体型为结点的有向图来表示各实体及其之间的联系。特点:1)可以有一个以上的结
点无父亲。2)至少有一个结点有多于一个的父亲。能表示M:N联系。缺点:编写应用程序复杂,模型结构复杂。24CDBEA25学生/选课/课程的网状数据模型26一、关系模型的数据结构关系数据模型源于数学,它用二维表来组织数据,而这个二维
表在关系数据库中就称为关系。关系数据库就是表或者说是关系的集合。关系系统要求只让用户所感觉的数据库就是一张张表。在关系系统中,表是逻辑结构而不是物理结构。271、关系关系就是二维表,它满足如下两个条件:关系表中的每一列都是不可再分
的基本属性。表中各属性不能重名。表中的行、列次序并不重要。2、元组表中的每一行数据称作是一个元组3、属性表中的每一列是一个属性值集,列可以命名,称为属性名4、主码(主键或主关键字)是表中的属性或属性组,用于惟一地确定一个元组5、域属性的取值范围
就称为域28二、关系模型的数据操作关系模型的操作对象是集合,而不是行。也就是操作的数据以及操作的结果都是完整的表(是包含行集的表,而不只是单行)。因此,集合处理能力是关系系统区别于其他系统的一个重要特征。关系数据模型的
数据操作主要包括四种:查询、插入、删除和修改数据。29关系代数关系代数的运算按运算符的不同主要分为两类:传统的集合运算:运算是从关系行的角度进行的。包括并、差、交和乘积(笛卡尔积)等运算。专门的关系运算:不仅涉及行运算,也涉及列运算,这种运算是为数据库
的应用而引进的特殊运算。包括选取、投影、连接和求商等运算。30(1)合并(Union)运算运算符:∪运算表达式:R1∪R2将关系R2中与关系R1中不相同的元组插入到关系R1中(2)求差(Difference)运算运算符:-运算表
达式:R1-R2将关系R1中与关系R2中相同的元组删除关系R1和R2具有相同的n个属性,相应的属性取自同一个域31ABCa1b1c1a1b1c2a2b2c1ABCa1b1c1a2b2c1a2b3c2ABCa1b1c1a1b1c2a2b2c1a2b3c2RSR∪SR-SABCa1b1c
232(3)乘积(CartesianProduct)运算严格地讲应该是广义的笛卡尔积R:n目关系,k1个元组S:m目关系,k2个元组R×S列:(n+m)列元组的集合元组的前n列是关系R的一个元组
后m列是关系S的一个元组行:k1×k2个元组R×S={trts|trR∧tsS}33ABCABCa1b1c1a1b1c1a1b1c1a2b2c1a1b1c1a2b3c2a1b1c2a1b1c1a1b1c2a2b2c1a1b1
c2a2b3c2a2b2c1a1b1c1a2b2c1a2b2c1a2b2c1a2b3c2R×S34(4)选择(Selection)运算运算符:σ运算表达式:σF(R)从关系R中选出满足条件表达式F的那些元组构成的关系ABCa1b1c1a1b1c2a2b2c1ABCa1b1c1
a1b1c2RσB=b1(R)35(5)投影(Projection)运算运算符:Π运算表达式:ΠA1,A2,…,An(R)从R中选择出若干属性列(A1,A2,…,An)组成新的关系ABCa1b1c1a1b1c2a2b2c1ACa1c1a1c2a2c1RΠA,C(R)36(6)连接
从两个关系的笛卡尔积中选取属性间满足一定条件的元组记作:RS-A和B:分别为R和S上度数相等且可比的属性组-θ:比较运算符-连接运算从R和S的广义笛卡尔积R×S中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系θ的元组AθB37两个重要的连
接:等值连接θ为“=”,是从关系R和S的广义笛卡尔积中选取A,B属性值相等的那些元祖。自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。38ABCa1b12a1b24a2b36a2b48BCb15b26b3
7b38AR.BCS.BDa1b12b15a1b24b26a2b36b37a2b36b38RS等值连接(R.B=S.B)自然连接ABCDa1b125a1b246a2b367a2b36839等值连接与自然连接的区别:等值连接中不要求相等属性值的属性
名相同,而自然连接要求相等属性值的属性名必须相同,即两关系只有在同名属性才能进行自然连接。等值连接不将重复属性去掉,而自然连接去掉重复属性,也可以说,自然连接是去掉重复列的等值连接。40(7)商操作运算符:÷运算表达式:R÷SR和S是两个关系,Z是R的
属性集合,X是S的属性集合,X是Z的子集,Y=Z-X。R除以S的商为:R÷S=ΠY(R)-ΠY((ΠY(R)×S)-R)41ABCDabcdabefbcefedcdedefabdeCDcdefABabed关系R关系SR÷S42关系演算的表达能力与关系代数等价,它是以数理逻辑中的谓词演算为
基础的。根据关系演算中变量的不同,可将关系演算分为:基于元组变量的关系演算(简称元组关系演算)基于域变量的关系演算(简称域关系演算)关系演算43三、关系模型的数据完整性约束数据完整性是指数据库中存储的数据是
有意义的或正确的。数据完整性约束主要包括三大类:实体完整性参照完整性用户定义的完整性441、实体完整性指关系数据库中的所有表都必须有主码,而且表中不允许存在如下的记录:无主码值的记录主码值相同的记录关系模型中使用主码作为记录的惟一标识,主码所包含的
属性称为关系的主属性,其他的非主码属性称为非主属性。在关系数据库中主属性不能取空值。关系数据库中的空值是特殊的标量常数,它代表未定义的(不适用的)或者有意义但目前还处于未知状态的值。452、参照完整性参照完整性有时也称为引用完整性。参照完整性是描述实体之间的联系的。参照完整性一般是指多个实体或
表之间的关联关系。限制一个表中某列的取值受另一个表的某列的取值范围约束的特点就称为参照完整性。在关系数据库中用外码(Foreignkey,有时也称为外部关键字或外键)来实现参照完整性。外码一般在联系实体中,用于表示两个或多个实体之间的关联关系。46例1:学生实体和专业实体可以用下面的关系表示。学
生(学号,姓名,性别,专业号,出生日期)专业(专业号,专业名)例2:学生、课程以及学生与课程之间的选课关系可以用如下三个关系表示:学生(学号,姓名,性别,专业号,出生日期)课程(课程号,课程名,学分)选课(学号,
课程号,成绩)473、用户定义的完整性用户定义的完整性也称为域完整性或语义完整性。用户定义的完整性就是针对某一具体应用领域定义的数据库约束条件。用户定义的完整性实际上就是指明关系中属性的取值范围,也就是属性的域,即限制关系中的属性的取值类型及取值范围
,防止属性的值与应用语义矛盾。例如,学生的考试成绩的取值范围为0~100,或取{优、良、中、及格、不及格}。482.4数据库系统的结构一、三级模式结构数据模型(组织模型)是描述数据的一种形式,模式是用给定的数据模型对具体数据的描
述。模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。关系模式是关系的“型”或元组的结构共性的描述。关系模式实际上对应的是关系表的表头,如图2-5所示。49属性1属
性2…属性n…表头(关系模式)元组图2-5关系模式关系模式一般表示为:关系名(属性1,属性2,…,属性n)50模式的一个具体值称为模式的一个实例,一个模式可以有多个实例。模式是相对稳定的(结构不会经常变动),而实例是相对变动的(具体的数据值可以经常变化
)。数据模式描述一类事物的结构、属性、类型和约束,实质上是用数据模型对一类事物进行模拟,而实例是反映某类事物在某一时刻的当前状态。ANSI/SPARC体系结构将数据库划分为三层结构:即内模式、概念模式和外模式。51外模式1外模式2外模式n…概念模式内模
式(单个用户视图)(公共用户视图)(存储视图)数据库系统的三级模式结构(2-6)52广义地讲:内模式:是最接近物理存储的,也就是数据的物理存方式,只有一个。外模式:是最接近用户的,也就是用户所看到的数据视图,可有多个。概念模式:是介于内模式和外模式间的中
接层次,只有一个。531、外模式也称为用户模式或子模式,它是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同数据库用户需求的数据视图,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是对
数据库整体数据结构的子集或局部重构。外模式通常是模式的子集。一个数据库可以有多个外模式。外模式是保证数据库安全的一个措施。542、概念模式也称为逻辑模式或模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统结构的中间层,既不涉及数据的
物理存储细节和硬件环境,也与具体的应用程序、与所使用的应用开发工具和环境无关。概念模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一种模式。定义数据库模式时不仅要定义数据的逻辑结构,比如,数据记录由哪些数据项组成,数据库项的名字、类型、取值范围等,而且还要定义数据之间的
联系,定义与数据有关的安全性、完整性要求。553、内模式内模式也称为存储模式。内模式是对整个数据库的底层表示,它描述了数据的存储结构,比如数据的组织与存储。注意内模式与物理层是不一样的,内模式不涉及物理记
录的形式(即物理块或页,输出/输出单位),也不考虑具体设备的柱面或磁道大小。内模式用另一种数据定义语言—内部数据定义语言来描述。56二、二级映象功能除了三级模式结构之外,在数据库体系结构中还有一定的映象关系,即概念模式和内模式间
的映象以及外模式和概念模式间的映象。数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。571、概念模式
/内模式映象概念模式/内模式映象定义了概念视图和存储的数据库的对应关系,它说明了概念层的记录和字段在内部层次怎样表示。如果数据库的存储结构改变了,也就是,如果改变了存储结构的定义,那么概念模式/内模式的映象必须进行相应的改变,以使概念模式能够保持不变。换句话说,概念模式/内模式映
象保证了数据的物理独立性,由内模式变化带来的影响必须与概念模式隔离开来。582、外模式/概念模式映象外模式/概念模式映象定义了特定的外部视图和概念视图之间的对应关系。一般地说,这两层之间的差异情况与概念
视图与存储模式之间的差异情况是类似的。例如,概念模式的结构可以改变,但概念结构的这些改变可以不影响外模式。很明显,外模式/概念模式的映象是数据逻辑独立性的关键。59三、数据库管理系统数据库管理系统(DBMS)是处理数据库访问的系统
软件。从概念上讲,它包括以下处理过程:用户使用数据库语言(比如SQL)发出一个访问请求DBMS接受请求并分析然后DBMS检查用户外模式、相应的外模式/概念模式间的映象、概念模式、概念模式/内模式间的映象和存储结构定义60源模式和映象计划的DML请求非计划的
DML请求DDL处理器DML处理器查询语言处理器编译器优化处理器运行管理器源模式目标模式和映象源数据数据数据字典增强安全性与完整性约束61DBMS支持的功能1、数据定义DBMS必须能够接受数据库定义的源形式,并把它们转换成相应的目标形式。2、数据操纵DBMS必须能够检索、更新或删除数
据库中已有的数据,或向数据库中插入数据。3、优化和执行计划(在请求执行前就可以预见到的请求)的或非计划(不可预知的请求)的数据操纵语言请求必须经过优化器的处理,优化器是用来决定执行请求的最佳方式。624、数
据安全和完整性DBMS要监控用户的请求,拒绝那些有破坏DBA定义的数据库安全性和完整性的请求。5、数据恢复和并发DBMS必须保证有恢复和并发控制功能。6、数据字典DBMS包括数据字典。数据字典本身也可以看作是一个数据库,只不过它是系统数据库,而不是用户数据库。特别地,在数据字
典中,也保存各种模式和映象的各种安全性和完整性约束。7、性能DBMS支持的功能63本章小结本章首先介绍了数据库中数据模型的概念。数据模型根据其应用的对象划分为两个层次:概念层数据模型和组织层数据模型。概念模型是对现实世界信息的第一次抽象,它与具体的DB
MS无关。组织层数据模型是对现实世界信息的第二次抽象,它与具体的DBMS有关。最后我们从体系结构角度分析了数据库系统,介绍了三个模式和两个映象。三个模式分别为:内模式、概念模式和外模式。内模式最接近物理存储,它考虑数据的物理存储
;外模式最接近用户,它主要考虑单个用户看待数据的方式;概念模式介于内模式和外模式之间,它提供数据的公共视图。两个映象分别是概念模式与内模式间的映象和外模式与概念模式间的映象,这两个映象是提供数据的逻辑独立性和物理独立性的关键。64
作业(教材p-25)习题2、5、8、10、11补充题:设计一个图书馆系统,此数据库中对每个借阅者保存读者记录,包括:读者号、姓名、地址、性别、年龄、单位。对每本书存有:书号、书名、作者、出版社。对每本被借出的书存有:借书日期、还书日期。绘出该系统的E-R图。65补充
题:关系R,S和T,如下图所示,计算(1)R∪T;(2)R-T;(3)RS;(4)RS;(5)σA=C(R×S)ABbccbbdAθCBCbceabdABabcdde关系R关系S关系T