第2章数据库系统结构数据库原理及应用刘金岭

上传人:公**** 文档编号:584326261 上传时间:2024-08-30 格式:PPT 页数:84 大小:735.54KB
返回 下载 相关 举报
第2章数据库系统结构数据库原理及应用刘金岭_第1页
第1页 / 共84页
第2章数据库系统结构数据库原理及应用刘金岭_第2页
第2页 / 共84页
第2章数据库系统结构数据库原理及应用刘金岭_第3页
第3页 / 共84页
第2章数据库系统结构数据库原理及应用刘金岭_第4页
第4页 / 共84页
第2章数据库系统结构数据库原理及应用刘金岭_第5页
第5页 / 共84页
点击查看更多>>
资源描述

《第2章数据库系统结构数据库原理及应用刘金岭》由会员分享,可在线阅读,更多相关《第2章数据库系统结构数据库原理及应用刘金岭(84页珍藏版)》请在金锄头文库上搜索。

1、复习复习什么是数据库系统?什么是数据库系统?第2章 数据库系统结构主要内容主要内容n数据描述数据描述n数据模型数据模型n数据库的体系结构数据库的体系结构 2.1 数据描述 在数据处理中,数据描述将涉及不同的范畴。 从事物的特性到计算机中的具体表示,实际上经历了三个阶段概念设计中的数据描述、逻辑设计的数据描述和物理存储介质中的数据描述。 2.1.1概念设计中的数据描述概念设计中的数据描述 数据库的概念设计是根据用户的需求设计数据库的概念数据库的概念设计是根据用户的需求设计数据库的概念结构。结构。实体(实体(Entity):): 客观存在、可以相互区别的事物称为实体。客观存在、可以相互区别的事物称

