119
Access Access 数数数数数数数数 数数数数数数数数 数数数数数数数数数 数数数数数数数数数 数数数数 数数 数数数数 数数

Access 数据库与程序设计

Embed Size (px)

DESCRIPTION

Access 数据库与程序设计. 四川大学计算机学院 主讲教师 曾新. 《Access 实验教程 》. 第三章 Access 2003 实验. 实验一 数据库名: “ XXX 学籍管理 ” 完成日期: 3 月 31 日. 《Access 实验教程 》. 第三章 Access 2003 实验. 实验二 数据库名: “ XXX 学籍管理 ” 完成日期: 3 月 31 日. 第 3 章 Access 数据表的建立与操作. 表的建立与修改 表的基本操作 表的排序与筛选 表的索引与表间的关系. Access 数据库文件. 表 查询 窗体 - PowerPoint PPT Presentation

Citation preview

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--“ 成绩表”成绩表” ““ 学号”字段中的数值修改得与“学生学号”字段中的数值修改得与“学生

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

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