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