2、为实体。实体实体可以是具体的对象,例如一名男学生,一辆汽车等。也可以是抽象的对可以是具体的对象,例如一名男学生,一辆汽车等。也可以是抽象的对象,例如一次借书,一场足球比赛等。象,例如一次借书,一场足球比赛等。实体集(实体集(Entity Set) 性质相同的同类实体的集合,称为实体集。性质相同的同类实体的集合,称为实体集。例如所有的男学生,全国足球锦标赛的所有比赛等。例如所有的男学生,全国足球锦标赛的所有比赛等。属性(属性(Attribute):): 实体有很多特性,每一个特性称为一个属性。实体有很多特性,每一个特性称为一个属性。每一个属性有一个值域,其类型可以是整数型、实数型、字符串型等。每

3、一个属性有一个值域,其类型可以是整数型、实数型、字符串型等。例如实体学生有属性学号、姓名、年龄、性别等。例如实体学生有属性学号、姓名、年龄、性别等。实体标识符(实体标识符(Identifier):): 能惟一标识实体的属性或属性集,能惟一标识实体的属性或属性集,称称为实体标识符。有时也称为关键码(为实体标识符。有时也称为关键码(Key),或简称为键。例如学生的学),或简称为键。例如学生的学号可以作为学生实体的标识符。号可以作为学生实体的标识符。2.1.2逻辑设计中的数据描述逻辑设计中的数据描述 数据库的逻辑设计是根据概念设计得到的,逻辑设计中的术数据库的逻辑设计是根据概念设计得到的,逻辑设计中

4、的术语如下:语如下:字段(字段(FieldField):): 标记实体属性的命名单位称为字段或数据项。标记实体属性的命名单位称为字段或数据项。它是可它是可以命名的最小信息单位,所以又称为数据元素或数据项。字段的命名往往和以命名的最小信息单位,所以又称为数据元素或数据项。字段的命名往往和属性名相同。例如学生有学号、姓名、年龄、性别等字段。属性名相同。例如学生有学号、姓名、年龄、性别等字段。记录(记录(RecordRecord):): 字段的有序集合称为记录。字段的有序集合称为记录。一般用一个记录描述一个一般用一个记录描述一个实体,所以记录又可以定义为能完整地描述一个实体的字段集。例如一个学实体,

5、所以记录又可以定义为能完整地描述一个实体的字段集。例如一个学生记录,由有序的字段集组成:学号,姓名,年龄,性别。生记录,由有序的字段集组成:学号,姓名,年龄,性别。 文件(文件(FileFile):): 同一类记录的集合称为文件。同一类记录的集合称为文件。文件是用来描述实体集的。文件是用来描述实体集的。例如所有的学生记录组成了一个学生文件。例如所有的学生记录组成了一个学生文件。关键码(关键码(KeyKey): : 能惟一标识文件中每个记录的字段或字段集能惟一标识文件中每个记录的字段或字段集,称为记录,称为记录的关键码(简称为键)。的关键码(简称为键)。 概念设计和逻辑设计中两套术语的对应关系概

6、念设计和逻辑设计中两套术语的对应关系 概念设计概念设计逻辑设计逻辑设计实体实体属性属性实体集实体集实体标识符实体标识符记录记录字段(或数据项)字段(或数据项)文件文件关键码关键码 在数据库技术中,每个概念都有类型(在数据库技术中,每个概念都有类型(TypeType)和值()和值(ValueValue)之区)之区分。例如分。例如“学生学生”是一个实体类型,而具体的人是一个实体类型,而具体的人“张三张三”、“李四李四”是实体值。记录也有记录类型和记录值之分。是实体值。记录也有记录类型和记录值之分。 在不会引起误解时,不去仔细区分类型和值,笼统地称在不会引起误解时,不去仔细区分类型和值,笼统地称“记

7、录记录”。 信息三个世界使用的术语对照表信息三个世界使用的术语对照表 2.1.3 物理存储中的数据描述物理存储中的数据描述 数据描述有两种形式:数据描述有两种形式:物理描述物理描述和和逻辑描述逻辑描述。物。物理数据描述指数据在存储设备上的存储方式的描述,理数据描述指数据在存储设备上的存储方式的描述,物理数据是实际存放在存储设备上的数据。物理数据是实际存放在存储设备上的数据。 在数据库系统中,逻辑数据与物理数据之间可以在数据库系统中,逻辑数据与物理数据之间可以是差别很大的。是差别很大的。 数据库系统的一个目标是使用户能简单、方便、数据库系统的一个目标是使用户能简单、方便、容易地存取数据,不必关心

8、数据库的存储结构和具容易地存取数据,不必关心数据库的存储结构和具体实现方式。体实现方式。 2.1.4 数据联系的描述数据联系的描述在现实世界中,事物内部以及事物之间是有联系的,这些在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体集内部的联系和实体集之间的联联系在信息世界中反映为实体集内部的联系和实体集之间的联系。系。实体内部的联系通常是指组成实体的各属性之间的联系;实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。实体之间的联系通常是指不同实体集之间的联系。 两个实体集之间的联系两个实体集之间的联系 一对一联系(一对一联系

9、(1:1):):如果对于实体集如果对于实体集A中中的每一个实体,实体集的每一个实体,实体集B中至多有一个实体中至多有一个实体(也可以没有)与之联系,反之亦然,则(也可以没有)与之联系,反之亦然,则称实体集称实体集A与实体集与实体集B有一对一联系,记为有一对一联系,记为1:1。 实体集实体集A联系名联系名实体集实体集B11 如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中有中有N个实个实体(体(N0)与之联系,反之,对于实体集)与之联系,反之,对于实体集B中的每一个实体,中的每一个实体,实体集实体集A中至多只有一个实体与之联系,则称实体集中至多只有一个实体与之联系,

10、则称实体集A与实体与实体集集B有一对多联系,记为有一对多联系,记为1:N。 1N实体集实体集A联系名联系名实体集实体集B一对多联系(一对多联系(1:N1:N)例例一对多联系一对多联系如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中有中有N个实个实体(体(N0)与之联系,反之,对于实体集)与之联系,反之,对于实体集B中的每一个实体,中的每一个实体,实体集实体集A中也有中也有M个实体(个实体(M0)与之联系,则称实体集)与之联系,则称实体集A与实与实体集体集B具有多对多联系,记为具有多对多联系,记为M:N。 实体集实体集A联系名联系名实体集实体集BMN 一对一联系是一

11、对多联系的特例,而一对多联系又一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。是多对多联系的特例。 多对多联系(多对多联系(M:NM:N)例例多对多联系多对多联系v两个以上的实体间的联系两个以上的实体间的联系 若实体若实体E E1 1,E E2 2,E En n之间存在联系,对于实体之间存在联系,对于实体E Ej j与(与(j=1j=1,2 2,i-1i-1,i+1i+1,n n)中给定实体,最多只和)中给定实体,最多只和E Ei i中的一个实体相联系,中的一个实体相联系,则说则说E Ei i与与E E1 1,E E2 2,E Ej-1j-1,E Ej+1j+1,E En n联

12、系是一对多的。联系是一对多的。 例例1 1:对于课程、教师与参考书对于课程、教师与参考书3 3个实体,如果一门课程可以有若干个个实体,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的。的。 1 1课程课程讲授讲授教师教师参考书参考书M MN N例例2: 有有3个实体:供应商、项目、零件,一个供应商可个实体:供应商、项目、零件,一个供应商可以供给多个项目多种零件,而每个项目

13、可以使用多个供应以供给多个项目多种零件,而每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给,由此看出商供应的零件,每种零件可由不同供应商供给,由此看出供应商、项目、零件三者之间是多对多的联系。供应商、项目、零件三者之间是多对多的联系。 M M供应商供应商供应供应项目项目零件零件N NP P单个实体集内的联系单个实体集内的联系同一个实体集内的各实体之间也可以存在一对一、一对多、同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的联系。例如,职工实体集内部具有领导与被领导的联多对多的联系。例如,职工实体集内部具有领导与被领导的联系,即某一职工(干部)系,即某一职工(干部)“

14、领导领导”若干名职工,而一个职工仅若干名职工,而一个职工仅被另外一个职工直接领导,因此这是一对多的联系。被另外一个职工直接领导,因此这是一对多的联系。 单个实体集之间单个实体集之间 一对多联系示例一对多联系示例N N1 1职工职工领导领导2.2 数据模型数据模型 2.2.1 数据模型的定义数据模型的定义简单的说:简单的说: 能表示实体类型及实体间联系的模型称为能表示实体类型及实体间联系的模型称为“数据模型数据模型”。或者说:或者说: 在数据库技术中,在数据库技术中,数据模型数据模型是数据库系统的核心和基础。是数据库系统的核心和基础。数据库的各种用户都用数据模型这个工具来抽象、表数据库的各种用户

15、都用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。示和处理现实世界中的数据和信息。通过数据模型这通过数据模型这种数学形式,将形形色色的、千变万化的事物抽象成种数学形式,将形形色色的、千变万化的事物抽象成计算机可以表示的形式。计算机可以表示的形式。什么是数据模型?什么是数据模型?模型是对现实世界的抽象。模型是对现实世界的抽象。2.2.1 数据模型的定义数据模型的定义 数据模型的种类很多,数据模型的种类很多, 目前被广泛使用的可分为两种目前被广泛使用的可分为两种类型。类型。(1)一种是独立于计算机系统的数据模型,完全不涉及)一种是独立于计算机系统的数据模型,完全不涉及信息在计算机中的表

16、示,只是用来描述某个特定组织所关信息在计算机中的表示,只是用来描述某个特定组织所关心的信息结构,这类模型称为心的信息结构,这类模型称为“概念数据模型概念数据模型”。(2)一种数据模型是直接面向数据库的逻辑结构,它是)一种数据模型是直接面向数据库的逻辑结构,它是对现实世界的第二层抽象。这类模型直接与对现实世界的第二层抽象。这类模型直接与DBMS有关,有关,称为称为“逻辑数据模型逻辑数据模型”,简称,简称“逻辑模型逻辑模型”。 例如:层次、网状、关系、面向对象等模型。这种模例如:层次、网状、关系、面向对象等模型。这种模型有严格的形式化定义,以便于在计算机系统中实现。型有严格的形式化定义,以便于在计

17、算机系统中实现。现实世界中客观对象的抽象过程现实世界中客观对象的抽象过程 (1)(1)把现实世界中的客观对象抽象为某一种信息结构,这种结构把现实世界中的客观对象抽象为某一种信息结构,这种结构并不依赖于具体的计算机系统,不是某一个数据库管理系统并不依赖于具体的计算机系统,不是某一个数据库管理系统DBMSDBMS支持的数据模型,而是概念级的模型支持的数据模型,而是概念级的模型(2)(2)然后将概念模型转换为计算机上某一然后将概念模型转换为计算机上某一DBMSDBMS支持的数据模型支持的数据模型逻辑模型逻辑模型逻辑模型逻辑模型 2.2.2 实体联系模型实体联系模型 2.2.3 层次模型层次模型 2.

18、2.4 网状模型网状模型 2.2.5 关系模型关系模型 2.2.6 面向对象模型面向对象模型2.2.2 实体联系模型实体联系模型概念模型是对信息世界建模,所以概念模型应该概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示出信息世界中的常用概念。能够方便、准确地表示出信息世界中的常用概念。概念模型表示的常用方法概念模型表示的常用方法实体实体-联系方法联系方法: 该方法用该方法用ER图来描述现实世图来描述现实世界的。界的。 ER 图图提供了表示实体型、属性和联系的方法:提供了表示实体型、属性和联系的方法:实体型:实体型:用矩形表示,矩形框内写明实体名。用矩形表示,矩形框内写明实体名。属

19、性:属性:用椭圆形表示,并用无向边将其与相应用椭圆形表示,并用无向边将其与相应的实体型连接起来。的实体型连接起来。 E-R图实体型实体型用矩形表示,矩形框内写明实体名。用矩形表示,矩形框内写明实体名。学生学生教师教师属性属性用椭圆形表示,并用无向边将其与相应的实体用椭圆形表示,并用无向边将其与相应的实体连接起来。连接起来。学生学生学号学号年龄年龄性别性别姓名姓名联系联系联系本身联系本身:用菱形表示,菱形框内写明联系名,并用无向边分用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或或

20、m:n) 实体型实体型1联系名联系名实体型实体型2111:1联系联系实体型实体型1联系名联系名实体型实体型2mnm:n联系联系实体型实体型1联系名联系名实体型实体型21n1:n联系联系联系的属性联系的属性M供应商供应商供应供应项目项目零件零件NP供应量供应量 联系的属性表示联系的属性表示 联系本身也是一种实体型,也可以有属性。如果一个联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接联系具有属性,则这些属性也要用无向边与该联系连接起来起来 。课程课程选修选修学生学生mn成绩成绩例:根据学校的教学情况来建立例:根据学校的教学情况来建立ER图。图。教学情

21、况可由学生、课程、教师、学习、任课等组成。教学情况可由学生、课程、教师、学习、任课等组成。 学生对课程是多对多联系:一个学生可以学多门课程,而一门学生对课程是多对多联系:一个学生可以学多门课程,而一门课程又有多个学生学习;教师对课程是一对多联系:一个教师课程又有多个学生学习;教师对课程是一对多联系:一个教师可以讲授多门课程,但一门课程至多只能由一个教师任教(当可以讲授多门课程,但一门课程至多只能由一个教师任教(当一门课程分别在不同的班开课时,可看做几门课程,它们的课一门课程分别在不同的班开课时,可看做几门课程,它们的课程名可以相同,但课程号不能相同,用以区别,这样就可以满程名可以相同,但课程号

22、不能相同,用以区别,这样就可以满足一对多的假设)。足一对多的假设)。 学号学号姓名姓名性别性别年龄年龄学生学生课程课程教师教师学习学习任课任课学号学号课程号课程号成绩成绩课程号课程号课程名课程名课时数课时数课程号课程号姓名姓名姓名姓名性别性别年龄年龄MNN12.2.3 层次模型层次模型 层次数据模型的数据结构层次数据模型的数据结构 在数据库中定义满足下面两个条件的基本层次联系的集合为在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型。层次模型。1.有且只有一个结点没有双亲结点,这个结点称为根结点;有且只有一个结点没有双亲结点,这个结点称为根结点;2.根以外的其他结点有且只有一个双亲结

23、点。根以外的其他结点有且只有一个双亲结点。 R1R2R3R4R5根节点根节点叶节点叶节点叶节点叶节点叶节点叶节点兄弟节点兄弟节点兄弟节点兄弟节点几个术语:几个术语: 根结点根结点 双亲结点双亲结点 兄弟结点兄弟结点 叶结点叶结点表示方法表示方法实体型实体型:用记录类型描述。:用记录类型描述。 每个结点表示一个记录类型。每个结点表示一个记录类型。属性属性:用字段描述。每个记录类型可包含若干个字段。:用字段描述。每个记录类型可包含若干个字段。联联系系:用用结结点点之之间间的的连连线线表表示示记记录录(类类)型型之之间间的的一一对对多多的联系。的联系。例:例: 教员教员-学生层次数据库学生层次数据库

24、特点:特点:结点的双亲是唯一的结点的双亲是唯一的只能直接处理一对多的实体联系只能直接处理一对多的实体联系每个记录类型定义一个排序字段,也称为码字段每个记录类型定义一个排序字段,也称为码字段任何记录值只有按其路径查看时,才能显出它的全部意义任何记录值只有按其路径查看时,才能显出它的全部意义没有一个子女记录值能够脱离双亲记录值而独立存在没有一个子女记录值能够脱离双亲记录值而独立存在表示多对多关系表示多对多关系层层次次数数据据模模型型只只能能直直接接表表示示一一对对多多(包包括括一一对对一一)的的联联系系,多多对对多多的的联联系系只只能能通通过过分分解解才才能能在在层层次次数数据据库库中中表表示示出

25、出来来。分分解解的的方方法法有有两种:两种:冗余结点法冗余结点法、虚拟结点法虚拟结点法。 层次数据模型的存储结构 *层次数据库中不仅要存储数据本身,还要存储数据之间的层次关系,层次数据库中不仅要存储数据本身,还要存储数据之间的层次关系,常用的数据存储方法有两种:常用的数据存储方法有两种:(1) 邻接法:邻接法:邻接法:邻接法:按照层次树前序穿越的顺序把所有记录值依次邻接存放,按照层次树前序穿越的顺序把所有记录值依次邻接存放,即通过物理组织空间的位置相邻来体现(或隐含)层次顺序。即通过物理组织空间的位置相邻来体现(或隐含)层次顺序。 (2 2) 链接法:链接法:链接法:链接法:用指引元来反映数据

26、之间的层次联系。用指引元来反映数据之间的层次联系。(a)子女-兄弟链接法(b) 层次序列链接法层次数据模型的优点:层次数据模型的优点:(1) 层次数据模型本身比较简单,易于理解。层次数据模型本身比较简单,易于理解。(2)对于实体间联系是固定的,而且预先定义好的应用系)对于实体间联系是固定的,而且预先定义好的应用系统,采用层次模型来实现,其性能优于关系数据库,不低于统,采用层次模型来实现,其性能优于关系数据库,不低于网状模型的数据库。网状模型的数据库。(3)层次数据模型的约束条件也提供了良好的完整性支持。)层次数据模型的约束条件也提供了良好的完整性支持。层次模型的缺点:层次模型的缺点:(1) 现

