-数据库原理及应用第二版-第2章数据模型与数据库系统结构_第1页
-数据库原理及应用第二版-第2章数据模型与数据库系统结构_第2页
-数据库原理及应用第二版-第2章数据模型与数据库系统结构_第3页
-数据库原理及应用第二版-第2章数据模型与数据库系统结构_第4页
-数据库原理及应用第二版-第2章数据模型与数据库系统结构_第5页
已阅读5页,还剩42页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第2章 数据模型与数据库系统结构v2.1 数据和数据模型 v2.2 概念层数据模型 v2.3 组织层数据模型v2.4 数据库系统的结构v2.5 数据库管理系统第2章 数据模型与数据库系统结构2.1数据和数据模型2.1.1数据与信息v数据是用物理符号把信息按一定格式记载下来的有意义符号组合。 如(张三,9912101,男,1981,计算机系, 应用软件)v数据有一定的格式。v数据是信息存在的一种形式,只有通过解释或处理才能成为有用的信息。数据的两个特征:v数据的静态特征 包括数据的基本结构、数据间的联系和对数据取值范围的约束。例如:学生信息。v数据的动态特征 指对数据进行的操作及操作规则,对数据

2、库数据的操作主要有查询数据、更改数据(插入、删除、修改数据)。 一般将对数据的静态特征和动态特征的描述称为数据模型三要素,即在描述数据时要包括数据的基本结构、数据的约束条件(这俩属于静态特征)和定义在数据上的操作(属于动态特征)三个方面。2.1.2 数据模型 模型是对事物、对象、过程等客观系统中感兴趣的内容的模拟和抽象表达,是理解系统的思维工具。 数据模型(Data Model) 也是一种模型,它是对现实世界数据特征的抽象。数据模型一般应满足三个要求: 第一:要能够比较真实地模拟现实世界; 第二:要容易被人们理解; 第三:要能够很方便地在计算机上实现。 v根据模型应用的不同目的,可将这些模型分

3、为两大类,它们分别属于两个不同的层次。第一类是第一类是概念层模型概念层模型 另一类是另一类是组织层数据模型组织层数据模型 1.概念层模型v从数据的应用语义视角来抽取模型并按用户的观点来对数据和信息进行建模。v这类模型主要用在数据库的设计阶段v它与具体的数据库管理系统无关。 2.组织层数据模型从计算机系统的观点出发对数据进行建模指用什么样的结构来组织数据 主要用于DBMS的实现主要包括:层次模型层次模型(用树型结构组织数据)(用树型结构组织数据)网状模型网状模型(用图型结构组织数据)(用图型结构组织数据)关系模型关系模型(用简单二维表结构组织数据)(用简单二维表结构组织数据)对象关系模型对象关系

4、模型(用复杂表格及其他结构组织数(用复杂表格及其他结构组织数据)据) 为了把现实世界中的具体事物抽象、组织为某一具体DBMS支持的数据模型,通常首先将现实世界抽象为信息世界,然后再将信息世界转换为机器世界。即:首先把现实世界中的客观对象抽象为某一种信息结构,然后再把概念级模型转换为计算机上的DBMS支持的数据模型,也就是组织层数据模型。现实世界现实世界人的认识抽象人的认识抽象信息世界:概念模型信息世界:概念模型机器世界:具体的机器世界:具体的DBMS支持的组织模型支持的组织模型2.2.1基本概念 概念层数据模型实际上是现实世界到机器世界的一个中间层次。机器世界实现的最终目的是为了反映和描述显示

5、世界。 概念层模型:是指抽象现实系统中有应用价值的元素及其关联关系,反映现实系统中有应用价值的信息结构,并且不依赖于数据的组织结构。 概念数据模型是面向用户、面向现实世界的数据模型,它与具体的概念数据模型是面向用户、面向现实世界的数据模型,它与具体的DBMSDBMS无关。无关。 常用的概念模型有常用的概念模型有实体实体- -联系联系(Entity-RelationshipEntity-Relationship,简,简称称E-RE-R)模型、语义对象模型。)模型、语义对象模型。2.2 概念层数据模型描述信息世界信息世界现实世界现实世界机器世界机器世界(概念层模型)(概念层模型)(组织层模型)(组

6、织层模型)抽象转换图图2-1从现实世界到机器世界的过程从现实世界到机器世界的过程2.2.2实体-联系模型 1)实体实体是具有公共性质的可相互区别的现实世界对象的集合。实体可以是具体的,也可以是抽象的概念或联系。如学生、课程,学生的选课、订货等。在E-R图中用矩形框表示具体的实体,把实体名写在框内。实体中的每个具体的记录值(一行数据),称之为实体的一个实例。比如学生实体中的每个具体的学生。2)属性属性就是描述实体或者联系的性质或特征的数据项。属于一个实体的所有实体实例都具有共同的性质,在E-R模型中,这些性质或特征就是属性。属性在E-R图中用圆角矩形表示,在矩形框内写上属性的名字,并用连线将属性

