Transcript
Page 1: Access  数据库与程序设计

Access Access 数据库与程序设计数据库与程序设计

四川大学计算机学院四川大学计算机学院主讲教师 曾新主讲教师 曾新

Page 2: Access  数据库与程序设计

第三章 第三章 Access 2003Access 2003 实验实验

《 Access 实验教程》

1.实验一2.数据库名:“ XXX 学籍管理”3.完成日期: 3月 31 日

Page 3: Access  数据库与程序设计

第三章 第三章 Access 2003Access 2003 实验实验

《 Access 实验教程》

1.实验二2.数据库名:“ XXX 学籍管理”3.完成日期: 3月 31 日

Page 4: Access  数据库与程序设计

第 3章 Access 数据表的建立与操作

表的建立与修改 表的基本操作 表的排序与筛选 表的索引与表间的关系

Page 5: Access  数据库与程序设计

Access 数据库文件

表查询窗体报表页宏模块

对象 在 Access 数据库管理系统中,一个数据库应用系统的所有相关信息都存储在一个数据库文件中。

数据库文件被存储在指定的存储路径下,文件扩展名为 .mdb 。

数据库

Page 6: Access  数据库与程序设计

3.1  表的建立与修改 表结构的设计 使用设计器创建表 使用向导创建表 通过输入数据创建表 表结构的修改 表记录的输入与修改

Page 7: Access  数据库与程序设计

3.1  表的建立与修改表由表的结构(表头)和表中数据(记录)两部分组成,表的结构包

括表中字段的名字、字段的类型、字段的属性等,表中数据是指表中的记录部分。

表结构的设计 确定表的名字; 表中的字段数; 字段名字; 字段类型 字段长度等字段的属性; 定义主关键字段

Page 8: Access  数据库与程序设计

字段的类型与属性字段的类型与属性

文本型:默认为 50个字符,最长 255 个字符 (字母、汉字 ) 数字型: 0-9 、小数点、正负号。 (1、 2、 4、 8个字节 ) 货币型: 15位整, 4位小数。( 8 个字节) 日期 /时间型:表示日期和时间( 8个字节) 是 /否型:逻辑数据( 1字节) 自动编号型:系统对每个新记录的编号,每次加 1( 4或 16 字节) OLE 对象:用于链接和嵌入其它应用程序创建的对象 备注型:存放较长的文本数据。(最大 64000 个字符)

表的操作

Page 9: Access  数据库与程序设计

数字型字段大小属性 整数( 2字节) 长整型( 4字节) 单精度( 4字节)

小数 7位 双精度( 8字节)

小数 15位 小数( 12 字节)

小数 28位

Page 10: Access  数据库与程序设计

表结构的设计 【例 3-1 】为学生信息表(表 1-1 )和学生成绩表(表 1-2 )定义表的结构。

表结构定义: 表的名字:学生信息表 表中的字段数: 9 个 表中的主关键字:学号

表 3-1 学生信息表结构字段名 字段类型 字段长度 字段小数位

学号 文本 10字节姓名 文本 8字节性别 文本 2字节出生日期 日期 /时间 默认值 8字节院系名称 文本 12字节入学总分 数字 长整型 自动奖学金 是 /否 默认值 1字节简历 备注 --

照片 OLE对象 --

Page 11: Access  数据库与程序设计

表结构的设计 学生成绩表结构

表的名字:学生成绩表 表中的字段数: 4个 表中的主关键字:无

表 3-2 学生成绩表结构

字段名 字段类型 字段长度 字段小数位

学号 文本 10字节课程号 文本 6字节课序号 文本 2字节成绩 数字 长整型

Page 12: Access  数据库与程序设计

表结构的设计 课程信息表结构

表的名字:课程信息表 表中的字段数: 5个 表中的主关键字:无

课程信息表结构

字段名 字段类型 字段长度 字段小数位

课程号 文本 6字节课程名 文本 20字节开课院系 文本 12字节学分 数字 整型学时 数字 整型