27、实世界中很多联系是非层次的,如多对多联系、一个现实世界中很多联系是非层次的,如多对多联系、一个结点具有双亲等,层次数据模型表示这类联系的方法很笨拙,结点具有双亲等,层次数据模型表示这类联系的方法很笨拙,只能通过引入冗余结点(只能通过引入冗余结点(易产生不一致性易产生不一致性)或创建非自然的)或创建非自然的数据组织(数据组织(引入虚拟结点引入虚拟结点)来解决。)来解决。(2) 对插入和删除操作的限制比较多,编辑比较复杂对插入和删除操作的限制比较多,编辑比较复杂(3) 查询子女结点必须通过双亲结点,复杂查询支持不够查询子女结点必须通过双亲结点,复杂查询支持不够(4) 由于结构严密,层次命令趋于程序

28、化,不太灵活。由于结构严密,层次命令趋于程序化,不太灵活。2.2.4 2.2.4 网状模型网状模型DBTG系统,亦称系统,亦称CODASYL系统系统由由DBTG提出的一个系统方案提出的一个系统方案奠定了数据库系统的基本概念、方法和技术奠定了数据库系统的基本概念、方法和技术70年代推出年代推出实际系统实际系统Cullinet Software Inc.公司的公司的 IDMSUnivac公司的公司的 DMS1100Honeywell公司的公司的IDS/2HP公司的公司的IMAGE 网状数据模型的数据结构网状数据模型的数据结构在数据库中,把满足以下两个条件的基本层次联系集合称在数据库中,把满足以下两

