第3章 建立数据表_第1页
第3章 建立数据表_第2页
第3章 建立数据表_第3页
第3章 建立数据表_第4页
第3章 建立数据表_第5页
已阅读5页,还剩149页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章建立数据表关系数据库里的数据信息可以看成是基于关系模型设计出来的一些相互关联的简单二维数据表的集合,二维数据表在这里简称表。数据库可以比喻为零配件仓库,表可以比喻为仓库里的货架,具体的数据可比喻为货架上放的具体各种零配件。表是整个关系数据库的基础,是数据库中其它对象操作的数据源,建设Access2003数据库的过程就象先建好一个零配件仓库,然后将设计好的货架搬进去,最后将零配件搬到各自对应的货架中去,针对数据表的主要内容如下:1、创建空数据库(或按模版建一原始数据库)。2、创建表放入数据库。3、建立相互之间有关系的表的关联。4、在各个表中放入数据5、表中数据的各种处理方法。6、以表为数据源设计、创建数据库中的其它对象。(Access2003中包括表在内共有7种对象)。3.1表的组成与创建Access2003的主要数据均存放在表中,一般衡量表的质量会涉及到数据冗余度、共享性和完整性。由于数据库中存放的数据是有限的,Access2003对于在其中建立的表有一些规定。如图3.1对表的限定。

3.1.1表的组成Access2003的表是一种简单的二维表,纵向的列表示事物的各种属性,其中的数据又称为字段,横向的行以数据记录形式列出表中某一完整的事物数据,横向数据称为元组,如图3.2是一个反映教师信息的数据表。教师编号姓名性别工作时间系别职称电话NJ13010001蒋正红男198001计算机科学与技术教J13010002李峰男199808计算机科学与技术副教J13010003李雷男200508计算机科学与技术讲J13010004张红女198308计算机科学与技术教J13010005洪叙航男198712电子系教J13010006张剑锋男199801计算机科学与技术副教J13010007黄凤琴女199004商学院教J13010008魏平女200102计算机科学与技术副教J13010009王海男199201物理系教J13010010瑞智宁男200201电子系副教/p>

表和其中的属性(字段)都有自己的名称,所起名称要符合字段代表的含义。对于每一个字段在创建表时还要规定其类型、长度,以便适合于放置相应的数据,又称为确定表的结构。在确定表的结构时,还需要考虑到表中各字段的约束条件、表的索引以及与其它表之间的关联问题。

1、约束条件。是对相关的数据所做的约定,以保证数据的一致性。2、索引。数据库中的索引类似书中的目录,建立了索引后,在对表中数据进行查找时,无需每次都从头至尾逐个查找表中的数据。3、关联。数据库中存放的是某一应用领域反映客观实体及相互关系的数据,即由一系列表构成,如果要反映两个表之间有相互联系,就要通过建立关联表来关联(表示)那两个表的关系。

3.1.2Access2003中的数据类型所谓设计表的结构,就是规定表中各列(字段)的名称和数据类型,之后表中数据的存储与使用方式就被确定下来,直到被修改为止。

Access2003提供了11种数据类型,既有系统提供的标准数据类型,也有给用户自己定义的数据类型,下图是相关的数据类型说明。3.1.3创建表表设计好后,要放入数据库中,称为创建表,Access2003提供了以下五种创建表的方法。1、数据表视图。此时打开的是一个空数据表,用户直接在表格的各字段栏目处输入字段名称来创建表,这种方法比较容易,但无法对每一个字段的数据类型和属性进行具体的设置,通常还需要在设计视图中对这种表再次修改其字段名及属性。

2、利用设计视图。这是利用可视化工具来设计和编辑数据库中的表结构,在表设计视图界面,用户按照自己设计好的字段名、字段类型、长度、主键等数据,完成对表的定义,表建立后直接可以使用,效率较高。3、利用表向导。利用系统中预先设置好的示例表模版,这些表结构中包含了一些常见的典型字段,用户可在表向导指引下,选择或者不选择示例表中的类似字段来组成自己需要的表。

4、用导入表来创建。用户可以将其它软件系统中的电子表格、文本文件、数据库文件等多种形式的数据导入到Access2003数据库中来使用。5、利用链接表。由链接到其它数据库中的某个表的方式来得到该表的使用,实际上建立链接只是增加一种对其它数据库中已经存在的表的引用,而不是另外在数据库中真正创建一个新表。

要创建表,先要打开一个已经存在的数据库,在“数据库”窗口选择“表”,再单击“新建”按钮,打开“新建表”对话框。图3.5新建表对话框例3.1使用数据表视图创建“分组”表。解:按如下步骤进行操作:(1)打开“D:﹨Access﹨学生课程管理系统”数据库。(2)在数据库窗口中选择表对象,点击“新建”按钮,出现新建表对话框。(3)选择“数据表视图”,选择确定按钮,此时会出现空数据表,在默认情况下,表的字段名显示为字段1、字段2·······。(4)此时可以修改字段名,同时输入表中数据,如图3.7所示,但通常用这种方法生成表的字段名及数据类型很难体现相关数据的内容,要进入表设计视图重新修改。图3.7数据表视图中修改字段名及输入数据示例