Page 13: Access  数据库与程序设计

表的操作

创建表编辑表排序表

Page 14: Access  数据库与程序设计

创建表的三种方法

使用设计器创建表 使用向导创建表 通过输入数据创建表

双击各项

Page 15: Access  数据库与程序设计

表的建立与操作

1. 使用设计器创建表 【例 3-2 】使用“表设计器创建“学生信息表”。

建立表

Page 16: Access  数据库与程序设计

双击

Page 17: Access  数据库与程序设计

表设计视图表设计视图

Page 18: Access  数据库与程序设计

字段属性设置 字段大小

字段取的最大长度(文本 /数字) 格式

数据的打印和显示方式 (输出 ) 输入掩码(实践 P115 )

一致的输入格式,防止输入错误 默认值

事先设置好的值(对取相同值时的设置) 有效性规则

限定字段的取值范围,防止非法数据进入 有效性文本

一段文字,当有违反有效性规则时系统提示出错。

Page 19: Access  数据库与程序设计

字段属性设置

性别的有效性设置

如果是全女生或女生占多数

Page 20: Access  数据库与程序设计

字段属性设置 必填字段

决定本字段是否允许为“空”。即 NULL 值 Unicode 压缩

本字段中的数据可否显示或存储多种语言 输入法模式

当得到焦点时,输入法如何工作

Page 21: Access  数据库与程序设计

表 2.3常用的输入掩码定义符及说明

字符说明

0 数字( 0 到 9 ,必选项;不允许使用加号 [+] 和减号 [-] )9 数字或空格(非必选项;不允许使用加号和减号)# 数字或空格(非必选项;空白将转换为空格,允许使用加号和减号)L 字母( A 到 Z ,必选项)? 字母( A 到 Z ,可选项)A 字母或数字(必选项)a 字母或数字(可选项)& 任一字符或空格(必选项)C 任一字符或空格(可选项). , : ; - / 十进制占位符和千位、日期和时间分隔符。(实际使用的字符取决于 Microsoft Wind

ows 控制面板中指定的区域设置。)< 使其后所有的字符转换为小写> 使其后所有的字符转换为大写! 使输入掩码从右到左显示,而不是从左到右显示。键入掩码中的字符始终都是从左到

右填入。可以在输入掩码中的任何地方包括感叹号\ 使其后的字符显示为原义字符。可用于将该表中的任何字符显示为原义字符(例如,

\A 显示为 A )密码 “ ” “ ”将 输入掩码 属性设置为 密码 ,以创建密码项文本框。文本框中键入的任何字符都

按字面字符保存,但显示为星号( * )

Page 22: Access  数据库与程序设计

强制输入的格式

Page 23: Access  数据库与程序设计

输入掩码

Page 24: Access  数据库与程序设计
Page 25: Access  数据库与程序设计

使用设计器创建表结构 (续 )

保存表结构

Page 26: Access  数据库与程序设计

使用设计器创建表 (续 )

打开表在数据视图中输入数据

Page 27: Access  数据库与程序设计

创建表的三种方法

使用设计器创建表 使用向导创建表 通过输入数据创建表

双击

Page 28: Access  数据库与程序设计

2. 使用表向导创建表

1

2

Page 29: Access  数据库与程序设计

使用表向导创建表 (续 )

3 选择字段并重命名字段

指定表名确定主键

4

Page 30: Access  数据库与程序设计

5

Page 31: Access  数据库与程序设计

使用表向导创建表 (续 )

与数据库中的其它表建立关系

5

Page 32: Access  数据库与程序设计

使用表向导创建表(续 )

6

输入数据

Page 33: Access  数据库与程序设计

表的建立与操作3 .通过输入数据创建表 【例 3-3 】“通过输入数据创建表”的方法创建表。

双击

Page 34: Access  数据库与程序设计

通过输入数据创建表

修改字段名、输入数据

