Download presentation
Presentation is loading. Please wait.
1
Principle and Application of Database
数据库原理及应用 Principle and Application of Database 第一章 绪论(续)
2
学习目标 掌握最常用的数据模型 掌握数据库系统的三级模式结构 掌握数据库系统的二级映象功能 理解数据库系统的组成
3
1.2 数据模型 概念模型 数据模型的组成要素 最常用的数据模型 层次模型 网状模型 关系模型
4
最常用数据模型 层次模型(Hierarchical Model) 网状模型(Network Model) 关系模型(Relational Model) 面向对象模型(Object Oriented Model) 对象关系模型(Object Relational Model) 其中层次模型和网状模型统称为非关系模型,它们的数据结构是以基本层次联系为基本单位,基本层次联系是两个记录及其一对多的联系;关系模型的数据结构是表;面向对象模型的数据结构是对象。
5
层次模型:典型代表是IBM公司于1968年推出的第一个大型商用数据库管理系统IMS。
数据结构:满足下面两个条件的基本层次联系的集合为层次模型:有且只有一个结点没有双亲结点,这个结点称为根结点;根以外的其它结点有且只有一个双亲结点。 多对多联系在层次模型中的表示:利用冗余结点或虚拟结点将多对多联系分解成一对多联系。 数据操纵与完整性约束:数据操纵包括查询、插入、删除、修改;完整性约束包括无相应的双亲结点值就不能插入子女结点值;如果删除双亲结点值,则相应的子女结点值也被同时删除;更新操作时,应更新所有相应记录,以保证数据的一致性。
6
存储结构 邻接法:按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序。 链接法:用指引元来反映数据之间的层次联系。子女-兄弟链接法见P26,层次序列链接法 见P26。 特点 优点: 层次数据模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解。 性能优于关系模型,不低于网状模型。 层次数据模型提供了良好的完整性支持。
7
缺点: 多对多联系表示不自然。 对插入和删除操作的限制多。 查询子女结点必须通过双亲结点。 层次命令趋于程序化。
8
网状模型:典型代表是20世纪70年代数据库系统语言研究会CODASYL(Conference On Data System Language)下属数据库任务组DBTG(Data Base task Group)提出的DBTG系统 数据结构:满足下面两个条件的基本层次联系集合为网状模型 允许一个以上的结点无双亲。 一个结点可以有多于一个的双亲。 数据操纵与完整性约束:数据操纵包括查询、插入、删除、更新,但网状模型对数据操纵加了一些限制,提供了一定的完整性约束。 支持记录码的概念,码是唯一标识记录的数据项的集合。 双亲结点与子女结点之间是一对多联系。 支持双亲记录和子女记录之间某些约束条件,如允许插入尚未确定双亲结点值的子女结点值,允许只删除双亲结点值。
9
存储结构:使用单向链接、双向链接、环状链接、向首链接等链接法实现记录之间的联系。
特点 优点 能更为直接地描述现实世界,如一个结点可以有多个双亲。 具有良好的性能,存取效率较高。 缺点 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。 DDL、DML语言复杂,用户不容易使用。因记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,故用户须了解系统结构的细节,加重了编程的负担。
10
关系模型:典型代表是1970年美国IBM公司San Jose研究室的研究员E. F
关系模型:典型代表是1970年美国IBM公司San Jose研究室的研究员E.F.Codd在美国计算机学会会刊《Communication of the ACM》上发表的题为“A Relational Model of Data for Shared Data Bank”的论文,是最重要的数据模型。 数据结构:逻辑结构是一张二维表,它由行和列组成。
11
关系模型的一些术语: 关系(Relation):一个关系对应一张二维表。 元组(Tuple):表中的一行即为一个元组。 属性(Attribute):表中的一列即为一个属性,每一属性都有一个属性名。 码(Key):表中的某个属性组,它可以唯一确定一个元组。 域(Domain):属性的取值范围。 分量:元组中的一个属性值。 关系模式:对关系的描述,一般形式为关系名(属性1,属性2,…,属性n)。如学生(学号,姓名,年龄,性别,系别,年级)。
12
关系模型中实体及实体间的联系都是用关系来表示的,如学生、课程、学生与课程间的多对多联系在关系模型中表示如下:
学生(学号,姓名,年龄,性别,系别,年级) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) 关系必须是规范化的,满足一定的规范条件。最基本的规范条件是关系的每一个分量必须是一个不可分的数据项。一个反例
13
数据操纵与完整性约束:数据操纵包括查询、插入、删除、修改,这些操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合,同时关系模型中存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”,大大提高了数据的独立性和用户生产率。完整性约束有实体完整性、参照完整性和用户定义的完整性三大类。 存储结构:表以文件形式存储。 特点 优点:建立在严格的数学概念的基础上;概念单一,实体和联系都用关系表示,数据操作结果为关系;存取路径对用户透明 缺点:存取路径对用户透明导致查询效率往往不如非关系数据模型。为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。 典型产品:ORACLE、SYBASE、INFORMIX、DB2等。
14
1.3 数据库系统结构 从DBMS角度看,数据库系统通常采用三级模式的结构,这就是DBMS内部的系统结构。从数据库最终用户角度看,数据库系统的结构分为单用户结构、主从式结构、分布式结构、C/S结构和浏览器/应用服务器/数据库服务器多层结构等。这是数据库系统外部的体系结构。 数据库系统模式的概念 型(Type):对某一类数据的结构和属性的说明。 值(Value):是型的一个具体赋值。 例如:学生记录 记录型:(学号,姓名,性别,系别,年龄,籍贯) 该记录型的一个记录值:(900201,李明,男,计算机,22,江苏)
15
数据库系统的三级模式结构 应用A 应用B 应用C 应用D 应用E 内模式 外模式1 外模式3 模式 外模式2 数据库 外模式/模式映象
内模式/模式映象
16
模式(Schema):也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,综合了所有用户的需求,一个数据库只有一个模式。模式是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关。 外模式(External Schema):也称子模式或用户模式,是数据库用户使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集,一个数据库可以有多个外模式。同一外模式可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。外模式是保证数据库安全性的一个有力措施,每个用户只能看见和访问所对应的外模式中的数据。 内模式(Internal Schema):也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,一个数据库只有一个内模式。
17
数据库的二级映象功能与数据独立性:三级模式是对数据的三个抽象级别,二级映象是在DBMS内部实现这三个抽象层次的联系和转换。
外模式/模式映象:定义了外模式与模式之间的对应关系,每一个外模式都对应一个外模式/模式映象,该映象定义通常包含在各自外模式的描述中。 外模式/模式映象保证了数据的逻辑独立性:当模式改变时,数据库管理员修改有关外模式/模式映象,使外模式保持不变;应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性
18
模式/内模式映象:定义了数据全局逻辑结构与存储结构之间的对应关系,如说明逻辑记录和字段在内部是如何表示的。数据库中模式/内模式映象是唯一的,该映象定义通常包含在模式描述中。
模式/内模式映象保证了数据的物理独立性:当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变,应用程序不受影响,保证了数据与程序的物理独立性,简称数据的物理独立性
19
1.4 数据库系统的组成 硬件平台及数据库:数据库系统对硬件资源的要求:
1.4 数据库系统的组成 硬件平台及数据库:数据库系统对硬件资源的要求: 足够大的内存存放操作系统、DBMS的核心模块、数据缓冲区和应用程序,足够大的外存存放数据库及其备份。 较高的通道能力,提高数据传送率。 软件:包括DBMS、操作系统、与数据库接口的高级语言及其编译系统、以DBMS为核心的应用开发工具、为特定应用环境开发的数据库应用系统。 人员 数据库管理员(DBA):决定数据库中的信息内容和结构、决定数据库的存储结构和存取策略、定义数据的安全性要求和完整性约束条件、监控数据库的使用和运行、数据库的改进和重组、数据库重构。
20
系统分析员:负责应用系统的需求分析和规范说明、与用户及DBA协商,确定系统硬软件配置、参与数据库系统的概要设计。
数据库设计人员:参加用户需求调查和系统分析、确定数据库中的数据、设计数据库各级模式。 应用程序员:设计和编写应用系统程序模块、进行调试和安装。 用户 偶然用户:企业或组织机构的高中级管理人员。 简单用户:银行的职员、机票预定人员、旅馆总台服务员。 复杂用户:工程师、科学家、经济学家、科技工作者等,直接使用数据库语言访问数据库,甚至能够基于数据库管理系统的API编制自己的应用程序。
21
小结 数据模型 层次模型、网状模型、关系模型 数据库系统的结构 数据库系统的三级模式结构 数据库的二级映象功能 数据库系统的组成
22
作业 P41第18、20、21、22、23题。 预习2.1~2.4。
23
下课了。。。 追求 休息
Similar presentations