例3.2使用设计视图创建教师表解:按如下步骤进行操作:(1)打开“D:﹨Access﹨学生课程管理系统”数据库。(2)在数据库窗口中选择“表”对象,单击“新建”按钮,会弹出“新建表”对话框,如图3.5所示。(3)单击“确定”按钮,此时会出现设计视图窗口,也可以单击工具栏的“设计”按钮或者双击“新建表”中的“设计视图”进入表设计视图窗口,如图3.8所示。

图3.8使用设计视图创建表窗口(4)选择字段名称列,输入“教师表”的第一个字段名称“教师编号”,再选择“数据类型”列,并单击其下面右侧的下拉箭头按钮,会弹出一个包括10种数据类型的下拉列表,如图3.9所示。图3.9设计视图中数据类型下拉列表(5)选择“自动编号”数据类型,然后在下半区的“常规”选项中设置其“字段大小”为长整形或某一个长度值,类似地可以对其它字段的属性进行设置。(6)所有字段定义好之后,单击第一个字段“教师编号”的选定器,再单击工具栏上的“主关键字”按钮,给教师表定义主键。(7)选择工具栏的“保存”按钮,这时会出现“另存为”对话框,在“表名称”框中输入表名“教师表”。(8)选择“确定”按钮,则最终完成表结构的创建,如图3.10所示。

图3.10使用设计视图创建教师表例3.3使用表向导创建一个会员表,其中含有会员号、名字、电话三个字段。解:按下列步骤进行操作:(1)打开“E:\Access\学生课程管理系统”数据库。(2)在数据库主界面窗口中选择“表”对象,然后双击“使用向导创建表”,出现表向导对话框,如图3.11。图3.11“表向导”对话框(3)从该对话框左边的“示例表”中选择“邮件列表”,这时旁边的“示例字段”框中显示出“邮件列表”表的所有字段,如果单击“>>”按钮,会将“示例字段”列表中的所有字段复制到“新表中的字段”列表里。也可以单击“>”按钮选择部分被选中的字段(或双击该字段)复制到“新表中的字段”列表里,如果对选择的字段不满意可以使用“<”(撤销某个选择的字段)或“<<”(撤销全部新表中的字段)按钮取消已选的字段。如果对“示例字段”中的字段名不满意,可以选择图3.11中的“重命名字段”按钮,打开重命名字段对话框,如图3.12所示。

图3.12重命名字段对话框(4)单击“下一步”按钮,显示出如图3.14对话框,在“请指定表的名称”文本框中输入“会员表”,然后选择“是,帮我设置一个主键”。图3.14表名改为“会员表”(5)单击“下一步”按钮,显示如图3.15所示,该对话框询问新表是否与其它表相关联。

图3.15表的相关性(6)如果有表要关联,则可单击列表框中的相关表,然后单击“关系”按钮进一步定义。否则单击图3.15中的“下一步”按钮,显示如图3.16所示。图3.16表向导完成对话框(7)在图3.16中可以有随后操作的三种不同选择:a.选择“修改表的设计”选项,可以再次修改表的结构。b.选择“直接向表中输入数据”选项,可以立即向表中输入数据。c.选择“利用向导创建的窗体向表中输入数据”选项,将出现一个输入数据的窗口。(8)选择图3.16中的完成按钮,系统将进入上述(7)中选择的a、b或c其中之一。3.1.4复制、重命名及删除表对表的复制操作如下:1、打开数据库,在窗口中选择“表”对象。2、选择要复制的表,比如“教师表”,选择“编辑|复制”菜单命令,或单击工具栏上的“复制”按钮,或按鼠标右键在快捷菜单中选择“复制”命令。3、选择“编辑|粘贴”菜单命令,或单击工具栏上的“粘贴”按钮,打开“粘贴表方式”对话框,如图3.17所示。

图3.17“粘贴表方式”对话框

4、在“表名称”文本框中输入新的表名,比如图3.17中教师备份,再可以在“粘贴选项”中选择其中一个,然后单击“确定”按钮。注意:(1)“只粘贴结构”单选按钮表示仅复制表的结构;(2)“结构和数据”单选按钮表示复制整个表;(3)“将数据追加到已有的表”单选按钮表示将记录追加到另一个已有的表尾部,可用于合并数据表。对表的重命名操作如下:1、选择“表”对象,然后单击选择要重命名的表,比如“教师备份”表。2、选择“编辑|重命名”菜单命令,或从快捷菜单中选择“重命名”命令,此时可在原文件名处输入新表名,比如“教师备份1”。

删除表的操作如下:1、选择要删除的表,选择“编辑|删除”菜单命令,或者从快捷菜单中选择“删除”命令,或者直接按Del键,打开是否要删除的对话框,如图3.18所示。

图3.18是否删除表选择。2、单击“是”按钮,删除表操作成功。3.2数据的输入在创建表的结构之后,就可以输入数据了,类似于我们日常填写空白表格。3.2.1数据输入与编辑数据输入最直接、常见的方式为使用数据表视图,由移动光标定位对数据进行增加、删除或修改操作,可以直接利用键盘、鼠标进行操作,如果输入字段的类型不匹配或不符合约束条件,则系统会提示有错,直到用户输入正确后才会继续往下操作。