对着字段单击右键,修改有关字段的相关内容。

修改字段名、直接输入数据

Page 35: Access  数据库与程序设计

表的建立与修改 表结构的修改

Page 36: Access  数据库与程序设计

表结构的修改 1 .删除字段 2 .插入字段 3 .移动字段 4 .修改字段名称和类型

表的建立与修改

Page 37: Access  数据库与程序设计

表结构的修改

Page 38: Access  数据库与程序设计

表的建立与修改 表记录的输入与修改

Page 39: Access  数据库与程序设计

表记录的输入与修改 1 .向表中加入数据 2 .修改表中的数据 3 、用下拉列表框赋值 4 .删除记录

表的建立与修改

Page 40: Access  数据库与程序设计

表记录的输入与修改

Page 41: Access  数据库与程序设计

用下拉列表框赋值

Page 42: Access  数据库与程序设计

表记录的输入与修改

Page 43: Access  数据库与程序设计

备注字

OLE

Page 44: Access  数据库与程序设计

备注与 OLE 对象型数据的输入方法

直接输

Page 45: Access  数据库与程序设计

备注与 OLE 对象型数据的输入方法

Page 46: Access  数据库与程序设计

3.2  表的基本操作

表的外观设计 表中数据的复制 表中数据的查找与替换 表中记录的定位 表记录的添加与删除

Page 47: Access  数据库与程序设计

表的外观设计

Page 48: Access  数据库与程序设计

设置数据的显示效果

Page 49: Access  数据库与程序设计

设置数据表格式

Page 50: Access  数据库与程序设计
Page 51: Access  数据库与程序设计

表的基本操作 表中数据的复制 表中数据的查找与替换 表记录的删除 表中记录的定位

Page 52: Access  数据库与程序设计

表的基本操作 表中记录的定位

Page 53: Access  数据库与程序设计

表的基本操作 表中数据的添加

在新的空记录中输入记录数据

注:在 Access 中,新记录的被添加到表的末尾。

Page 54: Access  数据库与程序设计

表的基本操作 数据表的复制

同一数据库中复制 Ctrl + 表名

Page 55: Access  数据库与程序设计

表的基本操作 数据表的复制

在不数据库中复制 打开库 1 ,复制,关库 1打开库 2 ,粘贴,

Page 56: Access  数据库与程序设计

表的基本操作 表中数据的导入

另一个数据库中的表 Excel 中的工作表 TXT 文本 DBF 表文件 HTML 文档

Page 57: Access  数据库与程序设计

表的基本操作 表中数据的导入与导出

Page 58: Access  数据库与程序设计

导入

Page 59: Access  数据库与程序设计
Page 60: Access  数据库与程序设计
Page 61: Access  数据库与程序设计

表的基本操作 表中数据的导出

Page 62: Access  数据库与程序设计

表的基本操作 表的排序与筛选 表的排序 按表中的一个字段或多个字段的值对表中记录进行重

新排列,记录可以按字段值的大小升序排列或降序排列。

规则: 文本: ASCII码 数字型 :数值的大小 日期 /时间型 :按日期先后 是 /否型 :复选框的内容分类 备注型、超级链接和 OLE 对象型数据不能排序

Page 63: Access  数据库与程序设计

表数据的排序、查找与筛选 【例 3-4 】对“学生信息表”按入学总分从高到低排列。

菜单

右键快捷菜单

选中字段

Page 64: Access  数据库与程序设计

【例 3-5 】对“学生信息表”按“性别”和“入学总分”从高到低排列。

拖到相邻位置

选中

Page 65: Access  数据库与程序设计

【例 3-6 】对“学生信息表”按“性别”升序和“入学总分”降序排列

1

2

3

Page 66: Access  数据库与程序设计

保存与取消

Page 67: Access  数据库与程序设计

表的排序与筛选

表的筛选 按选定内容筛选 按内容排除筛选 高级筛选(按条件筛选) 取消筛选

Page 68: Access  数据库与程序设计

