《大学计算机基础》第8章-数据库技术基础.ppt_第1页
《大学计算机基础》第8章-数据库技术基础.ppt_第2页
《大学计算机基础》第8章-数据库技术基础.ppt_第3页
《大学计算机基础》第8章-数据库技术基础.ppt_第4页
《大学计算机基础》第8章-数据库技术基础.ppt_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,大学计算机基础,北京航空航天大学,教学课件,2,第8章数据库技术基础,8.3数据库系统设计,8.1数据库系统概述,8.2数据模型,8.4SQL语言中的数据操作,8.5简单数据库应用实例,8.6Access数据库的建立与维护,3,本章重点,数据库系统的发展和组成数据库系统的基本知识、术语数据模型的概念及E-R模型的使用数据库系统的设计方法与步骤Access数据库的建立与维护,包括表、查询、窗体及报表的建立,4,8.1数据库系统概述,8.1.1数据库技术的发展阶段8.1.2数据库系统的组成8.1.3数据库系统的分类,5,8.1.1数据库技术的发展阶段,“数据管理”是指怎样对数据进行分类、组织、编码、储存、检索和维护,数据管理技术的发展经历了三个阶段。,6,1.人工管理阶段,时间:20世纪50年代中期以前背景:计算机主要用于科学计算。外存只有磁带、卡片、纸带等,没有磁盘等直接存取设备。没有操作系统,没有数据管理软件(用户用机器指令编码)。,7,人工管理阶段特点,8,2.文件系统阶段,9,文件系统阶段特点,10,3.数据库系统阶段,时间:20世纪60年代后期开始背景:计算机管理的数据量大,关系复杂,共享性要求强(多种应用、不同语言共享数据)。外存有了大容量磁盘,光盘。软件价格上升,硬件价格下降,编制和维护软件及应用程序成本相对增加,其中维护的成本更高。,11,数据库系统数据管理特点(1/4),面向全组织的复杂的数据结构在描述数据时,不仅描述数据本身,还要描述数据之间的联系,使整个组织的数据结构化。,数据结构化是数据库主要特征之一,是数据库与文件系统的根本区别。,12,数据库系统数据管理特点(2/4),13,数据库系统数据管理特点(3/4),14,数据库系统数据管理特点(4/4),15,8.1.2数据库系统的组成,数据、数据库、数据库系统、数据库管理系统是与数据库技术密切相关的基本概念。,、文字、图形、图象、声音、学生的档案记录等等,自然语言,日常生活,数据,计算机,抽象出对这些事物感兴趣的特征组成记录,例,(李明,男,1972,江苏,计算机系,1990),注意,数据与其语义的关系,数字,1.数据(date),16,2.数据库(Datebase),是长期储存在计算机内、有组织、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。,简称DB,保存数据:人工方式、文件方式、数据库方式,是存放数据的最佳场所,数据库,17,3.数据库管理系统,数据库管理系统(DatebaseManagementSystem)负责数据库建立,数据存取、维护和管理的软件系统。DBMS是数据库系统的核心软件,在操作系统支持下工作。,简称DBMS,数据库管理系统,如,ORACLE、SYBASE、INFORMIX、DB2、INGRES,ACCESS、FOXPRO、SQLSERVER等等,18,4.数据库系统(1/3),数据库系统(DatebaseSystem)是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。应当指出的是,数据库的建立、使用和维护等工作只靠一个DBMS远远不够,还要有专门的人员来完成,这些人称为数据库管理员(DatabaseAdministrator,简称DBA)。在不引起混淆的情况下人们常常把数据库系统简称为数据库。,简称DBS,19,4.数据库系统(2/3),20,4.数据库系统(3/3),数据库,数据库管理系统,用户,数据库系统,Access2003,21,8.1.3数据库系统的分类(13),1单用户数据库系统单用户数据库系统是一种早期的最简单的数据库系统。在此类系统中,整个数据库系统,包括DBMS、数据库及应用程序,都装在一台计算机上,由一个用户独占,不同机器之间不能共享数据。2集中式结构的数据库系统集中式结构,又称为主从式结构,它通常是以一台大型的中心计算机为中心,通过局部网络或区域网络相联的大量终端都可以访问该中心计算机。这种系统的优点是实现中心管理,安全性好,但其缺点是随着数据量的增加,系统相当庞大,操作复杂,开销大,由于数据集中存储,大量的通信都要通过主机,造成拥挤。,22,8.1.3数据库系统的分类(23),3分布式结构的数据库系统分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都有DBMS的一份完整拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的大型数据库。此结构克服了集中式结构的弱点,降低了数据传送代价,系统的可靠性提高了很多,而且便于系统的扩充,使得增加一个新的局部数据库,或在某个位置扩充一台适当的小型计算机,都很容易实现。缺点是实现前面所提到的功能要付出相当高的代价;且由于数据的分布存放,给数据的处理、管理与维护带来困难;当用户需要经常访问远程数据时,系统效率会明显地受到网络流量的制约。,23,8.1.3数据库系统的分类(33),4客户服务器结构(C/S结构)的数据库系统客户服务器结构把DBMS功能和应用分开,网络中某个结点上的计算机专门用于执行DBMS功能,称为数据库服务器,其他结点上的计算机则只安装DBMS的外围应用开发工具,支持用户的应用,称为客户机。客户端的用户请求被传送到数据库服务器,数据库服务器进行处理后,只将结果返回给用户(而不是整个数据),从而显著减少了网络上的数据传输量,提高了系统的性能、吞吐量和负载能力。优点是数据库更加开放。客户与服务器一般都能在多种不同的硬件和软件平台上运行,可以使用不同厂商的数据库应用开发工具,应用程序具有更强的可移植性,同时也可以减少软件维护开销。其缺点与分布式结构相似,即数据的处理、管理与维护相对比较困难。,24,8.2数据模型,8.2.1数据模型的基本概念8.2.2概念模型8.2.3结构化数据模型,25,8.2.1数据模型的基本概念,数据模型是一种形式化地描述数据及数据之间的联系方法,是数据库的结构框架,是数据库结构的基础型。通常我们说数据模型有三个要素,即数据结构、数据操作及数据完整性约束条件。数据模型就是对现实世界的模拟。不同的使用对象、不同的应用目的会使用不同的数据模型。在数据库中,根据模型应用的不同目的,将数据模型分为两个层次:概念模型和结构化数据模型。为了把客观存在的复杂的大千世界中的问题,用计算机去解决,即把具体的事物抽象、组织成某一个DBMS支持的数据模型,数据库理论中引出了三个世界假设的概念,第一个世界是现实世界,第二个世界是信息世界,第三个世界是机器世界。,26,8.2.1数据模型的基本概念(13),三个世界的假设,现实世界,信息世界(概念模型),机器世界(数据模型),认识、抽象,转换,存在于人们头脑之外的客观世界,称为现实世界。,是现实世界在人们头脑中的反映,人们用文字、图形和符号等表示它们,构成信息世界。在信息世界中,数据库技术通常用到下列术语:实体、实体集,属性、联系和实体标识等。,计算机只能处理数据化的信息,对信息世界中的信息必须进行数据化,数据化后的信息称为数据。机器世界中数据描述的术语主要有:字段、记录、文件、键等,27,8.2.1数据模型的基本概念(23),在数据库中,根据模型应用的不同目的,将模型分为两类或两个层次:,概念模型,数据模型,数据模型,用于信息世界建摸,是现实世界到信息世界的抽象,是用户和数据库设计人员进行交流的语言。,用于机器世界,按计算机系统的观点对数据建摸,主要用于DBMS的实现。,28,8.2.1数据模型的基本概念(33),在数据库中,根据模型应用的不同目的,将模型分为两类或两个层次,概念模型(信息模型),数据模型,实体联系模型,关系模型,网状模型,层次模型,数据模型,按用户的观点对数据和信息建模,按计算机系统的观点对数据建模,语义,结构化,29,8.2.2概念模型,概念模型是按用户的观点对数据和信息建模,概念模型是基于信息世界的主要模型,又叫信息模型,它具有较强的语义表达能力,能够方便、直接表达应用中的各种语义。表示概念模型可以使用多种不同的方法,这里介绍的是1976年Phen提出的实体联系方法(EntityRelationship),简称E-R方法。,30,1信息世界中的基本术语实体、属性,(1)实体(Entity),客观存在并可相互区分的事物,可以是具体的人、事、物,也可以是抽象的概念或联系,例如,一个职工、一个学生、一个部门、一门课、学生的一次选课、部门的一次订货,老师与系的工作关系(即某位老师在某系工作)等都是实体。,一个实体可以由若干个属性来刻画。例如,学生实体可以由学号、姓名、性别、出生年份、系、入学时间等属性组成(94002268,张山,男,976,计算机系,1994)。这些属性组合起来表征了一个学生。,单值属性、多值属性;NULL属性;派生属性,31,1信息世界中的基本术语码、域,(4)域(Domain),(3)码(Key),唯一标识实体的属性集,某个(些)属性的取值范围;,主码、侯选码和超码,是实体集的性质,例如,学号的域为8位整数(或字符),姓名的域为字符串集合,年龄的域为大于1且小于120的整数,性别的域为(男,女)等等。,实体标识或键,32,1信息世界中的基本术语实体,(5)实体型(EntityType),用实体名及其属性名集合来抽象、刻画同类实体;,(6)实体集(EntitySet),同型实体的集合称为实体集;,描述实体集的信息结构,通常包括类型名和实体的属性名集合。例如,学生(学号,姓名,性别,年龄,班级)。,结构和特性相同的实体组成的集合称为实体集。例如,学生实体集,班级实体集等。,33,1信息世界中的基本术语-联系,实体型之间的联系,(7)联系Relation,一对一联系(1:1)一对多联系(1:n)多对多联系(m:n),现实世界中,事物之间的相互联系是客观存在的,联系反映实体间的相互关系。这种联系必然要在信息世界中进行描述。而且,联系除用作属性外,联系本身也可以有属性值。,例如,每个学生隶属一个学校,每个学生和其隶属的一个学校之间有一个隶属联系。,34,1信息世界中的基本术语-一对一联系,实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集刀具有一对一联系。记为1:1。,一对一联系(1:1),例,学校里面,一个班级只有一个正班长,而一个班长只在一个班中任职,则班级与班长之间具有一对一联系。,例?,例?,例?,35,1信息世界中的基本术语一对多联系,一对多联系(1:n),实体集A中的每一个实体,实体集B中有n个实体(no)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系。记为1:n。,例,一个班级中有若干名学生,而每个学生只在一个班级中学习,则班级与学生之间具有一对多联系。,例?,例?,例?,36,1信息世界中的基本术语-多对多联系,实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体集刀具有多对多联系。记为m:n。,多对多联系(m:n),例,一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,则课程与学生之间具有多对多联系。,例?,例?,例?,37,2实体联系方法(13),概念层次的数据模型称为概念数据模型,简称概念模型。概念模型离机器最远,从机器的立场上看是抽象级别的最高层。目的是按用户的观点或认识来对现实世界建模。,(3)联系,(2)属性,用椭圆形表示,并用无向边将其与相应的实体连接起来。,(1)实体型,用矩形表示,矩形框内写明实体名。,用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。,38,2实体联系方法(23),概念层次的数据模型称为概念数据模型,简称概念模型。概念模型离机器最远,从机器的立场上看是抽象级别的最高层。目的是按用户的观点或认识来对现实世界建模。,39,2实体联系方法(33),ER图实例(鸭掌模型),40,3E-R模型设计中常出现的问题,E-R模型设计中常遇到的问题之一是把所关心的对象表示成实体集好呢?还是用属性表示它更好?而把对象描述成实体集和把它描述成某个实体集的属性是完全不同的,应当根据实际需求情况决定。由于属性较简单,如果能用属性表示清楚,就尽量用属性,但注意属性不能再用其它的属性来修饰,且它不能与其它实体集或属性再发生联系。当用简单的属性表示不能满足实际需求时,就需用实体集表示。,例,员工,电话,41,8.2.3结构化数据模型,结构化的数据模型用于描述从信息世界到机器世界的模型,是对现实世界的第二层次的抽象,它是直接面向数据库的逻辑结构的,由于它涉及到计算机系统和数据库管理系统,所以又称为“基本数据模型”,如层次数据模型、网状数据模型、关系数据模型及面向对象数据模型等。它们都着重于描述数据的组织结构,很少考虑数据的语义和用户对数据的理解,主要关心的是提供一种一致的、高效的数据库存储和检索所需要的物理结构和信息结构,提高数据存取和检索的速度。现在用得最多的是关系数据模型,这里也着重介绍关系数据模型,简单了解层次及网状数据模型。,42,1层次数据模型,层次模型用树型结构来表示各类实体及实体间的联系,其特点是有且仅有一个结点无父结点,此结点称为根结点;其它结点有且仅有一个父结点。它适于表示一对多的联系。层次模型可自然地表达数据间具有层次规律的关系,结构简单,但因它只适于表示一对多的联系,所以在结构上有一定的局限性。,层次数据模型,43,2网状数据模型,网状数据模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,允许多个结点没有双亲结点,允许结点有多个双亲结点,此外它还允许两个结点之间有多种联系,因此网状数据模型可以更直接地描述现实世界。而层次结构实际上是网状结构的一个特例。,网状数据模型,44,3关系数据模型,用二维表格结构(关系)表示实体及实体之间的联系。,学生,课程,学生选课,45,4关系数据模型的数据结构,学生登记表,关系名,结构(型),属性名,域,关系,主码,数据(值),46,关系数据模型中的概念及术语,(1)关系:即二维表,如图所示是一个图书表,也就是一个关系。(2)元组:图中的每一行即称为一个元组或叫一个记录。(3)属性:图中的每一列即称为一个属性,也可称为字段。(4)主码:某个属性组,它可以唯一确定一个元组,如图图书表中的书号属性。(5)域:属性的取值范围,如书的定价一般在1至几十元之间,不可能有负数。(6)分量:元组中的一个属性值,如图中的“S1”、“高等数学”等等。(7)关系模式:即对关系的描述,一般表示为:关系名(属性1,属性2,属性n),例如图中的图书(书号,书名,出版社,定价,作者)。,47,5关系数据模型的操纵与完整性约束,实体完整性:若属性A是基本关系R的主属性,则属性A不能取空值。参照完整性:若属性(或属性组)F是基本关系R的外码、它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值用户定义完整性:用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求,例如,某个属性必须取唯一值、某个非主属性也不能取空值、某个属性的取值范围在0100之间等。,48,8.3数据库系统设计,8.3.1数据库设计的步骤8.3.2需求分析8.3.3概念结构设计8.3.4逻辑结构设计8.3.5数据库物理设计8.3.6数据库实施8.3.7数据库运行与维护,49,8.3.1数据库设计的步骤,通过分析、比较与综合各种常用的数据库规范设计方法,我们将数据库设计分为六个阶段。数据库系统的三级模式结构也是在这样一个设计过程中逐渐形成的。,需求分析,概念结构设计,设计局部视图,集成视图,逻辑结构设计,设计逻辑结构,优化逻辑模型,数据库物理设计,设计物理结构,评价物理结构,数据库实施,试验性运行,数据库运行和维护,数据库系统的物理实现,50,8.3.2需求分析,进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。作为地基的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度与质量。需求分析做得不好,甚至会导致整个数据库设计返工重做。需求分析简单地说就是分析用户的需要与要求。需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。,51,8.3.3概念结构设计,概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。在需求分析阶段数据库设计人员充分调查并描述了用户的应用需求,但这些应用需求还是现实世界的具体需求,应该首先把它们抽象为信息世界的结构,才能更好、更准确地用某一个DBMS实现这些需求。将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。,52,8.3.4逻辑结构设计,逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后对支持这种数据模型的各种DBMS进行比较,综合考虑性能、价格等各种因素,从中选出最合适的DBMS。所以设计逻辑结构时一般要分三步:转化为一般数据模型、转化为特定DBMS支持下的数据模型、优化模型。,53,8.3.5数据库物理设计,数据库最终是要存储在物理设备上的。数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统。为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是数据库的物理设计。1.确定数据库的物理结构2.评价物理结构,54,8.3.6数据库实施,对数据库的物理设计初步评价完成后就可以开始建立数据库了。数据库实施主要包括以下工作:用数据定义语言(DataDefinitionLanguage,DDL)定义数据库结构、组织数据入库、编制与调试应用程序、数据库试运行。在数据库实施阶段,设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。,55,8.3.7数据库运行与维护,数据库试运行结果符合设计目标后,数据库就可以真正投入运行了。数据库投入运行标志开发任务的基本完成和维护工作的开始,并不意味着设计过程的终结,由于应用环境在不断变化,数据库运行过程中物理存储也会不断变化,对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高。,56,8.4SQL语言中的数据操作,8.4.1数据查询8.4.2数据更新,57,8.4.1数据查询,建立数据库的目的是为了查询数据,因此,可以说数据库查询是数据库的核心操作。SQL语言提供了SELECT语句进行数据库的查询,该语句具有灵活的使用方式和丰富的功能。其一般格式为:,SELECTALL|DISTINCT,FROM,WHEREGROUPBYHAVINGORDERBYASC|DESC;,58,8.4.1数据查询,3.3查询,SELECT,根据WHERE子句的条件表达式,从FROM子句指定的基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列表达式,选出元组中的属性值形成结果表。,如果有GROUP子句,则将结果按的值进行分组,该属性列值相等的元组为一个组,每个组产生结果表中的一条记录。通常会在每组中作用集函数。如果GROUP子句带HAVING短语,则只有满足指定条件的组才予输出。,如果有ORDER子句,则结果表还要按的值的升序或降序排序。,SELECT语句既可以完成简单的单表查询,也可以完成复杂的连接查询和嵌套查询。,59,8.4.2数据更新插入数据,1.插入数据SQL的数据插入可以用语句INSERT完成,通常有两种形式:一是插入一个元组,另一种是插入子查询的结果,后者一次插入多个元组。,INSERTINTO(,)VALUES(,);,插入单个元组的INSERT语句的格式为:,INSERT功能是将新元组插入指定表中。其中新记录属性列1的值为常量1,属性列2的值为常量2,。如果某些属性列在INTO子句中没有出现,则新记录在这些列上将取空值。但必须注意的是,在表定义时说明了NOTNULL的属性列不能取空值。否则会出错。如果INTO子句中没有指明任何列名,则新插入的记录必须在每个属性列上均有值。,60,8.4.2数据更新修改和删除数据,2.修改数据,UPDATESET=,=WHERE;,修改操作又称为更新操作,其语句的一般格式为:,3.删除数据,删除语句的一般格式为:,61,8.5简单数据库应用实例,8.5.1简单图书管理系统8.5.2学生上机刷卡管理系统8.5.3学生成绩管理系统,62,8.5.1简单图书管理系统(13),1.提出问题假设“简单图书管理系统”要能保存书籍信息、借书人信息、管理员信息及借书人对图书的借阅情况,且任何人可借多种书,任何一种书可为多个人借等功能。具体功能:可查询书库中现有图书的书号、书名、定价及是否借出等情况;能够添加、删除、修改借书人及图书信息;可查询图书的借、还情况,包括借书人借书证号、姓名、借书日期和还书日期,所借书名、出版社名等信息;每2个月公布借阅排行榜,评选出最受欢迎的书籍,以供管理员及学生参考;每次借书时要求记录管理员编号;适时推出新书。,63,8.5.1简单图书管理系统(23),2.画出ER图,64,8.5.1简单图书管理系统(33),3.转换成相应的关系数据库模式完成概念结构设计后,就可进入逻辑结构设计,逻辑结构设计中最要的一步就是将上一步的-图转换成相应的关系数据库模式。根据前面介绍的关系模型的转换原则,将上图转换成下面4个表。,65,8.5.2学生上机刷卡管理系统(13),1.提出问题这个系统包括上机的学生、机器和机房管理教师的信息,其中学生信息包括卡号、姓名、性别、单位、余额等;教师信息包括教师姓名、密码等;机器信息包括机器号、状态、费率等。该系统最基本的功能是能查询上机学生的上机及交费信息、机房中机器的使用效率及教师的收费记录等。,66,8.5.2学生上机刷卡管理系统(23),2.画出ER图,67,8.5.2学生上机刷卡管理系统(33),3.转换成相应的关系数据库模式完成概念结构设计后,就可进入逻辑结构设计,逻辑结构设计中最要的一步就是将上一步的-图转换成相应的关系数据库模式。,学生(卡号,姓名,性别,单位,余额)主键:卡号机器(机器号,状态,费率)主键:机器号教师(教师姓名,密码)主键:教师姓名上机(卡号,机器号,上机时间,下机时间)主键:卡号+机器号+上机时间外键:卡号,机器号收费(卡号,教师姓名,收费时间,收费金额)主键:卡号+教师姓名+收费时间外键:卡号,教师姓名,68,8.5.3学生成绩管理系统(12),1.提出问题这个系统的最基本的功能是能管理学生基本信息(姓名,性别,年龄等),管理课程基本信息(课号,课名,学分,学时等),并能查询学生所选课程及成绩。,2.画出ER图,69,8.5.3学生成绩管理系统(22),3.转换成相应的关系数据库模式完成概念结构设计后,就可进入逻辑结构设计,逻辑结构设计中最要的一步就是将上一步的-图转换成相应的关系数据库模式。,学生(学号,姓名,系别)主键:学号课程(课程号,课程名,先行课)主键:课程号选修(学号,课程号,成绩)主键:学号+课程号外键:学号,课程号,70,8.6Access数据库的建立与维护,8.6.1Access数据库的组成8.6.2数据库的建立8.6.3数据库的管理与维护8.6.4Access中的查询8.6.5创建窗体及使用窗体,71,8.6.1Access数据库的组成,Access2003中的数据库对象包括表、查询、窗体、报表、页、宏和模块共7个对象。除了页之外,其它的对象都保存在同一个以.mdb为扩展名的数据库文件中。,72,8.6.1Access数据库的组成,1表表(Table)是数据库中用来存储数据的对象,它是整个数据库系统的数据源,也是数据库其他对象的基础。2查询查询(query)也是一个“表”,是以表为基础数据源的“虚表”。它一是可以作为表加工处理后的结果,二是可以作为数据库其他对象数据来源。3窗体窗体是这样一种主要用于在数据库中输入和显示数据的数据库对象。也可以将窗体用作切换面板来打开数据库中的其他窗体和报表,或者用作自定义对话框来接受用户的输入及根据输入执行操作。多数窗体都与数据库中的一个或多个表和查询绑定。窗体的记录源引用基础表和查询中的字段。窗体无需包含每个基础表或查询中的所有字段。,73,8.6.1Access数据库的组成,4报表报表(report)是数据库中数据输出的另一种形式。它不仅可以将数据库中的数据进行分析、处理的结果通过打印机输出,还可以对要输出的数据完成分类小计、分组汇总等操作。在数据库管理系统中,使用报表会使数据处理的结果多样化。5页数据访问页(web)是数据库中的一个特殊的数据库对象,它可以实现因特网与用户数据库中的数据的相互访问,使用页可查看和操作来自Internet或Intranet的数据。6宏宏是操作指令的集合每个操作实现特定功能。可以创建一个宏用以执行某个特定的操作,或者创建一个宏组用以执行一系列操作。7模块模块是用VisualBasicforApplication编写的函数。模块基本上是由声明、语句和过程组成的集合,它们作为一个已命名的单元存储在一起,对MicrosoftVisualBasic代码进行组织。,74,8.6.2数据库的建立,在Access2003中建立数据库文档有使用“数据库向导”、“使用模板创建数据库”和不使用“数据库向导”创建数据库3种方式。执行【文件】|【新建】命令,任务窗格中会出现“新建文件”状态,如图所示,可通过相应选项完成创建数据库文档的任务。,75,1.使用“数据库向导”创建数据库,利用“数据库向导”,用一步操作即可为所选数据库类型创建必需的表、窗体和报表。这是创建数据库的最简单方法。该向导提供了有限的选项来自定义数据库。单击工具栏上的【新建】按钮。在“新建文件”任务窗格中,在“模板”下,单击【本机上的模板】。在“数据库”选项卡上,单击要创建的数据库类型的图标,然后单击【确定】。在“文件新建数据库”对话框中,指定数据库的名称和位置,然后单击【创建】。按照“数据库向导”的指导进行操作。,76,2不使用向导创建数据库,可以先创建一个空数据库,然后再添加表、窗体、报表及其他对象,这是最灵活的方法,但需要分别定义每一个数据库元素。无论采用哪一种方法,在数据库创建之后,都可以随时修改或扩展数据库。单击工具栏上的【新建】按钮。在“新建文件”任务窗格中的“新建”下,单击【空数据库】。在“文件新建数据库”对话框中,指定数据库的名称和位置,然后单击“创建”。则出现“数据库”窗口,便可以在数据库中创建所需的对象。,77,3.使用模板创建数据库,这是创建数据库的最快捷方式。如果能找到并使用与你的要求最接近的模板,此方法的效果最佳。单击工具栏上的【新建】按钮。在“新建文件”任务窗格中,在“模板”下,搜索特定的模板,或单击“模板主页”找到合适的模板。单击需要的模板,然后单击“下载”。,78,4创建表,由于表是整个数据库系统的数据源,是数据库中最基本、最重要的一个部分,所以要想建立一个数据库,必须先要掌握建立表的方法,下面先来看看如何创建表对象。如果要创建空白(空)表用以输入自己的数据,可以:使用“表向导”从各种预先定义好的表(如商务合同表、家用物品目录表或医疗记录表)中为待创建的表选择字段。在“设计”视图中创建表,在此可以添加字段,定义每个字段如何显示或处理数据,并创建主键。将数据直接输入到空的数据表中。当保存新的数据表时,MicrosoftAccess将分析数据并自动为每一字段指定适当的数据类型及格式。如果要利用现有数据创建表,可以:导入或链接来自其他MicrosoftAccess数据库中的数据,或来自其他程序的各种文件格式的数据。执行生成表查询以创建基于当前表中数据的表。例如,可以使用生成表查询来整理旧的记录,制作表的备份副本,选择一组记录以导出到另一个数据库中,或作为在特定时间显示数据的报表的基础。,79,5Access中的数据类型(1/3),(1)文本这种类型允许最大255个字符或数字,Access默认的大小是50个字符,而且系统只保存输入到字段中的字符,而不保存文本字段中未用位置上的空字符。可以设置“字段大小”属性控制可输入的最大字符长度。(2)数字这种字段类型可以用来存储进行算术计算的数字数据,用户还可以设置“字段大小”属性定义一个特定的数字类型,任何指定为数字数据类型的字型可以设置成“字节”、“整数”、“长整数”、“单精度数”、“双精度数”、“同步复制ID”、“小数”五种类型。在Access中通常默认为“双精度数”。(3)日期/时间这种类型是用来存储日期、时间或日期时间一起的,每个日期/时间字段需要8个字节来存储空间。,80,5Access中的数据类型(2/3),(4)货币这种类型是数字数据类型的特殊类型,等价于具有双精度属性的数字字段类型。向货币字段输入数据时,不必键入人民币符号和千位处的逗号,Access会自动显示人民币符号和逗号,并添加两位小数到货币字段。当小数部分多于两位时,Access会对数据进行四舍五入。精确度为小数点左方15位数及右方4位数。(5)备注这种类型用来保存长度较长的文本及数字,它允许字段能够存储长达64000个字符的内容。但Access不能对备注字段进行排序或索引,却可以对文本字段进行排序和索引。在备注字段中虽然可以搜索文本,但却不如在有索引的文本字段中搜索得快。(6)自动编号这种类型较为特殊,每次向表格添加新记录时,Access会自动插入唯一顺序或者随机编号,即在自动编号字段中指定某一数值。自动编号一旦被指定,就会永久地与记录连接。如果删除了表格中含有自动编号字段的一个记录后,Access并不会为表格自动编号字段重新编号。当添加某一记录时,Access不再使用已被删除的自动编号字段的数值,而是重新按递增的规律重新赋值。,81,5Access中的数据类型(3/3),(7)是/否这种类型是针对于某一字段中只包含两个不同的可选值而设立的字段,通过是/否数据类型的格式特性,用户可以对是/否字段进行选择。(8)OLE对象指字段允许单独地“链接”或“嵌入”OLE对象。添加数据到OLE对象字段时,可以链接或嵌入Access表中的OLE对象是指在其他使用OLE协议程序创建的对象,例如WORD文档、EXCEL电子表格、图像、声音或其他二进制数据。OLE对象字段最大可为1GB,它主要受磁盘空间限制。(9)超级链接主要是用来保存超级链接的,包含作为超级链接地址的文本或以文本形式存储的字符与数字的组合。当单击一个超级链接时,WEB浏览器或Access将根据超级链接地址到达指定的目标。超级链接最多可包含三部分:一是在字段或控件中显示的文本;二是到文件或页面的路径;三是在文件或页面中的地址。在这个字段或控件中插入超级链接地址最简单的方法就是在“插入”菜单中单击“超级链接”命令。,82,6主键及实体完整性,在表建立后,如果我们没有定义表的主键,那么系统会问是否定义它。什么是主键呢?我们在关系数据库系统(如:Access)中可以通过使用查询、窗体和报表快速地查找并组合存储在各个不同表中的信息。要做到这一点,每个表都应该包含一个或一组这样的字段:这些字段是表中所存储的每一条记录的唯一标识,该信息即称作表的主键。指定了表的主键之后,Access将阻止在主键字段中输入重复值或Null值。即在前面节中提到的实体完整性。在Access中可以定义3种主键:“自动编号”主键单字段主键多字段主键,83,8.6.3数据库的管理与维护,1.表中的输入、删除、修改数据记录向表中添加数据之前要先打开它,首先启动Access,选择【打开已有文件】,双击“图书管理.mdb”打开它。在数据库窗口中单击“表”选项,可以看到在数据库右边的“创建方法和已有对象列表”列表框中,除了三种创建表的方法之外,还有一个“借书人表”、“图书表”、“管理员表”及“借阅表”选项。,84,2.向数据表中输入图片、声音和影像,如果要在数据表中加入特定的图片、声音或影像文件,则在“插入对象”窗口中选择“由文件创建”,并通过单击【浏览】按钮,在浏览窗口中找到需要放置的文件,双击将它选定。单击【确定】按钮退出“插入对象”窗口,这时表的相应位置就出现了要插入的文件的文件名,双击文件名,就可以看到或听到相应的文件了。,85,3.导入或联接外部数据,在Access中,可以用“获取外部数据”命令很方便地从外部数据库中获取数据,这些数据库包括现在所有的各种主流数据库,像Dbase、Sybase、Oracle、FoxPro等。这样你就不用去一个一个地重新输入原来的数据了。对于不同的外部数据库可以用不同的获取方式(导入或链接表)。在Access中,还可以导出别的数据库,就是将用Access建立的数据库保存为别的数据库形式,像FoxPro、Dbase数据库等。执行【文件】|【获取外部数据】命令,弹出一个子菜单,单击“导入”或“链接表”选项就可以实现导入或联接一个外部的数据库。虽然这两个命令的功用都是打开外部的一个数据库,并从中获取需要的数据,但在使用上,还是有差别的。,86,8.6.4Access中的查询,在数据库中,并不需要且也不应该把所有用户可能用到的数据都存储到数据表里,例如对于一些需通过已存在现有表中的一个或多个字段计算的值,一般是不会先算好以后保存到表中,否则就存储了大量的冗余数据。通常使用查询就可以按照不同的方式查看、更改和分析数据。也可以用查询作为窗体、报表和数据访问页的记录源。Access中有下列几种查询:选择查询最常见的查询类型,它从一个或多个表中检索数据,并且在可以更新记录(有一些限制条件)的数据表中显示结果。也可以使用选择查询来对记录进行分组,并对记录作总计、计数、平均值以及其他类型的总和计算。,87,8.6.4Access中的查询,参数查询参数查询可以在执行时显示用户所需要的对话框以提示用户输入信息,例如条件,检索要插入到字段中的记录或值。可以设计此类查询来提示更多的内容;例如,可以在图管理管理数据库中按借书人的姓名查其借书记录,对话框中提示请输入要找人的姓名,然后Access检索此人借书的所有记录。将参数查询作为窗体、报表和数据访问页的基础也很方便。交叉表查询使用交叉表查询可以计算并重新组织数据的结构,这样可以更加方便地分析数据。交叉表查询计算数据的总计、平均值、计数或其他类型的总和,这种数据可分为两组信息:一类在数据表左侧排列,另一类在数据表的顶端。,88,8.6.4Access中的查询,操作查询使用操作查询只需进行一次操作就可对许多记录进行更改和移动。有如下4种操作查询:删除查询:该查询可以从一个或多个表中删除一组记录。更新查询:该查询可以对一个或多个表中的一组记录作全局的更改。使用更新查询,可以更改已有表中的数据。追加查询:追加查询将一个或多个表中的一组记录添加到一个或多个表的末尾。生成表查询:该查询可以根据一个或多个表中的的全部或部分数据新建表。生成表查询有助于创建表以到其他Access数据库或包含所有旧记录的历史表。,89,8.6.4Access中的查询,SQL查询是用户使用SQL语句创建的查询。可以用结构化查询语言(SQL)来查询、更新和管理Access关系数据库。在查询“

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论