《第2章数据库基础知识ppt课件》由会员分享,可在线阅读,更多相关《第2章数据库基础知识ppt课件(54页珍藏版)》请在金锄头文库上搜索。
1、Access 基础教程(第三版),第2章 数据库基础知识,第2章 数据库基础知识,2.1 数据库与数据库系统 2.2 关系数据库标准语言SQL 2.3 Access关系数据库设计,2.1 数据库与数据库系统,2.1.1 数据库技术的发展 数据库技术产生于20世纪60年代后期,是随着数据管理的需要而产生的。在此之前,数据管理经历了人工管理阶段和文件系统阶段。 数据库技术的发展经历了三代:第一代网状、层次数据库系统,第二代关系数据库系统和第三代以面向对象模型为主要特征的数据库系统。目前,数据库技术与网络通信技术、人工智能技术、面向对象程序设计技术、并行计算机技术等相互渗透,成为数据库技术发展的主要
2、特征。,2.1 数据库与数据库系统,1第一代数据库系统网状、层次数据库系统 数据库发展阶段的划分是以数据模型的发展为主要依据的。数据模型的发展经历了格式化数据模型(包括层次数据模型和网状数据模型)、关系数据模型两个阶段,正向面向对象的数据模型等非传统数据模型阶段发展。实际上层次数据模型是网状数据模型的特例,层次数据库系统和网状数据库系统在体系结构、数据库语言和数据存储管理上均具有相同特征,并且都是在20世纪60年代后期研究和开发的,属于第一代数据库系统。,2.1 数据库与数据库系统,第一代数据库系统具有如下特点: (1)支持三级模式的体系结构。 (2)用存取路径来表示数据之间的联系。 (3)独
3、立的数据定义语言。 (4)导航的数据操纵语言。 第一代数据库系统的代表: (1)1969年,IBM公司开发的层次模型的数据库系统IMS(Information Management System。 (2)1969年10月,美国数据库系统语言协会CODASYL(Conference On Data System Language)的数据库研制者提出了网状模型数据库系统规范报告,使数据库系统开始走向规范化和标准化。它是网状模型的典型代表。,2.1 数据库与数据库系统,2第二代数据库系统关系数据库系统 1970年美国IBM公司San Jose研究室的高级研究员埃德加考特(E. F. Codd)发表了
4、论文大型共享数据库数据的关系模型,提出了数据库的关系模型,开创了数据库关系方法和关系数据理论的研究,为关系数据库技术奠定了理论基础,为数据库技术开辟了一个新时代。 20世纪70年代,关系方法的理论研究和软件系统的研制均取得了很大成果。IBM公司的San Jose实验室研制出关系数据库实验系统System R。与System R同期,美国Berkeley大学也研制了INGRES数据库实验系统,并发展成为INGRES数据库产品,使关系方法从实验走向了市场。,2.1 数据库与数据库系统,关系数据库产品一问世,就以其简单清晰的概念,易懂易学的数据库语言,使用户不需了解复杂的存取路径细节,不需说明“怎么
5、干”,只需指出“干什么”,就能操作数据库,从而深受广大用户喜爱。 20世纪80年代以来,大多数厂商推出的数据库管理系统的产品都是关系型的,如:FoxPro、Access、DB2、Oracle及Sybase等都是关系型数据管理系统(简称RDBMS),使数据库技术日益广泛地应用到企业管理、情报检索、辅助决策等各个方面,成为实现和优化信息系统的基本技术。,2.1 数据库与数据库系统,关系数据库是以关系模型为基础的,具有以下特点: (1)关系数据库对实体及实体之间的联系均采用关系来描述,对各种用户提供统一的单一数据结构形式,使用户容易掌握和应用。 (2)关系数据库语言具有非过程化特性,将用户从编程数据
6、库记录的导航式检索中解脱出来,降低了编程难度,面向非专业用户。 (3)数据独立性强,用户的应用程序、数据的逻辑结构与数据的物理存储方式无关。 (4)以关系代数为基础,数据库的研究更加科学化,尤其在关系操作的完备性、规范化及查询优化等方面,为数据库技术的成熟奠定了很好的基础。,2.1 数据库与数据库系统,3第三代数据库系统 1990年高级DBMS功能委员会发表了第三代数据库系统宣言的文章,提出了第三代数据库应具有的三个基本特征,并从三个基本特征导出了13个具体特征和功能。 经过多年的研究和讨论,对第三代数据库系统的基本特征已有了共识: (1)第三代数据库系统应支持数据管理、对象管理和知识管理。以
7、支持面向对象数据模型为主要特征,并集数据管理、对象管理和知识管理为一体。 (2)第三代数据库系统必须保持或继承第二代数据库系统的技术,如非过程化特性、数据独立性等。 (3)第三代数据库系统必须对其他系统开放,如支持数据库语言标准、在网络上支持标准网络协议等。,2.1 数据库与数据库系统,4数据库技术的新进展 数据库技术与其他学科的有机结合,是新一代数据库技术的一个显著特征,出现了各种新型的数据库,例如: 数据库技术与分布处理技术相结合,出现了分布式数据库。 数据库技术与并行处理技术相结合,出现了并行数据库。 数据库技术与人工智能技术相结合,出现了知识库和主动数据库系统。 数据库技术与多媒体处理
8、技术相结合,出现了多媒体数据库。 数据库技术与模糊技术相结合,出现了模糊数据库等。 数据库技术应用到其他领域中,出现了数据仓库、工程数据库、统计数据库、空间数据库及科学数据库等多种数据库技术,扩大了数据库应用领域。,2.1 数据库与数据库系统,数据库技术发展的核心是数据模型的发展。 数据模型应满足三方面的要求: 一是能比较真实地模拟现实世界; 二是容易为人们所理解; 三是便于在计算机上实现。,2.1 数据库与数据库系统,2.1.2 数据库的基本概念 1数据(Data) 数据是数据库系统研究和处理的对象,本质上讲是描述事物的符号记录。符号不仅仅是指数字、字母和文字,而且包括图形、图像、声音等。因
9、此数据有多种表现形式,都是经过数字化后存入计算机的,能够反映或描述事物的特性。 2数据库(database,简称DB) 数据库是数据的集合,它具有一定的组织形式并储存于计算机存储器上,具有多种表现形式并可被各种用户所共享。数据库中的数据具有较小的冗余度、较高的数据独立性和扩展性。,2.1 数据库与数据库系统,3数据库管理系统(DBMS) 数据库管理系统是位于用户与操作系统之间的一层数据管理软件,属于系统软件。它是数据库系统的一个重要组成部分,是使数据库系统具有数据共享、并发访问、数据独立等特性的根本保证,主要提供以下功能: 数据定义功能 数据操纵及查询优化 数据库的运行管理 数据库的建立和维护
10、,2.1 数据库与数据库系统,4数据库系统(DBS) 数据库系统通常是指带有数据库的计算机应用系统。它一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户组成。在不引起混淆的情况下常把数据库系统简称为数据库。,2.1 数据库与数据库系统,2.1.3 数据模型 数据库中组织数据应当从全局出发,不仅考虑到事物内部的联系,还要考虑到事物之间的联系。表示事物以及事物之间联系的模型就是数据模型。数据模型是用来抽象、表示和处理现实世界的数据和信息的工具,也就是现实世界数据特征的抽象。数据模型是数据库系统的核心和基础,现有的数据库系统均是基于某种数据模型的。,2.1 数据库与数据库系统
11、,数据模型有三个基本组成要素:数据结构、数据操作和完整性约束。数据结构用于描述系统的静态特性,研究的对象包括两类,一类是与数据类型、内容、性质有关的对象;另一类是与数据之间的联系有关的对象。数据操作是指对数据库中各种对象(型)的实例(值)允许执行的所有操作,即操作的集合,包括操作及有关的操作规则。数据库主要有检索和更新两类操作。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定数据库的状态及状态的变化,以保证数据的正确、有效和相容。,2.1 数据库与数据库系统,数据库领域中过去和现在最常见的数据模型有四种:层次模型、网状模型、关系模型和面向对象模型。其中层次模型和网状模型
12、统称为非关系模型。在关系模型出现以前,它们是非常流行的数据模型。非关系模型中数据结构的单位是基本层次联系。所谓基本层次联系是指两个记录以及它们之间的一对多(包括一对一)的联系,如图2.1所示。每个结点表示一个记录类型(实体),结点间的连线表示记录类型之间一对多的联系。,2.1 数据库与数据库系统,1层次模型(Hierarchical Model) 层次模型用树形结构来表示数据间的从属关系结构。其主要特征如下: 仅有一个无双亲的结点,这个结点称为根结点。 其他结点向上仅有一个双亲结点,向下有若干子女结点。 例:图2.2 层次模型示例 例:图2.3 学校人员数据库模型 层次数据模型比较简单,结构清
13、晰,容易理解。但由于现实世界中很多联系是非层次的,采用层次模型表示这种非层次的联系很不直接,只能通过冗余数据或创建非自然的数据组织来解决。,2.1 数据库与数据库系统,2网状模型(Network Model) 网状模型是层次模型的扩展,呈现一种交叉关系的网络结构,可以表示较复杂的数据结构。其主要特征如下: 有一个以上的结点无双亲。 一个结点可以有多个双亲。 在网状模型中,子女结点与双亲结点的联系可以不惟一。因此,要为每个联系命名,并指出与该联系有关的双亲记录和子女记录。例:图2.4 网状模型示例 图2.5 学生/学生-课程/课程网状模型,2.1 数据库与数据库系统,同层次模型相比,网状模型能更
14、好地描述复杂的现实世界,但网状模型结构比较复杂,到达一个结点的路径有多条,用户必须了解系统结构的细节,对于开发人员的要求也较高。,2.1 数据库与数据库系统,3关系模型(Relational Model) 1970年美国IBM公司San Jose研究室的高级研究员埃德加考特提出了数据库的关系模型。由于他的杰出贡献,于1981年获得了计算机科学领域的最高奖项图灵奖。 关系模型就是用二维表格结构来表示实体及实体间联系的模型。关系模型中数据的逻辑结构就是一张二维表。 例:表2.1 教师档案表,2.1 数据库与数据库系统,关系模型的基本术语如下: (1)关系(Relation):二维表结构,如表2.1
15、中的教师档案表。 (2)属性(Attribute):二维表中的列称为属性,Access中称为字段(Field)。如表2.1中有4列,则有4个属性(教师编号,教师姓名,所属院系名称,所属专业名称)。 (3)域(Domain):属性的取值范围称为域。如表2.1中所属院系名称的域是该校所有院系名称的集合。 (4)元组(Tuple):二维表中的行(记录的值)称为元组,Access中称为记录(Record)。,2.1 数据库与数据库系统,(5)主码或主关键字(Primary Key):表中的某个属性或属性组,能够惟一确定一个元组。Access中的主码称为主键。如表2.1中的教师编号可以惟一确定一名教师,
16、即是本关系中的主码或主关键字。 (6)关系模式:是对关系的描述。一般表示为: 关系名(属性1,属性2,属性n) 一个关系模式对应一个关系的结构。例如上面的关系可描述为: 教师档案(教师编号,教师姓名,所属院系名称,所属专业名称),2.1 数据库与数据库系统,关系模型的主要特点有: (1)关系中每一数据项不可再分,也就是说不允许表中还有表。例:表2.2 (2)每一列中的各个数据项具有相同的属性。 (3)每一行中的记录由一个事物的多种属性项构成。 (4)每一行代表一个实体,不允许有相同的记录行。 (5)行与行、列与列的次序可以任意交换,不改变关系的实际意义。,2.1 数据库与数据库系统,4面向对象数据模型(OO模型) 面向对象模型是近几年来发展起来的一种新兴的数据模型。该模型是在吸收了以前的各种数据模型优点的基础上,借鉴了面向对象程序设计方法而建立的一种模型。一个OO模型是用面向对象观点来描述现实世界实体(对象)的逻辑组织、对象间限制、联系等的模型。这种模型具有更强的表示现实世界的能力,是数据模型发展的一个重要方向。目前对