29、个条件的基本层次联系集合称为网状模型:为网状模型:(1)允许一个以上的结点无双亲;)允许一个以上的结点无双亲;(2)一个结点可以有多于一个的双亲。)一个结点可以有多于一个的双亲。 1 2 R3 L1 L2 R1 R1 R2R2 L3L3 L1 L2 L1 L2 R3R3 L4L4 R4 R4 R5R5 表示方法(与层次数据模型相同)表示方法(与层次数据模型相同)实体型:实体型:用记录类型描述。用记录类型描述。 每个结点表示一个记录类型。每个结点表示一个记录类型。属性:属性:用字段描述。用字段描述。 每个记录类型可包含若干个字段。每个记录类型可包含若干个字段。联系:联系:用结点之间的连线表示记录

30、(类)型之用结点之间的连线表示记录(类)型之 间的间的一对多一对多的父子联系。的父子联系。例例: :学生宿舍学生宿舍学生学生教研室教研室系系教师教师父母父母人人子女子女树树种种植植砍砍伐伐养养育育赡赡养养 网状数据模型的优点网状数据模型的优点: 能够更为直接地描述现实世界,如一个结点可以有多个能够更为直接地描述现实世界,如一个结点可以有多个双亲。结点之间可以有多种联系。双亲。结点之间可以有多种联系。 具有良好的性能,存取效率较高。具有良好的性能,存取效率较高。 网状数据模型的缺点:网状数据模型的缺点: 结构比较复杂,而且随着应用环境的扩大,数据库的结结构比较复杂,而且随着应用环境的扩大,数据库

