《Access数据库技术及其应用教学课件汇总完整版电子教案全书课件(最新).ppt》由会员分享,可在线阅读,更多相关《Access数据库技术及其应用教学课件汇总完整版电子教案全书课件(最新).ppt(435页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、引语数据库技术是数据库技术是20世纪世纪60年代末兴起的一年代末兴起的一种数据管理技术。随着计算机技术的高速发种数据管理技术。随着计算机技术的高速发展及信息时代的应用需求,数据管理技术已展及信息时代的应用需求,数据管理技术已经融入到人们的日常工作和社会生活的各个经融入到人们的日常工作和社会生活的各个领域,扮演着十分重要的角色。数据库技术领域,扮演着十分重要的角色。数据库技术也已成为计算机科学的重要分支。也已成为计算机科学的重要分支。第一节数据库系统基础知识1.信息与数据信息与数据信息信息(Information)与数据数据(Data)一对既有联系、又有区别的基本概念。信息总是用数据来表示的;信
2、息本身则来源于对现实世界客观事物的抽象。现实世界与计算机世界的关系1.1.1信息、数据和数据管理现实世界中的两种事物1.具体具体的人或物,如一间教室、一台电脑、一个学生等2.抽象抽象的概念,如年龄、体重、血型等客观事物反映到人们的头脑里,通过抽象就形成了信息,因此客观事物是信息的源泉。事物的个体被称为实体实体,个体的特征称为属性属性;拥有相同属性的实体称为同类实体同类实体,它们的集合则构成实体集实体集。在计算机中所有的信息均被抽象转换为计算机能接受的数据形式,并通过适当的软件对它们进行存储和管理。客观事物概念模型 选择选择、分类分类、命名命名对客观事物进行定量记录的符号如数量、年龄、考试成绩等
3、数值型数值型对客观事物进行定性记录的符号如姓名、地址、毕业学校等字符型字符型对客观事物进行形象特征和过程记录的符号如声音、图像、视频等特殊型特殊型数据表示信息有多种表现形式2.数据处理与数据管理数据处理与数据管理u计算机是“数据自动处理机”处理方式处理方式:数据的获取、表示、存储、加工/计算、转换及查询等处理目的处理目的:从大量的、杂乱无章的、难以理解的原始数据中抽取并推导出的对某些特定的人们来说是有价值的、有意义的数据,以此作为行为和决策的依据。数据处理的最基本工作就是数据管理数据处理的最基本工作就是数据管理(1)组织和保存数据组织和保存数据将收集到的数据合理分类组织,将其存储在物理载体上,
4、使其能够长期保存(2)进行数据维护进行数据维护根据需要随时添加新数据、修改原有数据和删除无用或过时的数据(3)提供数据查询和数据统计功能提供数据查询和数据统计功能提供数据查询和数据统计功能,以便快速地得到需要的正确数据数据库数据库体现了当代先进的数据管理方式,主要研究与数据管理相关的技术。1.1.2数据库技术的产生与发展数据管理的三个阶段人工管理文件管理数据库管理人工管理阶段20世纪50年代中期以前计算机主要用于科学计算。对数据管理,包括存储结构、存取方法、输入/输出方式等完全由程序设计人员负责,这一阶段称为人工管理阶段。特点:数据不保存;由应用程序管理数据;数据不具有独立性也不具有共享性。文
5、件管理系统20世纪50年代后期到60年代中期计算机不仅用于科学计算,而且还大量用于事物管理。这一时期出现了可以直接存取的磁鼓和磁盘,它们成为联机的主要外部存储设备;同时软件方面,出现了高级语言和操作系统。操作系统中有了专门的数据管理系统,称为文件管理系统。特点:数据可以长期保存在外部设备上;数据是由文件系统来管理的;数据的独立性和数据的共享性较差,数据的冗余度较大。数据库管理系统20世纪60年代后期随着计算机用于数据处理的规模越来越大而产生了数据库管理系统。数据库管理系统克服了文件管理系统阶段的缺陷,对相关数据进行统一规划管理、形成一个数据中心,构成一个数据“仓库”,实现了整体数据的结构化。特
6、点:数据整体结构化;具有很高的数据独立性;数据冗余度较低,共享性较强;数据由数据库管理系统统一管理和控制。1.非关系数据模型(包括层次模型和网状模型)现代代3.面向对象数据模型数据模型数据模型发展展历程程2.关系数据模型数据库发展阶段的划分是以数据模型的发展为主要依据的数据库发展阶段的划分是以数据模型的发展为主要依据的第三代非关系型数据库系统数据库技术的发展第二代第一代关系型数据库系统面对对象数据库系统第一代第一代 非关系型数据库系统非关系型数据库系统非关系模型数据库系统层次模型网状模型单线联系多线联系1969年,美国IBM公司开发的层次模型数据库系统IMS(InformationManage
7、mentSystem)和20世纪70年代美国数据库系统语言协会CODASYL(ConferenceOnDataSystemLanguage)的数据库任务组提出的网状模型数据库系统规范报告,简称为DBTG(DataBaseTaskGroup)报告。典型代表第二代第二代 关系型数据库系统关系型数据库系统Student IDSnameDepartment031201张大林数学031031202王欣欣英语041030703刘意心计算机032030804李佳如信工031二维表通过公共的关键字段实现不同二维表(或“关系”)之间的数据联系。1970年,美国IBM公司SanJose实验室的研究员科德(E.F.
8、Codd)提出了关系模型的概念,关系型数据库(RelationalDatabaseSystem,简称RDBS)开始问世。关系模型是建立在数学概念基础上的,有着坚实的数学理论基础。20世纪80年代以来,计算机厂商推出的数据库管理系统绝大多数都支持关系模型,现在微机上使用的数据库系统几乎都是关系型数据库。典型代表常见的关系型数据库常见的关系型数据库DB2DB2AccessAccessFoxProFoxProMySqlMySql第三代第三代面向对象面向对象 关系型数据库系统关系型数据库系统80年代中期以来,对新一代数据库系统的研究日趋活跃,出现了包括分布式数据库系统、并行数据库系统和面向对象数据库系
9、统等新型数据库系统。随着多媒体应用的扩大,人们希望新一代数据库系统除存储传统的文本信息外,还能存储和处理图形、声音等多媒体对象,于是第三代数据库应运而生。将数据库技术与面向对象技术相结合,成为第三代数据库系统的发展方向。对于中、小数据库用户而言,由于高级数据库系统的专业性要求太高,通用性受到一定的限制,在推广使用的范围上受到约束。而基于关系模型的关系数据库系统功能的扩展与改善,面向对象关系数据库、数据仓库、Web数据库、嵌入式数据库等数据库技术的出现,构成了新一代数据库系统发展的主流。Tips:1.1.3数据库、数据库管理系统1.数据库数据库数据库(DataBase,简称DB)是长期存放在计算
10、机存储设备上的,有组织、可共享的数据集合。数据库把与应用程序相关的数据及其联系集中在一块并按照一定的结构形式进行存储,即数据库具有集成性;数据库中的数据可以被多个用户和多个应用程序共享,即数据库具有共享性;数据库的结构独立于程序,对于数据库的数据增加、删除、修改和检索等操作是由软件进行的,即数据库中的数据与程序具有较高的独立性。减少了数据的冗余(重复)避免数据的不一致易于使用、便于扩展具有较高的数据安全性和完整性支持多用户操作 2.数据库管理系统数据库管理系统 (DataBaseManagementSystem,DBMS)位于用户与操作系统之间,具有数据定义、操纵、查询和控制的系统软件,是数据
11、库系统的核心组成部分。功能功能(1)数据定义包括定义构成数据库结构的模式、存储模式和外模式,定义外模式与模式之间的映射,定义模式与存储模式之间的映射,定义有关的约束条件。(2)数据操纵包括对数据库数据的检索、插入、修改和删除等基本操作。(3)数据库运行管理包括对数据库进行并发控制、安全性检查、完整性约束条件、数据库的维护等,以保证数据的安全性、完整性、一致性以及多用户对数据库的并发使用。(4)数据组织、存储和管理对数据字典、用户数据、存取路径等数据进行分门别类地组织、存储和管理,确定以何种文件结构和存取方式物理地组织这些数据,以便提高存储空间利用率以及缩短操作时间。(5)数据库的建立和维护包括
12、数据库初始数据的输入与数据转换等。维护数据库包括数据库的转储与恢复、数据库的重组织与重构造、性能的监视与分析等。(6)数据通信接口提供数据库管理系统与其他软件进行通信的功能。例如提供与其他DBMS或文件系统的接口,从而能够将数据转换为另一个DBMS或文件系统能够接受的格式。在现实世界中,经常用模型来模拟和抽象事物的主要特征。模型在现实世界中,经常用模型来模拟和抽象事物的主要特征。模型能够清楚地表示某一事物。客观世界中的事物反映在人们的头脑能够清楚地表示某一事物。客观世界中的事物反映在人们的头脑中称为概念世界。在概念世界中将客观事物及其性质常抽象为实中称为概念世界。在概念世界中将客观事物及其性质
13、常抽象为实体及属性。由于概念世界中的信息在计算机中只能以数据形式存体及属性。由于概念世界中的信息在计算机中只能以数据形式存储,因此人们必须事先把具体事物转换成计算机能够处理的数据。储,因此人们必须事先把具体事物转换成计算机能够处理的数据。在数据库中用数据模型来模拟、抽象、逼近和表示现实世界中的在数据库中用数据模型来模拟、抽象、逼近和表示现实世界中的数据和信息。数据和信息。第二节数据模型容易被人理解能够比较真实地模拟现实世界便于在计算机系统中实现要要求求数据模型(DataModel)现实世界数据特征的抽象1数据结构用于描述数据结构用于描述系统的静态特性,系统的静态特性,研究的对象包括两研究的对象
14、包括两类,一类是与数据类,一类是与数据类型、内容和性质类型、内容和性质有关的对象;另一有关的对象;另一类是与数据之间的类是与数据之间的联系有关的对象。联系有关的对象。2数据操作是指对数数据操作是指对数据库中各种对象据库中各种对象(型)的实例(值)(型)的实例(值)允许进行的所有操允许进行的所有操作,即操作的集合。作,即操作的集合。数据库主要有检索数据库主要有检索和更新两类操作。和更新两类操作。3完整性规则是给定完整性规则是给定的数据模型中数据的数据模型中数据及其联系所具有的及其联系所具有的制约和依存规则,制约和依存规则,以保证数据的正确以保证数据的正确性、有效性和相容性、有效性和相容性。性。数
15、据结构数据结构数据操作数据操作数据约束条件数据约束条件数据模型的三要素HierarchicalModel层次模型NetworkModel网状模型RelationalModel关系模型ObjectOrientedModel面向对象模型常见数据模型:数据模型是数据库系统的核心和基础,各种机器上实现的DBMS软件都是给予某种数据模型的。1.2.1实体模型(EntityModel)在信息世界中,客观存在并可以相互区分的客观事物或抽象事件称作实体(实体(Entity)Concept实体(实体(Entity)实体集(实体集(Entity Set)属性(属性(Attribute)码(码(Key)实体型(实体
16、型(Entity Type)域(域(Domain)实体模型客观存在并且可以相互区分的客观事物或抽象事件。实体有若干特性,每个特性称作实体的一个属性。能唯一标识实体的一个属性或属性集称作码或关键字。属性取值范围称为该属性的域。具有相同属性的实体必然具有共同的特征和性质。实体集是若干个同类实体的集合。1.有关实体模型的几个概念有关实体模型的几个概念2.实体之间的联系实体之间的联系实体之间的对应关系称为关联,它反映现实世界事物之间的相互联系。在信息世界中,联系是指实体与实体之间、实体集内的实体与实体之间以及组成实体的各属性间的关系。一对一一对一(1:1)设A、B为两个实体集,若A中的每个实体至多和B
17、中的一个实体有联系,反过来,B中的每个实体至多和A中的一个实体有联系,则称B对A是一对一(1:1)联系。一对多一对多(1:n)如果实体集A中的每个实体可以和实体集B中几个实体有联系,而B中的每个实体都和A中的一个实体有联系,那么A对B属于一对多(1:n)联系。多对多多对多(m:n)如果实体集A中的每个实体可以与实体集B中的多个实体有联系,反过来,B中的每个实体也可以与A中的多个实体有联系,则称A对B或B对A是多对多(m:n)联系。3.E-R模型模型P.P.S.Chen 于1976年提出的“实体-联系模型(Entity-RelationshipApproach)”,简称E-R模型。E-R模型中,
18、常用E-R图来描述。在E-R图中,图形要素是矩形框、椭圆和菱形框。能真实自然地描述现实世界图形元素简单直观,易为用户和设计者理解和交流容易向其他数据模型转换E-R图的优点图的优点(1)对现实世界进行分析,抽象以后,找出实体集及其属性;(2)找出实体集之间的联系;(3)找出实体集联系的属性;(4)绘制E-R图。一般是先绘制局部的E-R图,然后再绘制全局的E-R图。画E-R图的基本步骤:在信息世界中,实体的属性也叫字段(Filed),也称作数据项;字段名往往和属性名相同。例如教师的字段有教师号、教师姓名、所属学院、身份证号、性别、学历、职称、专业、工龄等。字段的有序集合称作记录(Record)。现
19、实世界中的实体及其联系,在计算机世界中用数据模型来表示。1.2.2层次模型(HierarchicalModel)现实世界中,许多实体之间的联系呈现出一种自然的隶属或层次关系,例如行政机构、家族等。因此,可用树型结构表示各类实体及实体间的联系。在层次模型中每个结点表示一个实体型,结点之间的连线表示实体型间的联系,这种联系是“父子”结点之间的“一对多”的联系。高校教学高校教学层层次模型次模型(1)层次模型只有一个无父结点,这个结点称为根结点。(2)根节点以外的其他结点仅有一个父结点。特征1.2.3网状模型(NetworkModel)在现实世界中,事物之间的关系大多数是非层次关系,如果用层次模型描述
20、这种关系就有一定的困难,因此,引入了网状模型。网状模型网状模型是层次模型的扩展,它表示多个从属关系的层次结构,呈现一种交叉关系的网络结构,网状模型是有向“图”结构,如图1.3所示。在网状模型中,每一个结点表示一个实体型,结点之间的连线表示实体型间的联系,从一个结点到另一个结点用有向线段表示,箭头指向“一对多”的联系的“多”方。学校管理的网状模型(1)网状模型允许一个以上的结点无父结点。(2)允许结点有多于一个的父结点。特征1.2.4关系模型(RelationalModel)虽然网状模型比层次模型更有普遍性,但是由于其结构比较复杂,不便于应用程序的实现。因此,新的数据模型-关系模型便应运而生,关
21、系模型是最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织形式。现在主流数据库大都是基于关系模型的数据库系统。关系模型是由美国IBM公司的研究员E.F.Codd于1970年首次提出的。为了表彰E.F.Codd为关系数据库技术做出的杰出贡献,1981年的图灵奖授予了这位“关系数据库之父”。学生编号姓名性别出生年月学生班级200420101401刘琳琳女1983-9-13计算02-3200420101402王明伟男1983-11-11英语02-4200420101403李浩然男1982-7-28金融02-5200420101404陈莉湘女1983-5-17经济02-5学生关系表1.关系
22、模型的常用术语关系模型的常用术语(1)关系(Relation)一个关系对应一张二维表,每个关系都有一个名称即关系名,表示为R(D1,D2,Dn),其中R为关系名,D1,D2,Dn为属性名。在Access数据库中,一个关系存储为一个表,具有一个表名。对关系的描述称为关系模式,一个关系模式对应一个关系的结构。其格式为:关系名(属性名1,属性名2,属性名n)在Access中,表示为表结构:表名(字段名1,字段名2,字段名n)(2)元组(Tuple)在一个二维表(一个具体关系)中,一行称为一个元组,对应表中的一个具体记录。(3)属性(Attribute)二维表中的一列称为一个属性,每一个属性有一个名称
23、即属性名,与前面讲的实体属性相同。在Access中表示为字段名。例如表1.1中有五列,则有五个属性名(学生编号,姓名,性别,出生年月,学生班级)。(4)域(Domain)属性的取值范围,称为域域。即不同元组对同一个属性的取值所限定的范围。表1.1中性别值域是男,女。(5)主码或主关键字(PrimaryKey)表中能够唯一地标识一个元组的属性或元组属性的组合称为主码主码或主关键字。它可以唯一地确定关系中的一个元组元组。在Access中能够唯一标识一条记录的字段或字段组合,也称为主键。表1.1中由于学生编号具有唯一性,故可以作为标识一条记录的关键字。由于可能有重名的学生,所以,姓名字段不能作为主关
24、键字,但姓名字段和出生年月字段的组合一般可以唯一标识一个记录,因此可以作为主关键字。(6)外部关键字(ForeignKey)如果表中的一个字段不是本表的主关键字,而是另外一个表的主关键字,这个字段(属性)就称为外部关键字。在Access中称为外键。(1)每一列中各数据项具有相同属性,即同一列的数据必须是同一数据类型。(2)每一行代表一个实体,任何两行的值不能完全相同。(3)每一行中由一个实体的多种属性构成。(4)行与行、列与列的次序可以任意交换,且不改变关系的实际意义。(5)关系中每一个数据项不可再分,也就是说不允许表中还有表。2.关系模型的关系模型的5条性质条性质E.F.Codd的规定的规定
25、如下课程表,其属性为课程编号、课程名称、学时,这时就不能正确反映实际情况;因为学时还可以再分为理论学时和实验学时才能反映实际情况。因此课程关系的属性应该为课程编号、课程名、理论学时和实验学时。课程编号课程名称学时理论学时实验学时20359B2数据结构503602313B2Access数据库技术及应用342602320B2计算机网络5020课程表1.2.5面向对象模型(ObjectOrientedModel)由于现实世界存在着大量的、复杂的、不规范的数据,需要对其进行复杂的数据处理,而传统的数据模型不能适应新一代数据库应用的需求,因此需要更高级的数据模型来表达,面向对象模型便孕育而生。面向对象的
26、概念最初出现在程序设计中,因为更便于描述复杂的客观现实,所以迅速渗透到计算机的其他领域。面向对象模型是面向对象概念与数据库技术相结合的产物。面向对象模型最基本的概念是对象(Object)和类(Class)。在面向对象模型中,对象是指某一客观的事物,对象的描述具有整体性和完整性,对象不仅包含描述它的数据,而且还包含对它进行操作的方法,对象的外部特征与行为是紧密联系在一起的。其中,对象的状态由一组属性值组成,是该对象属性的集合;对象的行为由一组方法组成,是在对象状态上操作的方法的集合。共享同一属性集和方法集的所有对象构成了类。1.2.5面向对象模型(ObjectOrientedModel)1.2.
27、5面向对象模型(ObjectOrientedModel)面向对象模型是用“面向对象”的观点来描述现实世界客观存在的逻辑组织、对象间联系和约束的模型。它能完整地描述现实世界的数据结构,具有丰富的表达能力。由于该模型相对比较复杂,涉及的知识比较广,因此尚未达到关系模型的普及程度。1970年,年,IBM公司研究员公司研究员E.F.Codd在美国在美国ACM通信通信上发表了题为上发表了题为“大型共享数据库的关系模型大型共享数据库的关系模型”论文,率先论文,率先提出了以二维表的形式(提出了以二维表的形式(Codd称之为称之为“关系关系”)来组织数据)来组织数据库中的数据,提出了关系数据模型的思想,奠定了
28、关系数据库中的数据,提出了关系数据模型的思想,奠定了关系数据库系统坚实的基础。库系统坚实的基础。“关系关系”原本是一个数学概念,其理论原本是一个数学概念,其理论基础是集合代数。关系方法就是采用数学方法来处理数据库基础是集合代数。关系方法就是采用数学方法来处理数据库中的数据。关系数据库是目前效率最高的一种数据库系统。中的数据。关系数据库是目前效率最高的一种数据库系统。Access就是基于关系模型的数据库系统。就是基于关系模型的数据库系统。背景背景第三节关系数据模型1.3.1关系数据结构关系操作集合关系数据结构关系完整性约束关关系系模模型型1.3.2关系运算关系运算采用集合运算方式,即运算的对象和
29、结果都是集合。这种运算方式也称为一次一集合(Set-at-a-time)的方式。相应地,非关系数据模型的数据操作方式则为一次一记录(Record-at-a-time)的方式。查询运算是关系运算中的最主要部分,包括选择(Select)、投影(Project)、连接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)等。关系运算查询更新选选 择择投投 影影并并差差笛卡儿积笛卡儿积基本运算基本运算其他运算可以通过基本运算来定义和导出其他运算可以通过基本运算来定义和导出1.选择选择选择是对一个关系表中的记录进行的选择,该运算可以把符合某个条件的
30、记录集选择出来,重新构建一个原表的子表。用于在关系表的水平方向(行)选择符合给定条件的元组。2.投影投影投影是对一个关系表中的字段进行的选择,该运算可以消去表的某些字段,并按要求重新安排次序。用于在关系表的垂直方向(列)找出含有给定属性列(或属性组)的子集。3.连接连接连接运算是将两个关系表,按照两个关系表中相同字段间的一定条件选择记录子集。连接运算属二元运算,参加运算的有两个关系表,结果生成一个新的关系。关系数据库中最常用的关系数据库中最常用的3种关系运算种关系运算关系运算可用代数方式或逻辑方式表示。关系代数是用关系的运算方式来表达查询的要求;关系演算是用谓词的方式来表达查询要求。关系数据语
31、言有关系代数语言(例如ISBL)、关系演算语言(例如元组关系语言ALPHA和QUEL)以及具有关系代数和关系演算双重特点的语言(例如SQL)。更新运算包括增加(Insert)、删除(Delete)和修改(Update)等。1.关系完整性:为保证数据库中数据的正确性和相容性而对关系模型提出的某种约束条件或规则。例如学校的数据库中规定性别只能为男或女,成绩只能为0100或者“优”、“良”、“中”、“及格”或“不及格”等。2.关系模型的操作必须满足关系的完整性约束条件。1.3.3关系完整性约束3.关系的完整性约束条件包括用户定义的完整性、实体完整性和参照完整性三种。(1)用户定义完整性用户定义完整性
32、(User-definedIntegrity)用户定义完整性则是根据应用环境的要求和实际的需要,对某一具体应用所牵涉的数据提出约束性条件。具体的说就是所涉及的数据必须满足一定的语义要求。例如某个属性必须取唯一值、某个属性不能取空值(Null)、某个属性的取值范围在0100之间等。用户定义完整性主要包括字段有效性约束和记录有效性约束。用户定义完整性是针对某一具体关系数据库的约束。关系模型应提供定义和检测这类完整性的机制。注:其中Null为“空值”,即表示未知的值,是不确定的。(2)实体完整性实体完整性(EntityIntegrity)实体完整性是对关系中元组的唯一性约束,也就是对主关键字的约束,
33、即关系(表)的主关键字不能是空值(Null)且不能有重复值。设置实体完整性约束后,当主关键字值为Null(空)时,关系中的元组无法确定。例如在Student表关系中,“StudentID”是主码,由它来唯一识别每位学生,如果它的值取空值,将不能区分具体的学生,这在实际的数据库应用系统中是无意义的;当不同元组的主关键字值相同时,关系中就自然会有重复元组出现,这就违背了关系模型中元组的唯一性原则,因此这种情况是不允许的。注:在关系数据库管理系统中,一个关系只能有一个主关键字,系统会自动进行实体完整性检查。(3)参照完整性参照完整性(ReferentialIntegrity)参照完整性是对关系数据库
34、中建立关联的关系之间数据参照引用的约束,也就是对外部关键字的约束。具体来说,参照完整性是指关系中的外部关键字必须是另一个关系的主关键字的值,或者是Null。例如,已知关系“Student表”(见表1.3),与关系“StudentCourse表”(见表1.4),在关系“Student表”中“StudentID”为主关键字;在关系“StudentCourse”中“StudentID”为外部关键字。则在关系“StudentCourse表”中“StudentID”属性的取值只能是关系“Student表”中某个“StudentID”的值,或者取Null值。StudentIDSnameDepartment
35、031201张大林数学031031202王欣欣英语041030703刘意心计算机032030804李佳如信工031StudentIDCourseIDExamGrade031201038Z090031201022Z088030804040B076Null019B165表1.3Student表表1.4StudentCourse表关系完整性约束是关系设计的一个重要内容,关系的完整性要求关系中的数据及具有关联关系的数据间必须遵循的一定的制约和依存关系,以保证数据的正确性、有效性和相容性。其中实体完整性约束和参照完整性约束是关系模型必须满足的完整性约束条件。关系数据库管理系统为用户提供了完备的实体完整性
36、自动检查功能,也为用户提供了设置参照完整性约束、用户定义完整性约束的环境和手段,通过系统自身以及用户定义的约束机制,就能够充分地保证关系的准确性、完整性和相容性。1.3.4关系的规范化在数据库设计中,一个非常重要的问题是怎在数据库设计中,一个非常重要的问题是怎样把现实世界表示成合适的数据库模式。关样把现实世界表示成合适的数据库模式。关系数据库的规范化理论就是进行数据库设计系数据库的规范化理论就是进行数据库设计的有力工具。的有力工具。关系数据库中的关系(表)要满足一定要求,满足不同程度要求的为不同范式。遵循的主要范式有第一范式(1NF)、第二范式(2NF)、第三范式(3NF)和第四范式(4NF)
37、等。规范化设计的过程就是按不同的范式,将一个二维表不断地分解成多个二维表并建立表间的关联,最终达到一个表只描述一个实体或者实体间的一种联系的目的。其目标是减少数据冗余,提供有效的数据检索方法,避免不合理的插入、删除、修改等操作,保持数据一致,增强数据的稳定性、伸缩性和适应性。(1)第一范式在关系模型的5条性质中提到,关系中每一个数据项是不可再分的,满足这个条件的关系模式就属于第一范式。关系数据库中的所有关系都必须满足第一范式。例如将表1.5“课程表”规范为满足第一范式的表。显然表1.5“课程表”不满足第一范式。处理方法是将表头改为只有一行标题的数据表,见表1.6。课程编号课程名称学时理论学时实
38、验学时20359B2数据结构503602313B2Access数据库技术及应用342602320B2计算机网络5020课程编号课程名称理论学时实验学时20359B2数据结构503602313B2Access数据库技术及应用342602320B2计算机网络5020表1.5课程表表1.6满足第一范式的课程表(2)第二范式第二范式在满足第一范式的关系中,如果所有非主属性都完全依赖于主码,则称这个关系满足第二范式。即对于满足第二范式的关系,如果给定一个主码,则可以在这个数据表中唯一确定一条记录。一个关系模式如果不满足第二范式,就会产生插入异常、删除异常、修改复杂等问题。例如表1.7的“学生课程综合数据
39、表”,在表中没有哪一个数据项能够唯一标识一条记录,则不满足第二范式。学号学生姓名学生专业课程编号课程名称学分课程负责人性别031201张大林应用数学20359B2数据结构3.5郑佳敏男031202王欣欣英语02313B2Access数据库技术及应用3李丽芳女030703刘意心计算机02320B2计算机网络4王大力男030804李佳如信息工程20359B2数据结构3.5郑佳敏女031201张大林应用数学02313B2Access数据库技术及应用3李丽芳女031202王欣欣英语02320B2计算机网络4王大力男表1.7学生课程综合数据表冗余度大。一个学生如果选了n门课程,则他的有关信息就要重复n遍
40、,这就造成数据的极大冗余。插入异常。在这个数据表中,如果要插入一门课程的信息,但此课程没有学生选修,则很难将其插入表中。删除异常。表中李佳如只选修了一门课程“数据结构”,如果她不选了,这条记录就要被删除即整个元组都随之删除,使得她的所有信息都被删除了,从而造成删除异常。该数据表存在如下缺点:学号课程编号学分03120120359B23.503120202313B2303070302320B2403080420359B23.503120102313B2303120202320B24学号学生姓名学生专业031201张大林应用数学031202王欣欣英语030703刘意心计算机030804李佳如信息工
41、程课程编号课程名称学分 课程负责人性别20359B2数据结构3.5郑佳敏男02313B2Access数据库技术及应用3李丽芳女02320B2计算机网络4王大力男表1.8学生选课表表1.9学生专业表表1.10课程表处理表1.7使之满足第二范式的方法是将其分解成三个数据表,见表1.8、表1.9、表1.10。这三个表均满足第二范式。其中“学生选课表”的主码为“学号”和“课程编号”的组合,“学生专业表”的主码为“学号”,“课程表”的主码为“课程编号”。(3)第三范式对于满足第二范式的关系,如果每一个非主属性都不传递依赖于主码,则称这个关系满足第三范式。传递依赖就是某些数据项间接依赖于主码。在表1.10
42、课程表中,性别属于课程负责人,主码“课程编号”不直接决定非主属性“性别”,“性别”是通过课程负责人传递依赖于“课程编号”的,所以此关系不满足第三范式。在某些情况下,不满足第三范式的关系会存在插入、删除异常和数据冗余等现象。为了将此关系转化为满足第三范式的数据表,可以将其分成表1.11“课程表”和表1.12“课程负责人表”。经过规范化处理,满足第一范式的“学生课程综合数据表”被分解为满足第三范式的四个数据表(学生选课表、学生专业表、课程表、课程负责人表)。课程编号课程名称学分20359B2数据结构3.502313B2Access数据库技术及应用302320B2计算机网络4课程负责人性别郑佳敏男李
43、丽芳女王大力男表表1.11 课程表课程表表表1.12 课程负责人表课程负责人表在对数据库进行规范设计时,应该保证所有数据表在对数据库进行规范设计时,应该保证所有数据表都能满足第二范式,尽量满足第三范式。除上述的都能满足第二范式,尽量满足第三范式。除上述的三种范式外,还有三种范式外,还有BCNF(Boyce Codd Normal Form)、第四范式、第五范式。对于一个低一级范)、第四范式、第五范式。对于一个低一级范式的关系,可以通过模式分解,规范化为若干个更式的关系,可以通过模式分解,规范化为若干个更高一级范式的关系集合。高一级范式的关系集合。本章小结信息是经过处理的有用数据,数据处理的目的
44、是得到信息,数据处理的核心问题是数据管理。数据管理技术经历了人工管理、文件管理和数据库系统三个阶段。数据模型是数据库系统的核心,数据模型包括:数据结构、数据操作和数据约束条件三个方面。常用的数据模型有:层次模型、网状模型、关系模型和面向对象模型。关系模型是最重要的一种数据模型。关系模型数据库中最常用的三种关系运算是选择、投影和连接。关系模型完整性约束条件包括用户定义完整性、实体完整性和参照完整性三种。第二章 Access系统概述第一节Access关系数据库第二节Access的数据库对象第三节Access的启动与退出第四节Access的工作环境第五节本章小结Access是Windows环境下的关
45、系型数据库管理软件。它提供了大量的工具和向导,即使没有任何编程经验,也可以通过可视化的操作来完成大部分的数据库管理和开发工作。而对于数据库的开发人员,Access提供了VBA(VisualBasicforApplication)编程语言,可用于开发高性能、高质量的桌面数据库系统。第一节Access关系数据库从Access1.0的诞生到目前Access2003都得到了广泛的应用。Access经历了多次的升级,其功能越来越强大,操作也越来越简单。Access2003是Microsoft公司推出的面向办公自动化、功能强大的关系数据库管理系统,是MicrosoftOffice系列应用软件的一个重要组成
46、部分,是目前最普及的关系数据库管理软件之一。2.1.1Access关系数据库Access操作简单,易学易用。Access2003对以前的Access版本作了许多的改进,其通用性和实用性大大增强,集成性和网络功能更加强大。Access是一种关系数据库管理系统(RDBMS)。顾名思义,关系数据库管理系统是数据库管理软件,它的职能是维护数据库、接受和完成用户提出的访问数据的各种请求。利用Access可以对已有的数据库进行操作,也可以在此基础上进行数据库的开发和设计。2.1.2Access的版本自从1992年11月正式推出Access1.0以来,Microsoft公司一直在不断地完善增强Access的
47、功能,1994年推出的Access2.0有了较大的改动,75%以上的内容都是新增或改进的。1995年随着Windows95的推出,Microsoft公司又将Access2.0升级为Access7.0,1997年推出了Access97,Microsoft首次对Access97进行了汉化,推出了Access97中文版,随后又推出了中文版的Access2000、Access2002和Access2003。2.1.3Access的特点Access为用户提供了友好的用户界面和方便快捷的运行环境。Access2003数据库管理系统不仅具有传统的数据库系统的功能,同时还进一步增强了自身的特性。(1)Acce
48、ss是一个中、小型关系数据库管理系统,适合于开发中、小型管理信息系统。(2)Access作为MicrosoftOffice组件中的一个数据库管理软件,可能对数据进行处理、查询和管理。它与Excel、Word、PowerPoint等应用程序具有统一的操作界面,并可数据共享。(3)采用OLE技术,能够方便创建和编辑多媒体数据库,包括文本、声音、图像和视频。(4)Access支持ODBC标准的SQL数据库的数据。(5)Access内置了大量的函数,其中包括数据库函数、算术函数、文本函数、日期时间函数、财务函数等,用户利用它可以解决许多问题而不必编写代码。(6)Access提供了许多宏命令。宏命令在用
49、户不介入的情况下能够执行许多常规的操作。用户只要按照一定的顺序组织Access提供的宏操作,就能够实现工作的自动化。(7)Access内置编程语言VisualBasic(VB),提供使用方便的开发环境VBA(VisualBasicforApplication)窗口,允许用户通过编程的方式完成较复杂的任务,VBA大加强了Access的应用系统开发能力。第二节Access的数据库对象 Access关系数据库是数据库对象的集合。数据库对象包括:表(Table)、查询(Query)、窗体(Form)、报表(Report)、页(Page)、宏(Macro)和模块(Module)。图2.1Access数据
50、库窗口 在任何时刻,Access只能打开并运行一个数据库。但是,在每一个数据库中,可以拥有众多的表、查询、窗体、报表、页、宏和模块。这些数据库对象都存储在同一个以.mdb为扩展名的数据库文件中。一个Access 2003数据库就是一个扩展名为.mdb的文件。下面我们对Access数据库中的7个对象做简单的介绍:1表表(Table)在Access关系数据库中,表是有结构的数据的集合,是数据库应用系统的数据“仓库”。表用于存储基本数据。表示存储数据的基本单元,每个表都拥有自己的表名和结构。表由不同的列、行组合而成,即由行和列组成的二维表格。在表中,一行数据称为一条记录,每一列代表某种特定的数据类型