下面介绍几种常见的编辑操作:1、删除数据记录将鼠标移动到相应记录的行上并选定,按Del键,此时系统会提示是否真正删除。2、修改数据记录用鼠标或键盘选定相应记录中要修改的字段位置,直接输入新值替换原来的值即可。3、数据记录的复制复制功能可以提高录入数据的效率,方法是在表对象的数据表视图中找到需要复制的记录,单击鼠标左键,再单击右键,从快捷菜单中选择“复制”命令,然后选择存放新纪录的行,从单击右键的菜单中选择“粘贴”,可以将选中的记录粘贴到位,要注意的是只有复制操作符合数据约束条件时才能执行成功。

4、数据的查找如果要查看表中的记录,可以打开相应的表,从头至尾按顺序浏览,但是如果表中记录很多,用户只要查看几条感兴趣的数据记录,此时可利用“查找”对话框来查找符合给定条件的记录,如果要将找到的某些内容进行替换,则可使用“替换”对话框,如图3.19所示。图3.19“查找和替换”对话框例3.4在学生表中找出所有姓李的学生。解:可以利用通配符进行查找,即可在查找对话框中的查找内容处输入李*。操作步骤如下:

1.打开学生课程管理系统数据库。

2.选择表对象,打开学生表。

3.在编辑菜单中选择查找项,此时弹出查找和替换对话框。

4.在对话框的查找内容栏中输入“李*”。(其中*表示通配任何个数的字符,即所有李姓学生的名字),在查找范围选项中选择“姓名”,匹配选项中选择整个字段,搜索选项中选择全部,如图3.21所示。

图3.21.在学生表中逐个查找姓李的学生

5.单击“查找下一个”按钮,可找到第一个李姓学生,再逐次单击“查找下一个”按钮,可以逐个找到表中后续的李姓学生,如果已经显示过表中最后一个李姓学生,再往下查找时,系统会提示“MicrosoftOfficeAccess已完成搜索记录,没有找到搜索项”。此时结束查找。

3.2.2导入、导出数据表和链接外部数据表Access2003可以和其他数据库或文件进行数据交换,提供了数据表的导入、导出和链接外部数据表的功能。一、导入数据表操作这是一种从Access2003外部将数据文件从不同格式转换并复制到Access2003中的方法,比如被导入的数据源文件类型可以是另一个Access的数据库、Excel文件(xls)、IE(HTML)、DBASE等。例3.5将其他目录下的Excel文件“11计科2011下成绩.xls”)输入到“学生成绩管理系统”数据库中,数据表名称改为“11级成绩”。解:按以下操作步骤:1。有三种方法导入:(1)在“新建表”对话框中选择导入表选项双击或选择“确定”按钮;(2)在数据库窗口内任意空白位置单击鼠标右键,从快捷菜单中选择“导入表”命令;(3)在数据库窗口中选择“文件|获取外部数据|导入”菜单命令。可选用上述(1)~(3)任意之一,则系统会显示“导入”对话框,在“查找范围”中指定文件夹,在“文件类型文本框中选择“MicrosoftExcel”选项,如图3.22所示。

图3.22在导入对话框选择文件类型2、选择“11计科2011下成绩.xls”文件,再单击导入按钮,如图3.23所示。

图3.23选择Excel文件3、按步骤依次操作,最好单击“完成”按钮,显示“导入数据表向导”结束提示框,提示数据导入已经完成,如图3.32所示。图3.32结束提示框此时“学生成绩管理系统”数据库中会增加一个名为“11级成绩”的数据表,其内容来自修改过的“11计科2011下成绩.xls”文件。完成后的“11级成绩”数据表打开后,如图3.33所示。图3.33存在于数据库中的“11级成绩”表二、导出数据表操作与导入相逆,Access2003可以将数据库中的表导出到其它数据库或文件中,比如可以将例3.5中导入的“11级成绩”表导出到名为“11级成绩”的Excel表格中,可以简单操作如下:1、在数据库中选择“11级成绩”表,单击鼠标右键,从快捷菜单中选择“导出命令”,则会显示出“将表11级成绩导出为···”对话框,如图3.34所示。图3.34选择导出对象2、从“保存类型”中选择Excel类型,“文件名”中选择“11级成绩”名称,再设置存放目录位置,然后单击“导出”按钮,则完成导出操作,如图3.35所示。图3.35导出“11级成绩”表对话框三、链接表操作

Access2003还具有用链接表建立表的功能,其操作类似导入表,但链接表在数据库中只包含链接数据源的有关路径,不实际将链接表保存到数据库中,不能修改链接表的结构,另外如果其它数据源中删除了相关表格,则链接会出错,有关导入和链接表的一些细节规定可以查看有关资料。3.3字段的设置设计表的重点是定义好表的结构,然后是对表中的各个字段的数据类型及相应的属性进行细致的定义。3.3.1字段名称及类型1、字段名称字段的名称可以由英文、中文、数字及一些特别符号组成,但必须符合数据库对象的命名规则。2、字段类型每个字段中须有自己的数据类型,一旦规定了数据类型,则该字段中输入的数据要与类型规定的值域相符合,如果输入的数据与类型不一致,Access会提示错误信息,且不予保存,Access规定的数据类型见前面介绍。如果要修改字段名,可以打开表的设计视图,在上半部分“字段名称”列中单击选中想要修改的字段名,将其修改为新的名称即可。

