首页 理论教育多表关联的必要性及方法

多表关联的必要性及方法

【摘要】:代码表的必要性及其建立在图7-12中,表示建筑物类别的“type”字段是用文字来表示的,这意味着每一次类别字段都需要输入一个“较长的词组”。因此在条件中要设定多表关联的条件。图7-19多表关联方法查询结果显示出建筑物的名称以及类别代码的含义,设定“选择列”的字段,同时使用“别名”技术,单击“确定”按钮返回查询结果如图7-20所示。

(1)代码表的必要性及其建立

在图7-12中,表示建筑物类别的“type”字段是用文字来表示的,这意味着每一次类别字段都需要输入一个“较长的词组”。这种输入方式容易输入错误,产生数据的不一致。从数据库设计的角度,每一条记录都在重复输入一个“较长的词组”,当空间地物的数据量很大时,这个字段的重复就导致了数据库的冗余。因此,在数据库的构建中,诸如类别字段“type”这类字段,一般用代码表示。

图7-12中,建筑物的类别可以归纳为:科研学习、学院楼、教学楼、科研与学习四大类。将它们替换为代码,如图7-16所示。

图7-16 类别字段的转换

类别字段转换为代码后,需要对代码进行解释,因此,代码表的建立应运而生。新建图层,构建表结构如图7-17所示,并命名为code表,表记录如图7-18所示。

图7-17 代码表的结构

图7-18 代码表的内容

(2)多表关联的查询

在常见复杂查询中,利用多张表内的信息是十分常见的,而涉及多张表,就需要在多张表之间建立关联性。因此在条件中要设定多表关联的条件。

类别字段“type”转换为代码后,为了查询结果能呈现出类别代码的含义,需要关联“底图”和“code”表。在“SQL选择”的对话框中分别输入内容如图7-19所示,其中“条件”后输入的即为表的连接条件。

图7-19 多表关联方法

查询结果显示出建筑物的名称(来自底图表)以及类别代码的含义(来自code表),设定“选择列”的字段,同时使用“别名”技术,单击“确定”按钮返回查询结果如图7-20所示。

图7-20 多表关联查询结果