首页 百科知识 表间关系的建立

表间关系的建立

时间:2022-10-24 百科知识 版权反馈
【摘要】:在关系型数据库中,表是用来存储和管理数据的对象,也是数据库其他对象的数据源和操作基础。在Access中,表是一个满足关系模型的二维表,即由行和列组成的表格。将表保存为“课程”,录入数据,最终结果如图4-7所示。利用Access系统的数据导入功能可以将数据文件中的数据导入到当前数据库中。“查阅”字段提供了一系列值,供输入数据时从中选择。在表中能够唯一标识记录的字段或字段集合被称为主关键字,简称主键。

第4章 表

在关系型数据库中,表是用来存储和管理数据的对象,也是数据库其他对象的数据源和操作基础。在Access中,表是一个满足关系模型的二维表,即由行和列组成的表格。表以名称标识,表的名称可以使用汉字或英文字母等。

4.1 表的概念

4.1.1 表结构

一个完整的表是有表结构和表内容两部分组成的。表结构由字段名称、字段类型以及字段属性组成,表内容由一条条的记录组成。

字段名称是指二维表中某一列的名称。可以使用字母、汉字、数字、空格和其他字符,长度为1~64个字符,但不能使用“。”、“!”、“[”、“]”等。

字段类型是字段取值的数据类型,包括文本型、数字型、备注型、日期/时间型、逻辑型等12种。

字段属性是字段特征值的集合,分为常规属性和查阅属性两种,用来控制字段的操作方式和显示方式。

例如,在教学管理系统中,包含教师课程、学生、人事档案、选修、院系等。教师表的结构如图4-1所示。

图4-1 表结构

4.1.2 字段的数据类型

在Access 2010中,字段的数据类型有12种,下面介绍常用的几种:

1.文本型

文本型字段用来存放字符串数据,如学号、姓名、性别等字段。

文本型数据可以存储汉字和ASCⅡ字符集中可打印字符,最大长度为255个字符,用户可以根据需要自行设置。

2.备注型

备注型字段用来存放较长的文本型数据,长度为65535个字符。

备注型数据是文本型数据类型的特殊形式,备注型数据没有数据长度的限制,但受磁盘空间的限制。

3.数字型

数字型字段用来存储由整数、实数等可以进行计算的数据。数值型可以分为字节、整型、长整型、单精度型、双精度型、同步复制ID、小数这几种类型。

4.日期/时间型

日期/时间型字段用于存放日期、时间、或日期时间的组合。

日期/时间型数据分为常规日期、长日期、中日期、短日期、长时间、中时间、短时间等类型。

5.货币型

货币型字段用于存放具有双精度属性的货币数据,如工资、学费等。

6.自动编号型

自动编号型字段用于存放系统为记录绑定的顺序号。自动编号型字段的数据无需输入,当增加记录时,系统为该记录自动编号。字段大小为4,由系统自动设置。一个表只能有一个自动编号型字段,该字段中的顺序号永久与记录相联,不能人工指定或更改自动编号型字段中的数值。

7.是/否型

是/否型字段用于存放逻辑数据,表示“是/否”或“真/假”。字段大小为1,由系统自动设置,如婚否字段可以使用是/否型。

8.OLE对象型

OLE(Object Linking and Embedding)的中文含义是“对象的链接与嵌入”,用来链接或嵌入OLE对象,如文字、声音、图像、表格等。

9.查阅向导型

查阅向导型字段仍然显示为文本型,所不同的是该字段保存一个值列表,输入数据时从一个下拉式值列表中选择。

4.2 表的创建

表的创建方法有:

(1)使用设计视图创建表。

(2)使用数据表视图创建表。

(3)通过数据导入创建表。

4.2.1 使用设计视图创建表

使用设计视图,可以按照自己的需求来创建表,定义字段名、类型以及相关属性。

【例4-1】使用设计视图创建教师表,表结构如图4-1所示。

操作步骤如下:

(1)打开“教学管理”数据库。

(2)选择“创建”选项卡,单击“表设计”按钮,打开表设计窗口。

(3)在表编辑器中,定义每个字段的名字、类型、长度和索引等信息,如图4-2所示。

图4-2 教师表结构

(4)选择“文件”选项卡,执行“保存”命令,在“另存为”对话框中输入表名“教师”,然后单击“确定”按钮,保存创建的表。

4.2.2 使用数据表视图创建表

用户也可以在输入数据的同时可以对表的结构进行定义,这需要在数据表视图窗口中进行操作。

【例4-2】利用数据表视图创建表创建“课程”表,表结构如图4-3所示。