如果要修改字段的数据类型,在设计视图的上半部分选中相应字段名并点击其数据类型,此时系统会显示所有可供设置的数据类型,然后选择要改成的新类型,注意,如果是一张没有数据的空表,可以任意修改其字段的数据类型,但如果表中已有数据,则待改的数据类型必须是相容的,如果不相容,系统会提示用户,不能随意修改,否则会造成错误。3.3.2字段的插入、删除和移动。1、删除字段可以通过以下4种方法之一删除数据表中的字段:(1)单击“设计视图”的行选择器来选择要删除的字段,然后按下Delete键。(2)先将鼠标指向要删除的字段,再在“编辑”菜单中选取“删除行”选项。(3)先将鼠标指向要删除的字段,再单击工具栏中“删除行”命令按钮。(4)先将鼠标指向要删除的字段,再单击鼠标右键,在显示的菜单中选择“删除行”选项。注意:不要随意删除字段,因为字段常常在查询、窗体、报表等中还有被使用,会造成相应对象无法正常工作。

2、插入字段把光标移动到要插入字段的右边字段,在“插入”菜单中选择“行”选项,或者单击工具栏上的插入行命令按钮,则在表中添加一个新的空字段行,然后根据要求输入该字段的定义,但如果在查询、窗体或报表中已有对该表的使用,则需要对这些数据库对象做相应的修改。3、移动字段如果要对表重新排列字段,只需在表的设计视图中单击某字段的行选择器,选中该字段,然后单击字段并按住鼠标左键将该字段拖移到所要的新位置即可。也可以利用快捷键“Ctrl+X”来完成。3.3.3重新设置主键允许对主键进行重定义,先删除原主键,再设置其它字段为新主键。3.3.4字段的属性设置当表创建好表结构后,还要对其中各字段进行属性描述,即可在属性区设置属性值,字段的属性确定以及对该字段数据的存储、处理和显示等。不同的字段属性是有区别的,当在表“设计视图”中选择某个字段时,屏幕下半部的“字段属性”区就会依次显示出与该字段有关的属性设置,如图3.36所示。图3.36教师编号字段属性设置以下介绍一些常用的字段属性设置方法。一、限制“字段大小”文本、数字和自动编号三种数据类型可用“字段大小”属性限定其取值范围,比如数字类型的字段大小有七种可选的属性,可以通过对应“字段大小”行上的下拉列表来选定,如图3.37所示。图3.37数字类型字段大小选择

二、字段输出标题设置字段输出标题是仅在表、窗体或报表输出时对应字段所用名称,(其它时刻字段还是用存储在表结构中的原名称),此项目的是针对不同的用户,可以用他们习惯的方式看到表的列名称及其内容,只是列的名称有变,数据表的内容不变。三、设置系统提供的标准输入、输出格式Access2003对于除了OLE对象字段外的其它字段类型都设置了一些标准格式,提供给用户选用,字段输入输出格式可以保证输入、输出的规范性,避免出错,并且这种设置只安排数据的输入和输出格式,不影响数据内容。例3.6在学生表中增加“学费”字段,数据类型为数字型,输出格式为“常规数字”。解:按如下操作步骤:1.打开学生表的设计视图,在最后一行字段的下一行空白处输入字段名称为“学费”。数据类型一栏选择“数字类型”。2.在下半区字段属性定义的字段大小栏选择“单精度型”,在格式选择栏选择“常规数字”,如图3.44所示。图3.44增加学费字段显示格式设为常规数字3.在修改后的学生数据表中增加每人的学费列的数字输入,结果如图3.45所示。图3.45新增学费字段的操作结果四、自定义输入输出格式Access2003提供用户自定义字段的输入输出格式的功能,以满足多样化和特殊需求。但是对于不同类型的数据,自定义规定的格式符号和方法是不同的。

五、设置“默认值”利用“默认值”属性可以减少输入数据时的工作量,“默认值”指定了在添加记录时对于相应的字段内容自动输入规定的那个“默认值”,在数据表中常有一些字段的数据相同或含有相同的部分。例3.7将“教师表”的“性别”字段的“字段大小”设为1,字段的“默认值”设为“女”。解:操作步骤如下:

1.打开“教师表”的设计视图

2.在上半区选择“性别”字段,下半区的“字段大小”栏填入1,默认值属性栏中输入女。在设置“默认值”属性时,必须与字段中所设的数据类型相匹配,设置成功后,在输入新纪录时,此默认值自动会插入到相应字段位置上,当然也可以输入新值来取代它,比如例3.7中设置性别为“女”则在输入女教师记录时,该字段内容已存在,而当输入的是男教师记录时,该字段预先也自动设为“女”,此时则要将性别字段的内容由“女”改为“男”,例3.7的结果如图3.48所示。图3.48经例3.7后的教师表例3.8修改教师表中关于“电话”字段的格式,当字段中没有电话号码时,要显示“无”,否则还是按原有号码显示。解:按如下步骤操作:1、打开教师表的设计视图2、在上半区选择“电话”字段,此时下半区的字段属性显示了“电话”字段的所有属性,在其格式字段属性框中输入“@;\无”。