7、矩形框与它所描述的实体联系起来。3)联系 实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体之间的联系。 联系是数据之间的关联集合,是客观存在的应用语义链。联系用菱形框表示,框内写上联系名,并用连线将联系框与它所关联的实体连接起来。实体型之间的联系分为三类: 一对一联系:如果实体A中的每个实例在实体B中至多有一个(也可以没有)实例与之关联,反之亦然,则称实体A与实体B具有一对一联系,记作:1 : 1。例如,部门和经理(假设一个部门只有一个经理)、系和正系主任(假设一个系只有一个正主任)都是一对一联系。如图(a)所示。部门部门经理经理管理管理11(a)一对多联系:如

8、果实体A中的每个实例在实体B中有n个实例(n0)与之联系,而实体B中每个实例在实体A中只有一个实例与之联系,则称实体A与实体B是一对多联系,记作:1 : n。例,假设一个部门有若干职工,而一个职工只在一个部门工作,则部门和职工之间就是一对多联系。如图(b)所示。职工职工部门部门工作工作n1(b)多对多联系:如果对于实体A中的每个实例,实体B中有n个实例(n0)与之联系,而实体B中的每个实例,在实体A中也有m个实例(m0)与之联系,则称实体A与实体B的联系是多对多的,记为m : n 。例如学生和课程,一个学生可以选修多门课程,一门课程也可以被多个学生选修,因此学生和课程之间是多对多的联系。如图(

9、c)所示。nn学生学生选课选课m学号学号姓名姓名性别性别成绩成绩课程课程课程号课程号课程名课程名学分学分(c)E-R图不仅能描述两个实体之间的联系,而且还能描述两个以上实体之间的联系。比如有顾客、商品、售货员三个实体,并且有语义:每个顾客可以从多个售货员那里购买商品,并且可以购买多种商品;每个售货员可以向多名顾客销售商品,并且可以销售多种商品;每种商品可由多个售货员销售,并且可以销售给多名顾客。描述三者之间的关联关系的E-R图如下图所示,这里联系被命名为“销售”。m销售销售售货员售货员顾客顾客商品商品np图图2-3多个实体之间的联系示例多个实体之间的联系示例2.3 组织层数据模型 组织层数据模

10、型是从数据的组织方式的角度来描述信息。目前,在数据库领域中最常用的组织层数据模型有四种,它们是:层次模型、网状模型、关系模型和面向对象模型。 组织层数据模型是按存储数据的逻辑结构来命名的。2.3.1层次模型 层次模型用层次模型用树形结构树形结构来表示实体及其之间的联系,如行来表示实体及其之间的联系,如行政机构、家族关系等。政机构、家族关系等。特点:特点: 1 1)有一个结点没有父亲结点,称为根结点。)有一个结点没有父亲结点,称为根结点。 2 2)其它结点有且仅有一个父亲结点。)其它结点有且仅有一个父亲结点。 每个结点表示一个记录类型,记录类型之间的联系用结每个结点表示一个记录类型,记录类型之间

11、的联系用结点间的连线点间的连线( (有向边有向边) )表示,这种实体之间的联系是表示,这种实体之间的联系是1:M1:M联系联系(包括(包括1:11:1联系)。联系)。 R11R1R12叶节点根节点父节点R21R22R23叶节点子节点图2-4 层次模型示意图学院编号学院名称办公地点学号姓名性别年龄教研室名室主任室人数职称教师名教师号图图2-52-5学院的层次数据模型学院的层次数据模型学院学院教研室教研室学生学生教师教师J01计算机教2楼S01王平男21计算机李明21教授王大明T101图图2-62-6学院层次数据库的一个值学院层次数据库的一个值学院学院教研室教研室学生学生教师教师网络赵新12软件工

