1、第1页第1章 数据库概述本章概述 本章的学习目标主要内容第2页本章概述 数据库技术产生于上个世纪六十年代末,是数据管理的最新技术,是计算机科学的重要研究分支。本章介绍数据库的基本概念,数据管理技术发展的三个阶段的特点;数据模型和关系运算。最后介绍数据库设计过程。第3页本章的学习目标 了解数据库的基本概念 掌握数据库、数据库系统和数据库管理系统的关系 理解数据管理技术发展的三个阶段 理解数据模型的概念 掌握关系数据模型的相关概念 掌握关系运算的操作 理解数据库设计方法第4页主要内容 1.1数据库的基本概念 1.2数据管理技术的发展阶段 1.3数据库的体系结构和数据模型 1.4关系运算 1.5 数
2、据库设计1.1.1信息与数据库1.数据数据(Data)是描述事物的符号记录,是数据库中存储的基本对象。可以是文本、图表、图形、图像、声音、语言、视频等。2.信息信息是现实世界事物的存在方式或运动状态的反映。或认为,信息是一种已经被加工为特定形式的数据。信息的主要特征是:信息的传递需要物质载体,信息的获取和传递要消费能量;信息可以感知;信息可以存储、压缩、加工、传递、共享、扩散、再生和增值;而数据是信息的载体和具体表现形式,信息不随数据形式的变化而变化。1.1.1信息与数据库 3.数据库数据库(Database,DB)是长期存储在计算机内、有组织、可共享的大量数据的集合。数据库中的数据需要创建数
3、据模型来描述,如网络、层次、关系模型。在数据库中的数据具有冗余度小、独立性高和易扩展性的特点。1.1.2数据库管理系统数据库管理系统(Database Management System,DBMS)位于用户和操作系统之间,是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。像Oracle、SQL Server 和DB2都是常用的数据库管理系统软件。一般说来,数据库管理系统的功能主要包括以下几个方面。数据定义功能数据操纵功能数据库的运行管理功能数据库的建立和维护功能1.1.3数据库系统数据库系统 数据库系统(Data Base System,简称 DBS)是指引入数据库后的计算机应用系
4、统,数据库系统通常包括硬件和软件,由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。数据库、数据库管理系统、数据库系统的关系:132数据2程序1程序2程序N数据1数据N1.2.1人工管理阶段数据1数据N程序1程序2程序N数据2文件系统1.2.2文件系统阶段 通过文件系统来管理数据,而且数据可长期保存在设备上。数据依然是面向某一特定的应用程序;数据的共享程度比较低、数据冗余度大;整体上看,数据没有结构,但记录内有结构;数据的独立性仍然较差,数据的逻辑结构改变必须修改应用程序;应用程序自己控制数据。学生部门学生部门教务部门教务部门人事部门人事部门文件系统文件系统教师数据文件教师
5、数据文件学生数据文件学生数据文件课程数据文件课程数据文件人事管理应用程序人事管理应用程序学生管理应用程序学生管理应用程序教务管理应用程序教务管理应用程序应用程序和数据文件的关系应用程序和数据文件的关系1.2.2文件系统阶段1.2.3数据库系统阶段数据结构化 数据结构化是数据库的主要特征之一,是数据库系统与文件系统的本质区别。数据的共享性程度高,冗余度小,容易扩充等 数据库阶段的数据不再是面向某个应用程序,而是面向整个系统,因此可以被多个用户、多个应用以多种不同的语言共享使用。数据独立性高 数据独立性是数据库系统的一个最重要的特点之一,它使数据能独立于应用程序。应用程序不随数据存储结构的变化而变
6、化,简化了应用程序的编制和程序员的工作负担。外存储器数据库字段名类型 宽度 小数位说 明F_BM字符型 2省市编码F_MC字符型 12省市名称字段名类型 宽度 小数位说 明F_BM字符型 2省市编码F_MC字符型 12省市名称1.2.3数据库系统阶段 数据库系统阶段将数据集中存储在一台计算机上,进行统一组织和管理。1.1.3 数据库的体系结构通常DBMS将数据库的体系结构分为三级模式:外模式、模式和内模式。数据库的三层模式外模式用户模式或者子模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示模
7、式逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式。内模式内模式又称为存储模式或者物理模式。一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。数据库的体系结构三级模式结构之间差别往往很大,为了实现这3个抽象级别的联系和转换,DBMS在三级模式结构之间提供了两级映像:外模式/模式映像,模式/内模式映像。如图1-2所示。数据库内模式模式外模式外模式外模式应用2应用1应用3外模式/模式映像模式/内模式映像图1-2 数据库的三级模式1.3 数据模型模型是现实世界特征的模拟和抽象。数据模型(Data Model)
8、也是一种模型,它是现实世界数据特征的抽象。人们把客观存在的事物以数据的形式存储到计算机中,经历了对现实生活中事物特征的认识、概念化到计算机数据库里的具体表示的逐级抽象过程。此过程分为3个阶段,即现实世界阶段、信息世界阶段和机器世界阶段,如图1-3所示。16现实世界信息世界如E-R图机器世界如层次模型、关系模型、网状模型抽象转换图1-3 数据处理的三个阶段数据模型概念模型中最常用的是实体联系模型(E-R模型),概念模型的目的是根据需求分析得到概念模型(即E-R图),E-R图是数据库人员之间交流的工具,与具体的DBMS无关。建立概念模型后,需要将概念模型转换成某种具体数据库系统支持的模型,在机器世
9、界使用的模型叫做数据模型。将信息世界转换成机器世界是将E-R图转换为某一种数据模型,数据模型与DBMS相关。17数据模型的分类 数据模型的三个要素包括:数据结构、数据操作和完整性约束。层次数据模型 网状数据模型 关系数据模型第18页关系数据模型 关系数据模型是由关系数据结构、关系操作的集合和关系完整性约束三部分组成。例如下图这张日常生活中常见的二维表就是关系第19页学号姓名性别年龄2018202011李平男192018202012王梅女202018202013董东男182018202014王芳女19概念模型(7)联系(Relationship)实体集之间的联系主要有以下几种联系。一对一联系(1
10、:1)如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。一对多联系如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n。多对多联系(m:n)关系数据模型表1-1 学生表学号姓名性别年龄2018202011李平男192018202012王梅女202018202013董东男182018202014王芳女19关系数据模型是由关系数据结构、关系操作的集合和关系完整性约束三部分组成。从用户观点来看
11、,关系模型中逻辑数据结构是一张简单的二维表,它由行和列组成。例如表1-1这张二维表就是一个关系。关系数据模型基本概念(1)关系一个关系就是一张二维表,每个关系都有一个关系名,例如学生表就是学生关系。(2)元组二维表中的行称为元组,每一行是一个元组,对应一条记录。(3)属性二维表的列称为属性,又称为字段。(4)关系模式对关系的描述,关系模式一般表示为关系名(属性 1,属性 2,属性 n),例如,学生关系模式表示为:学生(学号,姓名,性别,年龄)。(5)域表示属性的取值范围,例如,性别属性的域是男,女。(6)关键字或码在关系的属性中,能够用来唯一标识元组的属性(或属性组合)称为关键字或码。关系数据
12、模型(7)候选关键字或候选码候选码可以用来唯一地标识不同的元组的属性或者属性组合。(8)主码(主键)是从候选码中选择一个用来作为主码。如果一张表只有一个候选码,则该候选码就是主码。(9)分量表示元组中的一个属性值,例如王芳就是学生王芳的分量。(10)外码(外部关键字)又称为外键,是指某个属性不是A表的主码,但是是B表的主码,则在A表中这个属性就称为外键。(11)主属性和非主属性在一个关系中,包含在任何候选关键字中的各个属性称为主属性;不包含在任一候选码中的属性称为非主属性。例如,学生表中的学号是主属性,而姓名、性别和年龄是非主属性。关系数据模型在关系数据库中,关系具有以下性质:所有的属性都是原
13、子的 元组的顺序无关紧要,即元组的次序可以任意交换。属性的顺序是非排序的,即它的次序可以任意交换。同一属性名下的诸属性值(同列)是同类型数据,且来自同一个域。关系中没有重复元组,任意元组在关系中都是唯一的。属性必须具有不同的属性名,不同的属性可来自同一个域。关系的完整性规则 元组在主码上不能相同或者不能为空值(NULL)实体完整性 外码的取值要么为空,要么取主码表中的取值,而不能取其他的值。参照完整性 针对某一具体数据的约束条件,由具体应用环境决定。用户自定义完整性1.4.1 传统的集合运算传统的集合运算是二目运算(又称二元运算)。以下运算用到的两个关系R和S均为n 元关系,且相应的属性取自同
14、一个域,如表1-2、表1-3所示。1.并(Union)关系R和S的并为属于R或属于S的所有元组组成的集合,删去重复的元组,其结果仍为n元关系。记为RS=t|tRtS。关系R和S进行“并”运算的结果如表1-4所示。姓名年龄性别李20男王21女袁20男表1-2 关系R姓名年龄性别李20男柳22男张20女表1-3 关系S姓名年龄性别李20男王21女袁20男柳22男张20女表1-4 RUS1.4.1 传统的集合运算2.交(Intersection)关系R和S的交为:由既属于R又属于S的元组组成,其结果仍为n元关系。记为RS=t|t Rt S,RS=R(R-S)。关系R和S进行“交”运算的结果如表1-5
15、所示。姓名年龄性别李20男王21女袁20男表1-2 关系R姓名年龄性别李20男柳22男张20女表1-3 关系S表1-5 RS姓名年龄性别李20男1.4.1 传统的集合运算3.差(Difference)关系R和S的差为:由属于R而不属于S的所有元组组成,其结果仍为n元关系。记为R-S=t|tRtS。关系R和S进行“差”运算的结果如表1-6所示。姓名年龄性别李20男王21女袁20男表1-2 关系R姓名年龄性别李20男柳22男张20女表1-3 关系S表1-6 R-S姓名年龄性别王21女袁20男1.4.1 传统的集合运算4.笛卡尔乘积(Cartesian Product)设关系R和S分别是n元和m元关
16、系,若R有k1个元组,S有k2个元组,则关系R和S的笛卡尔积有k1k2个元组。记为姓名年龄性别李20男王21女袁20男表1-2 关系R姓名年龄性别李20男柳22男张20女表1-3 关系S表1-7 RSR.姓名R.年龄R.性别S.姓名S.年龄S.性别李20男李20男李20男柳22男李20男张20女王21女李20男王21女柳22男王21女张20女袁20男李20男袁20男柳22男袁20男张20女1.4.2 专门的关系运算 1.选择(Selection)选择又称为限制,它是在关系中满足给定条件的元组的子集。记作:F(R)=t|tRF(t)=真 其中F表示选择条件,它是一个逻辑表达式,取逻辑“真”或“假
17、”。选择运算实际上是从关系R中选取使逻辑表达式F为真的元组。这是从行的角度进行的运算。姓名年龄性别李20男王21女袁20男表1-8 关系R【例1-3】对关系R进行以下查询的关系运算。(1)查询男生的信息。性别=男(R)(2)查询年龄大于20的学生的信息。年龄20(R)(3)查询年龄大于20的男学生的信息。性别=男年龄20(R)1.4.2 专门的关系运算 2.投影(Projection)关系R上的投影是从R中选择出若干属性列组成新的关系。记作:A(R)=tA|t R,其中A为R中的属性列。投影操作是从列的角度进行的运算,也就是选择关系的部分列而得到的新的关系,投影又叫做垂直筛选。投影操作之后不仅
18、去掉了原关系中的某些字段,而且还可能取消某些元组(去掉重复的行)。1.4.2 专门的关系运算【例1-4】对关系R进行以下查询的关系运算。(1)查询关系R的年龄字段。关系代数为:年龄(R),得到的结果如表1-9所示。(2)查询关系R的姓名和年龄字段。关系代数为:姓名,年龄(R),得到的结果如表1-10所示。姓名年龄性别李20男王21女袁20男表1-8 关系R年龄2021姓名年龄李20王21袁20表1-9 年龄(R)表1-10 姓名,年龄(R)1.4.2 专门的关系运算 3.连接(Join)连接分为内连接和外连接,内连接是只将满足连接条件的记录保存在结果中,而外连接除了将满足条件的元组保存在结果中
19、,还把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接(OUTER JOIN)。外连接分为左外连接、右外连接和完全外连接。如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFT OUTER JOIN或LEFT JOIN)。如果只把右边关系S中要舍弃的元组保留就叫做右外连接(RIGHT OUTER JOIN或RIGHT JOIN)。如果把左边关系和右边关系中不满足连接条件的元组也放在结果中,就叫完全外连接(FULL JOIN)。1.4.2 专门的关系运算 从两个关系的笛卡尔积中选取属性间满足一定条件的元组。相比较的属性是可比的属性。连接运算中最为重要也最
20、为常用的连接是:条件连接、等值连接和自然连接。条件连接:当要满足某个给定条件时,称为条件连接。等值连接:给定条件为相等的连接。自然连接:若关系R和S具有相同的属性组B,则连接条件是两个关系R和S中所对应的同名属性组B中的所有属性的值必须对应相等。内连接也称为连接。连接运算的含义是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。1.4.2 专门的关系运算当连接符号为时的连接运算叫做等值连接。等值连接的含义从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组而得到的关系。自然连接是一种特殊的等值连接,等值连接中包含相同的字段,这样的关系看起来很不自然,为了让连接后的关系更加自然,两个连接
21、关系中进行比较的字段必须是相同的属性或者属性组合,在结果中把重复的列去掉。1.4.2 专门的关系运算【例1-5】有两个关系R和S,如表1-11、1-12所示。分别计算关系R与S的连接(C=0 And 90。(3)单击“查询类型”选项卡上的“生成表”命令按钮,弹出“生成表”对话框,在“表名称”文本框中输入“优秀学生信息”,选中“当前数据库”单选按钮,将新表放在当前打开的数据库中,单击“确定”按钮完成。1第87页3.2.6创建操作查询创建操作查询2.删除查询【例3-13】创建一个删除查询,将毕业院校为“汇文中学”的学生删除。【分析】:在这个查询中,我们需要删除满足条件的记录。具体步骤如下:(1)创
22、建查询设计,添加表“student”,添加全部字段到设计网格中“字段”行上。(2)在“毕业院校”字段的“条件”行上的单元格中输入:汇文中学。单击“查询类型”选项卡上的“删除”命令按钮,设计网格中会出现“删除”行。(3)单击运行,查看结果,并保存此查询。1第88页3.2.6创建操作查询创建操作查询3.更新查询【例3-14】创建一个更新查询,将政治面貌为“党员”的学生成绩加5分。【分析】:在这个查询中,我们需要更新满足条件的记录字段“成绩”。具体步骤如下:(1)创建查询设计,添加表“student”、“score”。(2)单击“查询类型”选项卡上的“更新”命令按钮,设计网格中会出现“更新到”行。在
23、第1列“字段”单元格内选择“成绩”字段,并在“更新到”行上的单元格中输入:成绩+5;在第2列“字段”单元格内选择“政治面貌”字段,并在“条件”行上的单元格中输入:党员。(3)单击运行,查看结果,并保存此查询。1第89页3.2.6创建操作查询创建操作查询4.追加查询【例3-15】创建一个追加查询,将成绩在80到90这个分数段的学生信息追加到“优秀学生信息”表中。【分析】:在这个查询中,我们首先要打开“优秀学生信息”表,查看里面的字段都有那些,然后我们再找到满足条件的记录,最后追加到表中。具体步骤如下:(1)创建查询设计,添加表“student”、“score”“course”。(2)单击“查询类
24、型”选项卡上的“追加”命令按钮,这时弹出“追加”对话框,在“追加”对话框中的“表名称”下拉列表框中选择“优秀学生信息”表,单击“确定”按钮。(3)设计网格中会出现“追加到”行。我们先把“追加到”行上的字段一一选出来,再在“字段”行上选取字段分别与“追加到”行上的字段相匹配。在“成绩”字段的“条件”行上的单元格中输入:between 80 and 90。(4)单击运行,查看结果,并保存此查询。1第90页3.3 创建创建SQL查询查询前面我们介绍了使用向导和设计视图来创建查询,用户会觉得比较方便也容易懂,但是一些比较复杂的查询我们用前面两种方式都无法实现。其实查询的实质是SQL命令,不管是何种查询
25、最终保存在数据库中仍以SQL命令的方式保存的,我们只需要打开任何一个查询的查询设计视图,将视图切换到SQL视图就可以看到SQL代码。1第91页3.3.1SQL查询语言概述查询语言概述select语句的基本语法:Select 字段列表into 新表from 记录源where group by having order by 字段列表desc|asc说明:(1)中的内容表示可选项,中的内容必选项,|表示任选其一。(2)Select语句的书写没有很严格的要求,可以写在一行,也可以分多行写,语句最后以“;”结束,也可以不写“;”。语句中的英文字母不分大小写。(3)Select命令的语法格式中,基本部分
26、是“select 字段列表”和“from 记录源”。字段列表可以是表中字段,也可以是计算表达式;记录源可以是表,也可以是查询。(4)Where子句后面带查询条件或者连接条件,可以实现对记录的筛选,也可以实现多表连接。(5)Group by子句实现分组统计,Group by子句后面可以带having短语也可以不带,having的作用类似于where,能对分组后的数据进行再筛选。如果出现having短语必须有Group by子句。(6)Order by子句是对查询的结果进行排序。默认的排序方式为升序,asc表示升序可以缺省不写,降序为desc。1第92页3.3.2基本查询基本查询1.选取记录源的全
27、部或部分字段Select*通常用于快速查看表中的记录。当对表的结构无法确切记忆时,或要快速查看表中的记录时,使用Select*是很方便的。【例3-16】输出“student”表中全部字段,并将查询保存为“学生信息”。具体步骤如下:进入SQL视图,输入如下SQL命令:Select*from student1第93页3.3.2基本查询基本查询2.对记录进行选择使用where子句对记录进行选择。where子句根据某个表达式或某些字段的值进行过滤,最后筛选出符合条件的记录。where的基本语法为:where【例3-18】在“student”表中显示所有女生的记录。SQL语句为:select*from
28、studentwhere 性别=女【例3-19】在“student”表中查找1998年出生的学生,并显示其学号、姓名、出生日期。方法一:SQL语句为:select 学号,姓名,出生日期 from studentwhere 出生日期=#1998-1-1#and 出生日期853.子查询子查询也叫嵌套查询,是一种比较复杂的查询,它是将第一次查询的结果作为第二次查询的条件。【例3-26】检索选修3门以上课程的学生的学号、总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。SQL语句为:select 学号,sum(成绩)as 总成绩 from scorewhere 学号 in(select 学号
29、 from scoregroup by 学号having count(*)3)and 成绩=60group by 学号order by 2 desc第99页第4章 窗体 本章概述 本章的学习目标主要内容第100页本章概述 窗体又称为表单,是Access数据库的重要对象之一,窗体既是管理数据库的窗口,又是用户和数据库之间的桥梁。通过窗体可以方便地输人数据,编辑数据,查询、排序、筛选和显示数据。Access利用窗体将整个数据库组织起来,从而构成完整的应用系统。本章将介绍窗体的特点和使用方法。第101页本章的学习目标 理解窗体的概念和功能 掌握创建窗体方法 掌握控件的使用方法 掌握在设计视图中创建窗
30、体使用方法第102页主要内容4.1 认识窗体4.2 创建窗体方式 4.3 在设计视图中创建窗体4.4 控件的应用第103页4.1 认识窗体 一个好的数据库系统不但要设计合理,满足用户需要,而且还必须具有一个功能完善、操作方便、外观美观的操作界面口窗体作为输人界面时,它可以接受数据的输人并检查输人的数据是否有效;窗体作为输出界面时,它可以根据需要输出各类形式的信息包括多媒体信息),还可以把记录组织成方便浏览的各种形式。Access窗体有多种分类方法,通常是按功能、按数据显示方式和显示关系分类。第104页窗体的概念和功能 窗体的主要作用是接受用户输入的数据或命令,编辑、显示数据库中的数据;构造方便
31、和美观的数据、输出记录的界面。窗体可以完成以下几种功能:显示编辑数据。控制应用程序的流程。显示信息。打印数据。窗体的组成和结构 Access窗体由窗体页眉、页面页眉、窗体主体、页面页脚和窗体页脚5个节组成,第105页窗体的类型 纵栏式窗体,在窗体界面中每次只显示表或查询中的一条记录,可以占一个或多个屏幕页,记录中各字段纵向排列。表格式窗体,在窗体的一个画面中显示表或查询中的全部记录。记录中的字段横向排列,记录纵向排列。每个字段的标签都放在窗体顶部,做窗体页眉。第106页窗体的类型 数据表窗体,从外观上看与数据表和查询显示数据界面相同,主要作用是作为一个窗体的子窗体。主/子窗体,窗体中的窗体称为
32、子窗体,包含子窗体的窗体称为主窗体。第107页窗体的视图 窗体有4种视图 窗体视图 数据表视图 布局视图 设计视图第108页第109页4.2 创建窗体 创建窗体两类方法:使用向导:简单、快捷创建窗体。人工方式:手动添加控件,建立控件与数据源之间的联系。使用“自动创建窗体”打开数据库,使用“窗体”按钮创建窗体。创建“多个项目”窗体。创建“分割窗体”创建“数据表”窗体第110页使用窗体向导创建窗体 使用向导创建窗体,需要在创建过程中选择数据源、选择字段、设置窗体布局等。单击“窗体向导”命令按钮将通过向导对话框的方式设计窗体,用户可以通过选择对话框中的各种选项来设计窗体。使用向导可以方便、快捷地创建
33、窗体。向导将引导用户完成创建窗体的任务,并让用户在窗体上选择所需要的字段、最合适的布局及窗体所具有的背景样式等。第111页利用“导航”命令按钮创建窗体“导航”命令按钮用于创建导航窗体,即只包含导航控件的窗体。第112页“其他窗体”命令按钮创建窗体“其他窗体”命令按钮又包括4个命令选项第113页第114页4.3 在设计视图中创建窗体 窗体设计窗口 窗体的结构“窗体设计工具”选项卡控件的功能与分类“控件”是窗体上图形化的对象,如文本框、复选框、滚动条或命令按钮等,用于显示数据和执行操作。控件的功能 控件的分类 根据控件与数据源的关系,控件可以分为绑定型控件、未绑定型控件和计算型控件3种。第115页
34、控件的操作 向窗体添加控件如下两种 自动添加 通过在设计视图中使用控件按钮向窗体添加控件。第116页4.4 控件的应用 面向对象的基本概念 类是具有相同属性的客观事物的抽象,比如汽车类指的是具有汽车特征的车的统称。对象是类的具体化,比如具体的某一辆汽车是汽车类的一个实例。第117页“属性表”任务窗格,用鼠标右键单击窗体或控件,并从打开的快捷菜单中选择“属性”命令。窗体的常用属性 控件的常用属性第118页窗体和控件的属性窗体和控件的常用事件 对窗体和控件设置事件属性值是为该窗体或控件设定响应事件的操作流程,也就是为窗体或控件的事件处理方法编程。常用事件见表4-1第119页控件应用举例 标签和文本
35、框控件 复选框、选项按钮和切换按钮控件 选项组控件 列表框与组合框控件 按钮控件(命令按钮)选项卡控件 图像控件第120页控件应用举例 图表控件第121页第122页4.5 本章小结 本章全面讲述了窗体的基本概念、组成、类型、视图。首先,介绍了各种窗体的创建方法和过程。接下来,创建窗体的主要方法在设计视图中创建窗体,以及窗体中的控件的功能与分类。之后,分别讲述了控件的应用包括面向对象的基本概念、窗体和控件的属性、窗体和控件的常用事件。最后,控件实例包括标签和文本框控件、复选框、选项按钮和切换按钮控件、选项组控件、列表框与组合框控件等9种控件的使用方法。第123页第5章 报表本章概述 本章的学习目
36、标主要内容第124页本章概述 在Access中,数据库的打印工作通过报表对象来实现,使用报表对象,用户可以简单、轻松地完成复杂的打印工作。精美且设计合理的报表能使数据清晰地呈现在纸质介质上,把用户所要传达的汇总数据、统计与摘要信息让人看来一目了然。第125页本章的学习目标 掌握Access报表的创建 掌握报表中排序与分组的方法 掌握报表中数值计算操作第126页主要内容5.1报表基础知识5.2创建报表5.3创建主/子报表1第127页5.1 报表基础知识报表基础知识 报表是Access数据库中的一个对象,它根据指定的规则打印输出格式化的数据信息。熟悉Excel的用户可能会把数据表视图中的数据记录或
37、查询结果直接打印输出,但是这样的的报表格式不美观还不符合实际的要求。Access 2016中报表的制作方式有多种,使用这些方式能够快速完成基本设计并打印报表。1第128页5.1.1报表的视图报表的视图Access 2010提供的报表视图有4种,分别是报表视图、打印视图、布局视图、设计视图。(1)报表视图用于在显示器中显示报表内容,可以对报表中的记录进行筛选、查找(2)打印视图可以按不同的缩放比例对报表进行预览,对页面进行设置(3)布局视图是Access 2010新增的一种视图,可以在显示数据的同时调整报表设计(4)设计视图用于报表的创建和修改1第129页5.1.2 报表的组成和类型报表的组成和
38、类型1.报表的组成报表通常由报表页眉、页脚、页面页眉、页面页脚、组页眉、组页脚及主体7个部分组成2.报表的类型(1)纵栏式报表:以垂直方式在每页上显示一条或多条记录。(2)表格式报表:分组/汇总报表,类似于用行和列显示数据的表格。(3)图表式报表:一种用图表的形式或透视表的形式的报表。(4)标签报表:在每页上以两或三列的形式显示多条记录。1第130页5.2 创建报表创建报表创建报表和创建窗体非常类似,都是使用控件来组织和显示数据的,因此,在第4章中介绍过的创建窗体的许多技巧也适用于创建报表。一旦创建了一个报表,就可以在报表中添加控件、修改报表样式等我们可以通过以下几种方式来创建报表(1)自动创
39、建报表(2)创建空报表(3)通过向导创建报表(4)通过标签向导创建标签报表(5)在设计视图中创建报表1第131页5.2.1自动创建报表自动创建报表【例5-1】在“学生成绩管理系统”数据库中使用“报表”创建“score”报表。(1)打开数据库“学生成绩管理系统”,在“导航”窗口选定“score”(2)在“创建”选项卡“报表”组中选择“报表”按钮,如下图1第132页5.2.2创建空报表创建空报表【例5-2】在“学生成绩管理系统”数据库中使用“空报表”创建“课程表”具体操作步骤如下:(1)打开数据库“教学管理系统”,在“创建”选项卡中选择“报表”组,单击“空报表”,系统将自动创建一个空报表并以布局视
40、图显示,同时打开“字段列表”窗口(2)在“字段列表”中选择“course”表中的“课程名称”、“学分”两个字段拖动到布局视图。注意:这种方式创建报表时“字段列表”可以将与该表关联的表信息显示出来,所以创建报表时可以将与该表相关联的表字段信息拖动到视图中显示。1第133页5.2.3通过向导创建报表通过向导创建报表【例5-3】在“学生成绩管理系统”数据库中使用向导创建“学生成绩表”报表,显示内容:姓名、课程名、成绩。具体操作步骤如下:(1)打开“学生成绩管理系统”数据库,在“创建”选项卡的“报表”组中,单击“报表向导”按钮,系统会弹出“报表向导”对话框。(2)在“报表向导”对话框中选取字段,我们从
41、3个表依次选取字段,单击“下一步”按钮,在弹出的对话框中确定查看数据的方式,单击“下一步”按钮,在弹出的对话框中确定是否添加分组级别,是否分组由用户根据数据源中的记录结构及报表的具体要求决定的,单击“下一步”按钮,在弹出的对话框中确定明细信息使用的排序次序和汇总信息,最多可以按4个字段对记录进行排序,注意,此排序是在分组的前提下进行的排序,单击“下一步”按钮,在弹出的对话框中确定报表的布局。注意,如果是单一数据源,那么布局形式的选择是不同的(在单一数据源下。布局中显示的是纵栏表、表格、两端对齐)。还可以选择是纵向打印还是横向打印,在左边预览框中可以看到布局效果,单击“下一步”按钮,在弹出的对话
42、框中确定确定报表标题。然后单击“完成”按钮,显示报表的打印预览效果。1第134页5.2.4通过标签向导创建标签报通过标签向导创建标签报表表【例5-4】在“学生成绩管理系统”数据库中使用标签向导创建学生情况标签报表具体操作步骤如下:(1)打开“学生成绩管理系统”数据库,在“创建”选项卡的“报表”组中,单击“标签”按钮,系统会弹出“标签向导”对话框。(2)确定标签外观属性,通过列表框选择系统提供的标签型号、尺寸以及度量单位,用户也可以自定义标签尺寸。单击“下一步”,打开“标签字体和颜色设置”对话框,设定标签文字字型、字号、颜色。(3)确定标签显示内容:在列表框“原型标签”中先输入“学号:”,在列表
43、框“可用字段”中选中“学号”列,点“”按钮,将列表框中的字段加到右边的原型标签列表框中,打回车,“姓名”、“性别”、“毕业院校”这三个字段的添加方法与上同。(4)确定排序字段:将字段“学号”添加到排序依据中,确定标签报表名称,单击“完成”按钮。1第135页5.2.5在设计视图中创建报表在设计视图中创建报表1创建报表【例5-5】在“学生成绩管理系统”数据库中使用报表设计创建学生信息报表。具体操作步骤如下:(1)打开“学生成绩管理系统”数据库,在“创建”选项卡的“报表”组中,单击“报表设计”按钮,系统会出现“报表设计”界面。(2)设置报表的标题为“学生信息表”,并在“属性表”的数据选项卡中的记录源
44、右侧的下拉列表中选择表“student”。(3)在报表页眉节中添加一个标签,标签标题为“学生信息表”,页面页眉节中添加3个标签,分别是“学号”、“姓名”、“毕业院校”,(4)在主体节区添加文本框控件,并设置数据源,使之与页面页眉节区中的3个标签对齐并与之相对应。(5)设计好后,我们可以选择报表视图查看效果,如果不合适,我们可以再回到设计视图中进行修改,包括字体大小、颜色以及报表布局等。1第136页5.2.5在设计视图中创建报表在设计视图中创建报表2报表排序与分组【例5-6】在“学生成绩管理系统”数据库中利用报表设计建立学生成绩报表,并按课程编号分组,按学号升序排列具体操作步骤如下:(1)与【例
45、5-5】的创建方法一样,我们把报表创建好后,然后再进行分组。(2)排序与分组:在报表空白位置点鼠标右键,在出现的快捷菜单中选择“排序和分组”,会在界面的下面出现一个“分组、排序和汇总”对话框,先点击 按钮,设置分组字段是“课程编号”,升序;后点击,设置排序字段为“学号”,这时会在报表页面中出现一个新的节“课程编号页眉”,将主体节中名称为“课程编号”的文本框拖动到节“课程编号页眉”,并排列各个对象,如下图所示。1第137页5.2.5在设计视图中创建报表在设计视图中创建报表3报表计算【例5-7】利用“报表”创建“学生表”,根据学生“出生日期”计算学生年龄,并对记录进行编号。具体操作步骤如下:(1)
46、创建“学生表”报表。(2)编辑“出生日期”标签及文本框控件:在“开始”选项卡选择“视图”组,单击“视图”中的“设计视图”,将“页面页眉”中的“出生日期”标签改为“年龄”。将“主体”节中的“出生日期”文本框去掉。(3)设置“年龄”文本框属性:在“设计”选项卡“控件”组中选择“文本框”按钮,将文本框控件添加到“主体”节,并将文本框的附加标签去掉。点击文本框右键属性,在打开的属性表对话框的“控件来源”属性中,输入“=Year(Date()-Year(出生日期)”。(4)设置“编号”文本框属性:在“设计”选项卡“控件”组中选择“文本框”按钮,将文本框拖动到“主体”节的最前面,选中文本框点右键,在出现的
47、对话框中设置“控件来源”属性为“=1”,设置“运行总和”属性为“全部之上”。同时将文本框的附加标签拖动到“页面页眉”中,并修改标签内容为“编号”。1第138页5.3 创建主创建主/子报表子报表【例5-8】利用“报表设计”创建学生成绩报表。具体操作步骤如下:(1)创建子报表:打开数据库“学生成绩管理系统”,先利用“报表向导”建立子报表,命名为“成绩子报表”。(2)设计主报表:在“创建”选项卡中选择“报表”组,单击“报表设计”按钮,在新增的选项卡中选择“设计”中的“工具”组,并点击“添加现有字段”按钮,在出现的“字段列表”窗口中选中“学生情况表”里的“学号”、“姓名”、“毕业院校”三个字段拖动到主
48、体节区。(3)添加“子窗体/子报表”控件:在“设计”选项卡中选择“控件”组里的“子窗体/子报表”控件。添加“子窗体/子报表”控件到主体节区,在出现的“子报表向导”中选中“成绩子报表”,按“下一步”完成子报表的添加。第139页第6章 宏本章概述 本章的学习目标主要内容第140页本章概述 在Access中,经常要重复进行某一项工作,这将会浪费时间而且不能够保证所完成工作的一致性。此时,利用宏来完成这些重复的工作是最好的选择。宏是由一个或多个操作命令组成的集合,其中每个操作执行特定的功能。例如,排序、查询和打印操作等。可以通过创建宏来自动执行一项重复的或者十分复杂的任务,或执行一系列复杂的任务。本章
49、将介绍宏的特点和使用方法。第141页本章的学习目标 理解宏的概念和功能 掌握创建宏方法 掌握宏的使用方法 掌握在其他对象中引用宏第142页主要内容6.1 宏的概述6.2 常用的宏操作命令和参数设置6.3 创建宏6.3.1 操作序列宏6.3.2 宏组6.3.3 条件宏6.4 宏的运行和调试6.1 宏的概述6.1 宏的概述 在Access中,经常要重复进行某一项工作,这将会浪费时间而且不能够保证所完成工作的一致性。此时,利用宏来完成这些重复的工作是最好的选择。6.1宏的概述 为了确保表数据的准确性,在Access 2016中可以使用数据宏。有两种主要的数据宏类型:一种是由表事件触发的数据宏(也称事
50、件驱动的宏);另一种是使用“表格工具”的“表”选项卡中的“已命名的宏”按钮创建的数据宏。第144页6.1宏的概述 与查询、窗体类似,一般利用宏的设计窗口去创建一个宏,在宏的设计窗口中需要详细地设置添加的操作命令和操作命令的参数区域。在参数区域的左侧设置相关的操作命令参数,在参数区域的右侧显示相应操作命令参数的提示信息,如图所示。6.1 宏的概述 进入宏的设计窗口后,Access的功能区中会出现一个“宏工具”的“设计”选项卡。在宏设计工具栏中,有一些与宏操作相关的工具按钮,如下图。6.2 常用的宏操作命令和参数设置 在Access中提供了50多个宏操作命令,要熟练地使用宏对象,必须掌握一些常用的
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。