3、单击工具栏上的“视图”按钮,在其下拉菜单中选择教师表的“数据表视图”,得到如图3.50的数据表,当电话字段没有输入内容时均显示“无”,而当光标移到时,则不显示“无”而将等待输入电话号码,图中“电话”列中有一空白栏为当前光标正处位置。图3.50显示修改字段后的数据表可以利用一些系统规定的符号在类型为文本的字段中自定义格式属性。六、设置输入掩码设置输入掩码是为了屏蔽非法输入,减少输入数据时的人为错误,它是用来预先设置用户输入字段数据的标准格式,该属性可用于数字、文本、货币和日期/时间类型的字段,通过规定一些特殊字符来设置“输入掩码”。例3.9对教师表中的“办公电话”字段设置“输入掩码”,要求只能输入4位区号,8位电话号码,最多3位分机号码,区号用括号,分机号与电话号码之间用“-”分隔。解:按如下操作步骤:

1.打开“教师表”,选择设计按钮,屏幕显示“教师表”的设计视图。2.选择“办公电话”字段,比如屏幕下半区字段属性会显示有与该字段相关的所有属性,选择“输入掩码”属性框,输入“(9999)00000000-999”,表示应该输入4位区号,(不能多也不能少于4位),8位电话号码(必须是8位数字)和3位分机号。如图3.53所示。图3.53设置办公电话字段的“输入掩码”属性3、保存设置再切换到“教师表”的数据表视图。

图3.54办公电话设置“输入掩码”的教师表内容其中分机号码可以有,也可以没有,也可以不到3位数字,当光标移到该字段的空白栏时,显示“(_)__-__”格式。七、“有效性规则”和“有效性文本”这两个属性用于限定字段数据输入的范围,可防止错误的数据输入到表中。“有效性规则”预先给相关字段规定一个比较或逻辑表达式,当每次输入数据时,系统检查该字段新输入的数据是否满足“有效性规则”规定的表达式,如果满足就正常接收该数据,如果不满足,则给出有错提示。“有效性文本”作为提示信息用于配合“有效性规则”,在“有效性文本”属性设置时,其中输入一段当输入的数据不符合“有效性规则”时,所显示的出错提示信息,提示用户直到输入正确数据为止,如果不进行设置,系统会提示默认显示信息。

例3.10在课程表中设置“学分”字段的有效输入为1至6的整数,出错时给予提示。解:可以对“学分”字段设置“有效性规则”为:“>0And<=6”,将出错提示信息“学分只能是1—6之间的整数”设置到“有效性文本”栏中,操作步骤如下:

1.在数据库主窗口中,选择表对象。

2.单击选择“课程表”,选择“设计”按钮,屏幕显示“课程表”的设计视图。

3.选择上半区的“学分”字段。

4.在下半区的字段属性区里的“有效性规则”文本框中输入“>0And<=6”,在“有效性文本”文本框中输入“学分只能是1—6之间的整数”。如图3.60所示。图3.60设置“有效性规则”和“有效性文本”

5.保存本次设计

6.切换到“课程表”数据表视图,此时如果在学分字段输入一个超出范围的数字,比如输入大于6的7,当进入下一字段输入或保存时,屏幕上会有出错提示框,如图3.61所示。图3.61“有效性规则”起作用提示出错八、索引建立一个索引是为了提高对表中数据的查询速度,设置索引并不改变数据在数据表中的物理存储顺序,而只是规定了一种逻辑上的排序,当数据类型是“数字”、“文本”、“日期/时间”或“货币”时,可以建立索引。同一个表中可以建立一个或多个索引,可以对一个字段创建一个索引,也可以用字段组合(多个字段参与)创建一个索引。当使用多字段组合建立索引排序时,先按建索引时的第一个字段进行排序,只有在第一个字段遇到重复值时,这些有重复值的记录启用第二个索引字段进行排序。Access2003常用以下方式创建索引(1)主键索引。是一种唯一索引,可使用“有(无重复)”选项来建立,首先进入表的设计视图,选择要成为主键的字段,然后在菜单中选择“表工具”|“设计”|“主键”,或者单击工具栏中的设置或取消主键按钮,完成建立主键索引。如果要取消主键,也是点击已经是主键字段的该按钮,它是一种开关键,如图3.62所示。图3.62建立主键索引

(2)对单个字段创建索引。首先进入表的设计视图,选中要建索引的字段,然后在字段属性区中选择索引选项,单击复选框,可以找到索引选项,如果选择“无”,则该字段无索引;如果选择“有(有重复)”,则建立一个允许重复值存在的索引;如果选择“有(无重复)”,则对该字段建立一个唯一索引。如图3.63所示。

图3.63对某字段选择索引(3)进入表的设计视图,单击鼠标右键选择设计视图的标题栏,在快捷菜单中选择“索引”,或者单击工具栏中的“索引”按钮,这时可以查看到该表中已经建立的索引,此时也可以直接创建新索引或修改已经创建的索引。如图3.64是成绩表上的索引。