12、程胡杰 15S02刘力男22S03李爽女21副教授刘博T102教授钱红T103教授陈小玲T301副教授张海涛T302 层次模型存储结构 邻接法、链接法 层次模型优点: 层次清晰、构造简单、易于实现1:1和1:N 的实体联系。 层次模型有两个缺点:只能表示1:N联系,虽然系统有多种辅助手段实现M:N联系但较复杂,用户不易掌握由于层次顺序的严格和复杂,引起数据的查询和更新操作很复杂,因此应用程序的编写也比较复杂。2.2.32.2.3网状数据模型网状数据模型 是用以实体型为结点的有向图来表示各实体及其之间的联系。特点: 1) 可以有一个以上的结点无父亲。 2) 至少有一个结点有多于一个的父亲。能表示

13、 M:N 联系。 缺点:编写应用程序复杂,模型结构复杂。R5R1R2R3L1L2a)R2R1L1L2b)R4R3R2R1L1L2L3L4L5c)图图2-9 网状数据模型示例网状数据模型示例学号姓名性别年龄课程号课程名 学分学号课程号成绩教师号 教师名职称课程号教师号授课学时S-G图图2-10 网状结构示意图网状结构示意图C-GC-CT-C2.3.32.3.3关系数据模型关系数据模型关系数据模型是目前最重要的一种数据模型。关系数据库就是采用关系数学模型作为数据的组织方式。 关系数据模型源于数学,它用二维表来组织数据,而这个二维表在关系数据库中就称为关系。关系数据库就是表或者说是关系的集合。关系系

14、统要求只让用户所感觉的数据库就是一张张表。在关系系统中,表是逻辑结构而不是物理结构。用关系(表格数据)表示实体与实体之间的联系的模型就成为关系数学模型。一、关系数据模型的几个基本概念一、关系数据模型的几个基本概念1.关系 关系就是二维表,它满足如下两个条件:关系表中的每一列都是不可再分的基本属性。表中各属性不能重名。表中的行、列次序并不重要。2.元组:表中的每一行数据称作是一个元组3.属性:表中的每一列是一个属性值集,列可以命名,称为属性名4.主码(主键或主关键字):是表中的属性或属性组,用于惟一地确定一个元组5.域:属性的取值范围就称为域上表是一个学生信息关系表。上表中有9个行数据,也就是9

15、个元组。上表中又6列,也就是6个属性,6个属性名。主键是学号,学号是不可以有重复的。用学号可以确定唯一的一个学生信息。列的取值范围被称为域。学号学号姓名姓名性别性别出生日期出生日期学院学院专业专业1101002811010028林阳林阳女女1990.1.11990.1.1信息工程系信息工程系1111网络工程网络工程1101008011010080吕彬吕彬男男1990.1.11990.1.1信息工程系信息工程系1111网络工程网络工程1101008811010088马楷马楷男男1990.1.11990.1.1信息工程系信息工程系1111网络工程网络工程1101019011010190李琛李琛男男

16、1990.1.11990.1.1信息工程系信息工程系1111网络工程网络工程1101023011010230徐志攀徐志攀男男1990.1.11990.1.1信息工程系信息工程系1111软件工程软件工程1201010812010108李俊甫李俊甫男男1990.1.11990.1.1信息工程系信息工程系1212网络工程网络工程1201011212010112王亚将王亚将男男1990.1.11990.1.1信息工程系信息工程系1212软件工程软件工程1201013012010130夏飞垒夏飞垒男男1990.1.11990.1.1经济管理系经济管理系1212物流管理物流管理12010137120101

17、37付博士付博士男男1990.1.11990.1.1信息工程系信息工程系1212软件工程软件工程表2-1 学生信息表二、二、 关系模型的数据操作关系模型的数据操作 关系模型的操作对象是集合,而不是行。也就是操作的数据以及操作的结果都是完整的表(是包含行集的表,而不只是单行)。因此,集合处理能力是关系系统区别于其他系统的一个重要特征。 关系数据模型的数据操作主要包括四种:查询、插入、删除和修改数据。2.4 数据库系统的结构2.4.1模式的基本概念 数据模型(组织模型)是描述数据的一种形式,模式是用给定的数据模型对具体数据的描述。模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,

