下载此文件

Download Report

Transcript 下载此文件

第7章 数据库管理软件
Access 2003的使用
1
本章主要内容
1
认识数据库
2
创建数据库
3
建立表
4
建立查询
2
9.1 认识Microsoft Access 2003
• 数据库基础知识
• Access 2003 简介
3
9.1.1 数据库基础知识
• 1. 数据与数据处理
– 数据(data)是存储在某一种媒体上能够识别的数
据符号。它包括描述事物特性的数据内容和存储在
某一种媒体上的数据形式。
– 数据处理是指将数据转化成信息的过程。
• 2. 数据库
– 数据库(DB)是指按照一定的数据模型,有规则
地存储在一起的相关信息的数据集合。简而言之,
数据库就是数据的仓库。它不仅包括描述事物的数
据本身,还包括了数据之间的关系。
4
• 3. 数据库系统
– 数据库系统(DBS)是指引进数据库
技术后的计算机系统,能有组织地、
动态地存储大量相关数据,提供数据
处理,实现数据共享,减少数据冗余。
5
• 4. 数据库管理系统
– 数据库管理系统(DBMS)是建立、维护和使用数
据库,对数据库进行统一管理和控制的系统。具体
指数据库系统中管理数据的软件系统。在计算机系
统中,数据管理通常使用数据库管理系统完成。也
就是说,数据库系统包括数据库和数据库管理系统
两部分。一个数据库系统可包含多个数据库。数据
分。
6
• 5. 关系数据库
– 每一个数据库管理系统都是按一定的结构进
行数据的组织的,这种数据用数据模型来表
示。数据模型可分为层次型、网状型、关系
型三种类型。自上世纪八十年代以来,几乎
所有的数据库管理系统都是关系数据库,如
Microsoft SQL Sever,Visual FoxPro,
Oracle等都采用关系模型。我们本章要学习
的Microsoft Access也是一种典型的关系数据
库。
7
9.1.2 Access 2003简介
• Access 2003是Microsoft Office 2003办公
套件中的一个重要组件。它功能强大,
操作简单,且可以与其他的Office 组件
实现数据共享和协同工作。现已成为最
流行的桌面数据库管理系统。
8
应用程
序窗口
数据库
窗口
窗口
菜单
数据库组
件选项卡
创建方法与
已有对象列
表
图9.1 Access 2003的窗口
图9.1 Access 2003的窗口
9
字段与记录
• 在Access中,表将数据组织成列(称为字段)
和行(称为记录)的形式。每一列的名字(字
段名)是惟一的,每一列中的内容有相同的属
性和数据类型。
10
• 在创建表之前,先要对表结构进行设计,也就
是根据数据的取值情况确定每个字段的名称和
数据类型。字段名一般以字符开头,后面可跟
字符和数字等允许的符号,最多74个字符,同
一个表中不能有相同的字段名。而字段数据类
型的设置则定义了用户可以输入到字段中的值
的类型。
11
表9.2 Access 的数据类型及用法
数据类型
用法
文本
用于存放文本或者文本与数字的组合,最多255个字符,默认大小
为50。这种类型中的数字不能进行数学计算。
数字
用于存放可进行数学计算的数字数据,可以有小数位和正负号。
日期/时间
用于存放表示日期和时间的数据,允许进行少量的日期和时间运算。
备注
用于存放超长文本或文本与数字的组合,最多含75535个字符。
货币
用于存放表示货币的数据,可进行数学计算,可以有小数位和正负
号。
自动编号
向表中添加一条新记录时,由Access 指定一个惟一的顺序号(每次
加1)或随机数。
是/否
又称逻辑型数据,只有两种可能的取值:“是”或“否”,“真”
或“假”。
OLE对象
用于其他Windows应用程序中对象的链接与嵌入,最大1G字节。
超级链接
用于保存超级链接的有效地址。
12
用于创建一个字段,该字段允许从其他的表、列表框或组合框中选
字段属性
• 每个字段都有自己的属性,字段属性是一
组特征,使用它可以附加控制数据在字段
中的存储、输入或显示方式。属性是否可
用取决于字段的数据类型。系统提供了如
所示的13种属性供选择使用。
13
表9.3 Access的字段属性及功能
属性选项
字段大小
格式
小数位数
输入法模式
输入掩码
标题
默认值
功
能
使用这个属性可以设置文本、数字、货币和自动编号字段数据的范围,可设置的最大字符数
为255。
控制怎样显示和打印数据,可选择预定义格式或输入自定义格式。
指定数字、货币字段数据的小数位数,默认值是“自动”,范围是0~15。
确定光标移至该字段时,准备设置哪种输入法模式,有三个选项:随意、开启、关闭。
使用户在输入数据时可以看到这个掩码,从而知道应该如何输入数据,对文本、数字、日期/
时间和货币类型字段有效。
在各种视图中,可以通过对象的标题向用户提供帮助信息。
指定数据的默认值,自动编号和OLE数据类型没有此项属性。
有效性规则
是一个表达式,用户输入的数据必须满足此表达式,当光标离开此字段时,系统会自动检测
数据是否满足有效性规则。
有效性文本
当输入的数据不符合有效性规则时显示的提示信息。
必填字段
允许空字符串
索引
Unicode压缩
该属性决定字段中是否允许出现Null值。
指定该字段是否允许零长度字符串。
决定是否建立索引的属性,有三个选项:“没有”、“有,允许重复”和“有,不允许重复
“。
指示是否允许对该字段进行Unicode压缩。
14
主键(主关键字)
• 主键是表中用于惟一标识每条记录的主索引。
主键不是必需的,但主键能将表与其他表中
的外键相关联。所以,只有定义了主键,才
能建立表与表之间的关系,同时也方便对表
进行排序或索引操作。主键不允许为 Null
(空值),并且必须始终具有唯一索引。如
果表中某个字段没有重复的内容,就可用作
该表的主键。
15
视图
• 视图是按特定方式处理数据的窗口。
Access 2003为表提供了4种视图方式。最
常用的是设计视图和数据表视图。
16
图9. 3 设计视图
17
图9. 4 数据表视图
18
9.2 实践案例
——“学生管理”数据库
19
9.2.1 案例综述
• 创建一个名为“学生管理”的数据库
• 该数据库中 “学生基本情况表”、和 “成绩
表”二张表
• 二张表之间根据相关联的字段建立关系
• 创建显示每位学生学号、姓名、三门课成绩的
“学生成绩”查询
• 创建“新生奖学金名单表”查询,可直接查询
出高考成绩大于590分的同学的基本情况
• 在“学生成绩”查询的基础上创建一个“成绩
汇总”查询,将每位学生的三门课的成绩进行
汇总、排序。
20
表9.3 学生基本情况表
学号
姓名
性别
出生年月
籍贯
电话号码
高考分数
01001
赵云峰
男
1983-6-30 湖南长沙
07316478908
589
01002
李小巧
女
1983-12-8 广西桂林
07733654789
612
01003
梁海鸥
男
1984-4-10 广西柳州
07722854301
668
01004
秦淮梦
女
1984-1-25 陕西咸阳
09104612839
568
01005
何步耘
男
1983-9-29 河南开封
03784612839
570
男
1984-5-6
02258234562
583
女
1983-9-27 广西河池
07782133568
594
01006 欧阳文通
01007
吴英丽
天津
21
表9.5 成绩登记表
学号
01001
01002
01003
01004
01005
01006
01007
数学
88
82
55
74
91
82
49
英语
92
89
83
69
89
83
67
22
计算机
83
84
77
81
85
79
68
9.2.2 创建新数据库
图9.5 Access232003启动界面
图9.6 直接新建一个空数据库
24
图9.7 保存文件对话框
25
图9.8 “学生管理”数据库窗口
26
利用本机上的模板来创建一个新数据
库
图9.9 数据库模板对话框
27
根据现有文件来新建数据库
• 根据现有文件来新建一个类似的数据
库相当于是复制一个已有的数据库,
然后对它进行修改编辑,形成一个新
数据库。
28
创建表的方法
• 建表的方法共有五种,分别是:
– 使用设计器创建表
– 通过输入数据创建表
– 使用向导创建表
– 导入表
– 链接表
29
“学生基本情况表”结构
字段名称 数据类型
学号
姓名
文本
文本
字段大
小
10
10
性别
文本
2
字段属性
必填、主键
出生年月 日期/时间 中日期
籍贯
文本
6
电话号码 文本
15
高考分数 数字
整型
有效性规则:大于等于
400且小于等于750
30
图9.10 定义表结构
31
图9.11 设置字段属性
32
图9.12 定义主键
33
34
35
36
37
保存表结构
图9.13 “另存为”对话框
图9.14 警告对话框
38
39
通过输入数据创建表
• 直接在数
据表视图
中输入
“成绩表”
数据:
学号
数学
英语
计算机
01001
88
92
83
01002
82
89
84
01003
55
83
77
01004
74
69
81
01005
91
89
85
01006
82
83
79
01007
49
67
68
40
• 在数据库窗口中,直接双击“通过输入数据
创建表”,打开数据表视图窗口,如下图所
示
41
• 将表中的数据直接输入到上图的数据表
中,完成后如下图所示:
42
再单击右上角的按钮,保存更改,在弹出
的“另存为”框中,输入表名“学生成
绩”后,单击“确定”。
43
修改“学生成绩表”表结构
(1)在“数据库”窗口中,选中表“成绩”。单击
“设计”按钮,产生“表设计视图”。
• (2)在表设计视图中,将光标定位到“字段名称”
下的“字段1”处,将其改为“学号”,将数据
类型改为“文本”,字段大小设置为“10”。
以此类推,分别将各字段名称改为“数学”、
“英语”、“计算机”,字段大小为“单精
度”,小数点位数为“1”。修改好的学生成绩
表”表设计视图如图9-11所示。
44
45
9.7 数据表数据的编辑和使用
• 9.7.1 向数据表输入数据
• 在数据库窗口的“对象”选项卡中,选
择“表”。双击“学生基本情况表”表,
或者单击选定“学生基本情况表”,再
单击“打开”,打开表“学生基本情况
表”,进入数据表视图,如图所示
46
47
48
• 单击工具栏上的“保存”按钮,保存数
据表,但是不关闭表。单击“学生基本
情况”表对话框右上角的”×”(关闭)
按钮,将保存数据表并关闭“学生基本
情况”表。
49
9.7.3 数据的排序、筛选和打印
• 对表“学生基本情况”表按“高考分数”字段
的值从高到低排序。
• 操作步骤如下:
• (1)在数据表视图中,打开“学生基本情况”表,
单击“高考分数”的列选择区。
• (2)单击工具栏上的“降序”按钮 ,数据表中
的数据已按降序方式排列。
50
• 在“学生基本情况”表中,要查找籍贯
字段值中含有“广西”的所有记录
51
• (1)在图9-14所示的数据表视图中,选定“籍贯”
字段中某一个记录值中的“广西”字符串。
• 图9-14 数据表视图
• (2)选择菜单栏的“记录”→“筛选”→“按选
定内容筛选”,如上图中箭头所示。
• (3)“按选定内容筛选”的结果如图9-15所示,
籍贯字段中含有“广西”的记录均被筛选出来。
52
9.7.5 表之间的关系操作
• 通过“学号”字段,在表“学生基本情
况”和表“成绩”之间建立一对一的关
系。
53
• (1)选择菜单栏“工具”→“关系”选项,
出现“关系”窗口,并出现“显示表”对话框。
如果“显示表”对话框没有出现,则单击工具
栏上的“显示表”按钮可调出它。
• (2)选择“表”选项卡。在列表框中,选择
“学生基本情况”表后,单击“添加”,再选
择“成绩”表,单击“添加”,然后单击“关
闭”按钮,关闭“显示表”对话框。在“关系”
窗口就显示出要建立关系的两个表。
54
• (3)在“学生基本情况”表中单击“学号”
字段,并将其拖放到“成绩”表中的“学号”
字段上,则弹出“编辑关系”对话框。单击其
中的“实施参照完整性”复选按钮,再单击
“创建”按钮,在关系窗口中的这两个表之间
就出现了一条一对一的关系连线。如果未选
“实施参照完整性”复选按钮,或者事先没有
将“学号”设为主键,则这两个表之间就只出
现一条连线,它并不反映一对一(或一对多)
的关系。双击关系连线(无论是否反映一对一
或一对多的关系)都会弹出“编辑关系”对话
框,可以重新确定是否“实施参照完整性”检
查。
55
• (4)单击“关系”窗口右上方的“关闭”
按钮。系统将询问是否保存关系布局更
改,其目的是确定是否保持“关系”窗
口内各个表之间的相对位置。无论是否
保存该更改,表之间的关系都已保存在
数据库中。
56
• 3、修改表之间的关系
• (1)删除表之间的关系
• 删除关系的操作是在“关系”窗口中进
行的。如果“关系”窗口未曾关闭,想
要删除的关系还在其中显示,只要单击
关系连线,使之变粗,然后按一下
<delete>键,即可删除该关系。
57
• (2)更改关联字段
• 更改关联字段的操作是在“编辑关系”对话框
中进行的。在关系窗口双击关系连线,可以弹
出“编辑关系”对话框,分别单击两个关联表
的下拉列表框的下拉箭头,从弹出的下拉列表
中选定新的关联字段,然后单击“确定”按钮,
即完成关联字段的更改。
58
9.8 数据库的查询
• 9.8.1 查询的种类
• 1.选择查询
• 2.交叉表查询
• 3.操作查询
59
9.8.2
查询设计器及其使用
• 创建一个名为“数学及格”的选择查询,
将表“成绩”中数学成绩高于等于60 分
的记录选择出来,查询包括“学号”、
“数学”、“英语”、“计算机”等字
段,并按数学成绩降序排列。
60
• (1)在数据库窗口选中“查询”对象,
双击“在设计视图中创建查询”选项,
进入“选择查询”窗口,同时弹出“显
示表”对话框。如图9-21所示
61
62
• (2)在“显示表”中单击“表“选项卡,双
击”成绩“,把”成绩“表选入查询设计器的
表/查询显示区后,关闭”显示表“对话框。
• (3)分别双击“学号”、“数学”、“英
语”、“计算机”字段名,将它们添加到查询
设计区的网格中。
• (4)将光标定位在“数学“的”条件“框内,
输入”>=60“,再将光标定位在排序的框内,
单击出现的下拉箭头,在出现的下拉列表框中
选择“降序”。设置好的效果如图9-22所示。
63
64
• (5)单击右上角的关闭按钮,保存对查
询设计的更改,在出现的“另存为“对
话框中输入”数学及格“,然后单击”
确定“。查询”数学及格“添加到数据
库窗口中。
• (6)在“数学及格“查询上双击,显示
查询结果集。
65
练习:建立一个名为“成绩总分”的查询,
包含 “学号”、“姓名”、“数学”、
“英语”、“计算机”字段,并新建一
个总分字段。其中:总分=数学+英语+计
算机,并将总分大于240的记录显示出来。
66
9.8.4 查询条件设置
• 1.简单条件表达式
字段名
条件表达式 含义
说明
性别
“男”
查询性别为“男”
的记录
英语
86
查询英语为83分的
记录
男值应使用双引
号“”括起来
等效为=83
出生年月 #84-125#
查询84年1月25日
出生者的记录
67
日期型数据用#
括起来
• 2、含运算符的条件表达式
• 运算符有:比较运算符、字符串运算符
和逻辑运算符。
68
比较运算符有:
运算符
含义
<
小于
<=
小于等于
<>
不等于
>
大于
>=
大于等于
Between and
用于指定一个范围,主要用于数字型、
货币型和日期性字段。
69
• (2)字符串运算符
运算符
字段名
条件表达式
Like
籍贯
Like“广西桂林”查询籍贯为“广西桂
林”的记录
In
姓名
In(“梁海鸥”, 查询姓名字段只能为
“何步耘”)
“梁海鸥”,或
“何步耘”的记录
70
含义
(3)逻辑运算符
运算符
字段名 条件表达式 含义
数学
AND
(与)
OR(或)数学
>=60
AND
<85
<60 OR
>85
71
查询数学成绩在
60~84之间的记
录
查询数学成绩在的
记录60以下或85
以上的记录
9.9
报表的创建
• 为“成绩”表创建一份纵栏式报表
• (1)在“数据库”窗口中,选择“报表”
对象,然后单击“新建”按钮,弹出
“新建报表”对话框,如图9-27所示。
72
73
• (2)在“新建报表”对话框中,选择
“自动报表:纵栏式”,在下面的列表
框中,选择作为报表数据来源的表“成
绩”。
• (3)单击“确定”,新建的纵栏式报表
显示在屏幕上,如图9-28所示。单击其
右上角的关闭按钮,保存报表。
74
75
• 控件的使用
• 以“成绩“表为数据源,创建一个如图
9-30所示报表,名为“成绩表1”的报表,
包含学号、数学、英语、计算机、总分,
其中,总分=英语+数学+计算机。
76
• (1)在的页面页眉上创建一个标签,显
示“成绩表”,标签的字体大小设为26
磅,前景色为红色。
• (2)在主体工作区添加5个“标签控
件”,在标签内依次输入”学号”、
“数学”、“英语”、“计算机”、
“总分”。
• (3)在主体工作区添加5个“文本框控
件”。
77
• (4)学号、数学、英语、计算机的“文本框”
属性设置。
• ◆选定一个非绑定的【文本框】。
• ◆ 单击【报表设计】工具栏中的【属性】。
• ◆ 打开属性对话框中的【数据】标签,并单击
【控件来源】,如图9-33所示。
• ◆ 单击下拉箭头,分别选择学号、数学、英语、
计算机。
78
79
• (5)总分控件设置
• ◆选定【文本框5】。
• ◆ 单击【报表设计】工具栏中的【属性】。
• ◆ 打开属性对话框中的【数据】标签,并单击【控件
来源】。
• ◆ 单击表达式生成器按钮,弹出【表达式生成器】。
• ◆ 单击“=”按钮,单击相应的计算。
• ◆ 双击“数学”字段,单击“+” 按钮,双击“英语”
字段,单击“+” 按钮,双击“计算机”字段。
• ◆单击【确定】。
80
• (6) 创建好的报表各控件的具体布局如图934所示
81
(7)关闭窗口,并保存报表,取名为“成
绩表1”
82
9.10 窗体的创建
• 9.10.1`窗体的功能
• ◆ 数据的显示与编辑:窗体的最基本功能是显
示与编辑数据。
• ◆ 数据输入:用户可以根据需要设计窗体,作
为数据库中数据输入的接口,这种方式可以节
省数据录入的时间并提高数据输入的准确度。
窗体的数据输入功能,是它与报表的主要区别。
83
• ◆ 应用程序流控制:与VB窗体类似,
Access 2003 中的窗体也可以与函数、子
程序相结合。在每个窗体中,用户可以
使用VBA编写代码,并利用代码执行相
应的功能。
• ◆ 信息显示和数据打印:在窗体中可以显
示一些警告或解释信息。此外,窗体也
可以用来执行打印数据库数据的功能。
84
9.10.2窗体设计
• 1. 使用窗体向导创建窗体
• (1)选择新建窗体中的“窗体向导”,
选择“学生基本情况”表,如图9-38所
示。单击“确定”进入“确定窗体上使
用哪些字段窗体向导”对话框,如图939所示。
85
86
87
• (2)单击“>>”按钮,使“可用字段”列表框中
的字段全部进入“选定的字段”列表框。如图940所示。
88
(3)单击下“下一步”。进入如图9-41所
示。选择“标准”,单击“下一步”,
产生如图9-42所示。
89
90
• (4)单击“完成”,出现如图9-43所示
的标题为“学生基本情况”的窗体
91
知识题
1. 不是常用的数据模型的是(D )。
A.层次型
B.网状型
C.概念型
D.关系型
2. Access数据库中包含( C )个对象。
A. 5
B. 6
C. 7
D. 8
3. Access提供的数据类型不包括( D )。
A.数字
B.文本 C.日期/时间
D.字符
4. 某数据库表中要添加一张图片,则该字段应采用
( C )数据类型。
A. 超级链接
92
B. 自动编号 C. OLE对象
D. 备注
5. Access 数据库中( )对象是其他数据库对象的基础。
A. 报表 B. 窗体
C. 查询
D. 表
6. Access 数据库中默认的文本型字段大小为( )。
A. 150
B. 100
C. 50
D. 25
7. 在查询设计视图中,( )。
A. 只能添加数据库表 B.可以添加数据库表,也可
以添加查询
C. 只能添加查询
D. 以上说法都不对
93
5. 在数据表视图中直接输入数据创建表时,
字段名( )。
A. 只能在设计视图中修改 B. 只能在
数据表视图中修改
C. 在设计视图与数据表视图中都可以修
改
D. 以上说法都不对
94
实践题—“工资管理”数据库
• 使用设计器创建“职工”表,字段信息如下:
① 名称:员工编号;类型:文本;大小:4;[主键]
② 名称:姓名;类型:文本;大小:8;[必填,非空]
③ 名称:性别;类型:文本;大小:2;
④ 名称:出生年月;类型:日期/时间;[索引为有(有重复)]
⑤ 名称:是否党员;类型:是/否;
⑥ 名称:照片;类型:OLE对象。
95
通过直接输入数据或导入表的方法创建
“工资”表
员工编号
基本工资
考核工资
误餐费
养老金
医保
101
1500
500
200
140
44
102
1700
550
200
150.5
47
103
1400
700
200
140
44
104
1700
70
200
171
50
105
1800
750
200
178.5
55
106
2000
800
200
197
70
96
修改“工资”表的结构
• 设置“员工编号”为主键;
• 修改“误餐费”的默认值为“200”;
• 设置“养老金”的有效性规则为“>=90”,
• 有效性文本为“养老金不能小于90”。
97
创建查询
• 通过“员工编号”字段为“职工”、
“工资”两张表建立关系。
• 创建“女党员基本情况”查询,要求显
示所有女党员的姓名和出生年月,并按
年龄从小到大排序。
• 创建“工资发放”查询,要求显示所有
员工的“姓名”和实发工资,其中实发
工资等于(基本工资+考核工资+误餐费养老金-医保),数字格式为“固定”,
小数位数为“2”。 98