图4-3 课程表结构

操作步骤如下:

(1)打开“选课管理”数据库。

(2)选择“创建”选项卡的“表格”组,单击“表”按钮,系统将自动创建名为“表1”的新表,并在数据表中打开,如图4-4所示。

图4-4 录入数据创建表

(3)单击“单击以添加”按钮,选择字段类型,命名字段名为“课程编号”,输入“001”,如图4-5、图4-6所示。

图4-5 “单击以添加”界面

图4-6 添加数据

(4)重复步骤(3),直至所有字段建立完毕,并且删除不需要的字段“ID”。

(5)在快速访问工具栏中,单击“保存”按钮,打开“另存为”对话框。将表保存为“课程”,录入数据,最终结果如图4-7所示。

图4-7 课程表

4.2.3 通过数据导入创建表

通过数据导入创建表是指利用已有的数据文件创建新表,这些数据文件可以是电子表格、文本文件或其他数据库系统创建的数据文件。利用Access系统的数据导入功能可以将数据文件中的数据导入到当前数据库中。

【例4-3】将Excel电子表格文件“人事档案.xlsx”中的数据导入到“教学管理”数据库中,表的名称为“人事档案”。

操作步骤如下:

(1)打开“教学管理”数据库。

(2)选择“外部数据”选项卡的“导入并链接”组,单击“Excel”按钮,打开“获取外部数据”对话框,如图4-8所示。

图4-8 选择数据源

(3)单击“浏览”按钮,选择要导入的文件“人事档案.xlsx”,选择“将源数据导入当前数据库中的新表中”选项,单击“确定”按钮,打开“导入数据表向导”对话框,如图4-9所示。

图4-9 显示工作表

(4)选择“显示工作表”选项,单击“下一步”按钮,在弹出的对话框中选中“第一行包含列标题”项,如图4-10所示。

图4-10 第一行包含列标题

(5)单击“下一步”按钮,在弹出的对话框中可选择和修改字段,如图4-11所示。

图4-11 设置字段信息

(6)单击“下一步”按钮,在弹出的对话框中选中“不要主键”选项,如图4-12所示。

图4-12 设置主键

(7)单击“下一步”按钮,在弹出的对话框中输入新表名称“人事档案”,如图4-13所示。

图4-13 设置新表名

(8)单击“完成”按钮,在弹出的对话框中单击“关闭”按钮,如图4-14所示。

图4-14 完成新表建立

至此,导入表的操作完成。

在“导航”窗格中选择“人事档案”表,打开数据表视图,显示结果如图4-15所示。

图4-15 人事档案表

4.3 字段属性设置

在设计表结构时,除了要考虑字段类型之外,还要考虑对字段显示格式、字段掩码、字段标题、字段默认值、字段的有效性及有效文本等属性进行定义。

4.3.1 常规属性设置

字段的常规属性用于设置字段大小、小数位数、显示格式、输入掩码等。常规属性随字段的类型不同而有所不同。常用的字段属性如表4-1所示。

表4-1 字段属性

1.设置文本字段显示格式

对于“文本”和“备注”类型字段,可以在格式属性的设置中使用特殊的符号来创建自定义格式。

可以使用表4-2中的符号来创建自定义的文本和备注格式。

表4-2 文本格式控制符

例如在字段“教师编号”的格式属性中使用“@@@-@@@”自定义格式,则该字段内容则会以类似“001-001”的格式显示。

2.设置数字字段显示格式

对于“数字”和“货币”数据类型,可以将格式属性设为预定义的数字格式或自定义的数字格式。可以使用以下符号来创建自定义的数字格式(见表4-3)。

表4-3 数字格式控制符

例如,在字段“工资”的格式属性中输入“#,###.00”,表示使用千位分隔符,保留2位小数,没有小数则用0表示。

3.设置日期/时间字段显示格式

对于“日期/时间”数据类型,除了使用预定义的格式,也可以使用自定义格式。可以使用表4-4的符号创建自定义日期及时间格式。

表4-4 日期/时间格式控制符

续表

例如,将字段“出生日期”的格式属性设置为:ddd","mmmd","yyyy。则该字段显示格式如“Mon,Jun2,1997”的日期时间。

4.设置字段标题

字段标题是字段的别名,通过表、窗体和报表浏览数据时,Access系统会自动将字段标题作为数据的显示标题。

如果字段没有设置标题,则默认该字段名为显示标题。

5.设置输入掩码

字段输入掩码是给字段输入数据时的某种特定的输入格式。它可以对保密数据进行掩盖,也可以为相对固定的数据定义指定的格式。