31、的结构就变得越来越复杂,不利于最终用户掌握。构就变得越来越复杂,不利于最终用户掌握。 网状模型的网状模型的DDL、DML复杂,并且要嵌入某一种高级语复杂,并且要嵌入某一种高级语言(如言(如COBOL、C)中。因此用户不易掌握和使用。)中。因此用户不易掌握和使用。 由于记录之间的联系是通过存取路径实现的,应用程序由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此,用户必须了解在访问数据时必须选择适当的存取路径,因此,用户必须了解系统结构的细节。这样就加重了编写应用程序的负担。系统结构的细节。这样就加重了编写应用程序的负担。 2.2.5 关系模型关系模型最最重

32、重要要的的一一种种数数据据模模型型,也也是是目目前前主主要要采采用用的的数数据模型据模型1970年年由由美美国国IBM公公司司San Jose研研究究室室的的研研究究员员E.F.Codd提出提出课程的重点课程的重点从用户观点看从用户观点看,关系模型由一组关系组成。每个关,关系模型由一组关系组成。每个关系的数据结构是一张规范化的二维表。系的数据结构是一张规范化的二维表。学号学号姓名姓名年年龄龄性性别别系名系名年年级级200912004王小明王小明19女女计计算机系算机系2009200912006黄大黄大鹏鹏20男男数学系数学系2009200912008张张文斌文斌18女女经经管系管系20091

33、1、关系数据模型的数据结构、关系数据模型的数据结构关系(关系(Relation):): 一个关系对应通常说的一张表,如表一个关系对应通常说的一张表,如表2.2中的这中的这张学生登记表。元组(张学生登记表。元组(Tuple) 表中的一行即为一个元组。表中的一行即为一个元组。属性(属性(Attribute):): 表中的一列即为一个属性,给每一个属性起一表中的一列即为一个属性,给每一个属性起一个名称即属性名。如这张表有个名称即属性名。如这张表有6列,对应列,对应6个属性:学号,姓名,年龄,性个属性:学号,姓名,年龄,性别,系名和年级。别,系名和年级。 码(码(Key):): 也称为码键。表中的某个

34、属性组,它可以惟一确定一个也称为码键。表中的某个属性组,它可以惟一确定一个元组,如表元组,如表2.2中的学号,可以惟一确定一个学生,也就成为本关系的码。中的学号,可以惟一确定一个学生,也就成为本关系的码。域(域(Domain):): 属性的取值范围,如人的年龄一般在属性的取值范围,如人的年龄一般在1150岁之间,岁之间,大学生年龄属性的域是(大学生年龄属性的域是(1438),性别的域是(男,女),系名的域是),性别的域是(男,女),系名的域是一个学校所有系名的集合。分量一个学校所有系名的集合。分量 元组中的一个属性值。元组中的一个属性值。关系模式关系模式 :对关系的描述,一般表示为对关系的描述

35、,一般表示为 关系名(属性关系名(属性l,属性,属性2,属性,属性n) 关系模型的基本概念:关系模型的基本概念:实体及实体间的联系的表示方法:实体及实体间的联系的表示方法:实体型实体型:直接用关系(表)表示。直接用关系(表)表示。属性属性:用属性名表示。用属性名表示。一对一联系一对一联系:隐含在实体对应的关系中。隐含在实体对应的关系中。一对多联系一对多联系:隐含在实体对应的关系中。隐含在实体对应的关系中。多对多联系多对多联系:直接用关系表示。直接用关系表示。例例1学生、系、系与学生之间的一对多联系:学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,学生(学号,姓名,年龄,性别,

36、系号系号,年级),年级)系系 (系号,系名,办公地点系号,系名,办公地点)例例2系、系主任、系与系主任间的一对一联系:系、系主任、系与系主任间的一对一联系:系系 (系号,系名,办公地点,工号系号,系名,办公地点,工号) 系主任系主任(工号,姓名,工号,姓名,)例例3学生、课程、学生与课程之间的多对多联系:学生、课程、学生与课程之间的多对多联系: 学生(学号,姓名,年龄,性别,系号,年级)学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)课程(课程号,课程名,学分)选修(学号,课程号,成绩)选修(学号,课程号,成绩) 关系必须是规范化的,满足一定的规范条件关系必须是规范化的,