图3.64成绩表上的索引(4)利用SQL语句创建索引。如果需要建立较为复杂的索引,可以使用输入SQL语句建立查询的方式进行操作,有关SQL语句的使用不做要求。建立索引是为了加快查询速度,系统在表中进行插入、删除与修改时会自动维护索引,此时会降低操作的速度,故建立索引要适当。建立主键的无重复索引是维护实体完整性的重要措施,当表的主键是单一字段时,系统会自动为此字段创建“有(无重复)”索引,而复合主键要用手工建立。

3.4建立表之间的关联关系数据库中存储数据不是孤立的,很多数据之间是有联系的,它们代表着现实世界中实体间的相互关系,关系数据库中的各个“表”代表着不同的实体,那么如何来反应表之间的联系呢,关系数据库Access2003提供了表关联功能来方便地实现有关表之间关系的建立。

3.4.1建立表间关系的优越性可以建立表间关系是关系数据库的一大特点,可以简单、真实地反应客观事物之间的联系。1.减少数据冗余 有时候如果把数据只放在一个表中,会造成该表中有大量重复的字段数据,此时可以把此类数据另建一个表,然后通过建立两表之间的关系来访问。2.保持参照完整性 这是为了使关系数据库里相关表中的数据同步且避免互相间的冲突,可以在“教师”表和“专业介绍”表建立关系的前提下,设置这两个表之间的参照完整性,这可以保证两个表中的信息互相匹配。

两个表要建立关联关系,它们之间要有相关联的字段才行。以下是三种表之间对应关系字段通常采用的关联方法。(1)创建一对一关系,相关联的字段在两个表中都是主键或唯一索引。(2)创建一对多关系,相关联的字段在一个表中是主键或唯一索引,在另一个表中是外键。(3)多对多关系是另外增加第3个表,变成原来两个表与第3个表的两个一对多的关系,第3个表的主键包含两个字段,在另外两个表中分别是外键。3.4.2表间关联关系的建立方法 只有按照客观现实中的含义,将有关系的表之间建立关联之后才有实际意义,才能发挥关系数据库的巨大作用,在建立表间关联前,先要给有关表建立主键或索引,关闭所有打开的表,建立关系的两个表通过各自相匹配的字段进行关联,通常是用两个表中同名的字段(列),也可以不同名,但必须有相同的字段类型和相同的“字段大小”属性。例3.11定义“学生课程管理系统”数据库中教师表、学生表、成绩表、课程表之间的关联关系。解:按以下操作步骤:1.打开学生课程管理系统数据库。2.单击工具栏上的“关系”按钮,或者选择“工具|关系”菜单命令,此时可以打开“关系窗口”,然后选择工具栏上的显示表按钮,打开“显示表”对话框,如图3.65所示。图3.65“显示表”对话框3.在显示表对话框中,单击“学生表”,再单击“添加”按钮,然后用同样的方法将“成绩表”、“教师表”、“课程表”添加到“关系”窗口中,如图3.66所示。图3.66“关系”窗口4.在“关系”窗口中,各表中字段名加粗的字段是其主键或联合主键,选定“课程表”中的“教师编号”字段,按下鼠标左键将其拖曳到“教师表”中的“教师编号”字段上,放开鼠标,屏幕上显示“编辑关系”对话框,如图3.67所示。图3.67“编辑关系”对话框5.用同样的方法建立其它表间的关联关系。如图3.68图3.68部分表间关联关系

6.选择“关闭”按钮,系统会提示是否保存布局的修改,选择“是”按钮,即保存了刚刚建立的各表间关系,或者先单击“保存”,再选“关闭”,则直接退出。3.3.4子数据表在两个表建立了关联关系以后,当其中之一是一对多关系中的主表时,系统会在此主表中创建与另一个表有关的子数据表,如图3.69所示。图3.69建立关联后的教师表图3.70打开子数据表3.4.4实施参照完整性在建立表之间的关联关系时,为了保持以后相关操作时的数据完整性,系统提供了参照完整性功能选项来保证数据库中建立关联的表间关系的有效性,主要涉及以下三个方面:1.如果修改主表中的数据导致了关联子表中出现无法对应的孤立记录时,提示不允许改变主表的该数据。2.如果主表中的记录在关联子表中有匹配记录,则主表中该记录不可删除。3.当主表中没有相应记录时,相关联子表中不可添加相关记录。如果选勾了“实施参照完整性”复选框后,当选择“级联更新相关字段”有效时,表示以后在更新主表中主键值时,系统会自动更新相关联表中相关记录的字段值;而当选择“级联删除相关记录”有效时,表示以后在删除主表中记录时,系统会自动删除相关联表的所有相关记录。例3.12在“学生课程成绩管理系统”数据库中,对“学生表”和“成绩表”两个表中的学号设置为同步更新。解:“学生表”和“成绩表”是一对多关联关系,可以选择“字段参照完整性”、“级联更新相关字段”和“级联删除相关记录”,三个复选框有效。

