第三章数据库和表第三章数据库和表3.1数据库的创建和使用3.2数据表的创建3.3表中数据的编辑3.4表中记录的操作3.5表间关系的建立3.6表的导出3.7数据的导入和链接3.1数据库的创建和使用•3.1.1数据库的创建Access提供了两种创建数据库的方法:–1.创建空数据库“文件”菜单“新建”选项“任务窗格”新建“空数据库…”项【实例3-1】创建一个名为“学生管理.mdb”的数据库。–2.使用向导创建数据库“文件”菜单“新建”选项“任务窗格”“模板”标题栏“本机上的模板…”选项【实例3-2】利用模板创建Access数据库。3.1数据库的创建和使用•3.1.2数据库的使用Access提供了两种创建数据库的方法:–1.打开数据库“文件”菜单“打开”选项(工具栏“打开”按钮)“打开”窗口选择路径选择数据库文件名选定文件类型点击“打开”按钮–2.设置数据库的属性“文件”菜单选择“数据库属性”命令在“数据库属性”窗口设置3.1数据库的创建和使用–3.设置数据库的默认文件夹“工具”菜单“选项”“常规”选项卡在“默认数据库文件夹”文本框中设置3.2数据表的创建•3.2.1表的字段类型数据类型决定了数据的取值、范围和存储格式3.2数据表的创建•3.2.2建立表结构建立表结构常用的有三种方法:1.使用表向导的方法创建表“表”对象“新建”按钮“表向导”按向导提示进行创建3.2数据表的创建2.通过输入数据创建表“表”对象“通过输入数据创建表”(“新建”“数据表视图”)输入数据3.2数据表的创建【实例3-3】根据表3-2提供的数据,在“学生管理.mdb”数据库中建立“课程”数据表。【实例3-4】根据表3-3提供的数据,在“学生管理.mdb”数据库中建立“成绩”数据表。操作步骤同“课程”表的建立。3.2数据表的创建3.使用设计器创建表“表”对象“使用设计器创建表”(“新建”按钮“设计视图”)定义表的结构3.2数据表的创建【实例3-5】在“学生管理.mdb”数据库中,利用表设计器创建“学生”表,表结构如表3-4所示。3.2数据表的创建•3.2.3修改表结构1.添加字段方法一:在“设计视图”中添加字段方法二:在“数据表视图”窗口中添加字段2.删除字段3.重命名字段4.移动字段5.修改字段的属性3.2数据表的创建【实例3-6】对实例3-1所建的“学生管理.mdb”数据库中的“课程”表做如表3-5所示的修改。【实例3-7】在“学生管理.mdb”数据库中的“学生”表中增加一个字段,字段名为“团员否”,字段类型为“是/否”型。3.3表中数据的编辑•3.3.1表中数据的输入表对象双击表名“数据表浏览视图”中输入数据3.3表中数据的编辑【实例3-8】在上例创建的“学生”表中输入如表3-6所示的内容。3.3表中数据的编辑•3.3.2表及表中字段属性设置1.表属性的设置“设计视图”“视图”菜单“属性”命令(工具栏上的“属性按钮”/快捷键“Alt+Enter”)弹出“表属性”对话框在“常规”选项卡对表做相应属性的设置3.3表中数据的编辑【实例3-9】在数据库中存在如图3-39所示的表“tQuota”,设置相应的属性,约束数据输入时“最高储备”大于“最低储备”的值。如果输入的数据不符合约束,则弹出提示信息“输入的最高储备值应大于最低储备的值”。3.3表中数据的编辑2.字段属性的设置在确定了字段类型后,在“设计视图”中对字段的属性可以做进一步的设置。3.3表中数据的编辑(1)“字段大小”属性用来控制字段使用空间的大小,此属性适用于文本型、数字型和自动编号型数据,其他类型的数据大小是固定的。(2)“格式”属性用来设置数据的显示和打印方式,但不会改变数据的存储格式。除了OLE字段类型外,其他类型的字段系统内部已定义了许多格式,可以直接选定这些字段格式,也可以根据需求自定义字段格式来约束数据输入和显示格式。【实例3-10】将“学生”表中的“入校时间”显示为“XXXX年XX月”的格式。3.3表中数据的编辑3.字段的输入掩码设置用户为输入的数据定义的格式,并限制不允许输入不合规则的文字和符号。可以使用输入掩码的数据类型有文本、日期/时间、数字和货币等。【实例3-11】设置“学生表”中的“入校时间”字段的输入掩码为“长日期”。3.3表中数据的编辑4.字段的有效性规则与有效性文本的设置一个与字段或记录相关的逻辑表达式,在给字段输入数据时所设置的约束条件,如果输入的数据不符合字段有效性规则,系统将拒绝该值的输入,并显示默认的提示信息,如果设置了“有效性文本”则将把有效性文本设置作为提示信息显示给用户,并强迫光标停留在该字段所在处,直到输入的数据符合字段有效性规则。【实例3-12】为成绩表的“数学”字段设置有效性规则和有效性文本,来说明有效性规则和有效性文本的设置方法。3.3表中数据的编辑5.设置字段默认值为字段设定默认值属性,这样对录入的大量字段取同样的值时会减少工作量并避免误输入的发生。【实例3-13】将“学生管理.mdb”数据库中的“团员否”字段的默认值设置为“Yes”。6.设置标题在显示表中数据时,标题属性值可以取代字段名称。即表中该列的栏目名将是标题属性值,而不是字段名称。【实例3-14】将“学生管理.mdb”数据库中的“所属院系”字段在“数据表视图”中显示的名称设置为“院系代码”。3.3表中数据的编辑7.设置索引使用索引可以获得对数据库表中特定信息的快速访问。Access中,除了OLE对象型、备注型数据及逻辑型字段不能建立索引外,其余类型的字段都可以建立索引。选择的索引属性有以下三个:无:表示无索引,这是默认的选项;有(有重复):该索引允许有重复值;有(无重复):该索引不允许有重复值。【实例3-15】为“学生管理.mdb”数据库的“学生”表的“所属院系”字段建立索引。3.3表中数据的编辑8.设置必填字段该属性有两个选项:“是”或“否”。设置“是”时,表示此字段值必须输入。设置为“否”时,可以不填写该字段的数据,允许字段为空。3.3表中数据的编辑3.3.3表中数据的编辑1.选定数据选择一行:单击记录选定器。选择一列:单击字段名。选择连续的多行:选中首行,按下Shift键,再选中末行,则可选中多行。选择连续的多列:选中首列,按下Shift键,再选中末列,则可选中多列,也可使用按住鼠标左键进行拖动的方式选择连续的多行或列。3.3表中数据的编辑2.添加记录在Access中只能在表的末尾添加记录,单击记录定位器上的按钮或选择“插入”菜单项下的“新记录”命令,然后在光标位置输入新记录即可。3.删除记录首先选定要删除的记录,然后再打开“编辑”菜单,选择“删除记录”选项,或选定删除记录后按键盘上的Delete键,还可以单击鼠标右键,在弹出的快捷菜单中选择“删除记录”。3.3表中数据的编辑4.修改记录将光标定位到要修改的记录上,选择要修改的字段直接进行修改即可。5.复制记录在“数据表视图”中,选定要复制的记录,单击常用工具栏上“复制”按钮,再将光标定位到目标位置,然后选择常用工具栏上“粘贴”按钮,也可使用快捷键“Ctrl+C”和“Ctrl+V”实现复制和粘贴,还可用鼠标右键单击,在弹出菜单中进行命令选择的方式进行复制。3.3表中数据的编辑6.表中数据的查找与替换“编辑”菜单“查找”选项“查找和替换”窗口输入要查找的数据单击“查找下一个”按钮光标将定位到第一个相匹配数据项的位置重复操作,查找到若干个与“查找内容”相“匹配”的数据项“替换”操作,步骤同上,只是在“查找和替换”窗口,选择“替换”选项卡。3.4表中记录的操作3.4.1记录的定位1.当前记录所在的记录行,为当前记录,浏览、编辑表中记录都是对当前记录进行操作,且在某一时刻只能有一条记录正在被编辑。2.定位记录在Access打开的表中,移动当前记录所在位置的操作称为记录的定位操作。3.4表中记录的操作(1)菜单方式“表浏览”窗口“编辑”菜单选择“定位”选项在出现的记录定位菜单中进行选择3.4表中记录的操作(2)记录定位器方式直接使用记录定位器中的按钮进行定位3.4表中记录的操作3.4.2记录的排序1.排序的规则3.4表中记录的操作2.排序的方法在“数据表视图”,选定要排序的字段,再打开“记录”菜单,选择“排序”选项,然后选择升序或降序排列(或使用工具栏上的升序或降序按钮)3.4表中记录的操作3.4.3记录的筛选Access提供了以下4种筛选功能:按窗体筛选根据用户确定的筛选条件,将满足条件记录筛选出来。按选定内容筛选筛选出与“选定字段值”相等的记录。内容排除筛选筛选出与“选定字段值”不相等的记录。高级筛选/排序…把符合用户设定的筛选条件的记录筛选出来。3.4表中记录的操作“表浏览”窗口,选定用于筛选的字段名(或选择字段名下的一个具体的数据项)打开“记录”菜单,选择“筛选”选项【实例3-16】将“学生管理.mdb”数据库的“学生”表中男同学的记录筛选出来。3.4表中记录的操作3.4.4显示、隐藏和冻结列隐藏列方法1:选中要隐藏的数据列,单击“格式”菜单,选择“隐藏列”方法2:向左拖动要隐藏的列的数据右端的网格线,直到该列被隐藏方法3:选择要隐藏的数据列,单击“格式”菜单,选择“列宽”选项,设置“列宽”属性值为零【实例3-17】隐藏“学生”表中的“院系代码”一列。3.4表中记录的操作重新显示被隐藏的列,步骤为:单击“格式”菜单,选择“取消隐藏列”,在“取消隐藏列”对话框中,选中想重新显示的列前面的复选框。3.4表中记录的操作冻结列冻结的列都会保持在屏幕的左端不动“冻结列”的方法选定要冻结的列单击“格式”选择“冻结列”【实例3-18】冻结“学生”表中的“姓名”一列。3.4表中记录的操作列被冻结后将移动到表的最左端显示,并与未冻结的列之间用实线分隔开。在拖动水平滚动条时,被冻结的列将保持不动。如果想取消列的冻结,可单击“格式”菜单,选择“取消对所有列的冻结”选项来恢复。3.5表间关系的建立表间关系是指两个表中都有一个数据类型和大小相同的字段,利用相同字段建立两个表之间的关系。在Access中,若想建立表间的关联关系,必须给表中的某字段建立主键或索引。3.5表间关系的建立3.5.1设置主键1.主键的作用(1)保证实体的完整性;(2)加快对记录进行查询、检索的速度;(3)用来在表之间建立关联关系。注:指定了表的主键之后,Access将阻止在主键字段中输入重复值或Null值。3.5表间关系的建立2.主键的类型在MicrosoftAccess中可以定义三种主键:(1)自动编号主键如果在保存新建的表之前未设置主键,则MicrosoftAccess会询问是否要创建主键。如果回答为“是”,MicrosoftAccess将创建“自动编号”主键。(2)单字段主键只要某字段包含数据,且不包含重复值或Null值,就可以为该字段指定主键。(3)多字段主键在不能保证任何单字段包含唯一值时,可以将两个或更多的字段指定为主键。3.5表间关系的建立3.设置主键的步骤在“设计视图”中打开表选择将要定义为主键的一个或多个字段若要选择一个字段,请单击所需字段的行选定器。若要选择多个字段,请按住Shift键,然后对每个所需字段单击其行选定器,或按住鼠标左键拖动进行多个字段的选择。单击工具栏上的“主键”,或选择“编辑”菜单项下的“主键”,或单击鼠标右键,在弹出的快捷菜单中选择“主键”都可实现。3.5表间关系的建立【实例3-19】分析并设置“学生”表的主键。【实例3-20】分析并设置“课程”表的主键。【实例3-21】分析并设置“成绩”表的主键。3.5表间关系的建立3.5.2表间关联的建立在Access中对表间关系的处理是通过两个表中的公共字段在两表之间建立关系,公共字段是数据类型相同的字段,该字段在每个表中都要建立索引,以其中一个表(主表)的关联字段与另一个表(子表或从表或相关表)的关联字段建立两个表之间的关系。建立关联可以将数据库中多个表连接成一个有机的整体,可以保证表间数据在进行编辑时保持同步,以便快速地从不同表中提