1、数据库系统原理与应用,理学院数学系,昆明理工大学现代教育技术中心,本课程体系表,数据库系统原理与应用,2019年7月19日星期五,3,第一章 数据库系统基本概念,2019年7月19日星期五,4,我们要掌握什么,什么是信息与数据什么是数据库管理系统和信息管理系统数据库技术及发展数据库系统的结构,2019年7月19日星期五,5,1.1 数据库的相关概念,1.信息:反映客观世界的事实和知识,这是一条信息,2019年7月19日星期五,6,1.1 数据库的相关概念,信息的特征:,1).反映客观事实,对把握事物发展有帮助;2).信息是有用的;3).可在空间和时间上传递;4).必须用一定的形式表示。,信息是
2、你未来财富的源泉! 约翰耐斯比,2019年7月19日星期五,7,1.1 数据库的相关概念,2.数据、数据与信息的关系 描述事物的符号的记录称为数据。这些符号可以是文字、图形、图象、声音和语言等。这些数据的表现形式虽然不一样,但都可以经过数字化后存入计算机。(广义) 载荷信息的物理符号,专指可书写的。(狭义) 数据是信息的表现形式。,2019年7月19日星期五,8,1.1 数据库的相关概念,3.数据的特征1).数据有型和值之分型指结构;值指具体取值2).数据受数据类型和取值范围的约束3).数据有定性表示和定量表示之分4).数据应具有载体和多种表现形式,2019年7月19日星期五,9,1.1 数据
3、库的相关概念,4.数据管理数据处理:对数据的收集、组织、整理、加工、存储 和传播等工作。一类是数据管理:搜集信息,将信息数据化并按类别保存。一类是数据加工:对数据进行变换、抽取和运算;一类是数据传播:在空间和时间上以各种形式传播信息。,2019年7月19日星期五,10,1.1 数据库的相关概念,4.数据管理 数据管理是指对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。 现实中人、财、物的管理都是数据管理问题。,人工管理阶段,计算机管理阶段,2019年7月19日星期五,11,1.1 数据库的相关概念,5.数据库(DB) 长期存放在计算机内,有组织的、可共享的数据集合。 数据库
4、内的数据需要满足:按一定的数据模型组织、描述、储存,冗余度较小,具有较高的数据独立性和易扩展性,可为不同用户共享。,2019年7月19日星期五,12,1.1 数据库的相关概念,6.数据库管理系统(DBMS) 为了科学地组织和存储数据、高效地获取和维护数据而专门设计的介于用户和计算机操作系统之间的一层数据管理软件。,2019年7月19日星期五,13,1.1 数据库的相关概念,7、数据库系统(DBS) 指在计算机系统中引入数据库后的系统,包括数据库、数据库管理系统及其开发工具、应用系统、数据管理员和用户。常简称为数据库。它们之间的关系如下图所示:,2019年7月19日星期五,14,1.2 数据库技
5、术及发展,一、手工管理数据阶段: 计算机主要用于科学计算。外存只有纸带、卡片、磁带,没有磁盘;没有操作系统和管理数据的软件;数据处理方式是批处理。有以下几个方面特点:1、数据不保存,系统软件也是这样;2、由应用程序管理数据(程序员设计的应用程序要包括数据的逻辑结构和物理结构);3、数据不共享;4、数据不具有独立性(结构发生变化就要修改)。,2019年7月19日星期五,15,1.2 数据库技术及发展,二、文件系统阶段: 20世纪50年代后期到60年代中期,有磁盘、磁鼓等存储设备,有数据管理软件(文件系统),处理方式包括批处理和联机实时处理。,2019年7月19日星期五,16,1.2 数据库技术及
6、发展,二、文件系统阶段:有以下几个方面特点:1、数据以文件方式长期保存在计算机外存中;2、由文件系统有专门的数据管理软件提供有关数据存 取、查询及维护功能;3、文件系统中的数据文件已经具有多样化;4、文件系统的数据存取是以记录为单位的。,2019年7月19日星期五,17,1.2 数据库技术及发展,二、文件系统阶段:主要缺点:1、数据冗余度大;2、数据与程序之间缺乏独立性;3、文件系统中的数据文件已经具有多样化;4、文件系统的数据存取是以记录为单位的。,2019年7月19日星期五,18,1.2 数据库技术及发展,三、数据库系统阶段:产生背景: 20世纪60年代后期以来,硬件价格下降,软件价格上升
7、,提出和考虑分布处理。为了解决多用户、多应用共享数据的需求,使数据为尽可能多的应用服务,出现了统一管理数据的专门软件系统数据库管理系统。,2019年7月19日星期五,19,1.2 数据库技术及发展,三、数据库系统阶段:发展历程:第一阶段:数据库技术发展并基本成熟阶段1、Information Management System(IMS系统),1969年,IBM研发,层次结构数据库管理系统。2、CODASYL(美国数据系统语言协会)下属DBTG(数据库任务组)提出的若干报告,6070年代,网状结构数据库模型。3、E.F.Codd 论文大型共享数据库的数据关系模型,1970,IBM公司San Jo
8、se研究实验室,奠定了关系数据库技术理论。,2019年7月19日星期五,20,1.2 数据库技术及发展,三、数据库系统阶段:发展历程:第二阶段:数据库技术深入发展阶段(20世纪70年代以来)1、出现许多商品化的数据库管理系统;2、数据库技术成为实现和优化信息系统的基本技术;3、关系方法的理论研究和软件系统的研制取得了很大成果。,2019年7月19日星期五,21,1.2 数据库技术及发展,三、数据库系统阶段当代数据库研究的范围和方向:1、数据库管理系统软件的研制;2、数据库设计技术的开发;3、数据库理论的研究,2019年7月19日星期五,22,1.2 数据库技术及发展,四、数据库系统的特点1、数
9、据结构化(这是数据库系统和文件系统的根本区别) 在数据库系统中,数据不再针对某一应用,而是面向全组织,具有整体的结构化。而且存取数据的方式也很灵活,可以存取数据库中的某一个或一组数据项、一个或一组记录。而在文件系统中,数据的最小存取单位是记录,不能细于数据项。,2019年7月19日星期五,23,1.2 数据库技术及发展,四、数据库系统的特点1、数据结构化:以学生人事记录为例先看文件系统方式:,任何同学都有且基本上是相等长度的,各个同学的情况不一样,采用等长记录存储,浪费大量空间。,2019年7月19日星期五,24,1.2 数据库技术及发展,四、数据库系统的特点1、数据结构化:以学生人事记录为例
10、数据库系统方式:,2019年7月19日星期五,25,1.2 数据库技术及发展,四、数据库系统的特点2、数据的共享性高、冗余度低,易扩充。 从整体角度看待和描述数据,数据面向整个系统,可以被多个用户,多个应用共享使用。共享的优点是减少数据冗余、节省存储空间,可以避免数据之间的不相容性和不一致性。 通过选取整体数据的各种子集用于不同的应用系统,当应用改变和需求增加时,只要重新选取不同的子集或加上一部分数据便可满足新的需求。,2019年7月19日星期五,26,1.2 数据库技术及发展,四、数据库系统的特点不一致性: 所谓不一致性是指同一数据不同拷贝的值不一样,采用人工管理或文件系统管理时,由于数据被
11、重复存储,不同的应用使用和修改不同的拷贝就容易造成数据的不一致。 实现数据在数据库中共享,可以减少由于数据冗余而造成的不一致现象。,2019年7月19日星期五,27,1.2 数据库技术及发展,四、数据库系统的特点3、数据的独立性高。数据独立性包括物理独立性和逻辑独立性。 物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。(数据由DBMS管理,应用程序只需要处理数据的逻辑结构,当物理结构改变时,应用程序不需要作相应的改变。) 逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。(逻辑结构变了,应用程序不作改变)。 独立性的作用是减少应用程序的修改和维护。,2019年7
12、月19日星期五,28,1.2 数据库技术及发展,四、数据库系统的特点4、数据由DBMS统一管理和控制。BDMS控制的功能:1).实现数据的并发共享(多用户同时存取数据库中的数据);2).数据的安全性保护;3).数据的完整性检查(正确性、有效性、相容性);4).并发控制;5).数据库恢复。,2019年7月19日星期五,29,1.2 数据库技术及发展,四、数据库系统的特点 综上所述,数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的阶段。优点是既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用率和相容性,提高了决策的可靠性。,2019年7月19日星期五
13、,30,1.3 数据库系统的结构,1.3.1 数据库系统的体系结构,硬件,干件,软件,2019年7月19日星期五,31,1.3 数据库系统的结构,1.3.1 数据库系统的体系结构一、硬件平台1、足够大的内存;2、足够大的外存储空间;3、应有较高的通道能力,以提高数据传输率。,2019年7月19日星期五,32,1.3 数据库系统的结构,1.3.1 数据库系统的体系结构二、软件,2019年7月19日星期五,33,1.3 数据库系统的结构,1.3.1 数据库系统的体系结构三、人员1、数据库管理员职责为:1)决定数据库中的信息内容和结构;2)决定数据库的存储结构和存取策略;3)定义数据的安全性要求和完
14、整性约束条件;4)监控数据库的使用和运行;5)数据库的改进和重组重构。,2019年7月19日星期五,34,1.3 数据库系统的结构,1.3.1 数据库系统的体系结构三、人员:2、系统分析员 负责应用系统的需求分析和规范说明,确定系统的硬件软件配置,参与数据库系统的概要设计。3、数据库设计人员 负责数据库中数据的确定、数据库各级模式的设计。,2019年7月19日星期五,35,1.3 数据库系统的结构,1.3.1 数据库系统的体系结构三、人员:4、应用程序员 负责设计和编写应用系统的程序模块。5、用户1)偶然用户(企业或组织的高中级管理人员);2)简单用户(最终用户的大多数,主要是查询和修改数据库
15、);3)复杂用户(较高科学技术背景的人员)。,2019年7月19日星期五,36,1.3 数据库系统的结构,1.3.2 数据库管理系统(DBMS)的功能结构1、数据定义(提供数据定义语言DDL,对数据对象进行定义);2、数据操纵功能(提供数据操纵语言DML,进行查询、插入、删除和修改等基本操作);(1)宿主型DML;(2)自主型DML。语言处理方法:(1)预编译方法;(2)增强编译方法3、数据库的运行管理(保证安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复);4、数据库的建立和维护功能(初始录入、转换、转储、恢复、重组织、性能监视、分析功能等),2019年7月19日星期五,37,1
16、.3 数据库系统的结构,1.3.3 数据库系统的三级数据模式结构 数据模型中有型和值的概念,型是指对某一类数据的结构和属性的说明,值是型的一个具体复值。 模式(schema)是数据库中全体数据的逻辑结构和特征的描绘,它仅仅设计到型的描述,不涉及到具体的值。,2019年7月19日星期五,38,1.3 数据库系统的结构,1.3.3 数据库系统的三级数据模式结构,返回外模式/模式映像,返回映像功能,返回模式/内模式映像,2019年7月19日星期五,39,1.3 数据库系统的结构,1.3.3 数据库系统的三级数据模式结构一、模式: 即逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是用户的公共数据
17、视图,属于模式结构的中间层,不涉及数据的物理存储细节和硬件环境,也与具体的应用程序和使用的应用开发工具无关。 数据库模式以某一种数据模型为基础,综合考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。定义模式地时候不仅要定义数据地逻辑结构,还要定义数据之间的联系,定义与数据有关的安全性、完整性要求。 DBMS提供模式描述语言来定义模式。,2019年7月19日星期五,40,1.3 数据库系统的结构,1.3.3 数据库系统的三级数据模式结构二、外模式 也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,与某一应用有关的数据的逻辑表示。
18、 外模式通常是模式的子集,一个数据库可有多个外模式。由于用户对应用需求、看待数据的方式、对数据的保密要求等存在差异,所以外模式的描述是不同的。同一个外模式可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。,2019年7月19日星期五,41,1.3 数据库系统的结构,1.3.3 数据库系统的三级数据模式结构二、外模式 外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,其余数据是不可见的。 DBMS提供子模式描述语言(DDL)定义外模式。,2019年7月19日星期五,42,1.3 数据库系统的结构,1.3.3 数据库系统的三级数据模式结构三、
19、内模式 即存储模式,一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。 DBMS提供内模式描述语言(DDL)定义内模式。,2019年7月19日星期五,43,1.3 数据库系统的结构,1.3.3 数据库系统的三级数据模式结构四、数据库的二级映像功能与数据独立性 三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,用户能逻辑地抽象地处理数据,而不必关心数据在计算机中地具体表示方式和存储方式。 为了能够在内部实现这三个抽象层次地联系和转换,数据库管理系统在这三级模式之间提供了两级映像:,模式图,1、外模式/模式映像,2、模式/内模式映像。,20
20、19年7月19日星期五,44,1.3 数据库系统的结构,1.3.3 数据库系统的三级数据模式结构四、数据库的二级映像功能与数据独立性1、外模式/模式映像 对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系、这些映像定义通常包含在各自外模式的描述中。当模式改变时(有新属性、新关系等),由管理员对映像作相应的改变,可以使外模式保持不变,应用程序是根据外模式编写的,应用程序不必修改,保证了数据与程序的逻辑独立性。,模式图,2019年7月19日星期五,45,1.3 数据库系统的结构,1.3.3 数据库系统的三级数据模式结构四、数据库的二级映像功能与数据独立性2、
21、模式/内模式映像 数据库中只有一个模式和一个内模式,所以这个映像是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系(如记录和字段是如何表示的等)。该映像定义是在模式描述中,当数据库的存储结构改变了,只要管理员改变映像,可使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性。,模式图,2019年7月19日星期五,46,1.3 数据库系统的结构,1.3.3 数据库系统的三级数据模式结构四、数据库的二级映像功能与数据独立性 在三级模式中,数据库模式即全局逻辑结构是数据库的中心与关键,独立于其他层次,故设计数据库时应首先确定数据库的逻辑模式。 内模式依赖于全局逻辑结构,但独立
22、于数据库用户视图和具体的存储设备。它将模式定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间和空间效率。,2019年7月19日星期五,47,1.3 数据库系统的结构,1.3.3 数据库系统的三级数据模式结构四、数据库的二级映像功能与数据独立性 外模式面向应用程序,定义在逻辑模式之上,独立于存储模式和设备。当需求发生较大改变,不能满足视图的要求,就要改动外模式,因此设计外模式时要充分考虑到应用的扩充。特定应用程序依赖于外模式,于数据库的模式和存储结构独立。二级映像保证了外模式的稳定性,从而从底层保证了应用程序的稳定性,除非需求发生变化,一般不作修改。 数据和程序之间的独立性,减少了应用程序的维护和修改。,2019年7月19日星期五,48,本章结束,负责人:石剑平,