表数据的筛选 【例 3-7 】对“学生信息”表,筛选出 1988 年出生的学生记

录。

选中要筛选的内容

Page 69: Access  数据库与程序设计

按选定内容筛选

Page 70: Access  数据库与程序设计

表数据的筛选 【例 3-8 】对“学生信息表”,筛选出非 1988 年出生的学生

记录。

选中要排除的内容

Page 71: Access  数据库与程序设计

表数据的筛选 【例 3-9 】对“学生信息表”,筛选出“电子信息学院”的女

生。

Page 72: Access  数据库与程序设计
Page 73: Access  数据库与程序设计
Page 74: Access  数据库与程序设计

表数据的筛选 取消筛选

Page 75: Access  数据库与程序设计

表数据的排序、查找与筛选 【例 3-10 】查找姓名为“宋平”的学生。

Page 76: Access  数据库与程序设计

3.4  表的索引与表间的关系 表的索引 (Index) 是按表中某些字段值的

大小重新排列表中记录的顺序,是数据表的一种逻辑排序方法。索引不改变原数据表中记录的顺序。

按表中的某个字段或某几个字段的组合进行索引后,可提高查询的效率。

可以按单字段或多字段索引 。

Page 77: Access  数据库与程序设计

表的索引

表的“物理顺序” :占用更多的空间,花更多的时间。

表中数据进行排序的另一种方法:索引。

例:书中的索引是在书的前面有一份页码的列表,指向有关书中内容所在的页号。表索引是一个记录号的列表,指向待处理的记录,并确定了记录的处理顺序。

Page 78: Access  数据库与程序设计

书的索引目录

绪论……… ..1第一章…… ..4 1.1………..6 1.2……….10 1.3……….20第二章…… .21 2.1………22 2.2………25第三章…… 26 .

绪论1

第一章4

第三章26

第二章21

读者通过书的目录找到书中的相关章节

Page 79: Access  数据库与程序设计

如何理解索引 ? 索引并不改变表中所存储数据的顺序,它只改变了 Acc

ess 读取每条记录的顺序。可以把索引理解为一个文件记录的查找目录,根据索引指定的位置,可以在原文件中很容易地查找到需要的记录。

Page 80: Access  数据库与程序设计

表的索引王红

1

陈大明4

阿芳26

李丽21

用户通过索引快速地在原表中找到相对应的记录

记录号 索引关键字段阿芳陈大明

李丽

26

4

21

王红1

Page 81: Access  数据库与程序设计

3.4  表的索引与表间的关系 表的索引 索引有两种,一种是单字段索引,另一种是多字段索引,将两个或两个以上(最多十个)的字段作为索引字段。使用多字段索引排序时, Access首先按索引中的第一个字段排序,若第一个字段的值相同,再使用第二个字段排序,以此类推。

Page 82: Access  数据库与程序设计

3.4  表的索引与表间的关系 表的索引 索引类型 主索引

主键-能够唯一确定每个记录的字段或几个字段 索引字段值不能重复 一个表中只能有一个 (如果设了学号为主索引,其它的就不能再设了 )

唯一索引 索引字段值不能重复 一个表中可能有多个 (如果设了学号为唯一索引,其它的还可以再

设。比如身份证号 )

普通索引 索引字段值可以重复(性别、姓名、以及其它的)

Page 83: Access  数据库与程序设计

表的索引与表间的关系 定义主关键字 主关键字: Access 系统为了使查询、窗体和报表能快速地查找并组合保

存在各个不同表中的信息(即建立表间的关联),要求每一个表中应该包含一个或一组字段用来惟一标识每一条记录,这样的字段被称之为主关键字段。系统为了确保惟一性,将不允许任何重复值或 Null(空)值进入主关键字段中。如果用户没有设置主键,系统自动将为表建立默认主关键字,该主键的字段名为“ ID”,类型为“自动编号”,并将它加到表的开始处,系统为每条记录在这个字段上赋一个惟一的值。