操作步骤如下:1、打开“学生课程管理系统”数据库。2、选择工具栏上的关系按钮,或选择“工具|关系”菜单命令,此时可以打开如前述图3.66的“关系”窗口。3、在“学生表”和“成绩表”的一对多关系连线上双击鼠标左键,或选中“学生表”和“成绩表”的一对多关系连线,然后选择“关系|编辑关系”菜单命令。此时会显示“编辑关系”窗口。4、在“编辑关系”窗口中选勾“实施参照完整性”、“级联更新相关字段”和“级联删除相关记录”三个选项。5、单击”确定”按钮,保存相关设置。如图3.71所示。图3.71“编辑关系”中选勾三个选项6、分别在同一屏幕上打开“学生表”和“成绩表”,将它们调整到靠近在一起,如图3.72所示。图3.72更改记录袁建军学号之前7.将“学生表”中的第一条记录袁建军的学号Yc082227012改为Yc082227010,再将光标移向下面的记录,此时可以发现在“成绩表”中该记录的学号自动修改为Yc082227010,如图3.73所示。图3.73更改记录袁建军学号之后3.4.5编辑表间关系对于已经创建的表间关系,可以对其重新修改,选择“工具|关系”菜单命令或单击工具栏上的“关系”按钮调出关系画面,打开“编辑关系”对话框,就能直接进行修改。3.4.6删除表间关系类似上述编辑表间关系,可以对已经建立表间关系的两个表之间的线进行删除,在快捷菜单中选择“删除”命令,连线消失,即已删除了两个表间的关系。3.4.7查阅向导通常表中字段的数据都是由用户直接输入,或从其它数据源导入。查阅向导可以将表中某一字段的数据内容从另一个表的字段中导入过来。例3.13将成绩表中的“课程名”字段的数据内容来源设置为教师表的“系别”字段数据内容。解:本题可利用“查阅向导”功能使得成绩表中的“课程名”字段数据内容通过下拉列表选择来自于教师表中“系别”字段的数据内容,操作步骤如下:1.打开相关数据库,选择成绩表,并单击“设计”按钮,得到其设计视图。2.在其设计视图中选择“课程名”字段,并打开其“数据类型”下拉列表,选择其中“查阅向导”命令如图3.74所示。图3.74成绩表的查阅向导3.单击“查阅向导”,得到“查阅向导”对话框,如图3.75所示。图3.75“查阅向导”对话框4.在图3.75中选择“使用查询到查阅表或查询中的值”,然后单击下一步打开下一对话框,如图3.76所示。图3.76选择教师表5.选择图中“表”单选按钮,选择列表框中教师表,单击“下一步”按钮,打开下一对话框,如图3.77所示。图3.77选择“系别”字段6.在图3.77中,从“可用字段”中选择“系别”字段到“选定字段”区,单击“下一步”按钮,打开下一对话框,如图3.78所示。图3.78选择按系别升序排序7.在图3.78中选择“系别”按系统默认的“升序”排序,单击“下一步”按钮,得到指定查阅列的宽度对话框,此时可以调整宽度,选择是否隐藏键列复选框。如图3.79对话框所示。图3.79指定查阅列的宽度8.单击“下一步”按钮,得到如图3.80对话框,用“系别”作为标签,单击“完成”按钮,打开提示保存对话框,单击“是”。图3.80指定查阅列标签9.打开成绩表,单击“课程名”字段列右边的按钮,显示出下拉列表,其中可选择的数据内容变成教师表中“系别”字段的内容。如图3.81所示。图3.81“课程名”字段用系别内容输入3.5调整表的外观主要方式有调整列宽、调整行高、改变字段顺序、隐藏字段、显示被隐藏的字段、冻结列、解冻列、设置字体、设置数据表格式等。3.5.1调整列宽有以下两种方法:方法一:直接用鼠标拖移。打开表的数据内容窗口,移动鼠标到要调整列宽的列名边线,当指针变成双箭头状态后,按住鼠标左键往左或右拖动,当调整到合适的宽度时,松开鼠标左键即可。方法二:精确设定列宽。打开表的数据内容表窗口,移动鼠标到要调整列宽的列名上单击鼠标右键,出现快捷菜单后,从中选择“列宽”,出现“列宽”窗口后,在“列宽”栏输入列宽的大小,然后选择确定按钮。3.5.2调整行高有如下两种方法:方法一:直接用鼠标拖移。在打开的数据表中将鼠标移动到要调整行高的行边线,当指针变成双箭头状态后按住鼠标左键往上或往下拖动,当调整到合适的高度时,松开鼠标左键即可。方法二:精确设定行高。打开表的数据内容表窗口,然后移动鼠标到行选择格上单击鼠标右键,出现快捷菜单后,从中选择“行高”,出现“行高”窗口后,在“行高”栏中输入行高的大小,再选择“确定”按钮。对于调整列宽,只有被选取的列宽度会改变大小;而当调整行高时,所有的行高都会跟着统一调整。3.5.3改变字段顺序在使用数据表视图时,可以改变字段的顺序,以满足不同的查看需求,具体操作是先用鼠标选中想要移动的列名,然后拖动该列到它在表中新的列位置。注意:移动数据表视图中的字段,不会改变设计视图中字段的排列顺序,而是仅改变它们在数据表视图下的显示顺序,即没有改变当初创建表结构时规定的顺序。3.5.4隐藏字段当某些字段的数据不想被其他人看到,或在表的字段很多时,有的字段不需要输入数据,则可以将一些字段隐藏起来。例3.15将成绩表的姓名、学号列隐藏。解:利用隐藏字段功能,操作步骤如下:1.打开“成绩表”的数据表视图。2.单击“姓名”字段选定器,同时按住鼠标左键,拖动鼠标到“学号”字段后松开,此时“姓名”、“学号”两个字段底色变黑,表示被选中,见图3.85所示。