37、满足一定的规范条件关系必须是规范化的,满足一定的规范条件关系必须是规范化的,满足一定的规范条件最基本的规范条件:关系的每一个分量必须是一个不最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。可分的数据项。工工 资资扣扣 除除职职 工工号号姓姓名名职职称称基基 本本津津 贴贴职职 务务房房 租租水水 电电实实发发8605186051陈陈 平平讲讲 师师130513051212 0000505016016011211222832283. . . . . . . . . . . . . . . . . . . . . . . . . . . .关系关系术语术语一般表格一般表格术语术语关系名

38、关系名关系模式关系模式关系关系元元组组属性属性属性名属性名属性属性值值分量分量非非规规范关系范关系表名表名表表头头(表格的描述)(表格的描述)(一(一张张)二)二维维表表记录记录或行或行列列列名列名列列值值一条一条记录记录中的一个列中的一个列值值表中有表(大表中嵌有小表)表中有表(大表中嵌有小表)关系和现实生活中的表格所使用的术语的对比关系和现实生活中的表格所使用的术语的对比2.2.2.2.关系数据模型的操作与完整性约束关系数据模型的操作与完整性约束关系数据模型的操作与完整性约束关系数据模型的操作与完整性约束(1 1)操作包括)操作包括)操作包括)操作包括:查询、插入、删除、更新。查询、插入、

39、删除、更新。数数据据操操作作是是集集合合操操作作,操操作作对对象象和和操操作作结结果果都都是是关关系系,即即若干元组的集合若干元组的集合存存取取路路径径对对用用户户隐隐蔽蔽,用用户户只只要要指指出出“干干什什么么”,不不必必详详细说明细说明“怎么干怎么干”(2 2)三大类约束条件:)三大类约束条件:)三大类约束条件:)三大类约束条件: 实体完整性、参照完整性、用户定义的完整性实体完整性、参照完整性、用户定义的完整性3.3.3.3.关系数据模型的存储结构关系数据模型的存储结构关系数据模型的存储结构关系数据模型的存储结构表以文件形式存储表以文件形式存储有的有的DBMS一个表对应一个操作系统文件一个

40、表对应一个操作系统文件有的有的DBMS自己设计文件结构自己设计文件结构4.4.4.4.关系模型的优缺点关系模型的优缺点关系模型的优缺点关系模型的优缺点优点优点优点优点建立在严格的数学概念的基础上建立在严格的数学概念的基础上概念单一。数据结构简单、清晰,用户易懂易用概念单一。数据结构简单、清晰,用户易懂易用实体和各类联系都用关系来表示。实体和各类联系都用关系来表示。对数据的检索结果也是关系对数据的检索结果也是关系。关系模型的存取路径对用户透明关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作简化了程序员

41、的工作和数据库开发建立的工作缺点缺点缺点缺点存取路径对用户透明导致查询效率往往不如非关系数据模型存取路径对用户透明导致查询效率往往不如非关系数据模型为为提提高高性性能能,必必须须对对用用户户的的查查询询请请求求进进行行优优化化,增增加加了了开开发发数数据据库管理系统的难度库管理系统的难度2.2.6 面向对象模型面向对象模型 数据管理的复杂性,使得层次、网状和关系模型难以解数据管理的复杂性,使得层次、网状和关系模型难以解决。决。 数据成分也由单一数据,发展为图形、图像、视频、音数据成分也由单一数据,发展为图形、图像、视频、音频、地图、框图、指纹和声音等。频、地图、框图、指纹和声音等。 面向对象的

