数据库原理及应用第2章

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

最新文档


当前位置:首页 > 机械制造 > 机械制造


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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