例如,对字段“出生日期”使用输入掩码向导设置掩码,选择“长日期(中文)”,则在表中输入出生日期的时候,会出现“年月日”的提示。

6.设置有效性规则和文本

输入数据时有时需要限定输入数据的内容,如性别只允许输入“男”或“女”,成绩的值在0至100之间等,这些限制可以通过设置有效性规则和有效性文本实现。有效性规则用于设置输入到字段中的数据的值域。有效性文本是设置当用户输入有效性规则不允许的值时显示的出错提示信息,用户必须对字段值进行修改,直到数据输入正确。

【例4-4】对于教师表,设置“性别”字段的值只能是“男”或“女”,当输入数据出错时,显示信息“请输入男或女”。

操作步骤如下:

(1)打开“教学管理”数据库。

(2)在“导航”窗口中选择表对象“教师”,进入设计视图。选中“性别”字段,在“有效性规则”一栏中输入“男or女”,在“有效性文本栏”中输入“请输入男或女”,如图4-16所示。

图4-16 设置有效性规则

4.3.2 查阅属性设置

“查阅”字段提供了一系列值,供输入数据时从中选择。这使得数据输入更为容易,并可确保该字段中数据的一致性。“查阅”字段提供的值列表中的值可以来自表或查询,也可以来自指定的固定值集合。

【例4-5】对教师表,设置“院系编号”字段的取值来自于“院系”表中的院系代码。

操作步骤如下:

(1)打开“教学管理”数据库。

(2)在导航窗口中选择表对象“教师”,进入设计视图。选中“院系编号”字段,并单击“查阅”选项卡。

(3)在“显示控件”中选择控件类型为“组合框”,在“行来源类型”框中输入行来源的类型:“表/查询”。在“行来源”中单击右侧的按钮,打开“查询向导”对话框,同时打开“显示表”对话框,如图4-17所示。

图4-17 “显示表”对话框

(4)选择“院系”表,单击“添加”按钮,然后单击“关闭”按钮,返回“查询生成器”窗口。在“院系”表中将字段“院系代码”和“院系名称”添加到窗口下方的网格中,如图4-18所示。

图4-18 添加字段

(5)然后关闭查询窗口,返回表的设计视图,如图4-19所示。可以看到,在行来源列表框中添加了一行Select语句,该语句的含义后面会讲到。

图4-19 生成SQL语句

(6)切换到数据表视图(见图4-20),发现“院系编号”字段可以从组合框中选取值了。

图4-20 数据表视图

4.4 表间关系的建立

通常,一个数据库中包含若干个表,这些表之间往往存在着某种关联,Access把这种联系称为表间关系。

4.4.1 主键

在表中能够唯一标识记录的字段或字段集合被称为主关键字,简称主键。一个表只能有一个主键。若表设置了主键,则表的记录存取依赖于主键,且主关键字段不能重复或者为空。

【例4-6】对教师表,设置“教师编号”字段为主键。

操作步骤如下:

(1)打开“教学管理”数据库。

(2)在导航窗口中选择表对象“教师”,进入设计视图,选中“教师编号”字段。

(3)在选项卡“表格工具/设计”中的“工具”组,单击“主键”按钮,如图4-21所示。

图4-21 设置主键

依次给人事档案、学生、课程、选课、院系表的相应字段创建主键。

4.4.2 索引

索引是按照某个字段或字段集合的值进行记录排序的一种技术,其目的是为了提高检索速度。通常情况下,数据表中的记录是按照输入数据的顺序排列的。当用户需要对数据表中的信息进行快速检索、查询信息时,可以对数据表中的记录重新调整顺序。

索引是一种逻辑排序,它不改变数据表中记录的排列顺序,而是按照排序关键字的顺序提取记录指针生成索引文件。在一个表中可以创建一个或多个索引,可以用单个字段创建一个索引,也可以用多个字段(字段集合)创建一个索引。使用多个字段索引进行排序时,一般按照索引第一个字段进行排序,当第一个字段有重复时,再按第二个关键字进行排序,依此类推。创建索引后,向表中添加记录或更新记录时,索引自动更新。

索引属性的值可以通过下拉列表选择,有3种可能的取值。

1.“无”索引

表示该字段无索引。

2.“有(有重复)”索引

表示该字段有索引,且索引字段的值可以重复,创建的索引是普通索引。

3.“有(无重复)”索引

表示该字段有索引,且索引字段的值可不以重复,创建的索引是唯一索引。

读者给教师表和学生表的“院系编号”字段以及课程表的“授课教师编号”字段创建有重复索引、人事档案的“教师编号”字段创建无重复索引。