图3.85选定要隐藏的列3、选择“格式|隐藏列”菜单命令,此时“姓名”和“学号”列被隐藏,如图3.86所示。图3.86姓名与学号列被隐藏另外还可以直接拖移鼠标,用调整列宽的方法,将列宽调整到0,也可以隐藏字段。3.5.5取消隐藏字段可以将隐藏过的列重新显示出来,操作步骤如下:1.在数据库窗口中选择表对象,打开相关表,比如双击例3.15中已被隐藏列的“成绩表”。2.在菜单栏中选择“格式|取消隐藏列”命令,出现“取消隐藏列”对话框,如图3.87所示。

图3.87“取消隐藏列”对话框

3.5.6冻结列冻结列是指将字段固定在数据表的最左边,当数据表的字段左右滚动时,该字段固定不动在最左边。例3.16冻结学生表中的“姓名”字段。解:可以使用冻结“姓名”列命令,操作步骤如下:1.打开“学生表”的数据表视图。2.单击“姓名”字段选定器,“姓名”字段底色变黑,如图3.88所示。

图3.88选择要冻结的“姓名”字段3.选择菜单栏“格式”菜单中的“冻结列”命令。4.在“学生表”中移动水平滚动条,如图3.89所示。可以看到学号,性别字段已经被移动过去看不见了,而被冻结的姓名字段一直固定显示在最左边。图3.89冻结“姓名”字段后3.5.7解冻列可以对已经冻结的列进行恢复,即用解冻列命令,对打开的数据表用鼠标从菜单栏的“格式”菜单中选择“取消对所有列的冻结”命令,解冻后,当滚动字段时,所有字段都依次进行滚动了。3.5.8设置字体可以对数据表的字体、大小、颜色等进行设置,操作方法是在菜单栏中“格式”菜单里选择“字体”命令,会出现相关的字体窗口,可以在字体、字形、字号、颜色列表中选择想要的内容,选好后单击“确定”按钮。3.5.9设置数据表格式在数据表视图里,有单元网格线,有默认显示,可以进一步改变显示方式和颜色等,还可以重新设置背景颜色等。在格式菜单中选择数据表命令,会出现相关的对话框。3.6记录操作Access2003提供了针对表中的数据(记录)进行排序、筛选的各种操作。3.6.1记录排序一般在查看数据表中的数据(记录)时,它们是按照主键升序或数据输入表时的顺序(无主键时)排序的,而在实际应用中,会出现不同的要求,排序是选择表中的一个或几个字段的值对所有记录进行重新按升序或降序排列,对于不同数据类型的字段,其排列规则有所不同。在Access2003中进行记录排序时,要注意下列情况:1.当按升序排列字段时,如果字段值为空值,会将包含空值的记录排在前面。2.排序后的排序次序将和表、查询或窗体一起保存。如果用这样的对象产生新窗体或报表,则这些新窗体或报表会继承对象的排序次序。3.如果在安装Access2003时选择的语言是“中文”,则默认按“中文”顺序排列数据。4.数据类型为“OLE”、“备注”和“超链接”对象的字段不能排序。5.数据类型为“文本”的字段中如果含有数字,将被视为字符串而非数值来排序。例3.17在教师表中按“姓名”字段顺序升序排序。解:按以下操作通过排序命令实现。1.打开教师表的数据视图。2.把鼠标指向“姓名”字段列的任意一个单元格内,或用字段选定“姓名”列底色变黑。3.选择“记录|排序|升序排列”菜单命令,或单击工具栏上的升序按钮,或用快捷菜单中的升序命令,得到如图3.92所示的排序结果。图3.92按“姓名”字段排序后的教师表4.选择“保存”命令,如图直接关闭退出,系统会提示是否保存修改结果。3.6.2筛选记录实际使用数据表时,往往只要挑选表中部分满足特定条件的数据进行查看或处理,并且暂时不用显示的数据也不删除。则可以利用筛选记录操作在数据表中为一个或多个字段指定条件,只有符合条件的记录被筛选出来显示。Access2003有四种筛选方法:一、按选定内容筛选这是一种最简单的方法,可以利用“按选定内容筛选”命令。

例3.18在教师表中筛选出性别为“女”的所有记录。

解:可以利用“按选定内容筛选”方法,操作步骤如下:1.打开教师表数据内容视图。2.将光标移动到教师表“性别”字段中某一为“女”的单元格中,按鼠标右键快捷菜单中选择“按选定内容筛选”命令,或单击工具栏的“按选定内容筛选”按钮,或选择“记录|筛选|按选定内容筛选”菜单命令,则会显示出所有性别为“女”的教师记录。二、按窗体筛选这是一种快速方法,不需要浏览整个表的记录就可以同时对多个字段的值设置筛选,窗体筛选将数据表变成一个只包含单个空白记录的数据表,其中每个字段都有一个可以下拉的列表框,可以从每个下拉列表中选取一个值作为筛选的条件,如果同时选多个条件,这些条件之间可以选定是“与”关系还是“或”关系,该操作可以通过选择工具栏中的“按窗体筛选”命令

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论