数据库原理与应用教程 第2章 数据库系统结构 南昌大学科学技术学院 讲课老师:俞俊甫 2010年8月 数据库原理与应用教程
数据库系统结构 数据库系统结构是全书的基础,只有掌握了这些基础知识,才能更好地学好数据库原理及其应用的具体内容。本章首先介绍在概念设计和逻辑设计中描述数据的专业术语及其含义,然后叙述数据库的各种数据模型,最后说明了数据库系统的三级模式、二级映像功能与数据独立性。 数据库原理与应用教程
本章目录 2.1数据模型 2.2数据库系统结构 2.3本章小结 习 题 数据库原理与应用教程
数据描述 1、概念设计中的数据描述 2、逻辑设计中的数据描述 3、物理存储中的数据描述 数据库原理与应用教程
1、概念设计中的数据描述 (1)实体(Entity):客观存在、可以互相区别的事物称为实体。例一名学生、一间教室、一辆汽车等。 (2)实体集(Entity Set):性质相同的同类实体的集合,称为实体集。所有学生、所有汽车等。 (3)属性(Attribute):实体有很多特性,每一个特性称为一个属性。例如学生的学号、姓名、年龄、成绩等都是学生的属性。 (4)实体标识符(Identifier):能唯一标识实体的属性和属性集,称为实体标识符,有时也称为关键码(Key),学生中的学号可以作为学生实体的标识符。 数据库原理与应用教程
2、逻辑设计中的数据描述 (1)字段(Field):标记实体属性的命名单位称为字段,或数据项。与概念设计中数据描述中的属性相当。 (2)记录(Record):字段的有序集合称为记录。与概念设计中数据描述中的实体相当。 (3)文件(File):同一类记录的集合称为文件。与概念设计中数据描述中的实体集相当。 (4)关键码(key):能惟一标识文件中每个记录的字段或字段集,称为记录的关键码(简称为键)。 数据库原理与应用教程
概念设计与逻辑设计术语间的对应关系 实体 记录 属性 字段(数据项) 实体集 文件 实体标识符 关键码 数据库原理与应用教程
数据描述有两种形式 (1)物理描述:物理数据描述指数据在存储设备上的存储方式的描述,物理数据是实际存放在存储设备上的数据。 (2)逻辑描述:逻辑数据描述指程序员或用户用以操作的数据形式的描述,是抽象的概念化数据。 数据管理软件的功能之一是把物理数据和逻辑数据相互转化。 数据库原理与应用教程
数据模型定义(1) 数据库系统中的数据模型是对现实世界数据的抽象,能表示实体类型及实体间联系的模型称为“数据模型”(Data Model)。 数据模型的种类很多,目前被广泛使用的分为两种类型: (1) 概念模型 (2) 逻辑模型 数据库原理与应用教程
数据模型定义(2) 一种是独立于计算机系统的数据模型,完全不涉及信息在计算机中的表示,是用来描述某个特定组织所关心的信息结构,这类模型称为“概念数据模型”。概念模型是按用户的观点对数据建模,强调其语义表达能力,概念应该简单、清晰、易于用户理解,它是对现实世界的第一层抽象,是用户和设计人员之间进行交流的工具。这一类模型中最著名的是“实体联系模型”。 数据库原理与应用教程
数据模型定义(3) 另一种数据模型是直接面向数据库的逻辑结构,它是对现实世界的第二层抽象,这类模型直接与DBMS有关,称为“逻辑数据模型”,也称为“结构数据模型”。这类模型有严格的定义,以便于在计算机中实现。它通常有一组严格定义的无二义性的语法和语义的数据库语言,人们可以用这种语言来定义、操纵数据库中的数据。 数据库原理与应用教程
组成结构数据模型的三要素 结构数据模型描述了数据库系统中的三个方面:静态特性、动态特性和完整性约束条件。因此该数据模型一般由数据结构、数据操作和完整性约束三要素组成,是严格定义的一组概念的集合。 数据库原理与应用教程
(1)数据结构 数据结构用于描述系统的静态特性,是所研究的对象类型的集合。结构数据模型按其数据结构分为层次模型、网状模型、关系模型和面向对象模型。它们研究的对象是数据库的组成部分,包括两类:一类是与数据类型、内容、性质有关的对象,例如网状模型中的数据项、记录,关系模型中属性、实体等;另一类是与数据之间的联系有关的对象,例如网状模型中的联系类型、关系模型中反映联系的关系等。 数据库原理与应用教程
(2)数据操作。 数据操作用于描述系统的动态特性,是指对数据库中各种对象及对象的实例允许执行操作的集合,包括对象的创建、增加、插入、修改和删除;对对象实例的检索与更新等。结构数据模型必须定义这些操作的确切含义、操作符号、操作规则(如定义优先级)以及实现操作的语言等。 数据库原理与应用教程
(3)数据的完整性约束(1) 数据的完整性约束条件是一组完整性约束规则的集合。完整性约束规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。 数据模型应该反映和规定本数据模型必须遵守的基本通用的完整性约束条件。例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件(在后面会作进一步介绍)。 数据库原理与应用教程
(3)数据的完整性约束(2) 结构数据模型的三要素在数据中都是严格定义的一组概念的集合。对关系数据库来说可以简单理解为:数据结构是表结构及其它数据库对象定义的命令集;数据操作是数据库管理系统提供的各种数据操作的命令集;数据完整性约束是各关系表约束的定义及动态操作约束规则等的集合。因此结构数据模型的三要素并不抽象,可根据具体的数据库系统来细细领会。 数据库原理与应用教程
实体联系模型简述 在数据库技术中,采用数据模型的第一层抽象是概念数据模型,表达概念数据模型一般通用的工具采用实体联系模型。 1.实体联系模型中数据联系 2. E-R模型的表示方法 数据库原理与应用教程
实体联系模型中数据联系 实体联系模型中最重要的3个概念是实体、属性和联系,其中前2个概念已介绍过,这里说明联系的概念。 联系(Relationship)是实体之间的相互关系。与一个联系有关的实体集的个数称为联系的元数。 联系有一元联系、二元联系、三元联系等。我们先研究二元联系。二元联系可以分为以下3种 . 数据库原理与应用教程
二元联系的3种形式 实体集A 实体集B 实体集A 实体集B 实体集A 实体集B 数据库原理与应用教程
二元联系的3种形式说明 (1)一对一联系:如果实体集A中每个实体至多和实体集B中任意一个实体有联系,反之也一样,那么实体集A和实体集B的联系称为“一对一联系”,记作“1:1”。例如一个学校的校长与该学校的联系、一个学生班的班长与该班的联系等。 (2)一对多联系:如果实体集A中每个实体可以与实体集B中任意个(零个或多个)实体有联系,而实体集B中每个实体至多和实体集A中的一个实体相联系,那么实体集A和实体集B的联系称为“一对多联系”,记作“1:N”。 例如一个学校的校长与其职工的联系、一个学生班的班长与班内学生的联系等。 (3)多对多联系:如果实体集A中每个实体可以与实体集B中任意个(零个或多个)实体有联系,反之也一样,那么实体集A和实体集B的联系称为“多对多联系”,记作“M:N”。例如老师与课程的联系(一个教师可以讲多门课,一门课可以被多个教师讲)、药厂与销售点的联系(一个药厂有多个销售点,一个销售点销售多个厂的药)等。 数据库原理与应用教程
三个实体之间的联系 数据库原理与应用教程
一个实体间的多对多联系 数据库原理与应用教程
E-R模型的表示方法 (1)矩形框:表示实体类型(表达的对象),矩形框内的内容用名词表达。 (2)菱形框:表示联系类型(实体间联系)。联系的类型有(1:1、1:n、m:n)三种,菱形框内的内容用动词来表达。 (3)椭圆形框:表示实体类型或联系类型的属性,椭圆内用属性名表示,如果这个属性名是关键词,可以在该属性名下加下划线。 (4)连线:实体与属性之间,联系与属性之间用直线连接。联系类型与有关实体类型之间也用直线连接,在直线端部标注联系的类型。 数据库原理与应用教程
专业和老师两个实体之间的E-R图 数据库原理与应用教程
结构数据模型 结构数据模型(也称为逻辑数据模型)常用模型有层次模型、网状模型、关系模型和面向对象模型4种。面向对象模型还在不断完善过程中,前面已作过介绍,下面仅介绍前3种模型的一些基本知识。 数据库原理与应用教程
层次模型(Hierarchical Model) 的定义和特点。 用树型(层次)结构表示实体类型与实体间联系的数据模型称为层次模型。在数据库中,层次模型要满足下列2个基本条件: ① 有且只有一个结点没有双亲结点,这个结点称为根结点; ② 根以外的其它结点有且只有一个双亲结点,即上一层记录类型和下一层记录类型之间的联系为1:N联系。 数据库原理与应用教程
层次模型结构举例 数据库原理与应用教程
学院编制的层次模型数据库 数据库原理与应用教程
层次模型优缺点 层次模型优点。 ① 模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解。 ② 对于实体的联系是固定的,其性能较优。 ③ 提供了良好的完整性支持。 层次模型缺点。 ① 无法直接表示多对多联系。 ② 对插入和删除操作的限制多。 ③ 查询子女结点必须通过双亲结点。 ④ 层次命令趋于程序化。 ⑤ 理论上缺少数学推导。 数据库原理与应用教程
网状模型 网状模型的定义和特点。 用有向图结构表示实体类型及实体间联系的数据模型称为网状模型。在现实世界中,各实体之间的联系更多的是非层次关系的,用层次模型表示非树型结构是很不方便的,网状模型可以解决这一问题。 网状模型有以下2个特点: ① 允许一个以上的结点无双亲。 ② 一个结点可以有多于一个的双亲。 数据库原理与应用教程
简单的网状模型 数据库原理与应用教程
工程“项目”和“零件”的网状数据库模式 数据库原理与应用教程
网状模型的优缺点 网状模型的优点。 ① 能更为直接地描述现实世界,如一个结点可以有多个双亲。 ② 具有良好的性能,存取效率较高。 网状模型的缺点。 ① 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。 ② 在理论上缺少严密的数学推导。 数据库原理与应用教程
关系模型(Relational Model) 关系模型的主要特征。 关系模型的主要特征是用二维表格表达实体集。与前两种模型相比,数据结构简单,容易为初学者理解。关系模型是由若干个关系模式组成的集合。关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张二维表格。 数据库原理与应用教程
关系模型的数据结构举例 数据库原理与应用教程
关系模型要求关系必须是规范化 学生号 姓名 年龄 出生日期 年 月 日 2008011208 周良英 20 1980 10 12 … 表中有表不规范 数据库原理与应用教程
关系模型的优缺点 关系模型的优点。 ① 关系模型与前两个模型不同,所有的规则和运算方法都有数学理论作指导。 ② 数据结构简单、清晰,用户易懂易用,使用关系来描述实体与实体间的联系。 ③ 关系模型的存取路径对用户是透明的,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库建立和开发的工作。 关系模型的缺点。 存取路径对用户透明导致查询效率往往不如非关系数据模型。为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。现在随着计算机硬件和软件的发展,关系数据库的性能已得到了极大的改善,以上讲的缺点已不存在了。 数据库原理与应用教程
2.2 数据库系统结构 数据库系统结构是了解数据库组成的重要基础,正因为数据库系统的这种合理有效的结构才使得数据库系统至今仍在广泛应用之中。可以有多种不同的层次或不同的角度来考查数据库系统的结构。从数据库管理系统内部系统结构看,数据库系统通常采用三级模式结构(下面会详细介绍)。从数据库外部的体系结构看,数据库系统的结构分为集中式结构、分布式结构、客户/服务器和并行结构4种。 数据库原理与应用教程
数据库外部的体系结构 (1)集中式结构。 (2)分布式结构。 (3)客户机/服务器(Client/Server,简称:C/S)式结构。 (4)并行式结构。 数据库原理与应用教程
数据库系统结构目录 1.数据库系统的三级模式结构 2. 数据库的二级映象功能与数据独立性 3. 数据库管理系统的工作过程 数据库原理与应用教程
数据库系统的三级模式结构 数据库系统的三级模式结构是指外模式、模式和内模式。 1.外模式(External Schema) 外模式也称子模式(SubSchema)或用户模式,是三级模式的最外层,它是数据库用户能够看到和使用的局部数据的逻辑结构和特征的描述。 把普通用户看到和使用的数据库内容称为视图。视图集也称为用户级数据库,它对应于外模式。外模式通常是模式的子集。一个数据库可以有多个外模式。同一外模式也可以为某一用户的多个应用系统所用,但一个应用程序只能使用一个外模式。 数据库原理与应用教程
数据库系统的三级模式结构 2.模式(Schema) 模式又称概念模式,也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,是数据视图的全部。它是数据库系统模式结构的中间层 。 概念模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系、定义与数据有关的安全性、完整性要求。 数据库原理与应用教程
数据库系统的三级模式结构 3.内模式(Internal Schema) 内模式也称为存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。 数据库原理与应用教程
三级模式结构 外模式 用户视图 模式 全局视图 内模式 存储视图 用户的局部 逻辑结构 数据库的整体 数据库的 物理结构 数据库原理与应用教程
数据库的二级映象功能与数据独立性 这两层映象保证了数据库系统的数据能够具有较高的逻辑独立性和物理独立性。 1.外模式/模式映象 为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映象:外模式/模式映象,模式/内模式映象。 这两层映象保证了数据库系统的数据能够具有较高的逻辑独立性和物理独立性。 1.外模式/模式映象 模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。数据库系统都有一个外模式/模式映象,它定义了该外模式与模式之间的对应关系。 当模式改变时,由数据库管理员对各个外模式/模式映象作相应改变,可以使外模式保持不变。 应用程序是依据数据的外模式编写的,保证了数据与程序的逻辑独立性,简称为数据逻辑独立性。 数据库原理与应用教程
数据库的二级映象功能与数据独立性 2.模式/内模式映象 数据库中只有一个模式,也只有一个内模式,所以模式/内模式映象是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变了,由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称为数据物理独立性。 在数据库的三级模式结构中,数据库模式即全局逻辑结构是数据库的中心与关键,它独立于数据库的其他层次。 数据库原理与应用教程
数据库的二级映象功能与数据独立性 数据库的内模式依赖于它的全局逻辑结构,但独立于数据库的用户视图即外模式,也独立于具体的存储设备。 数据库的外模式面向具体的应用程序,它定义在逻辑模式之上,但独立于内模式和存储设备。 数据库的二级映象保证了数据库外模式的稳定性,从而根本上保证了应用程序的稳定性,使得数据库系统具有较高的数据与程序的独立性。数据库的三级模式与二级映象使得数据的定义和描述可以从应用程序中分离出去。 数据库原理与应用教程
数据库管理系统的工作过程 (1) 数据库管理系统控制的数据操作过程基于数据库系统的三级模式结构与二级映象功能,总体操作过程能从其读或写一个用户记录的过程大体反映出来。 下面就以应用程序从数据库中读取一个用户记录的过程(如图1.27所示)来说明。 按照步骤解释运行过程如下: (1)应用程序A向DBMS发出从数据库中读用户数据记录的命令; (2)DBMS对该命令进行语法检查、语义检查,并调用应用程序A对应的子模式,检查A的存取权限,决定是否执行该命令。如果拒绝执行,则转(10)向用户返回错误信息 数据库原理与应用教程
数据库管理系统的工作过程(2) (3)在决定执行该命令后,DBMS调用模式,依据子模式/模式映象的定义,确定应读入模式中的哪些记录; 数据库原理与应用教程
数据库管理系统的工作过程 (3) (6)操作系统执行从物理文件中读数据的有关操作; (7)操作系统将数据从数据库的存储区送至系统缓冲区; (8)DBMS依据内模式/模式(模式/内模式映象的反方向看待,并不是另一种新映象,模式/子模式映象也是类似情况)、模式/子模式映象的定义,导出应用程序A所要读取的记录格式; 数据库原理与应用教程
数据库管理系统的工作过程(4) (9)DBMS将数据记录从系统缓冲区传送到应用程序A的用户工作区; 至此,DBMS就完成了一次读用户数据记录的过程。DBMS向数据库写一个用户数据记录的过程经历的环节类似于读,只是过程基本是相反而已。由DBMS控制的大量用户数据的存取操作,可以理解为就是由许许多多这样的读或写的基本过程组合完成的。 数据库原理与应用教程
本章小结(1) 1.在数据库的概念设计和逻辑设计中数据描述的名称是不一样的,实体对应记录、属性对应字段(数据项)、实体集对应于文件、实体标识符对应于关键码。表示实体类型及实体间联系的模型称为“数据模型”,数据模型描述了数据库系统中的三个方面:静态特性、动态特性和完整性约束条件。因此该数据模型一般由数据结构、数据操作和完整性约束三要素组成,是严格定义的一组概念的集合。 数据库原理与应用教程
本章小结(2) 2.数据库的数据模型是由概念模型和逻辑数据模型(或称结构数据模型)组成,概念模型一般用E—R模型(即实体联系模型)表达,它是由实体、属性和联系来表示的,联系方式有1:1,1:N,M:N三种。逻辑数据模型有层次模型、网状模型、关系模型和面向对象模型四种,由于面向对象模型还不很成熟,而关系模型具有较强的数学理论基础、数据结构简单、清晰、用户易学易懂、具有很高的数据独立性、更好的安全保密性等优点,淘汰了层次模型和网状模型,现在都用关系模型来解决数据库系统问题。 数据库原理与应用教程
本章小结(3) 3.数据库系统的内部结构是由外模式、模式、内模式三级模式组成的,外模式是数据库用户能够看到和使用局部数据的逻辑结构和特征的描述,是面向具体的应用程序的;模式是数据库中全体数据的逻辑结构和特征的描述,是数据的全部。内模式是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。数据库系统的三级模式之间提供了两层映像:外模式/模式映像、模式/内模式映像。这两层映像保证了数据库系统的数据具有较高的逻辑独立性和物理独立性。 数据库原理与应用教程
习 题 一、选择题 1.( )是对概念设计中数据的描述。 A.记录 B.数据项 C.实体 D. 元组 习 题 一、选择题 1.( )是对概念设计中数据的描述。 A.记录 B.数据项 C.实体 D. 元组 2. 比较全面的说法,多对多的联系可以存在于( )中。 A.一元联系 B.二元联系 C.三元联系 D.都可以 3.目前( )数据库模型是当今最为流行的数据库模型,全世界的商用数据库系统几乎都在使用它。 A.关系 B.面向对象 C.分布 D.对象-关系 4.在数据库系统中,人们通常按( )类型来命名数据模型,因为它最能体现出数据型的的基本性质。 A.数据结构 B.数据操纵 C.完整性约束 D.数据联系 5. ( )把现实世界中的事物抽象为不为某一DBMS系统支持的数据模型。 A.数据模型 B.概念模型 C.非关系模型 D.关系模型 数据库原理与应用教程
习 题 6. 当数据库的存储结构改变了,由数据库管理员对( )映象作相应改变,可以使模式保持不变,从而保证了数据的物理独立性。 习 题 6. 当数据库的存储结构改变了,由数据库管理员对( )映象作相应改变,可以使模式保持不变,从而保证了数据的物理独立性。 A.存储模式 B. 外模式/模式 C. 用户模式 D. 模式/内模式 7. 数据库的三级体系结构即外模式、模式与内模式是对( )的三个抽象级别。 A.现实世界 B.DBS C.DATA D.DBMS 8. 英文缩写DBA代表( )。 A.数据库管理员 B.数据库管理系统 C.数据定义语言 D.数据操纵语言 9. 数据库三级体系中的外模式允许有( )。 A.唯一的一个 B.定为2个 C.至少两个 D.多个 10. 在DB中存储的全部内容是( )。 A.结构化的数据 B.各种信息的表示 C.数据和数据之间的联系 D.各种数据之间的联系 数据库原理与应用教程
习 题 二、填空题 1. 在概念设计中描述实体特性的是_________,在逻辑设计中描述记录特性的是_________。 习 题 二、填空题 1. 在概念设计中描述实体特性的是_________,在逻辑设计中描述记录特性的是_________。 2. 在数据库的数据模型是由现实世界中二层抽象组成,这二层抽象是由___________模型和___________模型完成的。 3. 数据模型通常都是由_________、_________和__________三个要素组成。 4. 上世纪六十年代末发明的三个数据库模型是____________、 和 ___________。 5. 数据库模型中的非关系模型是指_____________模型和_____________模型。 6. 在数据库的三级模式体系结构中,外模式与模式之间、模式与内模式之间的映象,实现了数据库的____________独立性与___________独立性。 7.E-R图表示的概念模型中,实体是用________来表示,联系用________来表示。 8. 数据库的三级模式结构是外模式,模式和内模式,从数据库基本表中导出的视图是__________模式的最基本的形式。 数据库原理与应用教程
习 题 三、简答题 1.数据库系统中的三种数据模型各有什么优缺点? 2.定义并理解概念模型中的以下术语: 习 题 三、简答题 1.数据库系统中的三种数据模型各有什么优缺点? 2.定义并理解概念模型中的以下术语: 实体、实体集、属性、实体标识符、实体联系图(E-R图)、三种联系类型 3. 学校有若干个系,每个系有若干班级和教研室,每个教研室有若干教师,每个教师只教一门课,每门课可由多个教师讲授;每个班有若干学生,每个学生选修若干课程,每门课程可由若干学生选修。请用E-R图画出该学校的概念模型,注明联系类型。 4. 每种工厂生产的产品由不同的零件组成,有的零件可用于不同的产品。这些零件由不同的原材料制成,不同的零件所用的材料可以相同。一个仓库存放多种产品,一种产品存放在一个仓库中。零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中(不跨仓库存放)。请用E-R图画出此关于产品,零件,材料,仓库的概念模型,注明联系类型。 5. 数据库系统的三级模式结构是什么?为什么要采用这样的结构? 6. 数据独立性包括哪两个方面,含义分别是什么? 数据库原理与应用教程