42、软件设计方法已得到广泛成功的应用。面向对象的软件设计方法已得到广泛成功的应用。对象(对象(Object)类(类(Class)面向对象数据库系统的优点:面向对象数据库系统的优点: 能有效地表达客观世界和有效地查询信息:面向对象方能有效地表达客观世界和有效地查询信息:面向对象方法综合了在关系数据库中发展的全部工程原理、系统分析、软法综合了在关系数据库中发展的全部工程原理、系统分析、软件工程和专家系统领域的内容。件工程和专家系统领域的内容。 可维护性好:在耦合性和内聚性方面,面向对象数据模可维护性好:在耦合性和内聚性方面,面向对象数据模型的性能尤为突出。型的性能尤为突出。 能很好地解决能很好地解决“

43、阻抗不匹配阻抗不匹配”(impedance mismatch)问题:应用程序语言与数据库管理系统对数据类)问题:应用程序语言与数据库管理系统对数据类型支持的不一致问题,这一问题通常称之为阻抗不匹配问题。型支持的不一致问题,这一问题通常称之为阻抗不匹配问题。 面向对象数据库系统的缺点面向对象数据库系统的缺点 : 技术还不成熟:面向对象模型还存在着标准化问题,技术还不成熟:面向对象模型还存在着标准化问题,是否修改是否修改SQL以适应面向对象的程序,还是用新的对象查询以适应面向对象的程序,还是用新的对象查询语言来代替它,目前还没有解决。语言来代替它,目前还没有解决。 面向对象系统开发的有关原理才刚开

44、始,只是具有雏面向对象系统开发的有关原理才刚开始,只是具有雏形,还需要一段时间的研究。但在可靠性、成本等方面还是形,还需要一段时间的研究。但在可靠性、成本等方面还是令人可以接受的。令人可以接受的。 理论还需完善:到现在为止没有关于面向对象分析的理论还需完善:到现在为止没有关于面向对象分析的一套清晰的概念模型,怎样设计独立于物理存储的信息还不一套清晰的概念模型,怎样设计独立于物理存储的信息还不明确。明确。 2.3 数据库的体系结构数据库的体系结构 主要内容主要内容z 三级模式结构三级模式结构 z 三级结构和两级映像三级结构和两级映像z 两级数据独立性两级数据独立性数据库系统内部的模式结构数据库系

45、统内部的模式结构 从从数据库管理系统数据库管理系统角度看角度看数据库系统外部的体系结构数据库系统外部的体系结构从从数据库最终用户数据库最终用户角度看角度看从数据库管理系统的抽象层次看,数据库系统通常采用三级从数据库管理系统的抽象层次看,数据库系统通常采用三级模式模式结构结构“型型” 和和“值值” 的概念的概念型型(Type)对某一类数据的结构和属性的说明对某一类数据的结构和属性的说明值值(Value)是型的一个具体赋值是型的一个具体赋值例如:学生记录例如:学生记录记录型:记录型: (学号,姓名,性别,系别,年龄,籍贯)(学号,姓名,性别,系别,年龄,籍贯)该记录型的一个记录值:该记录型的一个记

46、录值: (900201,李明,男,计算机,李明,男,计算机,22,江苏),江苏) 模式(模式(模式(模式(SchemaSchemaSchemaSchema)数据库逻辑结构和特征的描述数据库逻辑结构和特征的描述是型的描述是型的描述反映的是数据的结构及其联系反映的是数据的结构及其联系模式是相对稳定的模式是相对稳定的 模式的一个实例(模式的一个实例(模式的一个实例(模式的一个实例(InstanceInstanceInstanceInstance)模式的一个具体值模式的一个具体值反映数据库某一时刻的状态反映数据库某一时刻的状态同一个模式可以有很多实例同一个模式可以有很多实例实例随数据库中的数据的更新而

47、变动实例随数据库中的数据的更新而变动2.3.1三级模式结构三级模式结构 数据库的体系结构分成三级:外部级(数据库的体系结构分成三级:外部级(External)、概念级)、概念级(Conceptual)和内部级()和内部级(Internal)。这个结构称为)。这个结构称为“数据库的数据库的体系结构体系结构”,有时亦称为,有时亦称为“三级模式结构三级模式结构”,或,或“数据抽象的三个数据抽象的三个级别级别”。 1模式(SchemaSchema)模式(也称逻辑模式)模式(也称逻辑模式)数据库中全体数据的逻辑结构和特征的描述数据库中全体数据的逻辑结构和特征的描述所有用户的公共数据视图,综合了所有用户的

48、需求所有用户的公共数据视图,综合了所有用户的需求一个数据库只有一个模式一个数据库只有一个模式模式的地位:是数据库系统模式结构的中间层模式的地位:是数据库系统模式结构的中间层与数据的物理存储细节和硬件环境无关与数据的物理存储细节和硬件环境无关与与具具体体的的应应用用程程序序、开开发发工工具具及及高高级级程程序序设设计计语语言言无无关关模式的定义模式的定义数据的逻辑结构(数据项的名字、类型、取值范围等)数据的逻辑结构(数据项的名字、类型、取值范围等)数据之间的联系数据之间的联系数据有关的安全性、完整性要求数据有关的安全性、完整性要求2. 2. 外模式(外模式(External SchemaExte

49、rnal Schema)外模式(也称子模式或用户模式)外模式(也称子模式或用户模式)数数据据库库用用户户(包包括括应应用用程程序序员员和和最最终终用用户户)使使用用的的局局部部数据的逻辑结构和特征的描述数据的逻辑结构和特征的描述数数据据库库用用户户的的数数据据视视图图,是是与与某某一一应应用用有有关关的的数数据据的的逻辑表示逻辑表示外模式的地位:介于模式与应用之间外模式的地位:介于模式与应用之间模式与外模式的关系:一对多模式与外模式的关系:一对多外模式通常是模式的子集外模式通常是模式的子集一一个个数数据据库库可可以以有有多多个个外外模模式式。反反映映了了不不同同的的用用户户的的应应用用需求、看

50、待数据的方式、对数据保密的要求需求、看待数据的方式、对数据保密的要求对对模模式式中中同同一一数数据据,在在外外模模式式中中的的结结构构、类类型型、长长度度、保保密级别等都可以不同密级别等都可以不同外模式与应用的关系:一对多外模式与应用的关系:一对多同一外模式也可以为某一用户的多个应用系统所使用,同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。但一个应用程序只能使用一个外模式。外模式的用途外模式的用途保证数据库安全性的一个有力措施。保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据每个用户只能看见和访问所对应的外模式中的数据3 3内模式

51、(内模式(Internal SchemaInternal Schema)内模式(也称存储模式内模式(也称存储模式)是数据物理结构和存储方式的描述是数据在数据库内部的表示方式记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)索引的组织方式数据是否压缩存储数据是否加密数据存储记录结构的规定一个数据库只有一个内模式一个数据库只有一个内模式数据库的三个模式结构是对数据的数据库的三个模式结构是对数据的三个抽象级别三个抽象级别。它把数。它把数据的具体组织留给据的具体组织留给DBMS去做,用户只要抽象地处理数据,去做,用户只要抽象地处理数据,而不必关心数据在计算机中的表示和存储。而不必关心数据

52、在计算机中的表示和存储。 应用应用A A应用应用B B应用应用C C应用应用D D应用应用E E外模式外模式1 1外模式外模式2 2外模式外模式3 3模式模式内模式内模式数据库数据库外外模模式式/ /模模式式映映像像内内模模式式/ /模模式式映映像像2.3.2 三级结构和两级映象三级结构和两级映象 三级模式是对数据的三个抽象级别三级模式是对数据的三个抽象级别 二级映象在二级映象在DBMSDBMS内部实现这三个抽象层次的联系和转换内部实现这三个抽象层次的联系和转换 1 1、外模式、外模式/ /模式映像模式映像存在于外部级和概念级之间,用于定义外模式和存在于外部级和概念级之间,用于定义外模式和概念

53、模式之间的对应性。概念模式之间的对应性。外模式外模式/模式映像一般是放在外模式中描述的。模式映像一般是放在外模式中描述的。三级模式结构中,模式即全局逻辑结构是数据库三级模式结构中,模式即全局逻辑结构是数据库的中心与关键,它独立于其他层次。因此设计数的中心与关键,它独立于其他层次。因此设计数据库模式结构时应首先确定数据库的逻辑模式。据库模式结构时应首先确定数据库的逻辑模式。 外模式模式映象的用途外模式模式映象的用途保证数据的逻辑独立性保证数据的逻辑独立性当当模模式式改改变变时时,数数据据库库管管理理员员修修改改有有关关的的外外模模式式模模式映象,使外模式保持不变式映象,使外模式保持不变应应用用程

54、程序序是是依依据据数数据据的的外外模模式式编编写写的的,从从而而应应用用程程序序不不必必修修改改,保保证证了了数数据据与与程程序序的的逻逻辑辑独独立立性性,简简称称数数据的逻辑独立性。据的逻辑独立性。 2 2、模式、模式/ /内模式映像内模式映像存在于概念级和内部级之间,用于定义概念模式和内模式存在于概念级和内部级之间,用于定义概念模式和内模式之间的对应性。由于这两级的数据结构可能不一致,即记之间的对应性。由于这两级的数据结构可能不一致,即记录类型、字段类型的命名和组成可能不一样,因此需要这录类型、字段类型的命名和组成可能不一样,因此需要这个映像说明概念记录和内部记录之间的对应性。个映像说明概

55、念记录和内部记录之间的对应性。模式模式/内模式映像一般是放在内模式中描述的。内模式映像一般是放在内模式中描述的。模式内模式映象的用途模式内模式映象的用途保证数据的物理独立性保证数据的物理独立性当当数数据据库库的的存存储储结结构构改改变变了了(例例如如选选用用了了另另一一种种存存储储结结构构),数数据据库库管管理理员员修修改改模模式式内内模模式式映映象象,使使模模式保持不变式保持不变应应用用程程序序不不受受影影响响。保保证证了了数数据据与与程程序序的的物物理理独独立立性性,简称数据的物理独立性。简称数据的物理独立性。2.3.3 两级数据独立性两级数据独立性 数据独立性(数据独立性(Data In

56、dependence)是指应用程序和数据库的数据结构之间相互独立,不受影是指应用程序和数据库的数据结构之间相互独立,不受影响。数据独立性分成物理数据独立性和逻辑数据独立性两个级响。数据独立性分成物理数据独立性和逻辑数据独立性两个级别。别。物理数据独立性物理数据独立性逻辑数据独立性逻辑数据独立性数据库系统外部的体系结构数据库系统外部的体系结构*分布式结构分布式结构客户客户/服务器结构服务器结构浏浏览览器器/应应用用服服务务器器/数数据据库库服服务务器器结结构构 本章的重要概念本章的重要概念概念、逻辑和物理设计中的数据描述概念、逻辑和物理设计中的数据描述数据联系的描述数据联系的描述数据模型的定义数据模型的定义实体间二元联系实体间二元联系ER模型模型数据库的体系结构数据库的体系结构三级结构三级结构两级映象两级映象两级数据独立性。两级数据独立性。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号