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

建立表间关联关系

时间:2022-10-22 百科知识 版权反馈
【摘要】:在表中能够唯一确定每个记录的一个字段或一个字段集称为主关键字。要想实现表中数据的这种联系,就必须通过建立表之间的关联来实现,但应保证要建立关联关系的表具有相同的字段,并且每个表都要以该字段建立索引。要求“主”表的关联字段为主键或唯一索引,另一张表的关联字段为普通索引。在“关系”窗口中,两张表之间出现了一条关系连接线,如图5-79所示。至此,表间的一对多关系就创建完成。

5.4.6 建立表间关联关系

1.创建索引

索引是按索引字段或索引字段集的值使表中的记录有序排列的一种技术。索引不会改变表中记录的物理顺序,而是另外建立一张索引表。当表和相应的索引表被打开,对表进行操作时,记录的顺序会按索引字段或索引字段集的值的逻辑顺序进行显示和操作。表创建索引后,有助于加快数据的检索、显示和查询速度。一张表可以根据需要创建多个索引。在Access 2007中,除了OLE对象型、备注型数据和逻辑型字段不能建立索引外,其他类型的字段都可以建立索引。

按索引的功能分,索引有三种类型,即唯一索引、普通索引和主索引。唯一索引的索引字段值不能相同,即没有重复值。普通索引的索引字段值可以相同,即有重复值。同一张表可以创建多个唯一索引,其中一个可以设置为主索引,但一张表只能设置一个主索引。

创建索引的具体操作步骤如下。

(1)打开数据库,打开要建立索引的表结构设计窗口。

(2)选定要建立索引的字段,在“常规”选项卡中选择“索引”列表框,从中选择建立的索引类别。其中,“无”表示此字段不建立索引;“有(有重复)”表示字段有索引,索引允许出现重复值;“有(无重复)”表示字段有索引,索引不允许出现重复值,创建的索引类型是唯一索引。

或者利用菜单建立索引,其具体操作步骤如下。

(1)打开数据库,打开要建立索引的表结构设计窗口。

(2)单击“视图”菜单中的“索引”菜单项。弹出如图5-72所示的“索引”窗口。

img568

图5-72 “索引”窗口

(3)根据需求确定索引名称、字段名称、排序次序等。其中,当确定以“忽略Nulls”选项建立索引时,要考虑是否排除带有Nulls值的记录。当“主索引”、“唯一索引”选项中都选择“否”时,则该索引是普通索引。

2.设置主关键字

在表中能够唯一确定每个记录的一个字段或一个字段集称为主关键字。一张表中的主关键字必须有明确的取值但不允许有重复值。

例如,为学生表设置“学号”字段为主关键字。其具体操作步骤如下。

(1)打开数据库student,右键单击数据库窗口中的学生表,在弹出的快捷菜单中选择“设计视图”,打开表结构定义窗口。

(2)在表结构定义窗口,选定“学号”字段,再选择“编辑”菜单中的“主键”菜单项,“字号”字段前会出现符号img569,表示设置完成。

3.创建表间关联关系

数据库表中的数据本身并不是独立存在的,它们彼此之间或多或少地存在某种联系。要想实现表中数据的这种联系,就必须通过建立表之间的关联来实现,但应保证要建立关联关系的表具有相同的字段,并且每个表都要以该字段建立索引。

Access 2007中两个表间的关系有以下三种。

(1)一对一关系:“主”表中的关联字段与另一个表中的关联字段一一对应。要求两张表的关联字段都定义为主键或唯一索引。

(2)一对多关系:两张表有关联字段。要求“主”表的关联字段为主键或唯一索引,另一张表的关联字段为普通索引。

(3)多对多关系:两张表有关联字段。要求两张表的关联字段都定义为普通索引。

例如,为创建数据库school,应建立学生、课程及选课表,为各表设置主关键字,并创建表间关联关系。

由上述内容分析,学生表的主键应为学号,课程表的主键应为课程号,选课表的主键应为学号和课程号。由于一个学生可以选择多门课程,会有多门课程的成绩,于是学生表与选课表间存在一对多的关系。再由于一门课程也能被多个学生选择,于是课程表与选课表间同样存在一对多的关系。

具体操作步骤如下。

(1)创建数据库school,并打开。

(2)在数据库窗口的“表”对象下依次创建学生表、课程表和选课表,并分别设置三张表的主键。三张表的表结构定义如图5-73至图5-75所示。

img570

图5-73 学生表结构定义

img571

图5-74 课程表结构定义

(3)保存设置后返回“school”数据库窗口。选择“工具”菜单中的“关系”命令,或单击工具栏中的“关系”按钮img572,或在数据库窗口空白处单击鼠标右键,在弹出的快捷菜单中选择“关系”命令,将会打开如图5-76所示的“关系”窗口及“显示表”对话框。

(4)分别选择课程、成绩和学生表,按“添加”按钮添加到“关系”窗口中。

(5)单击“显示表”对话框中的“关闭”按钮,返回“关系”窗口,选择的三张表则出现在“关系”窗口中,如图5-77所示。

img573

图5-75 选课表结构定义

img574

图5-76 “关系”窗口及“显示表”对话框

img575

图5-77 “关系”窗口

(6)选中学生表中的“学号”字段,用鼠标拖至选课表中的“学号”字段处后松开,即弹出如图5-78所示的“编辑关系”对话框,让用户进行确认。

img576

图5-78 “编辑关系”对话框

(7)在“编辑关系”对话框中,勾选“实施参照完整性”复选框,然后单击“创建”按钮,关闭“编辑关系”对话框,返回“关系”窗口。在“关系”窗口中,两张表之间出现了一条关系连接线,如图5-79所示。

(8)重复第(6)~(8)步,为课程表和选课表创建一对多关系。

img577

图5-79  设置完一对多关系后的“关系”窗口

(9)创建完毕后的“关系”窗口如图5-80所示。关闭该“关系”窗口,完成数据表一对多关系的创建。Access 2007会弹出对话框询问“是否保存设置的关系”,单击“是”按钮返回数据库窗口。至此,表间的一对多关系就创建完成。

img578

图5-80 设置完毕后的“关系”窗口

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

我要反馈