1、第第2章章 数据库及表的基本操作数据库及表的基本操作2.1 Access 2010的使用基础的使用基础2.2 创建数据库创建数据库2.3 创建数据表创建数据表2.4 表的基本操作表的基本操作2.5 表的数据操作表的数据操作2.6 建立索引和表间关系建立索引和表间关系2.1 Access 2010的使用基础的使用基础2.1.1 Access的特点的特点Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。数据库时是很好的,效率也很高。Microsoft Office Acces
2、s 2010 提供了一组功能强大的工具,可帮助用户快速开始提供了一组功能强大的工具,可帮助用户快速开始跟踪、报告和共享信息。用户可以通过自定义几个预定义模板之一、转换现有数据库或创跟踪、报告和共享信息。用户可以通过自定义几个预定义模板之一、转换现有数据库或创建新的数据库,来快速创建富有吸引力和功能性的跟踪应用程序,而且不必掌握很深厚的建新的数据库,来快速创建富有吸引力和功能性的跟踪应用程序,而且不必掌握很深厚的数据库知识即可执行此操作。通过使用数据库知识即可执行此操作。通过使用 Office Access 2010,可以轻松使数据库应用程序,可以轻松使数据库应用程序和报告适应不断变化的业务需求
3、。和报告适应不断变化的业务需求。Office Access 2010 中增强的中增强的 Microsoft Windows SharePoint Services 2010支持可帮助用户共享、管理、审核和备份数据。支持可帮助用户共享、管理、审核和备份数据。1更强大的数据共享和交换更强大的数据共享和交换2方便与方便与Office其他软件共享信息其他软件共享信息3更加便捷的程序开发环境更加便捷的程序开发环境4全新工具提供快捷操作全新工具提供快捷操作5全新的视图界面全新的视图界面6种类繁多的数据库模板种类繁多的数据库模板 7更为简化的表达式生成器更为简化的表达式生成器8将数据库扩展到将数据库扩展到W
4、eb9提供了数据集中化录入平台提供了数据集中化录入平台2.1 Access 2010的使用基础的使用基础2.1.2 Access的启动及退出的启动及退出Access 2010启动后,初始界面如图2-1所示。图2-1 Access 2010初始界面2022年7月23日星期六2.1 Access 2010的使用基础的使用基础2.1.4 Access的数据库对象的数据库对象由图由图2-5中可以看到中可以看到Access 2010中包含中包含6种种数据对象,即数据表、窗体、报表、查询、宏数据对象,即数据表、窗体、报表、查询、宏和模块。其作用如下:和模块。其作用如下:1)表)表(Table)表是数据库的
5、基本对象,是创建表是数据库的基本对象,是创建其他其他6种对象的基础。种对象的基础。2)查询)查询(Query)3)窗体)窗体(Form)窗体也称表单。窗体也称表单。4)报表)报表(Report)5)宏)宏(Macro)6)模块)模块(Module)2022年7月23日星期六2.2 创建数据库创建数据库 2.2.1 引例引例在前面一节主要介绍了在前面一节主要介绍了Access 2010数数据库的特点、启动和退出的方法、工作界据库的特点、启动和退出的方法、工作界面和帮助系统,以及面和帮助系统,以及Access 2010数据库数据库中所包含的数据对象。本节将向读者介绍中所包含的数据对象。本节将向读者
6、介绍如下内容:如下内容:创建空白数据库创建空白数据库使用向导创建数据库使用向导创建数据库数据库的基本操作数据库的基本操作2022年7月23日星期六2.2 创建数据库创建数据库2.2.2 创建空白数据库创建空白数据库在在Access中创建数据库,有两种方法:一是中创建数据库,有两种方法:一是使用模板创建,模板数据库可以原样使用,也可使用模板创建,模板数据库可以原样使用,也可以对它们进行自定义,以便更好地满足需要;二以对它们进行自定义,以便更好地满足需要;二是先建立一个空数据库,然后再添加表、窗体、是先建立一个空数据库,然后再添加表、窗体、报表等其他对象,这种方法较为灵活,但需要分报表等其他对象,
7、这种方法较为灵活,但需要分别定义每个数据库元素。无论采用哪种方法,都别定义每个数据库元素。无论采用哪种方法,都可以随时修改或扩展数据库。可以随时修改或扩展数据库。2022年7月23日星期六2.2 创建数据库创建数据库2.2.3 使用向导创建数据库使用向导创建数据库Access提供了种类繁多的模板,使用它们可提供了种类繁多的模板,使用它们可以加快数据库创建过程。模板是随时可用的数据以加快数据库创建过程。模板是随时可用的数据库,其中包含执行特定任务时所需的所有表、窗库,其中包含执行特定任务时所需的所有表、窗体和报表。通过对模板的修改,可以使其符合用体和报表。通过对模板的修改,可以使其符合用户自身的
8、需要。户自身的需要。在在Access2010中提供了多种数据库模板,用中提供了多种数据库模板,用以帮助用户快速创建符合实际需要的数据库。以帮助用户快速创建符合实际需要的数据库。Access2010中的模板包括联机模板和本地模板,中的模板包括联机模板和本地模板,这些模板中事先已经预置了符合模板主题的字段,这些模板中事先已经预置了符合模板主题的字段,用户只需稍加修改或直接输入数据即可。用户只需稍加修改或直接输入数据即可。2022年7月23日星期六2.2 创建数据库创建数据库2.2.4 数据库的基本操作数据库的基本操作 1打开数据库打开数据库ACCESS提供了多种打开方式提供了多种打开方式1)以共享
9、方式打开:选择这种方式打开数据库,即以共享模式打开数据库)以共享方式打开:选择这种方式打开数据库,即以共享模式打开数据库,允许在同一时间能够有多位用户同时读取与写入数据库。,允许在同一时间能够有多位用户同时读取与写入数据库。2)以独占方式打开:)以独占方式打开:选择这种方式打开数据库时,当有一个用户读取和选择这种方式打开数据库时,当有一个用户读取和写入数据库期间,其他用户都无法使用该数据库。写入数据库期间,其他用户都无法使用该数据库。3)以只读方式打开:选择这种方式打开数据库,只能查看而无法编辑数据)以只读方式打开:选择这种方式打开数据库,只能查看而无法编辑数据库。库。4)以独占只读方式打开:
10、如果想要以只读且独占的模式来打开数据库,则)以独占只读方式打开:如果想要以只读且独占的模式来打开数据库,则选择该选项。所谓的选择该选项。所谓的“独占只读方式独占只读方式”指在一个用户以此模式打开某一个数指在一个用户以此模式打开某一个数据库之后,其他用户将只能以只读模式打开此数据库,而并非限制其他用户据库之后,其他用户将只能以只读模式打开此数据库,而并非限制其他用户都不能打开此数据库。都不能打开此数据库。5)显示前一版本:以共享方式打开本次保存前的数据库版本。)显示前一版本:以共享方式打开本次保存前的数据库版本。2.2 创建数据库创建数据库2转换数据库格式转换数据库格式3备份数据库备份数据库2.
11、3 创建数据表创建数据表2.3.1 引例引例上一节中主要介绍了创建数据库的方法和数据库的基本操作,数据库上一节中主要介绍了创建数据库的方法和数据库的基本操作,数据库创建成功后,首要任务便是创建数据表,创建数据表主要有四种方法:创建成功后,首要任务便是创建数据表,创建数据表主要有四种方法:1。使用表模板创建。使用表模板创建 2。使用设计视图创建。使用设计视图创建 3。通过输入数据创建。通过输入数据创建 4。使用已有的数据创建表。使用已有的数据创建表2022年7月23日星期六方法一:使用模板创建方法一:使用模板创建下面以下面以“学生学生”表为例讲述数据表的建立过程。表为例讲述数据表的建立过程。在创
12、建在创建Access表时可以使用表时可以使用Access 2010内置的表模板。内置的表模板。Access 2010提供的表模板如图提供的表模板如图2-25所示。所示。2022年7月23日星期六图2-25 表模板方法二:使用设计视图创建表方法二:使用设计视图创建表表由两部分构成:表结构和表内容。表表结结构构表表内内容容表结构的组成 1字段名称每个字段应具有唯一的名字,称为字段名称。字段名称的命名规则为:(1)长度为164个字符。(2)可以包含字母、汉字、数字、空格和其他字符,但不能以空格开头。(3)不能包含句号(.)、惊叹号(!)、方括号()和重音符号()。(4)不能使用ASCII为032的A
13、SCII字符。2.数据类型:用于指定在字段中存储的数据类型。1字段数据类型Access 2010定义了12种数据类型,在表设计视图中“数据类型”单元格的下拉列表内显示了12种数据类型。分别为:1)文本类型 文本类型的字段用于输入介于 1 到 255个字符的文本。文本字段可在 1 到 255 个字符间变化。对于较大文本字段,请使用备注数据类型。2)备注 备注类型主要用于存储长度超过 255 个字符并且是格式化文本的文本块。3)数字 数字类型用于存储非货币值的数值。如果可能使用该字段中的值进行计算,请使用数字数据类型。4)日期/时间日期时间型主要用于存储基于时间的数据。5)货币货币类型主要用于存储
14、货币数据。货币字段中的数据在计算过程中不进行四舍五入。货币字段精确到小数点左边15位和右边4位。每个货币字段值需要8个字节的存储空间。6)自动编号使用自动编号字段提供唯一值,该值的唯一用途就是使每条记录成为唯一的。自动编号字段常作为主键应用,尤其是当没有合适的自然键(基于数据字段的键)可用时。自动编号字段值需要4或16个字节,具体取决于其“字段大小”属性的值。需要说明的是不应使用自动编号字段为表中的记录计数。自动编号值不会重新使用,因此删除的记录会导致计数与编号存在差异。此外,可以使用数据表中的“总计”行轻松地获取记录的准确计数。7)是/否是/否类型主要用于存储布尔值,通常用于表示真假。8)O
15、LE 对象该类型主要用于将OLE对象(例如 Microsoft Office Excel 电子表格)附加到记录中。如果需要使用 OLE(OLE:一种可用于在程序之间共享信息的程序集成技术。所有 Office 程序都支持 OLE,所以可通过链接和嵌入对象共享信息。)功能,必须使用 OLE 对象数据类型。通常应使用附件字段代替OLE对象字段。OLE对象字段支持的文件类型比附件字段更少。此外,OLE对象字段不允许将多个文件附加到一条记录中。9)超链接 该类型用于存储超链接(例如电子邮件地址或网站 URL)。10)附件 该类型使用附件字段将多个文件(例如图像)附加到记录中。11)计算 该类型用于显示根
16、据同一表中的其他数据计算而来的值。可以使用表达式生成器来创建计算,以便您可以受益于智能感知功能并轻松访问有关表达式值的帮助。值得注意的是其他表中的数据不能用作计算数据的源。计算字段不支持某些表达式。12)查阅向导查阅向导是一个比较特殊的字段类型,当用户选择“性别”字段,将其设置为查阅向导类型后,将弹出如图2-44所示的界面。在其中选择“自行键入所需的值”并单击下一步按钮,将弹出如图2-45所示界面。在其中自行键入所需的值,并单击下一步按钮,弹出如图2-46所示的界面,在其中键入标签的名称,并单击完成。2.3 创建数据表创建数据表2.3.3 使用设计视图创建表使用设计视图创建表使用模板创建表固然
17、方便快捷,但是有一定的局限性。使用设计视图创建表使用模板创建表固然方便快捷,但是有一定的局限性。使用设计视图创建表是一种十分灵活但是比较复杂的方法,需要花费较多的时间。对于较为复杂的表,是一种十分灵活但是比较复杂的方法,需要花费较多的时间。对于较为复杂的表,通常都是在设计视图中创建的。通常都是在设计视图中创建的。例例2.2 使用设计视图在使用设计视图在“教务管理教务管理”数据库中,创建数据库中,创建“学生学生”表。学生表的表。学生表的结构,如表结构,如表2-1所示。所示。2022年7月23日星期六字段名字段名字段类型字段类型长度长度主键主键学号文本13是姓名文本6性别文本2出生日期日期/时间固
18、定所在系编号文本3住址文本20邮政编码文本6联系电话文本11表2-1 学生表结构2.3 创建数据表创建数据表使用设计视图建立使用设计视图建立“学生学生”表的具体操作步骤如下:表的具体操作步骤如下:1)打开)打开“教务管理教务管理”数据库。在数据库。在“创建创建”选项卡的选项卡的“表表”选项组中,选项组中,单击单击“表设计表设计”选项。选项。2)打开表的设计视图,按照表)打开表的设计视图,按照表2-1的内容,在字段名称列中输入字段名的内容,在字段名称列中输入字段名称,在数据类型列中选择相应的数据类型,在常规属性窗格中设置称,在数据类型列中选择相应的数据类型,在常规属性窗格中设置字段大小,如图字段
19、大小,如图2-28所示。所示。3)把光标放在)把光标放在“学号学号”字段选定位置上,单击鼠标右键,弹出如图字段选定位置上,单击鼠标右键,弹出如图2-29所示的快捷菜单中,单击所示的快捷菜单中,单击“主键主键”按钮,或者在按钮,或者在“设计设计”选项卡选项卡中,单击中,单击“主键主键”选项。设置完成后,在选项。设置完成后,在“学号学号”的字段选定器上的字段选定器上出现钥匙图形,表示该字段被设置为主键。出现钥匙图形,表示该字段被设置为主键。4)单击)单击“保存保存”按钮,以按钮,以“学生学生”为名称保存表。为名称保存表。2022年7月23日星期六2.3 创建数据表创建数据表2022年7月23日星期
20、六图2-28 学生表设计视图2.3 创建数据表创建数据表2022年7月23日星期六图2-29 属性快捷键 字段属性:决定了如何存储和显示字段中的数据表3.2 常规属性选项卡属 性作 用字段大小设置文本、数据和自动编号类型的字段中数据的范围,可设置的最大字符数为255格式控制显示和打印数据格式,选项预定义格式或输入自定义格式小数位数指定数据的小数位数,默认值是“自动”,范围是015输入法模式确定当焦点移至该字段时,准备设置的输入法模式输入掩码用于指导和规范用户输入数据的格式标题在各种视图中,可以通过对象的标题向用户提供帮助信息默认值指定数据的默认值,自动编号和OLE数据类型无此项属性有效性规则一
21、个表达式,用户输入的数据必须满足该表达式有效性文本当输入的数据不符合有效性规则时,要显示的提示性信息必填字段该属性决定是否出现Null值允许空字符串决定文本和备注字段是否可以等于零长度字符串()索引决定是否建立索引及索引的类型Unicode压缩指定是否允许对该字段进行Unicode压缩表3.5 输入掩码属性所使用字符的含义字符说 明0必须输入数字(09)9可以选择输入数字或空格#可以选择输入数据或空格(在“编辑”模式下空格以空白显示,但是在保存数据时将空白删除,允许输入加号和减号)L必须输入字母(AZ)?可以选择输入字母(AZ)A必须输入字母或数字a可以选择输入字母或数字&必须输入一个任意的字
22、符或一个空格C可以选择输入一个任意的字符或一个空格.:;-/小数点占位符及千位、日期与时间的分隔符(实际的字符将根据“Windows控制面板”中“区域设置属性”的设置而定)将所有字符转换为大写!使输入掩码从右到左显示,而不是从左到右显示。输入掩码中的字符始终是从左到右填入。可以在输入掩码中的任何地方输入!使接下来的字符以原义字符显示(例如,A只显示A)例1 新建一个数据库名为test1,建立一张学生表,结构如下:要求:1.学号的第一位必须是字母,后面几位必须是数字。2.姓名在格式设置中实现当输入名字后自动添加“同学”两个字3.性别只能在“男女”这两个选项中选择4.出生日期的有效性为“1991年
23、1月1日以后”,有效性文本为“日期超出范围”5.设置学号为主键6.修改主键,将姓名+性别+民族设置为主键用户如果不习惯使用模板和表设计视图进行表设计,也可通过直接在表中输入数据的方法创建数据表。方法三:方法三:通过输入数据创建表通过输入数据创建表方法四:方法四:使用已有的数据创建表使用已有的数据创建表可以通过导入来自其他位置存储的信息来创建表。例如,可以导入来自Excel工作表、SharePoint列表、XML文件、其他Access数据库、Outlook 2010文件夹以及其他数据源中存储的信息。2.3.6 表记录的输入和编辑表记录的输入和编辑1数据输入数据输入用户创建完数据表后,用户可以直接
24、输入数据,数据输入完成后的界面如图用户创建完数据表后,用户可以直接输入数据,数据输入完成后的界面如图2-39示。示。图2-39 数据输入完成 需要注意的是,由于学号字段是需要注意的是,由于学号字段是“学生学生”表的主键,所以在输入过程中能表的主键,所以在输入过程中能“学学号号”字段的值不能相同,同时该字段也不能为空。字段的值不能相同,同时该字段也不能为空。表的修改一、表结构的修改(设计视图)字段名,字段类型,长度,规则等二、表记录的修改数据的移动和复制记录的移动、插入和删除2.4 表的基本操作表的基本操作在上一节中主要介绍了表的常用创建方法、在上一节中主要介绍了表的常用创建方法、字段属性的设置
25、、主关键字的设置,以及字段属性的设置、主关键字的设置,以及表结构修改的方法,主要介绍如下内容:表结构修改的方法,主要介绍如下内容:表的外观定制表的外观定制表的复制、删除和重命名表的复制、删除和重命名数据的导入和导出数据的导入和导出2022年7月23日星期六2.5 表的数据操作表的数据操作上一节中主要介绍了表外观的定制、表的复制、上一节中主要介绍了表外观的定制、表的复制、删除和重命名,以及数据的导人和导出等与表相删除和重命名,以及数据的导人和导出等与表相关的操作,本届将主要介绍与表中数据相关的操关的操作,本届将主要介绍与表中数据相关的操作,具体内容包括:作,具体内容包括:数据的查找与替换数据的查
26、找与替换定位记录定位记录记录排序记录排序记录筛选记录筛选a.一般筛选一般筛选 (单字段,多字段)(单字段,多字段)b.高级筛选高级筛选2022年7月23日星期六2.6 建立索引和表间关系建立索引和表间关系2.6.1 引例引例上一节中讲述了表数据的相关操作,包括数据的上一节中讲述了表数据的相关操作,包括数据的查找与替换、记录的定位、记录排序和记录筛选查找与替换、记录的定位、记录排序和记录筛选等操作,本节介绍的主要内容包括:等操作,本节介绍的主要内容包括:索引的建立索引的建立 建立、编辑和删除表之间的关系建立、编辑和删除表之间的关系 主表与子表主表与子表2022年7月23日星期六2.6 建立索引和
27、表间关系建立索引和表间关系2.6.2 索引索引索引就像一本书的目录一样,可以帮助索引就像一本书的目录一样,可以帮助 Microsoft Office Access 2010 更快速地查找和更快速地查找和排序记录。排序记录。表中的主键是由系统自动创建索引的。表中的主键是由系统自动创建索引的。无法为数据类型为无法为数据类型为 OLE 对象或附件的字段创对象或附件的字段创建索引。建索引。2022年7月23日星期六2.6 建立索引和表间关系建立索引和表间关系对于其他字段,如果满足以下所有条件,则考虑为字段创建索引:对于其他字段,如果满足以下所有条件,则考虑为字段创建索引:1)字段的数据类型是文本、备注
28、、数字、日期)字段的数据类型是文本、备注、数字、日期/时间、自动编号、货币、计时间、自动编号、货币、计算、是算、是/否或超链接。否或超链接。2)预期会搜索存储在字段中的值。)预期会搜索存储在字段中的值。3)预期会对字段中的值进行排序。)预期会对字段中的值进行排序。4)预期会在字段中存储许多不同的值。如果字段中的许多值都是相同的,)预期会在字段中存储许多不同的值。如果字段中的许多值都是相同的,则索引可能无法显著加快查询速度。则索引可能无法显著加快查询速度。如果用户觉得自己将经常同时依据两个或更多个字段进行搜索或排序,如果用户觉得自己将经常同时依据两个或更多个字段进行搜索或排序,则可以为该字段组合
29、创建索引。例如,如果经常在同一个查询中为则可以为该字段组合创建索引。例如,如果经常在同一个查询中为“课程编课程编号号”和和“授课教师授课教师”字段设置条件,则在这两个字段上创建多字段索引就很字段设置条件,则在这两个字段上创建多字段索引就很有意义。有意义。2022年7月23日星期六2.6 建立索引和表间关系建立索引和表间关系2创建索引创建索引 1)创建单字段索引)创建单字段索引 2)创建多字段索引)创建多字段索引 表表2-7 索引属性设置索引属性设置“索引索引”属性的设置属性的设置含义含义无不在此字段上创建索引(或删除现有索引)有(有重复)在此字段上创建索引有(无重复)在此字段上创建唯一索引索引
30、类型:1.主索引2.唯一索引3.普通索引3删除索引删除索引如果发现某个索引已变得多余或对性能如果发现某个索引已变得多余或对性能的影响太大,则可以删除它。删除索引时的影响太大,则可以删除它。删除索引时,只会删除索引而不会删除建立索引时所,只会删除索引而不会删除建立索引时所依据的字段。依据的字段。2.6 建立索引和表间关系建立索引和表间关系2.6.3 建立、编辑和删除表间关系建立、编辑和删除表间关系两表建立关系前提:两表建立关系前提:必须有相同或相关字段必须有相同或相关字段1.建立表间关系建立表间关系A.两表建立关系两表建立关系B.三表建立关系三表建立关系2.编辑表间关系编辑表间关系3.删除表间关
31、系删除表间关系4.参照完整性说明参照完整性说明2.6 建立索引和表间关系建立索引和表间关系2.6.3 主表和子表主表和子表 1主表和子表概述主表和子表概述如果两个表具有一个或多个公共字段,则可以在一个表中嵌入如果两个表具有一个或多个公共字段,则可以在一个表中嵌入另一个表的数据。这种嵌入的数据表就称为子数据表。包含该子数另一个表的数据。这种嵌入的数据表就称为子数据表。包含该子数据表的表成为主表。如果要查看或编辑表或据表的表成为主表。如果要查看或编辑表或查询查询(查询:有关表中(查询:有关表中所存储的数据的问题,或要对数据执行操作的请求。查询可以将多所存储的数据的问题,或要对数据执行操作的请求。查
32、询可以将多个表中的数据放在一起,以作为窗体或报表的数据源。)个表中的数据放在一起,以作为窗体或报表的数据源。)中的相关中的相关数据或数据或联接联接(联接:表格或查询中的字段与另一表格或查询中具有(联接:表格或查询中的字段与另一表格或查询中具有同一数据类型的字段之间的关联。联接向程序说明了数据之间的关同一数据类型的字段之间的关联。联接向程序说明了数据之间的关联方式。根据联接的类型,不匹配的记录可能被包括在内,也可能联方式。根据联接的类型,不匹配的记录可能被包括在内,也可能被排除在外。)被排除在外。)数据,子数据表便十分有用。数据,子数据表便十分有用。如果要在单个数据表视图中查看多个数据源中的信息,就需要如果要在单个数据表视图中查看多个数据源中的信息,就需要用到子数据表。用到子数据表。2.6 建立索引和表间关系建立索引和表间关系在在“教务管理教务管理”数据库,数据库,“学生学生”表与表与“成绩成绩”表存在表存在一对多关系一对多关系(一对多关系:两个表之间的一种关系,在这种关系中主表中每条记录的(一对多关系:两个表之间的一种关系,在这种关系中主表中每条记录的主键值都与相关表中多条记录的匹配字段(一个或多个)中的值对应。)主键值都与相关表中多条记录的匹配字段(一个或多个)中的值对应。)。如图。如图2-89所示。所示。图2-89 学生表与成绩表关系