4.4.3 创建关系

当需要使一个表中的行与另一个表中的行进行关联时,可以创建两个表间的关系。

表之间的关系实际上是实体之间关系的一种反映。因此表之间的关系通常也分为3种。

1.一对一关系

“一对一关系”是指A表中的一条记录只能对应B表中的一条记录,并且B表中的一条记录也只能对应A表中的一条记录。

两个表之间要建立一对一关系,首先要为两个表的关联字段建立主键或唯一索引,然后确定两个表之间具有一对一关系。

2.一对多关系

“一对多关系”是指A表中的一条记录能对应B表中的多条记录,而B表中的一条记录只能对应A表中的一条记录,A称为主表,B称为子表。

两个表之间要建立一对多关系,首先定义关联字段为主表的主键或建立唯一索引,然后在子表中按照关联字段创建普通索引,最后确定两个表之间具有多对一关系。

3.多对多关系

“多对多关系”是指A表中的一条记录能对应B表中的多条记录,而B表中的一条记录也可以对应A表中的多条记录。

关系型数据库管理系统不支持多对多关系,必须将其转换为两个一对多关系才能创建表间关系。

建立表间关系的前提是表的关联字段已经建立了主键或者索引。

【例4-7】对“教学管理”数据库创建表间关系,要求如下:

(1)教师表和人事档案表建立一对一关系,关联字段为教师编号。

(2)教师表和院系表建立一对多关系,关联字段为院系编号。

操作步骤如下:

(1)打开“教学管理”数据库,并按照相关公共字段创建主键或者索引。

(2)在“数据库工具”选项卡中打开“关系”窗口,选择“关系工具/设计”选项卡,单击“显示表”按钮,打开“显示表”对话框,如图4-22所示。

图4-22 显示表对话框

(3)在“显示表”对话框中,将人事档案表、教师表和院系表添加到关系窗口中。将教师表的“教师编号”字段拖到人事档案表中的“教师编号”字段的位置,系统将自动打开“编辑关系”对话框,如图4-23所示。

图4-23 “编辑关系”对话框

(4)选中“实施参照完整性”复选框,单击“创建”按钮,返回到关系窗口。创建关系完成。

参照完整性是一个规则,使用它保证已存在关系的表记录之间的完整有效性,并且不能随意地删除或者更改相关数据。

(5)按照相同的步骤创建教师表与院系表的关系。

根据“教学管理”数据库的表结构,最终建立的表间关系如图4-24所示。

图4-24 表间关系图

4.4.4 编辑与删除关系

需要时可以对关系进行修改,如更改关联字段或删除关系。

1.更改关联字段

打开“关系”窗口,右单击关系连接线,选择“编辑关系”选项或执行“关系|编辑关系”菜单命令,打开“编辑关系”对话框,重新选择关联的表和关联字段即可完成对关系的更改。

2.删除关系

如果要删除已经定义的关系,需要先关闭所有已打开的表,然后打开“关系”对话框,删除关系连接线,即可删除关系。

4.4.5 子表的使用

当两个表之间创建了一对多的关系时,这两个表之间就形成了父表和子表的关系,一方称为主表,多方称为子表。

当使用父表时,可用方便地使用子表。只要通过插入子表的操作,就可以在父表打开时,浏览子表的相关数据。

创建表间的关系后,在主表的数据浏览窗口中可以看到左边新增了标有“+”的一列,这是父表与子表的关联符,当单击“+”符号时,会展开子数据表,“+”变为“-”符号,单击“-”符号可以折叠子数据表。

4.5 表的复制、删除与更名

表的复制包括复制表结构、复制表结构和数据或把数据追加到另一个表中。

【例4-8】将教师表的结构和数据复制到一个新表中,表的名称为jiaoshi。

操作步骤如下:

(1)打开“教学管理”数据库。

(2)在“导航”窗格中选中“教师”表,选择“开始”选项卡中的“剪贴板”组,单击“复制”按钮或右单击并在快捷菜单中执行“复制”命令。

(3)执行“编辑|粘贴”命令,或直接单击“粘贴”按钮,打开“粘贴表方式”对话框,如图4-25所示。

图4-25 复制表

(4)在“表名称”文本框中输入表名“jiaoshi”,并选择“粘贴选项”中的“结构和数据”单选按钮,然后单击“确定”按钮,即完成将教师表的复制。

在数据库的使用过程中,一些无用的表可以删除,以释放所占用磁盘空间。

删除表的方法有以下几种。

(1)选中要删除的表,直接按“Delete”键。