Page 84: Access  数据库与程序设计

表的索引与表间的关系 建立主关键字(在表的“设计视图”窗口

中) 选择要建的主键字段,然后选择“编辑”->“主键”。 选择要建的主键字段,然后单击工具栏上的“主键”按钮(上有钥匙形图标)。

在保存表而没有建立主键时,系统提示用户该表没有建立主关键字,是否需要创建主键,当选择“是”时,系统自动给该表建立一个“自动编号”字段。

Page 85: Access  数据库与程序设计

在表设计器中打开“学生情况”

选中要设置的字段

Page 86: Access  数据库与程序设计

主键

右键快捷菜单

Page 87: Access  数据库与程序设计

在表“设计视图”中建立索引 【例 3-11 】将“学生信息表”按性别索引。

Page 88: Access  数据库与程序设计

在“索引”窗口中建立索引

打开表“设计视图”

“ 索引”窗口可自定义索引名

Page 89: Access  数据库与程序设计

在“索引”窗口中建立索引 创建多字段索引【例 3-12 】将“学生信息表”按“性别”和“入学成绩”索引。

(当性别相同时,按入学成绩排。)

选中旁边可以删除选中旁边可以删除

Page 90: Access  数据库与程序设计

在“索引”窗口中建立索引 多字段索引结果

Page 91: Access  数据库与程序设计

表的索引与表间的关系

数据库中有多个表,这些表之间有联系,一个表中的某个字段与另一个表或几个表中的字段存在对应关系。建立这种关系的操作称为“连接”。 建立数据库中的表间关联,一是要保障建立关系的表具有相同的字段,相同的字段,二是每个表要以该字段建立索引建立索引。其中一个表中的字段与另一表中的同名字段建立关联,两个表就具有了一定的关系。

Page 92: Access  数据库与程序设计

一对一•一对多•多对一

父表 子表控制

公共字段

表与表之间的关系

Page 93: Access  数据库与程序设计

按相同的关键字值建立关系

一对一关系

Page 94: Access  数据库与程序设计

在一对多的关系中 , 父表中的一条记录 ,在子表中有多条记录与之应。

父表父表 ((主键主键 ))

子表(外键)子表(外键)

一对多关系(多对一)

Page 95: Access  数据库与程序设计

建立表间的关系

确定两表的关联字段

定义父表中的该字段为主键或有索引 一对一 ,一对多 :无重复

多对一 :有重复

定义子表中与其关联的字段为主键或有索引 一对一 ,多对一 :无重复

一对多 :有重复(外键)

最后确定两个表具有“一对一”、“一对多”或“多对一”的关系

一表中的主键在多表中称为外键

表的索引与表间的关系

Page 96: Access  数据库与程序设计

• 表 A 中无 6 记录• 表 B 中无 4 、 5 记录• A 与 B 是一对多关系

只包含两表中相等的行

Page 97: Access  数据库与程序设计

包含 A 中所有的行和与 B中相等的记录

包含 B 中所有的行和与 A中相等的记录

Page 98: Access  数据库与程序设计

表的索引与表间的关系

【例 3-13 】以“学号”字段作为关联字段,将“学生信息表” (主表或父表 )与“学生成绩表” (子表 )建立关系。

一对多关系

Page 99: Access  数据库与程序设计

表 的 关 系 在主表“学生信息表”中按学号建立主索引

Page 100: Access  数据库与程序设计

打开关系窗口

关系窗口添加关系表

Page 101: Access  数据库与程序设计

添加关系表

Page 102: Access  数据库与程序设计

表 的 关 系 将“学生信息表”的“学号”字段拖放到“学生成绩表”中的相同字段“学号”上建立关系。

实施参照完整性,以保证相关数据的的变化完整性

Page 103: Access  数据库与程序设计

保存关系

“学生信息表”与“学生成绩表”建立了一对多的关系展开可以看到相关的表记录

