《(数据库原理)第2章数据库系统结构.ppt》由会员分享,可在线阅读,更多相关《(数据库原理)第2章数据库系统结构.ppt(57页珍藏版)》请在第壹文秘上搜索。
1、第2章 数据库系统结构数据库系统结构 数据库系统结构是全书的基础,只有掌握了这些基础知识,才能更好地学好数据库原理及其应用的具体内容。 本章首先介绍在概念设计和逻辑设计中描述数据的专业术语及其含义,然后叙述数据库的各种数据模型,最后说明了数据库系统的三级模式、二级映像功能与数据独立性。本章目录2.12.1数据模型数据模型2.22.2数据库系统结构数据库系统结构本章小结本章小结习习 题题1.数据描述概念设计中的数据描述逻辑设计中的数据描述物理存储中的数据描述概念设计中的数据描述(1)实体(Entity):客观存在、可以互相区别的事物称为实体。例一名学生、一间教室、一辆汽车等。(2)实体集(Ent
2、ity Set):性质相同的同类实体的集合,称为实体集。所有学生、所有汽车等。(3)属性(Attribute):实体有很多特性,每一个特性称为一个属性。例如学生的学号、姓名、年龄、成绩等都是学生的属性。(4)实体标识符(Identifier):能唯一标识实体的属性或属性集,称为实体标识符,有时也称为关键码(Key),学生中的学号可以作为学生实体的标识符。逻辑设计中的数据描述(1)字段(Field):标记实体属性的命名单位称为字段,或数据项。与概念设计中数据描述中的属性相当。(2)记录(Record):字段的有序集合称为记录。与概念设计中数据描述中的实体相当。(3)文件(File):同一类记录的
3、集合称为文件。与概念设计中数据描述中的实体集相当。(4)关键码(key):能惟一标识文件中每个记录的字段或字段集,称为记录的关键码(简称为键)。概念设计与逻辑设计术语间的对应关系实体 记录属性 字段(数据项)实体集 文件实体标识符 关键码数据描述有两种形式(1)物理描述:物理数据描述指数据在存储设备上的存储方式的描述,物理数据是实际存放在存储设备上的数据。(2)逻辑描述:逻辑数据描述指程序员或用户用以操作的数据形式的描述,是抽象的概念化数据。 数据管理软件的功能之一是把物理数据和逻辑数据相互转化。数据模型定义(1) 数据库系统中的数据模型是对现实世界数据的抽象,能表示实体类型及实体间联系的模型
4、称为“数据模型”(Data Model)。 数据模型的种类很多,目前被广泛使用的分为两种类型: (1) 概念模型 (2) 逻辑模型数据模型定义(2)一种是独立于计算机系统的数据模型,完全不涉及信息在计算机中的表示,是用来描述某个特定组织所关心的信息结构,这类模型称为“概念数据模型”。概念模型是按用户的观点对数据建模,强调其语义表达能力,概念应该简单、清晰、易于用户理解,它是对现实世界的第一层抽象,是用户和设计人员之间进行交流的工具。这一类模型中最著名的是“实体联系模型”。数据模型定义(3) 另一种数据模型是直接面向数据库的逻辑结构,它是对现实世界的第二层抽象,这类模型直接与DBMS有关,称为“
5、逻辑数据模型”,也称为“结构数据模型”。这类模型有严格的定义,以便于在计算机中实现。它通常有一组严格定义的无二义性的语法和语义的数据库语言,人们可以用这种语言来定义、操纵数据库中的数据。2.组成结构数据模型的三要素 结构数据模型描述了数据库系统中的三个方面:。 因此该数据模型一般由三要素组成,是严格定义的一组概念的集合。 (1)数据结构 数据结构用于描述系统的静态特性,是所研究的对象类型的集合。结构数据模型按其数据结构分为层次模型、网状模型、关系模型和面向对象模型。 它们研究的对象是数据库的组成部分,包括两类:一类是与数据类型、内容、性质有关的对象,例如网状模型中的数据项、记录,关系模型中属性
6、、实体等;另一类是与数据之间的联系有关的对象,例如网状模型中的联系类型、关系模型中反映联系的关系等。(2)数据操作。 数据操作用于描述系统的动态特性,是指对数据库中各种对象及对象的实例允许执行操作的集合,包括对象的创建、增加、插入、修改和删除;对对象实例的检索与更新等。结构数据模型必须定义这些操作的确切含义、操作符号、操作规则(如定义优先级)以及实现操作的语言等。(3)数据的完整性约束(1) 数据的完整性约束条件是一组完整性约束规则的集合。完整性约束规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。 数据模型
7、应该反映和规定本数据模型必须遵守的基本通用的完整性约束条件。例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件(在后面会作进一步介绍)。(3)数据的完整性约束(2) 结构数据模型的三要素在数据中都是严格定义的一组概念的集合。 对关系数据库来说可以简单理解为:数据结构是表结构及其它数据库对象定义的命令集;数据操作是数据库管理系统提供的各种数据操作的命令集;数据完整性约束是各关系表约束的定义及动态操作约束规则等的集合。 因此结构数据模型的三要素并不抽象,可根据具体的数据库系统来细细领会。3.实体联系模型简述 实体联系模型中数据联系 E-R模型的表示方法实体联系模型中数据联系 实体联系
8、模型中最重要的3个概念是实体、属性和联系,其中前2个概念已介绍过,这里说明联系的概念。 联系(Relationship)是实体之间的相互关系。与一个联系有关的实体集的个数称为联系的元数。 联系有一元联系、二元联系、三元联系等。我们先研究二元联系。二元联系可以分为以下3种 .二元联系的3种形式实体集实体集A 实体集实体集B 实体集实体集A 实体集实体集B 实体集实体集A 实体集实体集B二元联系的3种形式说明(1)一对一联系:如果实体集A中每个实体至多和实体集B中任意一个实体有联系,反之也一样,那么实体集A和实体集B的联系称为“一对一联系”,记作“1:1”。例如一个学校的校长与该学校的联系、一个学
9、生班的班长与该班的联系等。(2)一对多联系:如果实体集A中每个实体可以与实体集B中任意个(零个或多个)实体有联系,而实体集B中每个实体至多和实体集A中的一个实体相联系,那么实体集A和实体集B的联系称为“一对多联系”,记作“1:N”。 例如一个学校的校长与其职工的联系、一个学生班的班长与班内学生的联系等。(3)多对多联系:如果实体集A中每个实体可以与实体集B中任意个(零个或多个)实体有联系,反之也一样,那么实体集A和实体集B的联系称为“多对多联系”,记作“M:N”。例如老师与课程的联系(一个教师可以讲多门课,一门课可以被多个教师讲)、药厂与销售点的联系(一个药厂有多个销售点,一个销售点销售多个厂
10、的药)等。三个实体之间的联系 一个实体间的多对多联系 获奖 运动员 m n E-R模型的表示方法 (1)矩形框:表示实体类型(表达的对象),矩形框内的内容用名词表达。 (2)菱形框:表示联系类型(实体间联系)。联系的类型有(1:1、1:n、m:n)三种,菱形框内的内容用动词来表达。 (3)椭圆形框:表示实体类型或联系类型的属性,椭圆内用属性名表示,如果这个属性名是关键词,可以在该属性名下加下划线。 (4)连线:实体与属性之间,联系与属性之间用直线连接。联系类型与有关实体类型之间也用直线连接,在直线端部标注联系的类型。专业和老师两个实体之间的E-R图 专业 招收 老师 编号 姓名 性别 年龄 籍
11、贯 成立日期 性质 名称 编号 m 1 4.结构数据模型 结构数据模型(也称为逻辑数据模型)常用模型有层次模型、网状模型、关系模型和面向对象模型4种。面向对象模型还在不断完善过程中,前面已作过介绍,下面仅介绍前3种模型的一些基本知识。层次模型(Hierarchical Model)的定义和特点 用树型(层次)结构表示实体类型与实体间联系的数据模型称为层次模型。在数据库中,层次模型要满足下列2个基本条件: 有且只有一个结点没有双亲结点,这个结点称为根结点; 根以外的其它结点有且只有一个双亲结点,即上一层记录类型和下一层记录类型之间的联系为1:N联系。层次模型结构举例 学院 系别 教研室 处 学院
12、编制的层次模型数据库 代号 名称 办公地 名称 办公地 编号 名称 办公地 编号 名称 办公室 学院处 系别 教研室 层次模型优缺点 层次模型优点。 模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解。 对于实体的联系是固定的,其性能较优。 提供了良好的完整性支持。 层次模型缺点。 无法直接表示多对多联系。 对插入和删除操作的限制多。 查询子女结点必须通过双亲结点。 层次命令趋于程序化。 理论上缺少数学推导。 网状模型 网状模型的定义和特点。 用有向图结构表示实体类型及实体间联系的数据模型称为网状模型。在现实世界中,各实体之间的联系更多的是非层次关系的,用层次模型表示非树型结构是很
13、不方便的,网状模型可以解决这一问题。 网状模型有以下2个特点: 允许一个以上的结点无双亲。 一个结点可以有多于一个的双亲。 简单的网状模型 学院 系别 教研室 学生 住处 工程“项目”和“零件”的网状数据库模式 S1 S2 项目 零件 P-P 项目号 名称 经费 编号 零件名 价格 项目号 编号 数量 网状模型的优缺点 网状模型的优点。 能更为直接地描述现实世界,如一个结点可以有多个双亲。 具有良好的性能,存取效率较高。 网状模型的缺点。 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。 在理论上缺少严密的数学推导。 关系模型(Relational Mo
14、del) 关系模型的主要特征是用二维表格表达实体集。与前两种模型相比,数据结构简单,容易为初学者理解。关系模型是由若干个关系模式组成的集合。关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张二维表格。关系模型的数据结构举例 学号 姓名 年 龄 专业 001 刘民 19 计算机 002 程良 18 电子 003 张林 20 自动化 关 系 学生登记表 关系名 属性名或属性列 元 组 集合 元组或行 关系模式 主 码 列中所有可能的值称为域 某一分量 关系模型要求关系必须是规范化 学生号姓名年龄出生日期年月日2008011208周良英2019801012表中有表不规范关系模型
15、的优缺点 关系模型的优点。 关系模型与前两个模型不同,所有的规则和运算方法都有数学理论作指导。 数据结构简单、清晰,用户易懂易用,使用关系来描述实体与实体间的联系。 关系模型的存取路径对用户是透明的,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库建立和开发的工作。 关系模型的缺点。 存取路径对用户透明导致查询效率往往不如非关系数据模型。为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。现在随着计算机硬件和软件的发展,关系数据库的性能已得到了极大的改善,以上讲的缺点已不存在了。2.2 数据库系统结构 从数据库管理系统内部系统结构看,数据库系统通常
16、采用三级模式结构(下面会详细介绍)。从数据库外部的体系结构看,数据库系统的结构分为集中式结构、分布式结构、客户/服务器和并行结构4种。数据库外部的体系结构(1)集中式结构。 (2)分布式结构。 (3)客户机/服务器(Client/Server,简称:C/S)式结构。 (4)并行式结构。 1.1.数据库系统的三级模式结构 数据库系统的三级模式结构是指外模式、模式和内模式。 1.外模式(External Schema) 外模式也称子模式(SubSchema)或用户模式,是三级模式的最外层,它是数据库用户能够看到和使用的局部数据的逻辑结构和特征的描述。 把普通用户看到和使用的数据库内容称为视图。视图集也称为用户级数据库,它对应于外模式。外模式通常是模式的子集。一个数据库可以有多个外模式。同一外模式也可以为某一用户的多个应用系统所用,但一个应用程序只能使用一个外模式。 2.2.模式(SchemaSchema) 模式又称概念模式,也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,是数据视图的全部。它是数据库系统模式结构的中间层 。 概念模式实际上是数据库数据在逻辑