18、不涉及到具体的值。关系模式是关系的“型”或元组的结构共性的描述。关系模式实际上对应的是关系表的表头,如表2-1。 属性1属性2属性n 表头表头( (关系模式关系模式) )元组元组图图2-5 关系模式关系模式关系模式一般表示为:关系模式一般表示为: 关系名(属性关系名(属性1 1,属性,属性2 2,属性,属性n n) 模式的一个具体值称为模式的一个实例,一个模式可以有多个实例。模式是相对稳定的(结构不会经常变动),而实例是相对变动的(具体的数据值可以经常变化)。数据模式描述一类事物的结构、属性、类型和约束,实质上是用数据模型对一类事物进行模拟,而实例是反映某类事物在某一时刻的当前状态。 2.4.

19、2 三级模式结构数据库的三级模式结构是指数据库外模式、模式和内模式。各级模式的关系如下。2-11 2-11 数据库的三级模式结构数据库的三级模式结构外模式外模式A A外模式外模式B B外模式外模式C C模式模式内模式内模式( (单个用户视图单个用户视图) )( (公共用户视图公共用户视图) )( (存储视图存储视图) )数据库数据库用户用户A A用户用户B B用户用户C C外模式外模式内模式内模式映像映像模式模式广义地讲: 内模式:是最接近物理存储的,也就是数据的物理存方式,只有一个。 外模式:是最接近用户的,也就是用户所看到的数据视图,可有多个。 概念模式:是介于内模式和外模式间的中接层次,

20、只有一个。 1.外模式也称为用户模式或子模式,它是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同数据库用户需求的数据视图,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是对数据库整体数据结构的子集或局部重构。 外模式通常是模式的子集。一个数据库可以有多个外模式。外模式是保证数据库安全的一个措施。2.模式 也称为逻辑模式或模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、与所使用的应用开发工具和环境无关。 概念模式实际上是数据库数据在逻辑级上的视图。一个数据库

21、只有一种模式。定义数据库模式时不仅要定义数据的逻辑结构,比如,数据记录由哪些数据项组成,数据库项的名字、类型、取值范围等,而且还要定义数据之间的联系,定义与数据有关的安全性、完整性要求。3、内模式 内模式也称为存储模式。内模式是对整个数据库的底层表示,它描述了数据的存储结构,比如数据的组织与存储。注意内模式与物理层是不一样的,内模式不涉及物理记录的形式(即物理块或页,输出输出单位),也不考虑具体设备的柱面或磁道大小。 内模式用另一种数据定义语言内部数据定义语言来描述。 2.4.3 2.4.3 模式映象与数据独立性模式映象与数据独立性 除了三级模式结构之外,在数据库体系结构中还有一定的映象关系,

22、即概念模式和内模式间的映象以及外模式和概念模式间的映象。 数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。 1、概念模式内模式映象 概念模式内模式映象定义了概念视图和存储的数据库的对应关系,它说明了概念层的记录和字段在内部层次怎样表示。如果数据库的存储结构改变了,也就是,如果改变了存储结构的定义,那么概念模式内模式的映象必须进行相应的改变,以使概念模式能够保持不变。换句话说,概念模式内模式映象保证了数据的物理独立性,由内模式变化带来的影响必须与概念模式隔离开来。 2、外模式概念模式

23、映象 外模式概念模式映象定义了特定的外部视图和概念视图之间的对应关系。一般地说,这两层之间的差异情况与概念视图与存储模式之间的差异情况是类似的。例如,概念模式的结构可以改变,但概念结构的这些改变可以不影响外模式。 很明显,外模式概念模式的映象是数据逻辑独立性的关键。2.5 数据库管理系统 数据库管理系统(DBMS)是处理数据库访问的系统软件,从概念上讲,它包括以下处理过程(参见2-12图) * 用户使用数据库语言(比如SQL)发出一个访问请求。 * DBMS接受请求并分析。 * 然后DBMS检查用户外模式、相应的外模式概念模式间的映象、概念模式、概念模式内模式间的映象和存储结构定义。源模式和源模式和映象映象计划的计划的DML请求请求非计划的非计划的DML请求请求DDL处理器处理器DML处理器处理器查询语言处查询语言处理器理器编译器编译器优化处理器优化处理器运行管理器运行管理器源模式目标模式和源模式目标模式和映象映象源数据源数据数据数据数据字典数据字典增强安全增强安全性与完整性与完整性约束性约束图图2-12 DBMS的功能和组成的功能和组成DBMS支持的功能 1、数据定义 DBMS必须能够接

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论