1、第一章,数据库基础理论,点击播放,本章要点,信息、数据和数据处理数据模型相关概念数据库系统关系数据库及其设计数据库的三级模式结构,考点,基本概念:数据、数据库、数据模型、数据库管理系统、数据库系统关系模型中的基本术语、关系运算及数据的一致性和完整性,上一页,下一页,要 点,分值分布,2002年9月- 2009年9月笔试分析,本章内容约占7%-10%。,上一页,下一页,要 点,1.1 信息、数据和数据处理,1.1.1 信息与数据 信息(Information)是客观事物属性的反映。它所反映的是关于某一客观系统中某一事物的某一方面属性或某一时刻的表现形式。数据(Data)是反映客观事物属性的记录,
2、是信息的载体。对客观事物属性的记录是用一定的符号来表达的,因此说数据是信息的具体表现形式。总之,信息是有用的数据,数据是信息的表现形式,信息是通过数据符号来传播的。,上一页,下一页,要 点,1.1.2 数据处理 数据处理也称为信息处理。所谓数据处理,实际上就是利用计算机对各种类型的数据进行处理。它包括对数据的采集、整理、存储、分类、排序、检索、维护、加工、统计和传输等一系列操作过程。 数据处理的目的是从大量的、原始的数据中获得人们所需要的资料并提取有用的数据成份,作为行为和决策的依据。,上一页,下一页,要 点,数据管理技术经历的阶段利用计算机进行数据处理大体经历了人工管理阶段、文件系统阶段、数
3、据库系统阶段人工管理阶段将数据作为程序的一部分出现在程序中,当数据稍有变动时,程序也受到影响而需要进行修改,导致编程效率低,程序的灵活性差。而且,自由管理阶段处理的大都是单个问题。,上一页,下一页,要 点,1.1 数据库的基本概念,数据管理技术经历的阶段文件系统阶段将数据与程序分离,数据是独立于程序而存在的。这在一定程度上使程序只需涉及文件中的数据,而与数据物理结构及存储位置无关。因此,当数据有变动时,程序不会受影响,这就使程序的通用性、灵活性大为改观,编程效率也大大提高。,上一页,下一页,要 点,1.1 数据库的基本概念,数据库系统阶段 数据库管理方式是面向系统的。它将各应用程序中需要使用的
4、数据汇集在一起,形成一个具有一定数据结构的集成化的数据集合,即数据库。在数据库管理方式下,数据和程序是完全分离的,不再存在依存的关系。另一方面,数据的冗余度最大限度地减小。而且,数据文件的维护是由数据库管理系统完成的,减轻了程序员自己维护文件的负担,因而提高了编程效率。,上一页,下一页,要 点,背景:计算机用于管理的规模更为庞大,要求越来越强。1有了大容量(海量)的磁盘。2、有了DBMS,且软件价格上升,硬件价格下降。3联机实时处理要求更多了,并考虑分布处理。,数据库管理方式由用户程序、数据库管理系统和数据三部分组成,在计算机系统中按一定的数据模型组织、存储、使用的相关联的数据集合称为数据库。
5、,上一页,下一页,要 点,1复杂的数据结构2数据冗余小,易扩充3具有较高的数据和程序的独立性4统一的数据控制功能5数据的最小存取单位是数据项 程序和数据的关系如图:,应用程序1,应用程序2,数据库管理系统,数据库,上一页,下一页,要 点,1.2 数据模型,模型 :现实世界特征的模拟和抽象。概念模型:按用户的观点来对数据和信息建模,主要用于数据库设计。数据模型 :具有联系性的相关数据总是按照一定的组织关系排列,从而构成一定的结构,对这种结构的描述就是数据模型。,数据模型的组成要素,理论上,数据模型是指反映客观事物及客观事物间联系的数据组织的结构和形式。数据模型的组成要素:数据结构:数据库中对象(
6、Object)类型的集合。(静态特性)数据操作:对数据库中对象的实例允许执行的操作的集合。(动态特性)数据的约束条件:一组完整性规则的集合,反映数据及其联系所具有的 制约和依存规则,以保证数据的正确,有效和相容。,1.2 数据模型,基本概念:1.实体(Entity):客观存在并可相互区别的事物称为实体。2.属性(Attribute):实体所具有的某一特征称为属性。3.码(Key):唯一标识实体的属性集称码。4.域(Domain):属性的取值范围称为该属性的域。5.实体型(Entity Type):具有相同属性的实体必然具有共同的特征和性质。6.实体集(Entity Set):同型实体的集合称为
7、实体集。7. 联系:实体间的各种关系。一个关系对应一个二维表。实体间联系的种类:一对一、一对多(或多对一)、多对多。,1.2.1 层次模型 层次模型(Hierarchical Model)表示数据间的从属关系结构,是一种以记录某一事物的类型为根结点的有向树结构。 其主要特征如下: 仅有一个无双亲的根结点。 根结点以外的子结点,向上仅有一个父结点,向下有若干子结点。,1.2.2 网状模型 网状模型(Network Model)是层次模型的扩展,它表示多个从属关系的层次结构,呈现一种交叉关系的网络结构。网状模型是以记录为结点的网络结构。常用于反映实体间的多对多的联系,描述较为复杂的联系。 其主要特
8、征如下: 有一个以上的结点无双亲。 至少有一个结点有多个双亲。,1.2.3 关系模型 关系模型(Relational Model)的所谓“关系”是有特定含义的。广义地说,任何数据模型都描述一定事物数据之间的关系。 关系模型的所谓“关系”虽然也适用于这种广义的理解,但同时又特指那种虽具有相关性而非从属性的平行的数据之间按照某种序列排列的集合关系。,关系模型的主要特点有:(1) 关系中每一分量不可再分,是最基本的数据单位;(2) 每一竖列的分量是同属性的,列数根据需要而设,且各列的顺序是任意的;(3) 每一横行由一个个体事物的诸多属性构成,且各行的顺序可以是任意的;(4) 一个关系是一张二维表,不
9、允许有相同的属性名,也不允许有相同的元组。,总之:层次模型描述的是实体间“一对多”的联系也即树型结构(例如一个学校的组织结构)。网状模型描述的是实体间“多对多”的联系。这种模型的结构特点是不受层次的限制,可以任意建立联系,是一种结点的连通图。关系模型是用二维表格来描述实体之间联系的一种结构模型,因此,可将关系理解为二维表。,1.3 数据库系统,1.3.1 数据库 数据库(Data Base)是数据库系统的管理对象。 所谓数据库,就是以一定的组织方式将相关的数据组织在一起,存放在计算机外存储器上形成的,能为多个用户共享的,与应用程序彼此独立的一组相关数据的集合。,数据库的主要特征如下: 数据共享
10、和较小的数据冗余度:下表中单位和职称一栏重复输入了五次,这样增加了数据冗余度。,重新设计后减少数据冗余的表, 数据的完整性数据的完整性是指存贮在数据库中的数据要在一定意义下确保是正确的、一致的。 数据的安全性 数据的独立性物理独立性逻辑独立性,1.3.2 数据库管理系统 从信息处理的理论角度讲,如果把利用数据库进行信息处理的工作过程,或把掌握、管理和操纵数据库的数据资源的方法看作是一个系统的话,则称这个系统为数据库管理系统。 数据库管理系统通常由三个部分组成: 数据描述语言(DDL)及其编译程序、数据操纵语言(DML)或查询语言及其编译或解释程序、数据库管理例行程序。,数据库管理系统的主要功能
11、如下:数据库管理功能 数据库维护功能 通讯功能 具体的功能往往随着不同的数据库管理系统不同而不同。,常见DBMS:目前较有影响的DBMS有:ORACLE,SYSBASE,DB2,MYSQL,INFORMIX,ACCESS,VISUAL FOXPRO,SQL SERVER ,1.3.4 数据库应用系统的构成 数据库应用系统它是由有关的硬件、软件、数据和人员四个部分组合而形成的。,软件系统包括系统软件和应用软件两类。系统软件主要包括数据库管理系统软件、开发应用系统的高级语言及其编译系统、应用系统开发的工具软件等。它们为开发应用系统提供了良好的环境,其中数据库管理系统是连接数据库和用户之间的纽带,是
12、软件系统的核心。 应用软件是指在数据库管理系统的基础上由用户根据自己的实际需要自行开发的应用程序。,数据库系统的人员是指管理、开发和使用数据库系统的全部人员,主要包括数据库管理员、系统分析员、应用程序员和用户。,数据库系统的体系结构如图所示:,数据库应用软件,为了满足社会上各行业急剧增长的数据处理的需要,提高数据处理速度、工作效率和经济效益,利用数据库技术开发的应用程序称为数据库的应用软件。例如:超市中的POS电脑收银系统,单位中的财务管理系统等。,基本概念小结:数据(Data):描述事物的符号记录称为数据。数据库是按一定的结构和规则组织起来的相关数据的集合。是综合各用户数据形成的数据集合,是
13、存放数据的仓库,它是由一个称为数据库管理系统的软件进行管理的。数据库管理系统(DataBase Manangement System): 是位于用户与操作系统之间的一层数据管理软件。主要功能包括有数据定义功能,数据操纵功能,数据库的运行管理,数据库的建立和维护功能。,1.4 关系数据库及其设计,1.4.1 关系数据库 关系数据库(Relational Data Base)是若干个关系的集合。也可以说,关系数据库是由若干张二维表组成的。 在关系数据库中,将一个关系视为是一张二维表,又称其为数据表。 一个关系数据库由若干个数据表组成,数据表又由若干个记录组成,而每一个记录是由若干个以字段属性加以分
14、类的数据项组成的。,模型理论与关系数据库中术语的对照关系,在数据表中,若某一字段或几个字段的组合值能够标识一个记录,则称其为关键字(或键),当一个数据表有多个关键字时,可从中选出一个作为主关键字(或主键)。,在关系数据库中,数据表之间是具有相关性的。数据表之间的这种相关性是依靠每一个独立的数据表内部具有相同属性的字段建立的。一般地,两个数据表之间建立关联关系,是将一个数据表视为父表,另外一个数据表视为子表,其中子表中与父表主关键字段相对应的字段作为外键,数据表之间的关联就是通过主键与外键作为纽带实现关联的。,1.4.2 关系的规范化 关系模型是以关系集合理论中基本的数学原理为基础的,通过确立关
15、系中的规范化准则,既可以方便数据库中数据的处理,又可以给程序设计带来方便。这一规范化准则称为关系规范化。 关系规范化理论是研究如何将一个不十分合理的关系模型转化为一个最佳的数据关系模型的理论,它是围绕范式而建立的。,1.4.3 表间关联关系的类型 在一个关系数据库中,若想将依赖于关系模型建立的多个数据表组织在一起,反映客观事物数据间的多种对应关系,通常将这些数据表放入同一个数据库中,并建立表间关联。 在同一个数据库中,相关联的表间关系的类型有一对一、一对多和多对一3种关系。,概念模型,实体型之间的联系 一对一联系(1:1) 一对多联系(1:n) 多对多联系(m:n),班级与班长,班级与学生,课
16、程与学生,1一对一关系 一对一关系即在两个数据表中选一个相同属性字段作为关键字段,把其中一个数据表中的关键字段称为主关键字段,该字段值是唯一的,而另一个数据表中的关键字段称为外来关键字段,该字段值也是唯一的。,2一对多关系 一对多关系,即在两个数据表中选一个相同属性字段作为关键字段,把其中一个数据表的关键字段称为主关键字段,该字段值是唯一的,而把另一个数据表中的关键字段称为外来关键字段,该字段值是重复的。,3多对一关系 多对一关系与一对多关系是类似的,唯一的区别是在两个相关联的数据表中,选择哪一个数据表中的关键字段为主关键字段,该字段值是重复的,与它关联的另一个数据表中的关键字段为外来关键字段
17、,该字段值是唯一的。,1.4.4 关系的完整性 关系的完整性,即关系中的数据及具有关联关系的数据间必须遵循的制约和依存关系,以保证数据的正确性、有效性和相容性。 关系的完整性主要包括域完整性、实体完整性和参照完整性三种。,1域完整性 域完整性是对数据表中字段属性的约束,它包括字段的值域、字段的类型及字段的有效规则等约束,它是由确定关系结构时所定义的字段的属性决定的。,2实体完整性 实体完整性是对关系中的记录唯一性,也就是主键的约束。准确地说,实体完整性是指关系中的主属性值不能为Null且不能有相同值。,3参照完整性 参照完整性是对关系数据库中建立关联关系的数据表间数据参照引用的约束,也就是对外
18、键的约束。准确地说,参照完整性是指关系中的外键必须是另一个关系的主键有效值,或者是NULL。,1.4.5 关系运算 关系运算是以关系为运算对象的运算,在关系运算中,变量是关系,运算结果仍然是关系。 常见的关系运算有选择运算、投影运算和连接运算三种。,1选择(Select) 选择运算是从关系中选择某些满足条件的记录组成一个新的关系。也可以说,选择运算是在关系R中选择满足给定条件的元组。在关系中选择某些条件的元组。,2投影(Projec) 投影运算是从关系中选择某些字段的所有值组成一个新的关系。也可以说,投影运算是在关系R中选择出若干属性列。 在关系中选择某些属性的列。对应于关系的垂直分解。,3连接(Join) 连接运算是将两个或多个关系通过连接条件组成一个新的关系。也可以说,连接运算是在关系R和关系S中选择属性间满足一定条件的元组。从两个关系的苗卡尔积中选取属性间满足一定条件的元组。连接是关系的横向结合。,1.5 数据库的三级模式结构,外模式面向用户或应用程序员的应用视图。模式数据库中整体逻辑结构的描述(数据模型)。内模式数据的存储方式(文件的存储方式)。三级模式结构主要功能:使得数据库具有逻辑儿独立性和物理独立性。,应用A,应用B,应用C,应用D,应用E,外模式1,外模式2,外模式3,模式,内模式,数据库,模式/内模式映象,数据库系统的三级模式结构,外模式/模式映象,