Page 104: Access  数据库与程序设计
Page 105: Access  数据库与程序设计

表 的 关 系 三张表建立关系

Page 106: Access  数据库与程序设计
Page 107: Access  数据库与程序设计

表 的 关 系 如果不想显示子表的信息,可以选择“格式”→“子数

据表”→“删除”菜单项,从而切断主表与子表的相关显示,但表的关系依然存在。

Page 108: Access  数据库与程序设计

表 的 关 系 表关系的修改 1 .修改关系

双击关系

Page 109: Access  数据库与程序设计

表 的 关 系 2 .删除关系

右键单击关系连线

Page 110: Access  数据库与程序设计

建立关系基本操作步骤小结

11 、为数据库中要建立关联的两张表分别建立索、为数据库中要建立关联的两张表分别建立索引引

11

Page 111: Access  数据库与程序设计

建立关系基本操作步骤小结

22 、在数据库窗口打开、在数据库窗口打开 [[工具工具 ]]菜单—选择菜单—选择 [[ 关系关系 ]]

22

Page 112: Access  数据库与程序设计

建立关系基本操作步骤小结

33 、在、在 [[显示表显示表 ]]窗口将要建立关系的表添加到窗口将要建立关系的表添加到 [[ 关系窗口关系窗口 ]]中中

33

Page 113: Access  数据库与程序设计

建立关系基本操作步骤小结

44 、在、在 [[ 关系窗口关系窗口 ]]中,将一个表的相关字段拖到另一中,将一个表的相关字段拖到另一个个 表的相关字段的位置,这时会弹出表的相关字段的位置,这时会弹出 [[ 编辑关系编辑关系 ]]窗口窗口

44

Page 114: Access  数据库与程序设计

建立关系基本操作步骤小结

55 、在、在 [[ 编辑关系编辑关系 ]]窗口选择“实施参照完整性”—单击窗口选择“实施参照完整性”—单击[[ 创建创建 ]]

66 、关闭、关闭 [[ 关系关系 ]] 窗口窗口 保存数据库保存数据库55

Page 115: Access  数据库与程序设计

数据完整性规则 实体完整性规则

一个表的主键不能取重复值,也不能取空值 参照完整性规则

“ 多”表中的外键值 (与“一”表对应的字段值 )或者为空或者是“一”表中主键的有效值,外键值可以重复。

域完整性规则 将某些字段的值限制在合理的范围内,对超出范围

的值给予报警。

Page 116: Access  数据库与程序设计

本 章 小 结

在这一章里,我们用 Access 构建了一个简单的数据库,设计了数据库中的表,在这过程中,依次学习了用表向导、表设计器和直接输入数据创建数据表,简单介绍了导入数据创建表。让读者初步掌握 Access 中各种工具的使用,初步了解表和表之间的关系、子数据表、索引等知识。读者可以用本章介绍的方法重新设计一个实用的数据库,仔细体会其中的每个环节,熟悉 Access提供的各种工具,以利于进一步的学习。

Page 117: Access  数据库与程序设计

第三章 第三章 Access 2003Access 2003 实验实验

《 Access 实验教程》

1.实验一2.数据库名:“ XXX 学籍管理”3.完成日期: 3月 27 日

Page 118: Access  数据库与程序设计

第三章 第三章 Access 2003Access 2003 实验实验

《 Access 实验教程》

1.实验二2.数据库名:“ XXX 学籍管理”3.完成日期: 3月 27 日

Page 119: Access  数据库与程序设计

《 Access实验教程》表问题 第三章 第三章 Access 2003Access 2003实验实验 P204--“P204--“ 成绩表”成绩表” ““ 学号”字段中的数值修改得与“学生学号”字段中的数值修改得与“学生

信息”表中的学号一样信息”表中的学号一样 ““ 课程号”字段中的数值与“课程”表课程号”字段中的数值与“课程”表

中的课程号一样中的课程号一样 注意参照完整性注意参照完整性


Recommended