Foxtable(狐表)用户栏目专家坐堂 → 关于关联方案


  共有15820人关注过本帖树形打印复制链接

主题:关于关联方案

帅哥哟,离线,有人找我吗?
实话实说
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
关于关联方案  发帖心情 Post By:2010/12/28 16:33:00 [只看该作者]

    方案1 一般产品采用“产品分类”、“型号”、“规格”就可唯一标识该产品。用这三个字段作关联字段最简便,可减少一些不必要的代码,但当关联的表较多或数据量较大时,会严重影响运行速度。
    方案2 主表_Identify与子表的产品ID关联,通过设置代码将主表的“产品分类”、“型号”、“规格”带入子表,这时子表的“产品分类”、“型号”、“规格”都是数据列,可导出到SQL或ACCESS数据表。需要注意的是,由于代码是通过改变产品ID触发的,当子表行产生后,如果再改变主表的“产品分类”、“型号”、“规格”后,必须另外设置代码,让子表的“产品分类”、“型号”、“规格”同步更新。
    方案3 同样是主表的_Identify与子表的产品ID关联,“产品分类”、“型号”、“规格”列设置为表达式列,通过设置表达式列,可将主表的“产品分类”、“型号”、“规格”带入子表。然而,表达式列是不能导出到SQL表或ACCESS表的,这使得SQL表或ACCESS表的数据不够完整。
    方案4 还有一种情况,一般关联表的规范操作是,子表通过主表产生,即通过关联产生子表数据。实际应用中,有使用者提出要求将EXCEL数据(几万条)导入或复制粘贴到子表,如果按第1种关联方案没问题。但采用产品ID关联就得变通,即先复制粘贴,再用代码根据“产品分类”、“型号”、“规格”标识字段进行关联。(主表_Identify与子表的产品ID)
    以上是我对关联的理解和心得,请指正。肤浅之处,不要见笑。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/28 16:45:00 [只看该作者]

以我的理解,方案三最好,其实不存在“数据不完整”之说的,你所说的完整,换个说法就是冗余,从数据规范来说,是应该尽量避免的。

其实用SQL语句可以一次查询多个表的数据,组合成一个"完整"的表,所以不用担心。

 

如果以一定要完整,推荐方案1,三列也没有啥关系的,不简单对性能有多大的影响,之前你遇到的问题,不是多列关联造成的,而且新的版本已经解决。


 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/12/29 0:47:00 [只看该作者]

为和所有表都要有“产品分类”、“型号”、“规格”三列呢,产品表有了就可以的··· 只是需要时把这三列和其他表得相关列合并起来就可以了嘛··· 这样节省空间的啊~

 回到顶部
帅哥哟,离线,有人找我吗?
实话实说
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2649 积分:19384 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2010/12/29 8:10:00 [只看该作者]

以下是引用mr725在2010-12-29 0:47:00的发言:
为和所有表都要有“产品分类”、“型号”、“规格”三列呢,产品表有了就可以的··· 只是需要时把这三列和其他表得相关列合并起来就可以了嘛··· 这样节省空间的啊~

可能是习惯和用途不同吧,有了这三个字段就可以独立操作子表。


 回到顶部