资源描述
1,第2章 数据库系统,2,数据库的基本概念,信息(information)是客观事务存在方式和运动状态的反映。它所反映的是关于某一客观系统中某一事物的某一方面在某一时刻的表现形式。 数据(data)是客观事物存在方式和运动状态反映的记录,是信息的载体。由于对客观事物存在方式和运动状态所反映的记录是用一定的符号来表达的,因此数据就是信息的具体表现形式。数据所反映的客观事物存在方式和运动状态是它的内容,而符号是它的形式。 信息通过数据记录,便可以实现载体传递,并借助数据处理工具实现存储、加工、传播再生和增值。,3,常见的数据形式,数值型数据:对客观事物进行定量记录的符号,如:数量、年龄、价格和度数等; 字符型数据:对客观事物进行定性记录的符号,如:姓名、单位、地址的标志等; 特殊型数据:对客观事物进行形象特征和过程记录的符号,如:声音、视频、图像等。,4,数学模型,客观事物存在着独立性和联系性,这决定了作为记录客观事物存在方式和运动规律的符号(数据)之间也存在着一定的独立性和联系性。将这些体现着客观事物独立性和联系性的数据,按照一定的组织关系排列起来,就构成了一定的数据结构,对这种数据结构的描述就是数学模型。 数学模型是数据库系统的核心,它规范了数据库中数据的组织形式,表示了数据之间的联系。在建立和使用数据库时,数据库中数据结构的合理性直接影响着数据库的使用性能。,5,目前支持数据库系统最常用数学模型,层次模型 网状模型 关系模型 面向对象模型,6,关系模型,关系模型(relational model)是将通过一组具有相互联系的“关系”,将相关的数据集合在一起所表示出来的一种数据关系模型。这里,所谓“关系”是特指那种虽具有相关性,而非从属性的平行的数据之间按照某种序列排列的集合关系。,7,关系模型相关术语,关系:关系是满足一定规范化要求的二维表。 记录:二维表中的一行,也称为元组。 字段:二维表中的一列,也称为属性。 字段名:字段的名称,也称为属性名。 字段的值域:字段的取值范围也称为属性域。 数据项:也称为分量,是某个记录中一个字段的值。 主关键字:也称为主关键字或主键,是关系中能够唯一标识某个记录的字段。,8,关系模型的性质,在一个关系中,每一数据项不可再分,是最基本的数据单位。 在一个关系中,同一列数据项要具有相同的数据类型。 在一个关系中,各列的顺序可以任意的排列。 在一个关系中,不允许有相同的字段名。 在一个关系中,每一行是一个个体事物多个字段值的集合。 在一个关系中,不允许有完全相同的记录行。 在一个关系中,记录的顺序可以任意地排列。,9,数据库,数据库(data base)就是以一定的组织方式,将相关的数据组织在一起,存放在计算机的存储器上,并能为多个用户共享的,与应用程序彼此独立的一组相关数据的集合,是数据库系统的核心和管理对象。 数据库的性质是由其依赖的数学模型所决定的。数据库中的数据如果依照层次模型设计数据结构,则该数据库称之为层次数据库;如果依照网络模型设计数据结构,则可称之为网络数据库;如果依照关系模型设计数据结构,则可称之为关系数据库;如果依照面向对象模型设计数据结构,则可称之为面向对象数据库。在数据库领域中,关系数据库是一种经常采用的基本数据库形式。,10,关系数据库,关系数据库(relation database)是依照关系模型设计的若干个关系的集合,也可以说,关系数据库是由若干个完成关系模型设计的关系组成的。 在关系数据库中,称一个“关系”(一张二维表)唯一个数据表文件(简称表),表是由数据及表结构组成的。 一个关系数据库由若干个表组成,一个表又由若干个记录组成,而每一个记录由若干个以字段属性加以分类的数据项组成。 在关系数据库中,每一个表都具有相对的独立性,这一独立性的唯一标志是表的名字,称为表文件名。数据库中不允许有重名的表,因为对表中的数据的访问首先是通过表文件名来实现的。 在关系数据库中,各表之间可以相互关联,表之间的这种联系是依靠每一个独立表内部的相同属性字段建立的。,11,关系数据库的主要特点,关系数据库以面向系统的观点组织数据,使数据具有最小的冗余度,以支持复杂的数据结构; 关系数据库具有高度的数据和程序的相互独立性,可以使应用程序与数据的逻辑结构和数据的物理存储方式无关; 在关系数据库中的数据由于具有共享性,使其能为多个用户服务; 关系数据库允许多个用户访问数据库中的数据,同时可提供更多的控制功能,保证数据存储和使用具有安全性、完整性和并发性控制。其中安全性控制可防止未经允许的用户存储数据;完整性控制可保证数据的正确性、高效性和相容性;并发性控制可防止多用户并发访问数据时由于相互干扰而产生的数据不一致。,12,数据库系统的组成,数据库系统(data base system)是指使用数据库技术统一管理、操纵和维护数据资源的整个计算机系统。它是由计算机的硬件、软件、数据和人员4个部分组成的。 硬件:硬件环境是数据库系统的物理支撑。 软件:软件包括系统软件和应用软件两类。 数据:数据是数据库的基本内容,数据库又是数据库系统的管理对象,因此,数据是数据库系统必不可少的数据源。 人员:数据库系统的人员是指数据库系统管理人员、开发设计人员和用户。不同的人员对数据库系统的使用权限和操作目的是不同的。,13,系统软件和应用软件,系统软件主要包括支持数据库管理系统运行的操作系统(operate system)软件、数据库管理系统(data base management system,DBMS)软件、开发应用系统的高级语言、高级语言编译系统及应用系统开发的工具软件等。 应用软件是指操作系统软件和数据库管理系统软件的支持下,由用户根据实际需要自行开发的应用程序。,14,数据库系统的人员,数据库系统管理员全面负责管理和控制数据库系统,确定系统软、硬件配置,给数据库系统开发设计人员提供最佳的软件和硬件环境。 数据库系统开发设计人员,是应用程序员,负责设计应用系统的程序模块,在数据库系统软件支持下编写应用程序。 用户通过应用系统提供的用户接口界面使用数据库系统,常用的接口方式有菜单驱动,图形显示、表格操作等,这些接口为用户提供了简明直观的数据表示和方便快捷的操作方法。,15,数据库设计,数据库的总体规划 数据怎样存入数据库中,是数据库设计的重要环节,是应用程序开发的关键。 设计一个组织良好的数据库,不仅应能方便的解决应用问题,而且还可以解决一些不可预测的问题,同时还要加快应用系统的开发速度,这就要求数据库中的数据一定要通过相应的约束条件来实现数据规范化。,16,关系模型的规范化,数据规范化(data normalization)理论认为,关系数据库中的每一个关系都要满足一定的规范。根据满足规范的条件不同,可以划分为5个等级,分别称为第一范式(1NF),第二范式(2NF),第五范式(5NF),其中NF是(normal form)的缩写。,17,关系模型数据规范化的原则,第一范式:在一个关系中,要满足关系模型的基本性质,消除重复字段,且各字段都是不可分的基本数据项。 第二范式:若关系模型属于第一范式,则关系中每一个字段都完全依赖于主关键字段。 第三范式:若关系模型属于第二范式,且关系中所有非主关键字段都直接依赖于主关键字段。 数据规范化的基本思想是逐步消除数据依赖关系中不合适的部分,并使依赖于同一个数学模型的数据达到有效的分离。,18,规范化为第三范式的关系数据库图形化表示,19,数据表之间的关系,一般情况下,在同一数据库中,相关联的数据表之间的关系有: 一对一 一对多 多对一 多对多,20,参照完整性,依赖关系模型数据规范化原则,可以使复杂的表转化为若干简单的表,但为保证原有数据信息的真实性,被分解出的各表间要建立一定的关联关系。在关联表之间,必然存在表与表之间数据的引用。 参照完整性就是保证具有关联关系的“关系”之间引用的完整性。或者说,保证有表间关联关系的表的引用完整性。,21,数据库的一般设计方法,分析需求 分析需求就是根据实际应用问题的需要,确定创建数据库的目的以及使用方法,确定数据库要完成哪些操作,数据库要建立哪些对象。分析需求使数据库设计的第一步,也是最重要的步骤,如果需求分析做得不充分、不到位、不准确,就会使整个数据库设计的质量大打折扣,以致无功而返。,22,数据库的一般设计方法,建立数据库中的表 数据库中的表是数据库的基础数据来源,确定需要建立的表,是设计数据库的关键,表设计的好坏直接影响数据库其他对象的设计及使用。设计能够满足需求的表,要考虑以下内容: 每一个表只能包含一个主题信息; 表中不能包含重复信息; 确定表中字段个数和数据类型; 注意字段要具有唯一性和基础性,不要包含推导数据或计算数据; 所有的字段集合要包含描述表主题的全部信息; 字段要有不可再分性,每一个字段对应的数据项是最小的单位。,23,数据库的一般设计方法,确定表的主关键字段 在表的多个字段中,用于唯一确定每个记录的一个字段或一组字段,被称为表的主关键字段。 确定表间的关联关系 在多个主题的表间建立表间的关联关系,使数据库中的数据得到充分的利用。同时对复杂的问题,可先化解为简单的问题后再组合,即会使解决问题的过程变得容易。 创建其他数据库对象 设计其他数据库对象,是在表设计完成的基础上进行的。有了表,就可以设计查询、报表、窗体等数据库对象。,24,Access数据库的对象,Access数据库,是由表、查询、窗体、报表、数据访问页、宏及模块等数据库对象组成的,每一个数据库对象将实现不同的数据库功能。,25,表,表(Table)是数据库中用来存储数据的对象,它是整个数据库系统的数据源,也是数据库其他对象的基础。 在Access中,用户可以利用表向导、表设计期等系统工具以及SQL语言创建表,然后将各种不同类型的数据输入到表中,在表操作环境下,可以对各种不同类型的数据进行维护、加工和处理等操作。,26,查询,查询(Query)也是一个“表”,是以表为基础数据源的“虚表”。它一是可以作为表加工处理后的结果,二是可以作为数据库其他对象数据来源。 在Access中,可以利用查询向导、查询设计器等系统工具,及SQL语句创建查询。,27,窗体,窗体(Form)是屏幕的工作窗口。在Access中,可以通过系统提供的,以及自己设计的各式各样美观大方的工作窗口,在友好的工作环境下,对数据库中数据进行处理。 窗体通常由页眉、页脚及主体等组成。窗体可以用来控制数据库应用系统流程,可以接收用户信息,可以完成对数据表或查询中的数据输入、编辑、删除等操作。 在Access中,可以利用窗体向导、窗体设计器等系统工具创建窗体。,28,报表,报表(Report)是数据库中数据输出的另一种形式。它不仅可以将数据库中的数据进行分析、处理的结果通过打印机输出,还可以对要输出的数据完成分类小计、分组汇总等操作。在数据库管理系统中,使用报表会使数据处理的结果多样化。 在Access中,利用报表设计器可以完成报表的设计过程,同时还可以预览报表的输出格式。,29,宏,宏(Macro)是数据库中的另一个特殊的数据库对象,它是一个或多个操作命令的集合,其中每个命令实现一个特定的操作。 在Access中,系统提供了四十多种宏命令,用户可以利用宏所提供的各种操作命令,实现对数据库对象的特定控制以及操作。在创建宏的基础上,还可以创建“宏组”,使对数据库的操作更方便、更快捷和更具有针对性。,30,数据访问页,数据访问页(Web)是数据库中的一个特殊的数据库对象,它可以实现Internet(或Intranet)与用户数据库中的数据的相互访问。 在Access中,用户可以利用数据访问页将数据信息编辑成网页形式,然后将其发送到Internet(或Intranet)上,以实现快速的数据共享。,31,模块,模块(Module)是由Visual Basic程序设计语言编写的程序集合,或一个函数过程。它通过嵌入在Access中的Visual Basic程序设计语言编辑器和编译器实现与Access的完美结合。 对于熟悉Visual Basic程序设计语言的用户,可以通过Visual Basic程序设计语言编写数据库应用系统的前台界面,再依靠Access的后台支持,实现系统开发的全过程。,
展开阅读全文