(2)选中要删除的表,单击“开始”选项卡下“记录”组的“删除”按钮,或使用快捷菜单命令“删除”,打开“确认删除”对话框,单击“是”按钮即可

(3)选中要删除的表,右单击并在快捷菜单中执行“删除”命令。

对表重命名也就是对表的名称进行修改,可使用菜单或快捷菜单实现。

4.6 表中数据的操作

4.6.1 改变数据的显示方式

在表的数据表视图中浏览数据时,可以按照自己的需求进行数据显示格式的设置,如设置行高和列宽、设置显示字体、隐藏某些列、冻结某些列、改变字段的显示顺序等。

1.调整行高和列宽

调整行高和列宽可直接拖动鼠标或使用菜单命令完成。

2.设置文本字体和数据表

选择“开始”选项卡,使用“文本格式”组中按钮可以设置字段的格式。

3.隐藏列/取消隐藏列

在数据表视图中,可以使某些字段信息隐藏,使其不在屏幕中显示,需要时取消隐藏。如果表中字段较多,在浏览记录时,将有一些字段被隐藏。

4.冻结列/解冻列

如果想在字段滚动时,使某些字段始终在屏幕上保持可见,可以使用冻结列操作。这样,就可以使冻结的列显示在数据表的左边并添加冻结线,未被冻结的列,在字段滚动时被隐藏。

4.6.2 查找与替换

数据管理中,有时需要快速查找某些数据,或者需要对这些数据进行有规律的替换,使用Access提供的“查找”和“替换”功能即可实现,这与Word中的“查找”和“替换”功能是类似的。

4.6.3 数据排序

为了快速查找信息,可以对记录进行排序。排序需要设定排序关键字,排序关键字可由一个或多个字段组成,排序后的结果可以保存在表中。

【例4-9】将教师表按照“姓名”字段进行升序排序。

操作步骤如下:

(1)打开“教学管理”数据库。

(2)在“导航”窗格中选中“教师”表,进入数据表视图。

(3)选中字段“姓名”,选中“开始”选项卡中的“排序和筛选”组,单击“升序”按钮,数据表中的记录将按照“姓名”进行升序排列。

4.6.4 数据的筛选

筛选是根据给定的条件,选择满足条件的记录在数据表视图中显示。例如,显示所有职称为“教授”的教师,显示“计算机”专业的学生等。

在Access中,提供了“选择筛选”、“按窗体筛选”以及“高级筛选/排序”等3种方法。

1.选择筛选

选择筛选用于查找某一字段满足一定条件的数据记录,条件包括“等于”、“不等于”、“包含”、“不包含”等,其作用是隐藏不满足选定内容的记录,显示所有满足条件的记录。

2.按窗体筛选

按窗体筛选是在空白窗体中设置筛选条件,然后查找满足条件的所有记录并显示,可以在窗体中设置多个条件。按窗体筛选是使用最广泛的一种筛选方法。

3.高级筛选/排序

使用“高级筛选/排序”不仅可以筛选满足条件的记录,还可以对筛选的结果进行排序。

【例4-10】在教师表中筛选出工资超过7000元的男教师。

操作步骤如下:

(1)打开“教学管理”数据库。

(2)在“导航”窗格中选中“教师”表,进入数据表视图。

(3)选中“开始”选项卡中的“排序和筛选”组,单击“高级”按钮,选择“按窗体筛选”项。在“性别”字段下拉框里面选择“男”,在“工资”字段下拉框里面输入“>7000”,如图4-26所示。

图4-26 按窗体筛选

(4)单击“高级”按钮,选择“应用筛选/排序”项,即可筛选出工资超过7000元的男教师。

本例题也可以使用高级筛选完成,需要高级筛选视图中设置条件,如图4-27所示。请读者自行完成。

图4-27 高级筛选

思考题

(1)表的字段类型有哪些?

(2)什么情况下需要设置输入掩码和有效性规则?

(3)如何建立表间的关联关系?

(4)什么是排序和筛选?

上机题

(1)完成下列表的创建,设计合适的字段类型,并输入部分数据。

教师表(教师编号,姓名,性别,出生日期,联系电话,电子邮件,家庭住址)

学生表(学号,姓名,性别,出生日期,籍贯,专业,照片)

课程表(课程编号,课程名称,学分,学时,课程简介)

选修表(学号,课程编号,选修学期,成绩,备注)

人事档案表(人事档案,教师编号,最高学历,毕业日期,毕业院校,职称,政治面貌)

院系表(院系代码,院系名称,办公电话,办公地址,院系领导)

(2)建立各表之间的关联关系。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