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